magpie.models
¶
Module Contents¶
Classes¶
Mixin for Group model |
|
Mixin for GroupPermission model |
|
Mixin for UserGroup model |
|
Mixin for GroupResourcePermission model |
|
Mixin for Resource model |
|
Mixin for UserPermission model |
|
Mixin for UserResourcePermission model |
|
Base mixin for User object representation. |
|
Mixin for External Identity model - it represents oAuth(or other) accounts |
|
Used to build base Access Control List (ACL) of the request user. |
|
Used to build base Access Control List (ACL) of the request user. |
|
Resource of service type. |
|
Mixin for Resource model |
|
Mixin for Resource model |
|
Mixin for Resource model |
|
Mixin for Resource model |
|
Basic class that all other classes inherit from that supplies some |
|
Basic class that all other classes inherit from that supplies some |
|
Initialize self. See help(type(self)) for accurate signature. |
|
This is necessary, because ResourceTreeServicePostgresSQL.model is the Resource class. If we want to change it for a |
Functions¶
|
|
|
|
|
-
class
magpie.models.
Group
[source]¶ Bases:
ziggurat_foundations.models.group.GroupMixin
,Base
Mixin for Group model
-
class
magpie.models.
GroupPermission
[source]¶ Bases:
ziggurat_foundations.models.group_permission.GroupPermissionMixin
,Base
Mixin for GroupPermission model
-
class
magpie.models.
UserGroup
[source]¶ Bases:
ziggurat_foundations.models.user_group.UserGroupMixin
,Base
Mixin for UserGroup model
-
class
magpie.models.
GroupResourcePermission
[source]¶ Bases:
ziggurat_foundations.models.group_resource_permission.GroupResourcePermissionMixin
,Base
Mixin for GroupResourcePermission model
-
class
magpie.models.
Resource
[source]¶ Bases:
ziggurat_foundations.models.resource.ResourceMixin
,Base
Mixin for Resource model
-
class
magpie.models.
UserPermission
[source]¶ Bases:
ziggurat_foundations.models.user_permission.UserPermissionMixin
,Base
Mixin for UserPermission model
-
class
magpie.models.
UserResourcePermission
[source]¶ Bases:
ziggurat_foundations.models.user_resource_permission.UserResourcePermissionMixin
,Base
Mixin for UserResourcePermission model
-
class
magpie.models.
User
[source]¶ Bases:
ziggurat_foundations.models.user.UserMixin
,Base
Base mixin for User object representation. It supplies all the basic functionality from password hash generation and matching to utility methods used for querying database for users and their permissions or resources they have access to. It is meant to be extended with other application specific properties
-
class
magpie.models.
ExternalIdentity
[source]¶ Bases:
ziggurat_foundations.models.external_identity.ExternalIdentityMixin
,Base
Mixin for External Identity model - it represents oAuth(or other) accounts attached to your user object
-
class
magpie.models.
RootFactory
(request)[source]¶ Bases:
object
Used to build base Access Control List (ACL) of the request user.
All API and UI routes will employ this set of effective principals to determine if the user is authorized to access the pyramid view according to the
permission
value it was configured with.Note
Keep in mind that Magpie is configured with default permission
magpie.constants.MAGPIE_ADMIN_PERMISSION
. Views that require more permissive authorization must be overridden withpermission
argument.See also
set_default_permission
withinmagpie.includeme()
initialization steps
Initialize self. See help(type(self)) for accurate signature.
-
class
magpie.models.
UserFactory
(request)[source]¶ Bases:
magpie.models.RootFactory
Used to build base Access Control List (ACL) of the request user.
All API and UI routes will employ this set of effective principals to determine if the user is authorized to access the pyramid view according to the
permission
value it was configured with.Note
Keep in mind that Magpie is configured with default permission
magpie.constants.MAGPIE_ADMIN_PERMISSION
. Views that require more permissive authorization must be overridden withpermission
argument.See also
set_default_permission
withinmagpie.includeme()
initialization steps
Initialize self. See help(type(self)) for accurate signature.
-
property
__acl__
(self)[source]¶ Grant access to Request User according to its relationship to Context User.
If it is the same user (either from explicit name or by
magpie.constants.MAGPIE_LOGGED_USER
reserved keyword), allowmagpie.constants.MAGPIE_LOGGED_PERMISSION
for itself to access corresponding views.If request user is unauthenticated (
None
),magpie.constants.MAGPIE_LOGGED_USER
or itself, also grantmagpie.constants.MAGPIE_CONTEXT_PERMISSION
to allow access to contextually-available details (e.g.: user can view his own information and public ones).All ACL permissions from
RootFactory
are applied on top of user-specific permissions added here.
-
class
magpie.models.
Service
[source]¶ Bases:
magpie.models.Resource
Resource of service type.
-
class
magpie.models.
File
[source]¶ Bases:
magpie.models.Resource
,magpie.models.PathBase
Mixin for Resource model
-
class
magpie.models.
Directory
[source]¶ Bases:
magpie.models.Resource
,magpie.models.PathBase
Mixin for Resource model
-
class
magpie.models.
Workspace
[source]¶ Bases:
magpie.models.Resource
Mixin for Resource model
-
class
magpie.models.
Route
[source]¶ Bases:
magpie.models.Resource
Mixin for Resource model
-
class
magpie.models.
RemoteResource
[source]¶ Bases:
ziggurat_foundations.models.base.BaseModel
,Base
Basic class that all other classes inherit from that supplies some basic methods useful for interaction with packages like: deform, colander or wtforms
-
class
magpie.models.
RemoteResourcesSyncInfo
[source]¶ Bases:
ziggurat_foundations.models.base.BaseModel
,Base
Basic class that all other classes inherit from that supplies some basic methods useful for interaction with packages like: deform, colander or wtforms
-
class
magpie.models.
RemoteResourceTreeService
(service_cls)[source]¶ Bases:
ziggurat_foundations.models.services.resource_tree.ResourceTreeService
Initialize self. See help(type(self)) for accurate signature.
-
class
magpie.models.
RemoteResourceTreeServicePostgresSQL
[source]¶ Bases:
ziggurat_foundations.models.services.resource_tree_postgres.ResourceTreeServicePostgreSQL
This is necessary, because ResourceTreeServicePostgresSQL.model is the Resource class. If we want to change it for a RemoteResource, we need this class.
The ResourceTreeService.__init__ call sets the model.