/** */ namespace _zeitbild.type { /** */ export type role = ( "admin" | "editor" | "viewer" ); /** */ export type user_id = int; /** */ export type user_object = { name : string; }; /** */ export type event_object = { name : string; begin : _zeitbild.helpers.type_datetime; end : ( null | _zeitbild.helpers.type_datetime ); location : ( null | string ); description : ( null | string ); }; /** */ export type resource_id = int; /** */ export type resource_object = ( { kind : "local"; data : { events : Array< event_object >; }; } | { kind : "caldav"; data : { read_only : boolean; url : string; }; } ); /** */ export type calendar_id = int; /** */ export type calendar_object = { name : string; public : boolean; members : Array< { user_id : user_id; role : role; } >; // resource : resource_object; resource_id : resource_id; }; /** */ export type root = { users : Array< { id : user_id; object : user_object; } >; calendars : Array< { id : calendar_id; object : calendar_object; } >; }; }