This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ namespace davina\model; /** */ class struct_event { public string $id; public string $title; public /*type_unix_timestamp*/int $begin; public /*type_unix_timestamp*/?int $end; public ?string $location; public ?string $description; public array $tags; public function __construct( string $id, string $title, /*type_unix_timestamp*/int $begin, /*type_unix_timestamp*/?int $end, ?string $location, ?string $description, array $tags ) { $this->id = $id; $this->title = $title; $this->begin = $begin; $this->end = $end; $this->location = $location; $this->description = $description; $this->tags = $tags; } } /** */ function event_to_raw( struct_event $event ) { return [ 'id' => $event->id, 'title' => $event->title, 'begin' => $event->begin, 'end' => $event->end, 'location' => $event->location, 'description' => $event->description, 'tags' => $event->tags, ]; } /** */ function event_from_raw( $event_raw ) : struct_event { return (new struct_event( $event_raw['id'], $event_raw['title'], $event_raw['begin'], $event_raw['end'], $event_raw['location'], $event_raw['description'], $event_raw['tags'], )); } /** */ class struct_calendar { public array $events; public function __construct( array $events ) { $this->events = $events; } } /** */ function calendar_to_raw( struct_calendar $calendar ) { return [ 'events' => \array_map( fn($event) => event_to_raw($event), $calendar->events ), ]; } /** */ function calendar_from_raw( $calendar_raw ) : struct_calendar { return (new struct_calendar( \array_map( fn($event_raw) => event_from_raw($event_raw), $calendar_raw['events'] ) )); } /** */ class struct_realm { /** */ public string $name; /** */ public \davina\auths\interface_auth $auth; /** */ public \davina\sources\interface_source $source; /** */ public function __construct( string $name, \davina\auths\interface_auth $auth, \davina\sources\interface_source $source ) { $this->name = $name; $this->auth = $auth; $this->source = $source; } } ?>