class DocsView(views.HalResourceWithEmbeddedView): resource: Docs options_for_get = MethodOptions( GetEmbeddedSchema, schemas.DocsSchema, permission='docs.get', ) options_for_post = MethodOptions( schemas.CreateDocSchema, schemas.DocSchema, permission='docs.edit', ) def get_embedded(self, params): docs = [ self.resource.get_doc_by_model(model) for model in self.resource.models.values() ] return views.list_to_embedded_resources( self.request, params, docs, parent=self.resource, embedded_name='docs', )
class DocsView(views.HalResourceWithEmbeddedView): options_for_get = MethodOptions(GetEmbeddedSchema, DocsSchema, permission='docs.get') options_for_post = MethodOptions(CreateDocSchema, DocSchema, permission='docs.edit')
class DocView(views.HalResourceView): resource: Doc options_for_get = MethodOptions(None, schemas.DocSchema, permission='docs.get') options_for_patch = MethodOptions( schemas.PatchDocSchema, schemas.DocSchema, permission='docs.edit', ) options_for_delete = MethodOptions(None, None, permission='docs.edit') def as_dict(self): return asdict(self.resource.model)
class UserView(views.HalResourceView): resource: User options_for_get = MethodOptions(None, schemas.UserSchema, permission='users.get') options_for_patch = MethodOptions( schemas.PatchUserSchema, schemas.UserSchema, permission='users.edit', ) options_for_delete = MethodOptions(None, None, permission='users.edit') def as_dict(self): res = asdict(self.resource.model) res['created'] = res['created'].isoformat() return res
class UsersView(views.HalResourceWithEmbeddedView): resource: Users options_for_get = MethodOptions(GetEmbeddedSchema, schemas.UsersSchema, 'users.get') options_for_post = MethodOptions(schemas.CreateUserSchema, schemas.UserSchema, 'users.edit') def get_embedded(self, params: dict): users = [ User(model, parent=self.resource) for model in UserModel.get_models(self.request.registry) ] return list_to_embedded_resources( self.request, params, users, parent=self.resource, embedded_name='users', )
class UserView(views.HalResourceView): resource: User options_for_get = MethodOptions(None, schemas.UserSchema, permission='users.get') def as_dict(self): return { 'name': self.resource.__name__, }
class StorageRoot(Root): __acl__ = [ (Allow, Everyone, 'root.get'), (Allow, 'admin', ALL_PERMISSIONS), # Deny all other permissions for all principals DENY_ALL ] options_for_get = MethodOptions(None, None, 'root.get')
class UsersView(views.HalResourceWithEmbeddedView): resource: Users options_for_get = MethodOptions(GetEmbeddedSchema, schemas.UsersSchema, permission='users.get') options_for_post = MethodOptions(schemas.CreateUserSchema, schemas.UserSchema, permission='users.edit') def get_embedded(self, params): users = [ self.resource.get_user_by_model(model) for model in self.resource.models.values() ] return views.list_to_embedded_resources( self.request, params, resources=users, parent=self.resource, embedded_name='users', )
class ApiInfoView(views.HalResourceView): resource: ApiInfo options_for_get = MethodOptions(None, None, permission='rest_admin.api_info.get') def as_dict(self): registry = self.request.registry title = registry.settings.get('restfw_admin.title', 'Admin UI') root_url = registry.settings.get('restfw_admin.root_url', '') if not root_url: root_url = self.request.resource_url(self.request.root) model = ApiInfoModel( root_url=root_url.rstrip('/'), title=title, resources=self.resource.get_resources_info(self.request), ) return dataclasses.asdict(model)
class AdminChoicesView(views.HalResourceWithEmbeddedView): resource: AdminChoices options_for_get = MethodOptions( schemas.GetAdminChoicesSchema, schemas.AdminChoicesSchema, permission='admin_choices.get', ) def get_embedded(self, params): group = params.get('group') choice_ids = params.get('id') choices = list( self.resource.get_choices(self.request.registry, group, choice_ids)) return views.list_to_embedded_resources( self.request, params, choices, parent=self.resource, embedded_name='choices', )
class DocView(views.HalResourceView): options_for_get = MethodOptions(None, DocSchema, permission='docs.get') options_for_delete = MethodOptions(None, None, permission='docs.edit')