Documentation
¶
Index ¶
- Constants
- type ManagementUser
- type ManagementUserDBService
- func (dbService *ManagementUserDBService) CreatePermission(instanceID string, subjectID string, subjectType string, resourceType string, ...) (*Permission, error)
- func (dbService *ManagementUserDBService) CreateServiceUser(instanceID string, label string, description string) (*ServiceUser, error)
- func (dbService *ManagementUserDBService) CreateServiceUserAPIKey(instanceID string, serviceUserID string, apiKey string, expiresAt *time.Time) error
- func (dbService *ManagementUserDBService) CreateSession(instanceID string, userID string, renewToken string) (*Session, error)
- func (dbService *ManagementUserDBService) CreateUser(instanceID string, newUser *ManagementUser) (*ManagementUser, error)
- func (dbService *ManagementUserDBService) DeletePermission(instanceID string, permissionID string) error
- func (dbService *ManagementUserDBService) DeletePermissionsBySubject(instanceID string, subjectID string, subjectType string) error
- func (dbService *ManagementUserDBService) DeleteServiceUser(instanceID string, id string) error
- func (dbService *ManagementUserDBService) DeleteServiceUserAPIKey(instanceID string, id string) error
- func (dbService *ManagementUserDBService) DeleteSession(instanceID string, sessionID string) error
- func (dbService *ManagementUserDBService) DeleteSessionsByUserID(instanceID string, userID string) error
- func (dbService *ManagementUserDBService) DeleteUser(instanceID string, id string) error
- func (dbService *ManagementUserDBService) GetAllUsers(instanceID string, returnFullObject bool) ([]*ManagementUser, error)
- func (dbService *ManagementUserDBService) GetPermissionByID(instanceID string, permissionID string) (*Permission, error)
- func (dbService *ManagementUserDBService) GetPermissionByResource(instanceID string, resourceType string, resourceKey string) ([]*Permission, error)
- func (dbService *ManagementUserDBService) GetPermissionBySubject(instanceID string, subjectID string, subjectType string) ([]*Permission, error)
- func (dbService *ManagementUserDBService) GetPermissionBySubjectAndResourceForAction(instanceID string, subjectID string, subjectType string, resourceType string, ...) ([]*Permission, error)
- func (dbService *ManagementUserDBService) GetServiceUserAPIKey(instanceID string, apiKey string) (*ServiceUserAPIKey, error)
- func (dbService *ManagementUserDBService) GetServiceUserAPIKeys(instanceID string, serviceUserID string) ([]ServiceUserAPIKey, error)
- func (dbService *ManagementUserDBService) GetServiceUserByID(instanceID string, id string) (*ServiceUser, error)
- func (dbService *ManagementUserDBService) GetServiceUsers(instanceID string) ([]ServiceUser, error)
- func (dbService *ManagementUserDBService) GetSession(instanceID string, sessionID string) (*Session, error)
- func (dbService *ManagementUserDBService) GetUserByID(instanceID string, id string) (*ManagementUser, error)
- func (dbService *ManagementUserDBService) GetUserBySub(instanceID string, sub string) (*ManagementUser, error)
- func (dbService *ManagementUserDBService) GetUsersByIDs(instanceID string, ids []string, returnFullObject bool) ([]*ManagementUser, error)
- func (dbService *ManagementUserDBService) UpdatePermissionLimiter(instanceID string, permissionID string, limiter []map[string]string) error
- func (dbService *ManagementUserDBService) UpdateServiceUser(instanceID string, id string, label string, description string) error
- func (dbService *ManagementUserDBService) UpdateServiceUserAPIKeyLastUsedAt(instanceID string, apiKey string) error
- func (dbService *ManagementUserDBService) UpdateUser(instanceID string, id string, email string, username string, isAdmin bool, ...) error
- type Permission
- type ServiceUser
- type ServiceUserAPIKey
- type Session
Constants ¶
const ( COLLECTION_NAME_MANAGEMENT_USERS = "management_users" COLLECTION_NAME_PERMISSIONS = "permissions" COLLECTION_NAME_SESSIONS = "management_user_sessions" COLLECTION_NAME_SERVICE_USERS = "service_users" COLLECTION_NAME_SERVICE_USER_API_KEYS = "service_user_api_keys" )
collection names
const (
REMOVE_SESSIONS_AFTER = 60 * 60 * 24 * 2 // 2 days
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ManagementUser ¶
type ManagementUser struct { ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"` Sub string `json:"sub,omitempty" bson:"sub,omitempty"` Email string `json:"email,omitempty" bson:"email,omitempty"` Username string `json:"username,omitempty" bson:"username,omitempty"` ImageURL string `json:"imageUrl,omitempty" bson:"imageUrl,omitempty"` IsAdmin bool `json:"isAdmin,omitempty" bson:"isAdmin,omitempty"` LastLoginAt time.Time `json:"lastLoginAt,omitempty" bson:"lastLoginAt,omitempty"` CreatedAt time.Time `json:"createdAt,omitempty" bson:"createdAt,omitempty"` }
type ManagementUserDBService ¶
type ManagementUserDBService struct { DBClient *mongo.Client DBNamePrefix string InstanceIDs []string // contains filtered or unexported fields }
func NewManagementUserDBService ¶
func NewManagementUserDBService(configs db.DBConfig) (*ManagementUserDBService, error)
func (*ManagementUserDBService) CreatePermission ¶
func (dbService *ManagementUserDBService) CreatePermission( instanceID string, subjectID string, subjectType string, resourceType string, resourceKey string, action string, limiter []map[string]string, ) (*Permission, error)
Create permission
func (*ManagementUserDBService) CreateServiceUser ¶
func (dbService *ManagementUserDBService) CreateServiceUser(instanceID string, label string, description string) (*ServiceUser, error)
CreateServiceUser creates a new service user
func (*ManagementUserDBService) CreateServiceUserAPIKey ¶
func (*ManagementUserDBService) CreateSession ¶
func (dbService *ManagementUserDBService) CreateSession( instanceID string, userID string, renewToken string, ) (*Session, error)
Session represents a user session, created when a user logs in
func (*ManagementUserDBService) CreateUser ¶
func (dbService *ManagementUserDBService) CreateUser( instanceID string, newUser *ManagementUser, ) (*ManagementUser, error)
func (*ManagementUserDBService) DeletePermission ¶
func (dbService *ManagementUserDBService) DeletePermission( instanceID string, permissionID string, ) error
Delete permission
func (*ManagementUserDBService) DeletePermissionsBySubject ¶
func (dbService *ManagementUserDBService) DeletePermissionsBySubject( instanceID string, subjectID string, subjectType string, ) error
Delete permissions by subject id and type
func (*ManagementUserDBService) DeleteServiceUser ¶
func (dbService *ManagementUserDBService) DeleteServiceUser(instanceID string, id string) error
DeleteServiceUser deletes a service user by its ID and all its API keys
func (*ManagementUserDBService) DeleteServiceUserAPIKey ¶
func (dbService *ManagementUserDBService) DeleteServiceUserAPIKey(instanceID string, id string) error
func (*ManagementUserDBService) DeleteSession ¶
func (dbService *ManagementUserDBService) DeleteSession( instanceID string, sessionID string, ) error
DeleteSession deletes the session with the given ID
func (*ManagementUserDBService) DeleteSessionsByUserID ¶
func (dbService *ManagementUserDBService) DeleteSessionsByUserID( instanceID string, userID string, ) error
DeleteSessionsByUserID deletes all sessions for the given user
func (*ManagementUserDBService) DeleteUser ¶
func (dbService *ManagementUserDBService) DeleteUser( instanceID string, id string, ) error
delete user
func (*ManagementUserDBService) GetAllUsers ¶
func (dbService *ManagementUserDBService) GetAllUsers( instanceID string, returnFullObject bool, ) ([]*ManagementUser, error)
get all management users
func (*ManagementUserDBService) GetPermissionByID ¶
func (dbService *ManagementUserDBService) GetPermissionByID( instanceID string, permissionID string, ) (*Permission, error)
Find permission by id
func (*ManagementUserDBService) GetPermissionByResource ¶
func (dbService *ManagementUserDBService) GetPermissionByResource( instanceID string, resourceType string, resourceKey string, ) ([]*Permission, error)
Find permissions by resource type and key
func (*ManagementUserDBService) GetPermissionBySubject ¶
func (dbService *ManagementUserDBService) GetPermissionBySubject( instanceID string, subjectID string, subjectType string, ) ([]*Permission, error)
Find permissions by subject id and type
func (*ManagementUserDBService) GetPermissionBySubjectAndResourceForAction ¶
func (dbService *ManagementUserDBService) GetPermissionBySubjectAndResourceForAction( instanceID string, subjectID string, subjectType string, resourceType string, resourceKey []string, action string, ) ([]*Permission, error)
Find permissions by subject id and type and resource type
func (*ManagementUserDBService) GetServiceUserAPIKey ¶
func (dbService *ManagementUserDBService) GetServiceUserAPIKey(instanceID string, apiKey string) (*ServiceUserAPIKey, error)
func (*ManagementUserDBService) GetServiceUserAPIKeys ¶
func (dbService *ManagementUserDBService) GetServiceUserAPIKeys(instanceID string, serviceUserID string) ([]ServiceUserAPIKey, error)
func (*ManagementUserDBService) GetServiceUserByID ¶
func (dbService *ManagementUserDBService) GetServiceUserByID(instanceID string, id string) (*ServiceUser, error)
GetServiceUserByID returns a service user by its ID
func (*ManagementUserDBService) GetServiceUsers ¶
func (dbService *ManagementUserDBService) GetServiceUsers(instanceID string) ([]ServiceUser, error)
GetServiceUsers returns all service users
func (*ManagementUserDBService) GetSession ¶
func (dbService *ManagementUserDBService) GetSession( instanceID string, sessionID string, ) (*Session, error)
GetSession returns the session with the given ID
func (*ManagementUserDBService) GetUserByID ¶
func (dbService *ManagementUserDBService) GetUserByID( instanceID string, id string, ) (*ManagementUser, error)
find user by id
func (*ManagementUserDBService) GetUserBySub ¶
func (dbService *ManagementUserDBService) GetUserBySub( instanceID string, sub string, ) (*ManagementUser, error)
find user by sub
func (*ManagementUserDBService) GetUsersByIDs ¶
func (dbService *ManagementUserDBService) GetUsersByIDs( instanceID string, ids []string, returnFullObject bool, ) ([]*ManagementUser, error)
Get users by ids
func (*ManagementUserDBService) UpdatePermissionLimiter ¶
func (dbService *ManagementUserDBService) UpdatePermissionLimiter( instanceID string, permissionID string, limiter []map[string]string, ) error
Modify limiter of permission
func (*ManagementUserDBService) UpdateServiceUser ¶
func (dbService *ManagementUserDBService) UpdateServiceUser(instanceID string, id string, label string, description string) error
UpdateServiceUser updates a service user by its ID
func (*ManagementUserDBService) UpdateServiceUserAPIKeyLastUsedAt ¶
func (dbService *ManagementUserDBService) UpdateServiceUserAPIKeyLastUsedAt(instanceID string, apiKey string) error
type Permission ¶
type Permission struct { ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"` SubjectID string `json:"subjectId,omitempty" bson:"subjectId,omitempty"` SubjectType string `json:"subjectType,omitempty" bson:"subjectType,omitempty"` ResourceType string `json:"resourceType,omitempty" bson:"resourceType,omitempty"` ResourceKey string `json:"resourceKey,omitempty" bson:"resourceKey,omitempty"` Action string `json:"action,omitempty" bson:"action,omitempty"` Limiter []map[string]string `json:"limiter,omitempty" bson:"limiter,omitempty"` }
type ServiceUser ¶
type ServiceUser struct { ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"` Label string `json:"label,omitempty" bson:"label,omitempty"` Description string `json:"description,omitempty" bson:"description,omitempty"` CreatedAt time.Time `json:"createdAt,omitempty" bson:"createdAt,omitempty"` }
type ServiceUserAPIKey ¶
type ServiceUserAPIKey struct { ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"` ServiceUserID string `json:"serviceUserId,omitempty" bson:"serviceUserId,omitempty"` Key string `json:"key,omitempty" bson:"key,omitempty"` ExpiresAt *time.Time `json:"expiresAt,omitempty" bson:"expiresAt,omitempty"` CreatedAt time.Time `json:"createdAt,omitempty" bson:"createdAt,omitempty"` LastUsedAt time.Time `json:"lastUsedAt,omitempty" bson:"lastUsedAt,omitempty"` }
type Session ¶
type Session struct { ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"` UserID string `json:"userId,omitempty" bson:"userId,omitempty"` RenewToken string `json:"renewToken,omitempty" bson:"renewToken,omitempty"` CreatedAt time.Time `json:"createdAt,omitempty" bson:"createdAt,omitempty"` }