{ requires = ( MAIN, Appointments ); publicResources = ( ); factories = { }; classes = { SOGoICalHTTPHandler = { superclass = "NSObject"; protectedBy = "View"; defaultRoles = { /* Note: we need that for PUT by WebDAV clients (checked by WebDAV) */ // TODO: should be owner? "Add Documents, Images, and Files" = "Authenticated"; }; methods = { GET = { protectedBy = "View"; actionClass = "SOGoICalFileFetch"; }; PUT = { protectedBy = "View"; actionClass = "SOGoICalFilePublish"; }; }; }; }; categories = { SOGoAppointmentFolder = { slots = { ics = { protectedBy = "View"; valueClass = SOGoICalHTTPHandler; }; }; methods = { }; }; }; }