JSON-export

From A-Eskwiki
Jump to: navigation, search


Voor elk Entiteit hebben we de functie jsonExport die automatisch de entiteit en alle dependencies omzet in JSON. Deze is (voor Persoon-objecten) toegevoegd om aan de GDPR te voldoen.

Format

Hier zijn dependencies alle Entiteiten die een foreign key hebben naar het gegeven object toe. Het JSON-formaat van een entiteit bevat sowieso de velden 'href': de URI van dit object in de API, en 'desc': een menselijk leesbare omschrijving van het object. In de volledige weergave staan alle velden: hier worden foreign keys als ID, en als objectsamenvatting, gegeven. Bijvoorbeeld:

{
    href: "https://www.a-eskwadraat.nl/apiv2/IOUBon/37",
    desc: "IOUBon #37",
    persoon_contactID: 111,
    Persoon: {
        href: "https://www.a-eskwadraat.nl/apiv2/Lid/111"
        desc: "Lid #111"
    },
    Omschrijving: "Lid Anoniem heeft DiBS Tablet € 4,20 betaald."
}

In een JSON-export staat de Entiteit om te exporteren in het veld 'object', en alle dependencies in het veld 'dependencies'. Dit laatste is een object met velden per klasse die dependency heeft. Zo'n klasseveld is weer een object die ID's mapt naar de JSON-weergave van die entiteit. Bijvoorbeeld:

{
    'dependencies': {
        'IOUBon': {
            37: {
                'href': "https://www.a-eskwadraat.nl/apiv2/IOUBon/37",
                'desc': "IOUBon #37",
                'persoon_contactID': 111,
                'Persoon': {
                    'href': "https://www.a-eskwadraat.nl/apiv2/Lid/111"
                    'desc': "Lid #111"
                },
                'Omschrijving': "Lid Anoniem heeft DiBS Tablet € 4,20 betaald."
            }
        }
    }
    'object': {
        'href': "https://www.a-eskwadraat.nl/apiv2/Lid/111",
        'desc': "Lid #111",
        'Voornaam': "Lid",
        'Bijnaam': null,
        'Achternaam': "Anoniem"

    }
}