Documentation ¶
Overview ¶
Package permission handles API calls and persistence for spaces. Spaces in Documize contain documents.
Index ¶
- func CanChangeDocument(ctx domain.RequestContext, s store.Store, documentID string) bool
- func CanDeleteDocument(ctx domain.RequestContext, s store.Store, documentID string) bool
- func CanManageVersion(ctx domain.RequestContext, s store.Store, spaceID string) bool
- func CanUploadDocument(ctx domain.RequestContext, s store.Store, spaceID string) bool
- func CanViewDocument(ctx domain.RequestContext, s store.Store, documentID string) bool
- func CanViewDrafts(ctx domain.RequestContext, s store.Store, spaceID string) bool
- func CanViewSpace(ctx domain.RequestContext, s store.Store, spaceID string) bool
- func CanViewSpaceDocument(ctx domain.RequestContext, s store.Store, labelID string) bool
- func CheckPermission(ctx domain.RequestContext, s store.Store, spaceID string, userID string, ...) bool
- func GetUsersWithDocumentPermission(ctx domain.RequestContext, s store.Store, spaceID, documentID string, ...) (users []u.User, err error)
- func HasPermission(ctx domain.RequestContext, s store.Store, spaceID string, actions ...pm.Action) bool
- type Handler
- func (h *Handler) GetCategoryPermissions(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GetCategoryViewers(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GetDocumentPermissions(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GetSpacePermissions(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GetUserDocumentPermissions(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GetUserSpacePermissions(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SetCategoryPermissions(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SetDocumentPermissions(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SetSpacePermissions(w http.ResponseWriter, r *http.Request)
- type Store
- func (s Store) AddPermission(ctx domain.RequestContext, r permission.Permission) (err error)
- func (s Store) AddPermissions(ctx domain.RequestContext, r permission.Permission, ...) (err error)
- func (s Store) DeleteCategoryPermissions(ctx domain.RequestContext, categoryID string) (rows int64, err error)
- func (s Store) DeleteDocumentPermissions(ctx domain.RequestContext, documentID string) (rows int64, err error)
- func (s Store) DeleteGroupPermissions(ctx domain.RequestContext, groupID string) (rows int64, err error)
- func (s Store) DeleteSpaceCategoryPermissions(ctx domain.RequestContext, spaceID string) (rows int64, err error)
- func (s Store) DeleteSpacePermissions(ctx domain.RequestContext, spaceID string) (rows int64, err error)
- func (s Store) DeleteUserPermissions(ctx domain.RequestContext, userID string) (rows int64, err error)
- func (s Store) DeleteUserSpacePermissions(ctx domain.RequestContext, spaceID, userID string) (rows int64, err error)
- func (s Store) GetCategoryPermissions(ctx domain.RequestContext, catID string) (r []permission.Permission, err error)
- func (s Store) GetCategoryUsers(ctx domain.RequestContext, catID string) (u []user.User, err error)
- func (s Store) GetDocumentPermissions(ctx domain.RequestContext, documentID string) (r []permission.Permission, err error)
- func (s Store) GetSpacePermissions(ctx domain.RequestContext, spaceID string) (r []permission.Permission, err error)
- func (s Store) GetSpacePermissionsForUser(ctx domain.RequestContext, spaceID, userID string) (r []permission.Permission, err error)
- func (s Store) GetUserCategoryPermissions(ctx domain.RequestContext, userID string) (r []permission.Permission, err error)
- func (s Store) GetUserDocumentPermissions(ctx domain.RequestContext, documentID string) (r []permission.Permission, err error)
- func (s Store) GetUserSpacePermissions(ctx domain.RequestContext, spaceID string) (r []permission.Permission, err error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CanChangeDocument ¶
CanChangeDocument returns if the clinet has permission to change a given document.
func CanDeleteDocument ¶
CanDeleteDocument returns if the clinet has permission to change a given document.
func CanManageVersion ¶ added in v1.59.0
CanManageVersion returns if the user has permission to manage versions in space.
func CanUploadDocument ¶
CanUploadDocument returns if the client has permission to upload documents to the given space.
func CanViewDocument ¶
CanViewDocument returns if the client has permission to view a given document.
func CanViewDrafts ¶ added in v1.59.0
CanViewDrafts returns if the user has permission to view drafts in space.
func CanViewSpace ¶
CanViewSpace returns if the user has permission to view the given spaceID.
func CanViewSpaceDocument ¶
CanViewSpaceDocument returns if the user has permission to view a document within the specified folder.
func CheckPermission ¶ added in v1.66.0
func CheckPermission(ctx domain.RequestContext, s store.Store, spaceID string, userID string, actions ...pm.Action) bool
CheckPermission returns if specified user can perform specified actions.
func GetUsersWithDocumentPermission ¶ added in v1.63.0
func GetUsersWithDocumentPermission(ctx domain.RequestContext, s store.Store, spaceID, documentID string, permissionRequired pm.Action) (users []u.User, err error)
GetUsersWithDocumentPermission returns list of users who have specified document permission in given space
func HasPermission ¶
func HasPermission(ctx domain.RequestContext, s store.Store, spaceID string, actions ...pm.Action) bool
HasPermission returns if current user can perform specified actions.
Types ¶
type Handler ¶
Handler contains the runtime information such as logging and database.
func (*Handler) GetCategoryPermissions ¶
func (h *Handler) GetCategoryPermissions(w http.ResponseWriter, r *http.Request)
GetCategoryPermissions returns user permissions for given category.
func (*Handler) GetCategoryViewers ¶
func (h *Handler) GetCategoryViewers(w http.ResponseWriter, r *http.Request)
GetCategoryViewers returns user permissions for given category.
func (*Handler) GetDocumentPermissions ¶ added in v1.56.0
func (h *Handler) GetDocumentPermissions(w http.ResponseWriter, r *http.Request)
GetDocumentPermissions returns permissions for all users for given document.
func (*Handler) GetSpacePermissions ¶
func (h *Handler) GetSpacePermissions(w http.ResponseWriter, r *http.Request)
GetSpacePermissions returns permissions for all users for given space.
func (*Handler) GetUserDocumentPermissions ¶ added in v1.56.0
func (h *Handler) GetUserDocumentPermissions(w http.ResponseWriter, r *http.Request)
GetUserDocumentPermissions returns permissions for the requested document, for current user.
func (*Handler) GetUserSpacePermissions ¶
func (h *Handler) GetUserSpacePermissions(w http.ResponseWriter, r *http.Request)
GetUserSpacePermissions returns permissions for the requested space, for current user.
func (*Handler) SetCategoryPermissions ¶
func (h *Handler) SetCategoryPermissions(w http.ResponseWriter, r *http.Request)
SetCategoryPermissions persists specified category permissions
func (*Handler) SetDocumentPermissions ¶ added in v1.56.0
func (h *Handler) SetDocumentPermissions(w http.ResponseWriter, r *http.Request)
SetDocumentPermissions persists specified document permissions These permissions override document permissions
func (*Handler) SetSpacePermissions ¶
func (h *Handler) SetSpacePermissions(w http.ResponseWriter, r *http.Request)
SetSpacePermissions persists specified space permissions
type Store ¶ added in v1.71.0
type Store struct { store.Context store.PermissionStorer }
Store provides data access to user permission information.
func (Store) AddPermission ¶ added in v1.71.0
func (s Store) AddPermission(ctx domain.RequestContext, r permission.Permission) (err error)
AddPermission inserts the given record into the permisssion table.
func (Store) AddPermissions ¶ added in v1.71.0
func (s Store) AddPermissions(ctx domain.RequestContext, r permission.Permission, actions ...permission.Action) (err error)
AddPermissions inserts records into permission database table, one per action.
func (Store) DeleteCategoryPermissions ¶ added in v1.71.0
func (s Store) DeleteCategoryPermissions(ctx domain.RequestContext, categoryID string) (rows int64, err error)
DeleteCategoryPermissions removes records from dmz_permissions table for given category ID.
func (Store) DeleteDocumentPermissions ¶ added in v1.71.0
func (s Store) DeleteDocumentPermissions(ctx domain.RequestContext, documentID string) (rows int64, err error)
DeleteDocumentPermissions removes records from dmz_permissions table for given document.
func (Store) DeleteGroupPermissions ¶ added in v1.71.0
func (s Store) DeleteGroupPermissions(ctx domain.RequestContext, groupID string) (rows int64, err error)
DeleteGroupPermissions removes all roles for the specified group
func (Store) DeleteSpaceCategoryPermissions ¶ added in v1.71.0
func (s Store) DeleteSpaceCategoryPermissions(ctx domain.RequestContext, spaceID string) (rows int64, err error)
DeleteSpaceCategoryPermissions removes all category permission for for given space.
func (Store) DeleteSpacePermissions ¶ added in v1.71.0
func (s Store) DeleteSpacePermissions(ctx domain.RequestContext, spaceID string) (rows int64, err error)
DeleteSpacePermissions removes records from dmz_permissions table for given space ID.
func (Store) DeleteUserPermissions ¶ added in v1.71.0
func (s Store) DeleteUserPermissions(ctx domain.RequestContext, userID string) (rows int64, err error)
DeleteUserPermissions removes all roles for the specified user, for the specified space.
func (Store) DeleteUserSpacePermissions ¶ added in v1.71.0
func (s Store) DeleteUserSpacePermissions(ctx domain.RequestContext, spaceID, userID string) (rows int64, err error)
DeleteUserSpacePermissions removes all roles for the specified user, for the specified space.
func (Store) GetCategoryPermissions ¶ added in v1.71.0
func (s Store) GetCategoryPermissions(ctx domain.RequestContext, catID string) (r []permission.Permission, err error)
GetCategoryPermissions returns category permissions for all users.
func (Store) GetCategoryUsers ¶ added in v1.71.0
GetCategoryUsers returns space permissions for all users.
func (Store) GetDocumentPermissions ¶ added in v1.71.0
func (s Store) GetDocumentPermissions(ctx domain.RequestContext, documentID string) (r []permission.Permission, err error)
GetDocumentPermissions returns documents permissions for all users. We do not filter by userID because we return permissions for all users.
func (Store) GetSpacePermissions ¶ added in v1.71.0
func (s Store) GetSpacePermissions(ctx domain.RequestContext, spaceID string) (r []permission.Permission, err error)
GetSpacePermissions returns space permissions for all users. We do not filter by userID because we return permissions for all users.
func (Store) GetSpacePermissionsForUser ¶ added in v1.71.0
func (s Store) GetSpacePermissionsForUser(ctx domain.RequestContext, spaceID, userID string) (r []permission.Permission, err error)
GetSpacePermissionsForUser returns space permissions for specified user.
func (Store) GetUserCategoryPermissions ¶ added in v1.71.0
func (s Store) GetUserCategoryPermissions(ctx domain.RequestContext, userID string) (r []permission.Permission, err error)
GetUserCategoryPermissions returns category permissions for given user.
func (Store) GetUserDocumentPermissions ¶ added in v1.71.0
func (s Store) GetUserDocumentPermissions(ctx domain.RequestContext, documentID string) (r []permission.Permission, err error)
GetUserDocumentPermissions returns document permissions for user. Context is used to for user ID.
func (Store) GetUserSpacePermissions ¶ added in v1.71.0
func (s Store) GetUserSpacePermissions(ctx domain.RequestContext, spaceID string) (r []permission.Permission, err error)
GetUserSpacePermissions returns space permissions for user. Context is used to for userID because must match by userID or everyone ID of 0.