repositories

package
v0.3.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2026 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrVersionMismatch = fmt.Errorf("version mismatch: %w", utils.ErrHttpConflict)
View Source
var (
	ErrWrongCredentialCast = errors.New("wrong credential cast")
)

Functions

This section is empty.

Types

type AllowReason

type AllowReason interface {
	GetReasonType() string
}

type Application

type Application struct {
	BaseModel
	change.List[ApplicationChange]
	// contains filtered or unexported fields
}

func NewApplication

func NewApplication(virtualServerId uuid.UUID, projectId uuid.UUID, name string, displayName string, type_ ApplicationType, redirectUris []string) *Application

func NewApplicationFromDB

func NewApplicationFromDB(
	base BaseModel,
	virtualServerId uuid.UUID,
	projectId uuid.UUID,
	name string,
	displayName string,
	type_ ApplicationType,
	hashedSecret string,
	redirectUris []string,
	postLogoutRedirectUris []string,
	systemApplication bool,
	claimsMappingScript *string,
	accessTokenHeaderType string,
	deviceFlowEnabled bool,
) *Application

func (*Application) AccessTokenHeaderType

func (a *Application) AccessTokenHeaderType() string

func (*Application) ClaimsMappingScript

func (a *Application) ClaimsMappingScript() *string

func (*Application) DeviceFlowEnabled

func (a *Application) DeviceFlowEnabled() bool

func (*Application) DisplayName

func (a *Application) DisplayName() string

func (*Application) GenerateSecret

func (a *Application) GenerateSecret() string

func (*Application) HashedSecret

func (a *Application) HashedSecret() string

func (*Application) Name

func (a *Application) Name() string

func (*Application) PostLogoutRedirectUris

func (a *Application) PostLogoutRedirectUris() []string

func (*Application) ProjectId

func (a *Application) ProjectId() uuid.UUID

func (*Application) RedirectUris

func (a *Application) RedirectUris() []string

func (*Application) SetAccessTokenHeaderType

func (a *Application) SetAccessTokenHeaderType(accessTokenHeaderType string)

func (*Application) SetClaimsMappingScript

func (a *Application) SetClaimsMappingScript(script *string)

func (*Application) SetDeviceFlowEnabled

func (a *Application) SetDeviceFlowEnabled(deviceFlowEnabled bool)

func (*Application) SetDisplayName

func (a *Application) SetDisplayName(displayName string)

func (*Application) SetHashedSecret

func (a *Application) SetHashedSecret(hashedSecret string)

func (*Application) SetPostLogoutRedirectUris

func (a *Application) SetPostLogoutRedirectUris(postLogoutRedirectUris []string)

func (*Application) SetRedirectUris

func (a *Application) SetRedirectUris(redirectUris []string)

func (*Application) SetSystemApplication

func (a *Application) SetSystemApplication(systemApplication bool)

func (*Application) SystemApplication

func (a *Application) SystemApplication() bool

func (*Application) Type

func (a *Application) Type() ApplicationType

func (*Application) VirtualServerId

func (a *Application) VirtualServerId() uuid.UUID

type ApplicationChange

type ApplicationChange int
const (
	ApplicationChangeHashedSecret ApplicationChange = iota
	ApplicationChangeClaimsMappingScript
	ApplicationChangeAccessTokenHeaderType
	ApplicationChangeDisplayName
	ApplicationChangeRedirectUris
	ApplicationChangePostLogoutRedirectUris
	ApplicationChangeSystemApplication
	ApplicationChangeDeviceFlowEnabled
)

type ApplicationFilter

type ApplicationFilter struct {
	PagingInfo
	OrderInfo
	// contains filtered or unexported fields
}

func NewApplicationFilter

func NewApplicationFilter() *ApplicationFilter

func (*ApplicationFilter) Clone

func (*ApplicationFilter) GetId

func (f *ApplicationFilter) GetId() uuid.UUID

func (*ApplicationFilter) GetIds

func (f *ApplicationFilter) GetIds() []uuid.UUID

func (*ApplicationFilter) GetName

func (f *ApplicationFilter) GetName() string

func (*ApplicationFilter) GetOrderInfo

func (f *ApplicationFilter) GetOrderInfo() OrderInfo

func (*ApplicationFilter) GetPagingInfo

func (f *ApplicationFilter) GetPagingInfo() PagingInfo

func (*ApplicationFilter) GetProjectId

func (f *ApplicationFilter) GetProjectId() uuid.UUID

func (*ApplicationFilter) GetSearch

func (f *ApplicationFilter) GetSearch() SearchFilter

func (*ApplicationFilter) GetVirtualServerId

func (f *ApplicationFilter) GetVirtualServerId() uuid.UUID

func (*ApplicationFilter) HasId

func (f *ApplicationFilter) HasId() bool

func (*ApplicationFilter) HasIds

func (f *ApplicationFilter) HasIds() bool

func (*ApplicationFilter) HasName

func (f *ApplicationFilter) HasName() bool

func (*ApplicationFilter) HasOrder

func (f *ApplicationFilter) HasOrder() bool

func (*ApplicationFilter) HasPagination

func (f *ApplicationFilter) HasPagination() bool

func (*ApplicationFilter) HasProjectId

func (f *ApplicationFilter) HasProjectId() bool

func (*ApplicationFilter) HasSearch

func (f *ApplicationFilter) HasSearch() bool

func (*ApplicationFilter) HasVirtualServerId

func (f *ApplicationFilter) HasVirtualServerId() bool

func (*ApplicationFilter) Id

func (*ApplicationFilter) Ids

func (*ApplicationFilter) Name

func (*ApplicationFilter) Order

func (f *ApplicationFilter) Order(by string, direction string) *ApplicationFilter

func (*ApplicationFilter) Pagination

func (f *ApplicationFilter) Pagination(page int, size int) *ApplicationFilter

func (*ApplicationFilter) ProjectId

func (f *ApplicationFilter) ProjectId(projectId uuid.UUID) *ApplicationFilter

func (*ApplicationFilter) Search

func (f *ApplicationFilter) Search(searchFilter SearchFilter) *ApplicationFilter

func (*ApplicationFilter) VirtualServerId

func (f *ApplicationFilter) VirtualServerId(virtualServerId uuid.UUID) *ApplicationFilter

type ApplicationRepository

type ApplicationRepository interface {
	FirstOrErr(ctx context.Context, filter *ApplicationFilter) (*Application, error)
	FirstOrNil(ctx context.Context, filter *ApplicationFilter) (*Application, error)
	List(ctx context.Context, filter *ApplicationFilter) ([]*Application, int, error)
	Insert(application *Application)
	Update(application *Application)
	Delete(id uuid.UUID)
}

type ApplicationType

type ApplicationType string
const (
	ApplicationTypePublic       ApplicationType = "public"
	ApplicationTypeConfidential ApplicationType = "confidential"
)

type ApplicationUserMetadata

type ApplicationUserMetadata struct {
	BaseModel
	change.List[ApplicationUserMetadataChange]
	// contains filtered or unexported fields
}

func NewApplicationUserMetadata

func NewApplicationUserMetadata(applicationId uuid.UUID, userId uuid.UUID, metadata string) *ApplicationUserMetadata

func NewApplicationUserMetadataFromDB

func NewApplicationUserMetadataFromDB(
	base BaseModel,
	applicationId uuid.UUID,
	userId uuid.UUID,
	metadata string,
) *ApplicationUserMetadata

func (*ApplicationUserMetadata) ApplicationId

func (a *ApplicationUserMetadata) ApplicationId() uuid.UUID

func (*ApplicationUserMetadata) Metadata

func (a *ApplicationUserMetadata) Metadata() string

func (*ApplicationUserMetadata) SetMetadata

func (a *ApplicationUserMetadata) SetMetadata(metadata string)

func (*ApplicationUserMetadata) UserId

func (a *ApplicationUserMetadata) UserId() uuid.UUID

type ApplicationUserMetadataChange

type ApplicationUserMetadataChange int
const (
	ApplicationUserMetadataChangeMetadata ApplicationUserMetadataChange = iota
)

type ApplicationUserMetadataFilter

type ApplicationUserMetadataFilter struct {
	// contains filtered or unexported fields
}

func NewApplicationUserMetadataFilter

func NewApplicationUserMetadataFilter() *ApplicationUserMetadataFilter

func (*ApplicationUserMetadataFilter) ApplicationId

func (f *ApplicationUserMetadataFilter) ApplicationId(applicationId uuid.UUID) *ApplicationUserMetadataFilter

func (*ApplicationUserMetadataFilter) ApplicationIds

func (f *ApplicationUserMetadataFilter) ApplicationIds(applicationIds []uuid.UUID) *ApplicationUserMetadataFilter

func (*ApplicationUserMetadataFilter) Clone

func (*ApplicationUserMetadataFilter) GetApplicationId

func (f *ApplicationUserMetadataFilter) GetApplicationId() uuid.UUID

func (*ApplicationUserMetadataFilter) GetApplicationIds

func (f *ApplicationUserMetadataFilter) GetApplicationIds() []uuid.UUID

func (*ApplicationUserMetadataFilter) GetUserId

func (f *ApplicationUserMetadataFilter) GetUserId() uuid.UUID

func (*ApplicationUserMetadataFilter) HasApplicationId

func (f *ApplicationUserMetadataFilter) HasApplicationId() bool

func (*ApplicationUserMetadataFilter) HasApplicationIds

func (f *ApplicationUserMetadataFilter) HasApplicationIds() bool

func (*ApplicationUserMetadataFilter) HasUserId

func (f *ApplicationUserMetadataFilter) HasUserId() bool

func (*ApplicationUserMetadataFilter) UserId

type ApplicationUserMetadataRepository

type ApplicationUserMetadataRepository interface {
	FirstOrErr(ctx context.Context, filter *ApplicationUserMetadataFilter) (*ApplicationUserMetadata, error)
	FirstOrNil(ctx context.Context, filter *ApplicationUserMetadataFilter) (*ApplicationUserMetadata, error)
	List(ctx context.Context, filter *ApplicationUserMetadataFilter) ([]*ApplicationUserMetadata, int, error)
	Insert(applicationUserMetadata *ApplicationUserMetadata)
	Update(applicationUserMetadata *ApplicationUserMetadata)
}

type AuditLog

type AuditLog struct {
	BaseModel
	// contains filtered or unexported fields
}

func NewAllowedAuditLog

func NewAllowedAuditLog(virtualServerId uuid.UUID, userId uuid.UUID, request Request, response any, allowReason AllowReason) (*AuditLog, error)

func NewAuditLogFromDB

func NewAuditLogFromDB(
	base BaseModel,
	virtualServerId uuid.UUID,
	userId *uuid.UUID,
	requestType string,
	request string,
	response *string,
	allowed bool,
	allowReasonType *string,
	allowReason *string,
) *AuditLog

func NewDeniedAuditLog

func NewDeniedAuditLog(virtualServerId uuid.UUID, userId uuid.UUID, request Request) (*AuditLog, error)

func (*AuditLog) AllowReason

func (a *AuditLog) AllowReason() *string

func (*AuditLog) AllowReasonType

func (a *AuditLog) AllowReasonType() *string

func (*AuditLog) Allowed

func (a *AuditLog) Allowed() bool

func (*AuditLog) Request

func (a *AuditLog) Request() string

func (*AuditLog) RequestType

func (a *AuditLog) RequestType() string

func (*AuditLog) Response

func (a *AuditLog) Response() *string

func (*AuditLog) UserId

func (a *AuditLog) UserId() *uuid.UUID

func (*AuditLog) VirtualServerId

func (a *AuditLog) VirtualServerId() uuid.UUID

type AuditLogFilter

type AuditLogFilter struct {
	PagingInfo
	OrderInfo
	// contains filtered or unexported fields
}

func NewAuditLogFilter

func NewAuditLogFilter() *AuditLogFilter

func (*AuditLogFilter) Clone

func (f *AuditLogFilter) Clone() *AuditLogFilter

func (*AuditLogFilter) GetOrderInfo

func (f *AuditLogFilter) GetOrderInfo() OrderInfo

func (*AuditLogFilter) GetPagingInfo

func (f *AuditLogFilter) GetPagingInfo() PagingInfo

func (*AuditLogFilter) GetUserId

func (f *AuditLogFilter) GetUserId() uuid.UUID

func (*AuditLogFilter) GetVirtualServerId

func (f *AuditLogFilter) GetVirtualServerId() uuid.UUID

func (*AuditLogFilter) HasOrder

func (f *AuditLogFilter) HasOrder() bool

func (*AuditLogFilter) HasPagination

func (f *AuditLogFilter) HasPagination() bool

func (*AuditLogFilter) HasUserId

func (f *AuditLogFilter) HasUserId() bool

func (*AuditLogFilter) HasVirtualServerId

func (f *AuditLogFilter) HasVirtualServerId() bool

func (*AuditLogFilter) Order

func (f *AuditLogFilter) Order(by string, direction string) *AuditLogFilter

func (*AuditLogFilter) Pagination

func (f *AuditLogFilter) Pagination(page int, pageSize int) *AuditLogFilter

func (*AuditLogFilter) UserId

func (f *AuditLogFilter) UserId(userId uuid.UUID) *AuditLogFilter

func (*AuditLogFilter) VirtualServerId

func (f *AuditLogFilter) VirtualServerId(virtualServerId uuid.UUID) *AuditLogFilter

type AuditLogRepository

type AuditLogRepository interface {
	List(ctx context.Context, filter *AuditLogFilter) ([]*AuditLog, int, error)
	Insert(auditLog *AuditLog)
}

type BaseModel

type BaseModel struct {
	// contains filtered or unexported fields
}

func NewBaseModel

func NewBaseModel() BaseModel

func NewBaseModelFromDB

func NewBaseModelFromDB(id uuid.UUID, auditCreatedAt time.Time, auditUpdatedAt time.Time, version any) BaseModel

func (*BaseModel) AuditCreatedAt

func (m *BaseModel) AuditCreatedAt() time.Time

func (*BaseModel) AuditUpdatedAt

func (m *BaseModel) AuditUpdatedAt() time.Time

func (*BaseModel) GetVersion

func (b *BaseModel) GetVersion() any

func (*BaseModel) Id

func (m *BaseModel) Id() uuid.UUID

func (*BaseModel) Mock

func (m *BaseModel) Mock(now time.Time)

Mock is a test helper function that sets the model to a mock state.

func (*BaseModel) SetVersion

func (b *BaseModel) SetVersion(version any)

SetVersion is used to update the version of the model. This is used to prevent concurrent updates. This function should only be called by the repositories.

type Credential

type Credential struct {
	BaseModel
	change.List[CredentialChange]
	// contains filtered or unexported fields
}

func NewCredential

func NewCredential(userId uuid.UUID, details CredentialDetails) *Credential

func NewCredentialFromDB

func NewCredentialFromDB(base BaseModel, userId uuid.UUID, _type CredentialType, details any) *Credential

func (*Credential) Details

func (c *Credential) Details() any

func (*Credential) PasswordDetails

func (c *Credential) PasswordDetails() (*CredentialPasswordDetails, error)

func (*Credential) ServiceUserKeyDetails

func (c *Credential) ServiceUserKeyDetails() (*CredentialServiceUserKey, error)

func (*Credential) SetDetails

func (c *Credential) SetDetails(details CredentialDetails)

func (*Credential) TotpDetails

func (c *Credential) TotpDetails() (*CredentialTotpDetails, error)

func (*Credential) Type

func (c *Credential) Type() CredentialType

func (*Credential) UserId

func (c *Credential) UserId() uuid.UUID

func (*Credential) WebauthnDetails

func (c *Credential) WebauthnDetails() (*CredentialWebauthnDetails, error)

type CredentialChange

type CredentialChange int
const (
	CredentialChangeDetails CredentialChange = iota
	CredentialChangeType
)

type CredentialDetails

type CredentialDetails interface {
	CredentialDetailType() CredentialType
}

type CredentialFilter

type CredentialFilter struct {
	// contains filtered or unexported fields
}

func NewCredentialFilter

func NewCredentialFilter() *CredentialFilter

func (*CredentialFilter) Clone

func (f *CredentialFilter) Clone() *CredentialFilter

func (*CredentialFilter) DetailKid

func (f *CredentialFilter) DetailKid(key string) *CredentialFilter

func (*CredentialFilter) DetailPublicKey

func (f *CredentialFilter) DetailPublicKey(publicKey string) *CredentialFilter

func (*CredentialFilter) DetailsId

func (f *CredentialFilter) DetailsId(id string) *CredentialFilter

func (*CredentialFilter) GetDetailKid

func (f *CredentialFilter) GetDetailKid() string

func (*CredentialFilter) GetDetailPublicKey

func (f *CredentialFilter) GetDetailPublicKey() string

func (*CredentialFilter) GetDetailsId

func (f *CredentialFilter) GetDetailsId() string

func (*CredentialFilter) GetId

func (f *CredentialFilter) GetId() uuid.UUID

func (*CredentialFilter) GetType

func (f *CredentialFilter) GetType() CredentialType

func (*CredentialFilter) GetUserId

func (f *CredentialFilter) GetUserId() uuid.UUID

func (*CredentialFilter) HasDetailKid

func (f *CredentialFilter) HasDetailKid() bool

func (*CredentialFilter) HasDetailPublicKey

func (f *CredentialFilter) HasDetailPublicKey() bool

func (*CredentialFilter) HasDetailsId

func (f *CredentialFilter) HasDetailsId() bool

func (*CredentialFilter) HasId

func (f *CredentialFilter) HasId() bool

func (*CredentialFilter) HasType

func (f *CredentialFilter) HasType() bool

func (*CredentialFilter) HasUserId

func (f *CredentialFilter) HasUserId() bool

func (*CredentialFilter) Id

func (*CredentialFilter) Type

func (f *CredentialFilter) Type(credentialType CredentialType) *CredentialFilter

func (*CredentialFilter) UserId

func (f *CredentialFilter) UserId(userId uuid.UUID) *CredentialFilter

type CredentialPasswordDetails

type CredentialPasswordDetails struct {
	HashedPassword string `json:"hashedPassword"`
	Temporary      bool   `json:"temporary"`
}

func (*CredentialPasswordDetails) CredentialDetailType

func (d *CredentialPasswordDetails) CredentialDetailType() CredentialType

func (*CredentialPasswordDetails) Scan

func (d *CredentialPasswordDetails) Scan(value any) error

func (*CredentialPasswordDetails) Value

type CredentialRepository

type CredentialRepository interface {
	FirstOrErr(ctx context.Context, filter *CredentialFilter) (*Credential, error)
	FirstOrNil(ctx context.Context, filter *CredentialFilter) (*Credential, error)
	List(ctx context.Context, filter *CredentialFilter) ([]*Credential, error)
	Insert(credential *Credential)
	Update(credential *Credential)
	Delete(id uuid.UUID)
}

type CredentialServiceUserKey

type CredentialServiceUserKey struct {
	Kid       string `json:"kid"`
	PublicKey string `json:"publicKey"`
}

func (*CredentialServiceUserKey) CredentialDetailType

func (d *CredentialServiceUserKey) CredentialDetailType() CredentialType

func (*CredentialServiceUserKey) Scan

func (d *CredentialServiceUserKey) Scan(value any) error

func (*CredentialServiceUserKey) Value

type CredentialTotpDetails

type CredentialTotpDetails struct {
	Secret    string `json:"secret"`
	Digits    int    `json:"digits"`
	Algorithm int    `json:"algorithm"`
}

func (*CredentialTotpDetails) CredentialDetailType

func (d *CredentialTotpDetails) CredentialDetailType() CredentialType

func (*CredentialTotpDetails) Scan

func (d *CredentialTotpDetails) Scan(value any) error

func (*CredentialTotpDetails) Value

func (d *CredentialTotpDetails) Value() (driver.Value, error)

type CredentialType

type CredentialType string

CredentialType represents a credential type. Use the following constants: CredentialTypePassword

const (
	CredentialTypePassword       CredentialType = "password"
	CredentialTypeTotp           CredentialType = "totp"
	CredentialTypeServiceUserKey CredentialType = "service_user_key"
	CredentialTypeWebauthn       CredentialType = "webauthn"
)

type CredentialWebauthnDetails

type CredentialWebauthnDetails struct {
	CredentialId       string `json:"credentialId"`
	PublicKeyAlgorithm int    `json:"publicKeyAlgorithm"`
	PublicKey          []byte `json:"publicKey"`
}

func (*CredentialWebauthnDetails) CredentialDetailType

func (d *CredentialWebauthnDetails) CredentialDetailType() CredentialType

func (*CredentialWebauthnDetails) Scan

func (d *CredentialWebauthnDetails) Scan(value any) error

func (*CredentialWebauthnDetails) Value

type File

type File struct {
	BaseModel
	// contains filtered or unexported fields
}

func NewFile

func NewFile(name string, mimeType string, content []byte) *File

func NewFileFromDB

func NewFileFromDB(base BaseModel, name string, mimeType string, content []byte) *File

func (*File) Content

func (f *File) Content() []byte

func (*File) MimeType

func (f *File) MimeType() string

func (*File) Name

func (f *File) Name() string

type FileFilter

type FileFilter struct {
	// contains filtered or unexported fields
}

func NewFileFilter

func NewFileFilter() *FileFilter

func (*FileFilter) Clone

func (f *FileFilter) Clone() *FileFilter

func (*FileFilter) GetId

func (f *FileFilter) GetId() uuid.UUID

func (*FileFilter) HasId

func (f *FileFilter) HasId() bool

func (*FileFilter) Id

func (f *FileFilter) Id(id uuid.UUID) *FileFilter

type FileRepository

type FileRepository interface {
	FirstOrErr(ctx context.Context, filter *FileFilter) (*File, error)
	FirstOrNil(ctx context.Context, filter *FileFilter) (*File, error)
	Insert(file *File)
}

type Group

type Group struct {
	BaseModel
	change.List[GroupChange]
	// contains filtered or unexported fields
}

func NewGroup

func NewGroup(virtualServerId uuid.UUID, name string, description string) *Group

func NewGroupFromDB

func NewGroupFromDB(base BaseModel, virtualServerId uuid.UUID, name string, description string) *Group

func (*Group) Description

func (g *Group) Description() string

func (*Group) Name

func (g *Group) Name() string

func (*Group) SetDescription

func (g *Group) SetDescription(description string)

func (*Group) SetName

func (g *Group) SetName(name string)

func (*Group) VirtualServerId

func (g *Group) VirtualServerId() uuid.UUID

type GroupChange

type GroupChange int
const (
	GroupChangeName GroupChange = iota
	GroupChangeDescription
)

type GroupFilter

type GroupFilter struct {
	PagingInfo
	OrderInfo
	// contains filtered or unexported fields
}

func NewGroupFilter

func NewGroupFilter() *GroupFilter

func (*GroupFilter) Clone

func (f *GroupFilter) Clone() *GroupFilter

func (*GroupFilter) GetId

func (f *GroupFilter) GetId() uuid.UUID

func (*GroupFilter) GetName

func (f *GroupFilter) GetName() string

func (*GroupFilter) GetOrderInfo

func (f *GroupFilter) GetOrderInfo() OrderInfo

func (*GroupFilter) GetPagingInfo

func (f *GroupFilter) GetPagingInfo() PagingInfo

func (*GroupFilter) GetSearch

func (f *GroupFilter) GetSearch() SearchFilter

func (*GroupFilter) GetVirtualServerId

func (f *GroupFilter) GetVirtualServerId() uuid.UUID

func (*GroupFilter) HasId

func (f *GroupFilter) HasId() bool

func (*GroupFilter) HasName

func (f *GroupFilter) HasName() bool

func (*GroupFilter) HasOrder

func (f *GroupFilter) HasOrder() bool

func (*GroupFilter) HasPagination

func (f *GroupFilter) HasPagination() bool

func (*GroupFilter) HasSearch

func (f *GroupFilter) HasSearch() bool

func (*GroupFilter) HasVirtualServerId

func (f *GroupFilter) HasVirtualServerId() bool

func (*GroupFilter) Id

func (f *GroupFilter) Id(id uuid.UUID) *GroupFilter

func (*GroupFilter) Name

func (f *GroupFilter) Name(name string) *GroupFilter

func (*GroupFilter) Order

func (f *GroupFilter) Order(by string, direction string) *GroupFilter

func (*GroupFilter) Pagination

func (f *GroupFilter) Pagination(page int, size int) *GroupFilter

func (*GroupFilter) Search

func (f *GroupFilter) Search(searchFilter SearchFilter) *GroupFilter

func (*GroupFilter) VirtualServerId

func (f *GroupFilter) VirtualServerId(virtualServerId uuid.UUID) *GroupFilter

type GroupRepository

type GroupRepository interface {
	FirstOrErr(ctx context.Context, filter *GroupFilter) (*Group, error)
	FirstOrNil(ctx context.Context, filter *GroupFilter) (*Group, error)
	List(ctx context.Context, filter *GroupFilter) ([]*Group, int, error)
	Insert(group *Group)
	Update(group *Group)
	Delete(id uuid.UUID)
}

type GroupRole

type GroupRole struct {
	BaseModel
	// contains filtered or unexported fields
}

func NewGroupRole

func NewGroupRole(groupId uuid.UUID, roleId uuid.UUID) *GroupRole

func (*GroupRole) GroupId

func (g *GroupRole) GroupId() uuid.UUID

func (*GroupRole) RoleId

func (g *GroupRole) RoleId() uuid.UUID

type GroupRoleFilter

type GroupRoleFilter struct {
	// contains filtered or unexported fields
}

func NewGroupRoleFilter

func NewGroupRoleFilter() *GroupRoleFilter

func (*GroupRoleFilter) Clone

func (f *GroupRoleFilter) Clone() *GroupRoleFilter

func (*GroupRoleFilter) GetGroupId

func (f *GroupRoleFilter) GetGroupId() uuid.UUID

func (*GroupRoleFilter) GetRoleId

func (f *GroupRoleFilter) GetRoleId() uuid.UUID

func (*GroupRoleFilter) GroupId

func (f *GroupRoleFilter) GroupId(groupId uuid.UUID) *GroupRoleFilter

func (*GroupRoleFilter) HasGroupId

func (f *GroupRoleFilter) HasGroupId() bool

func (*GroupRoleFilter) HasRoleId

func (f *GroupRoleFilter) HasRoleId() bool

func (*GroupRoleFilter) RoleId

func (f *GroupRoleFilter) RoleId(roleId uuid.UUID) *GroupRoleFilter

type GroupRoleRepository

type GroupRoleRepository interface {
}

type OrderInfo

type OrderInfo struct {
	// contains filtered or unexported fields
}

func (OrderInfo) Apply

func (i OrderInfo) Apply(s *sqlbuilder.SelectBuilder)

func (OrderInfo) IsZero

func (i OrderInfo) IsZero() bool

type OutboxMessage

type OutboxMessage struct {
	BaseModel
	// contains filtered or unexported fields
}

func NewOutboxMessage

func NewOutboxMessage(details OutboxMessageDetails) (*OutboxMessage, error)

func NewOutboxMessageFromDB

func NewOutboxMessageFromDB(base BaseModel, _type OutboxMessageType, details []byte) *OutboxMessage

func (*OutboxMessage) Details

func (m *OutboxMessage) Details() []byte

func (*OutboxMessage) Type

func (m *OutboxMessage) Type() OutboxMessageType

type OutboxMessageDetails

type OutboxMessageDetails interface {
	OutboxMessageType() OutboxMessageType
	Serialize() ([]byte, error)
}

type OutboxMessageFilter

type OutboxMessageFilter struct {
	// contains filtered or unexported fields
}

func NewOutboxMessageFilter

func NewOutboxMessageFilter() *OutboxMessageFilter

func (*OutboxMessageFilter) Clone

func (*OutboxMessageFilter) GetId

func (f *OutboxMessageFilter) GetId() uuid.UUID

func (*OutboxMessageFilter) HasId

func (f *OutboxMessageFilter) HasId() bool

func (*OutboxMessageFilter) Id

type OutboxMessageRepository

type OutboxMessageRepository interface {
	List(ctx context.Context, filter *OutboxMessageFilter) ([]*OutboxMessage, error)
	Insert(outboxMessage *OutboxMessage)
	Delete(id uuid.UUID)
}

type OutboxMessageType

type OutboxMessageType string
const (
	SendMailOutboxMessageType OutboxMessageType = "send_mail"
)

type PagingInfo

type PagingInfo struct {
	// contains filtered or unexported fields
}

func (PagingInfo) Apply

func (i PagingInfo) Apply(s *sqlbuilder.SelectBuilder)

func (PagingInfo) IsZero

func (i PagingInfo) IsZero() bool

func (PagingInfo) Page added in v0.3.2

func (i PagingInfo) Page() int

func (PagingInfo) Size added in v0.3.2

func (i PagingInfo) Size() int

type PasswordRule

type PasswordRule struct {
	BaseModel
	change.List[PasswordRuleChange]
	// contains filtered or unexported fields
}

func NewPasswordRule

func NewPasswordRule(virtualServerId uuid.UUID, details PasswordRuleDetails) (*PasswordRule, error)

func NewPasswordRuleFromDB

func NewPasswordRuleFromDB(base BaseModel, virtualServerId uuid.UUID, _type PasswordRuleType, details []byte) *PasswordRule

func (*PasswordRule) Details

func (p *PasswordRule) Details() []byte

func (*PasswordRule) SetDetails

func (p *PasswordRule) SetDetails(details PasswordRuleDetails) error

func (*PasswordRule) Type

func (p *PasswordRule) Type() PasswordRuleType

func (*PasswordRule) VirtualServerId

func (p *PasswordRule) VirtualServerId() uuid.UUID

type PasswordRuleChange

type PasswordRuleChange int
const (
	PasswordRuleChangeDetails PasswordRuleChange = iota
)

type PasswordRuleDetails

type PasswordRuleDetails interface {
	GetPasswordRuleType() PasswordRuleType
	Serialize() ([]byte, error)
}

type PasswordRuleFilter

type PasswordRuleFilter struct {
	// contains filtered or unexported fields
}

func NewPasswordRuleFilter

func NewPasswordRuleFilter() *PasswordRuleFilter

func (*PasswordRuleFilter) Clone

func (*PasswordRuleFilter) GetType

func (f *PasswordRuleFilter) GetType() PasswordRuleType

func (*PasswordRuleFilter) GetVirtualServerId

func (f *PasswordRuleFilter) GetVirtualServerId() uuid.UUID

func (*PasswordRuleFilter) HasType

func (f *PasswordRuleFilter) HasType() bool

func (*PasswordRuleFilter) HasVirtualServerId

func (f *PasswordRuleFilter) HasVirtualServerId() bool

func (*PasswordRuleFilter) Type

func (*PasswordRuleFilter) VirtualServerId

func (f *PasswordRuleFilter) VirtualServerId(virtualServerId uuid.UUID) *PasswordRuleFilter

type PasswordRuleRepository

type PasswordRuleRepository interface {
	FirstOrErr(ctx context.Context, filter *PasswordRuleFilter) (*PasswordRule, error)
	FirstOrNil(ctx context.Context, filter *PasswordRuleFilter) (*PasswordRule, error)
	List(ctx context.Context, filter *PasswordRuleFilter) ([]*PasswordRule, error)
	Insert(passwordRule *PasswordRule)
	Update(passwordRule *PasswordRule)
	Delete(id uuid.UUID)
}

type PasswordRuleType

type PasswordRuleType string
const (
	PasswordRuleTypeMinLength PasswordRuleType = "min_length"
	PasswordRuleTypeMaxLength PasswordRuleType = "max_length"
	PasswordRuleTypeLowerCase PasswordRuleType = "lower_case"
	PasswordRuleTypeUpperCase PasswordRuleType = "upper_case"
	PasswordRuleTypeDigits    PasswordRuleType = "digits"
	PasswordRuleTypeSpecial   PasswordRuleType = "special"
)

type Project

type Project struct {
	BaseModel
	change.List[ProjectChange]
	// contains filtered or unexported fields
}

func NewProject

func NewProject(virtualServerId uuid.UUID, slug string, name string, description string) *Project

func NewProjectFromDB

func NewProjectFromDB(base BaseModel, virtualServerId uuid.UUID, slug string, name string, description string, systemProject bool) *Project

func NewSystemProject

func NewSystemProject(virtualServerId uuid.UUID) *Project

func (*Project) Description

func (p *Project) Description() string

func (*Project) Name

func (p *Project) Name() string

func (*Project) SetDescription

func (p *Project) SetDescription(description string)

func (*Project) SetName

func (p *Project) SetName(name string)

func (*Project) Slug

func (p *Project) Slug() string

func (*Project) SystemProject

func (p *Project) SystemProject() bool

func (*Project) VirtualServerId

func (p *Project) VirtualServerId() uuid.UUID

type ProjectChange

type ProjectChange int
const (
	ProjectChangeName ProjectChange = iota
	ProjectChangeDescription
)

type ProjectFilter

type ProjectFilter struct {
	PagingInfo
	OrderInfo
	// contains filtered or unexported fields
}

func NewProjectFilter

func NewProjectFilter() *ProjectFilter

func (*ProjectFilter) Clone

func (f *ProjectFilter) Clone() *ProjectFilter

func (*ProjectFilter) GetId

func (f *ProjectFilter) GetId() uuid.UUID

func (*ProjectFilter) GetOrderInfo

func (f *ProjectFilter) GetOrderInfo() OrderInfo

func (*ProjectFilter) GetPagingInfo

func (f *ProjectFilter) GetPagingInfo() PagingInfo

func (*ProjectFilter) GetSearch

func (f *ProjectFilter) GetSearch() SearchFilter

func (*ProjectFilter) GetSlug

func (f *ProjectFilter) GetSlug() string

func (*ProjectFilter) GetVirtualServerId

func (f *ProjectFilter) GetVirtualServerId() uuid.UUID

func (*ProjectFilter) HasId

func (f *ProjectFilter) HasId() bool

func (*ProjectFilter) HasOrder

func (f *ProjectFilter) HasOrder() bool

func (*ProjectFilter) HasPagination

func (f *ProjectFilter) HasPagination() bool

func (*ProjectFilter) HasSearch

func (f *ProjectFilter) HasSearch() bool

func (*ProjectFilter) HasSlug

func (f *ProjectFilter) HasSlug() bool

func (*ProjectFilter) HasVirtualServerId

func (f *ProjectFilter) HasVirtualServerId() bool

func (*ProjectFilter) Id

func (f *ProjectFilter) Id(id uuid.UUID) *ProjectFilter

func (*ProjectFilter) Order

func (f *ProjectFilter) Order(by string, direction string) *ProjectFilter

func (*ProjectFilter) Pagination

func (f *ProjectFilter) Pagination(page int, size int) *ProjectFilter

func (*ProjectFilter) Search

func (f *ProjectFilter) Search(searchFilter SearchFilter) *ProjectFilter

func (*ProjectFilter) Slug

func (f *ProjectFilter) Slug(slug string) *ProjectFilter

func (*ProjectFilter) VirtualServerId

func (f *ProjectFilter) VirtualServerId(virtualServerId uuid.UUID) *ProjectFilter

type ProjectRepository

type ProjectRepository interface {
	FirstOrErr(ctx context.Context, filter *ProjectFilter) (*Project, error)
	FirstOrNil(ctx context.Context, filter *ProjectFilter) (*Project, error)
	List(ctx context.Context, filter *ProjectFilter) ([]*Project, int, error)
	Insert(project *Project)
	Update(project *Project)
	Delete(id uuid.UUID)
}

type Request

type Request interface {
	GetRequestName() string
}

type ResourceServer

type ResourceServer struct {
	BaseModel
	change.List[ResourceServerChange]
	// contains filtered or unexported fields
}

func NewResourceServer

func NewResourceServer(virtualServerId uuid.UUID, projectId uuid.UUID, slug string, name string, description string) *ResourceServer

func NewResourceServerFromDB

func NewResourceServerFromDB(base BaseModel, virtualServerId uuid.UUID, projectId uuid.UUID, slug string, name string, description string) *ResourceServer

func (*ResourceServer) Description

func (r *ResourceServer) Description() string

func (*ResourceServer) Name

func (r *ResourceServer) Name() string

func (*ResourceServer) ProjectId

func (r *ResourceServer) ProjectId() uuid.UUID

func (*ResourceServer) SetDescription

func (r *ResourceServer) SetDescription(description string)

func (*ResourceServer) SetName

func (r *ResourceServer) SetName(name string)

func (*ResourceServer) Slug

func (r *ResourceServer) Slug() string

func (*ResourceServer) VirtualServerId

func (r *ResourceServer) VirtualServerId() uuid.UUID

type ResourceServerChange

type ResourceServerChange int
const (
	ResourceServerChangeName ResourceServerChange = iota
	ResourceServerChangeDescription
)

type ResourceServerFilter

type ResourceServerFilter struct {
	PagingInfo
	OrderInfo
	// contains filtered or unexported fields
}

func NewResourceServerFilter

func NewResourceServerFilter() *ResourceServerFilter

func (*ResourceServerFilter) Clone

func (*ResourceServerFilter) GetId

func (f *ResourceServerFilter) GetId() uuid.UUID

func (*ResourceServerFilter) GetOrderInfo

func (f *ResourceServerFilter) GetOrderInfo() OrderInfo

func (*ResourceServerFilter) GetPagingInfo

func (f *ResourceServerFilter) GetPagingInfo() PagingInfo

func (*ResourceServerFilter) GetProjectId

func (f *ResourceServerFilter) GetProjectId() uuid.UUID

func (*ResourceServerFilter) GetSearch

func (f *ResourceServerFilter) GetSearch() SearchFilter

func (*ResourceServerFilter) GetSlug

func (f *ResourceServerFilter) GetSlug() string

func (*ResourceServerFilter) GetVirtualServerId

func (f *ResourceServerFilter) GetVirtualServerId() uuid.UUID

func (*ResourceServerFilter) HasId

func (f *ResourceServerFilter) HasId() bool

func (*ResourceServerFilter) HasOrder

func (f *ResourceServerFilter) HasOrder() bool

func (*ResourceServerFilter) HasPagination

func (f *ResourceServerFilter) HasPagination() bool

func (*ResourceServerFilter) HasProjectId

func (f *ResourceServerFilter) HasProjectId() bool

func (*ResourceServerFilter) HasSearch

func (f *ResourceServerFilter) HasSearch() bool

func (*ResourceServerFilter) HasSlug

func (f *ResourceServerFilter) HasSlug() bool

func (*ResourceServerFilter) HasVirtualServerId

func (f *ResourceServerFilter) HasVirtualServerId() bool

func (*ResourceServerFilter) Id

func (*ResourceServerFilter) Order

func (f *ResourceServerFilter) Order(by string, direction string) *ResourceServerFilter

func (*ResourceServerFilter) Pagination

func (f *ResourceServerFilter) Pagination(page int, size int) *ResourceServerFilter

func (*ResourceServerFilter) ProjectId

func (f *ResourceServerFilter) ProjectId(projectId uuid.UUID) *ResourceServerFilter

func (*ResourceServerFilter) Search

func (f *ResourceServerFilter) Search(searchFilter SearchFilter) *ResourceServerFilter

func (*ResourceServerFilter) Slug

func (*ResourceServerFilter) VirtualServerId

func (f *ResourceServerFilter) VirtualServerId(virtualServerId uuid.UUID) *ResourceServerFilter

type ResourceServerRepository

type ResourceServerRepository interface {
	FirstOrErr(ctx context.Context, filter *ResourceServerFilter) (*ResourceServer, error)
	FirstOrNil(ctx context.Context, filter *ResourceServerFilter) (*ResourceServer, error)
	List(ctx context.Context, filter *ResourceServerFilter) ([]*ResourceServer, int, error)
	Insert(resourceServer *ResourceServer)
	Update(resourceServer *ResourceServer)
	Delete(id uuid.UUID)
}

type ResourceServerScope

type ResourceServerScope struct {
	BaseModel
	change.List[ResourceServerScopeChange]
	// contains filtered or unexported fields
}

func NewResourceServerScope

func NewResourceServerScope(virtualServerId uuid.UUID, projectId uuid.UUID, resourceServerId uuid.UUID, scope string, name string) *ResourceServerScope

func NewResourceServerScopeFromDB

func NewResourceServerScopeFromDB(base BaseModel, virtualServerId uuid.UUID, projectId uuid.UUID, resourceServerId uuid.UUID, scope string, name string, description string) *ResourceServerScope

func (*ResourceServerScope) Description

func (r *ResourceServerScope) Description() string

func (*ResourceServerScope) Name

func (r *ResourceServerScope) Name() string

func (*ResourceServerScope) ProjectId

func (r *ResourceServerScope) ProjectId() uuid.UUID

func (*ResourceServerScope) ResourceServerId

func (r *ResourceServerScope) ResourceServerId() uuid.UUID

func (*ResourceServerScope) Scope

func (r *ResourceServerScope) Scope() string

func (*ResourceServerScope) SetDescription

func (r *ResourceServerScope) SetDescription(description string)

func (*ResourceServerScope) SetName

func (r *ResourceServerScope) SetName(name string)

func (*ResourceServerScope) VirtualServerId

func (r *ResourceServerScope) VirtualServerId() uuid.UUID

type ResourceServerScopeChange

type ResourceServerScopeChange int
const (
	ResourceServerScopeChangeName ResourceServerScopeChange = iota
	ResourceServerScopeChangeDescription
)

type ResourceServerScopeFilter

type ResourceServerScopeFilter struct {
	PagingInfo
	OrderInfo
	// contains filtered or unexported fields
}

func NewResourceServerScopeFilter

func NewResourceServerScopeFilter() *ResourceServerScopeFilter

func (*ResourceServerScopeFilter) Clone

func (*ResourceServerScopeFilter) GetId

func (f *ResourceServerScopeFilter) GetId() uuid.UUID

func (*ResourceServerScopeFilter) GetOrderInfo

func (f *ResourceServerScopeFilter) GetOrderInfo() OrderInfo

func (*ResourceServerScopeFilter) GetPagingInfo

func (f *ResourceServerScopeFilter) GetPagingInfo() PagingInfo

func (*ResourceServerScopeFilter) GetProjectId

func (f *ResourceServerScopeFilter) GetProjectId() uuid.UUID

func (*ResourceServerScopeFilter) GetResourceServerId

func (f *ResourceServerScopeFilter) GetResourceServerId() uuid.UUID

func (*ResourceServerScopeFilter) GetSearch

func (f *ResourceServerScopeFilter) GetSearch() SearchFilter

func (*ResourceServerScopeFilter) GetVirtualServerId

func (f *ResourceServerScopeFilter) GetVirtualServerId() uuid.UUID

func (*ResourceServerScopeFilter) HasId

func (f *ResourceServerScopeFilter) HasId() bool

func (*ResourceServerScopeFilter) HasOrder

func (f *ResourceServerScopeFilter) HasOrder() bool

func (*ResourceServerScopeFilter) HasPagination

func (f *ResourceServerScopeFilter) HasPagination() bool

func (*ResourceServerScopeFilter) HasProjectId

func (f *ResourceServerScopeFilter) HasProjectId() bool

func (*ResourceServerScopeFilter) HasResourceServerId

func (f *ResourceServerScopeFilter) HasResourceServerId() bool

func (*ResourceServerScopeFilter) HasSearch

func (f *ResourceServerScopeFilter) HasSearch() bool

func (*ResourceServerScopeFilter) HasVirtualServerId

func (f *ResourceServerScopeFilter) HasVirtualServerId() bool

func (*ResourceServerScopeFilter) Id

func (*ResourceServerScopeFilter) Order

func (*ResourceServerScopeFilter) Pagination

func (f *ResourceServerScopeFilter) Pagination(page int, size int) *ResourceServerScopeFilter

func (*ResourceServerScopeFilter) ProjectId

func (*ResourceServerScopeFilter) ResourceServerId

func (f *ResourceServerScopeFilter) ResourceServerId(resourceServerId uuid.UUID) *ResourceServerScopeFilter

func (*ResourceServerScopeFilter) Search

func (*ResourceServerScopeFilter) VirtualServerId

func (f *ResourceServerScopeFilter) VirtualServerId(virtualServerId uuid.UUID) *ResourceServerScopeFilter

type ResourceServerScopeRepository

type ResourceServerScopeRepository interface {
	FirstOrErr(ctx context.Context, filter *ResourceServerScopeFilter) (*ResourceServerScope, error)
	FirstOrNil(ctx context.Context, filter *ResourceServerScopeFilter) (*ResourceServerScope, error)
	List(ctx context.Context, filter *ResourceServerScopeFilter) ([]*ResourceServerScope, int, error)
	Insert(resourceServerScope *ResourceServerScope)
	Update(resourceServerScope *ResourceServerScope)
	Delete(id uuid.UUID)
}

type Role

type Role struct {
	BaseModel
	change.List[RoleChange]
	// contains filtered or unexported fields
}

func NewRole

func NewRole(virtualServerId uuid.UUID, projectId uuid.UUID, name string, description string) *Role

func NewRoleFromDB

func NewRoleFromDB(base BaseModel, virtualServerId uuid.UUID, projectId uuid.UUID, name string, description string) *Role

func (*Role) Description

func (r *Role) Description() string

func (*Role) Name

func (r *Role) Name() string

func (*Role) ProjectId

func (r *Role) ProjectId() uuid.UUID

func (*Role) SetDescription

func (r *Role) SetDescription(description string)

func (*Role) SetName

func (r *Role) SetName(name string)

func (*Role) VirtualServerId

func (r *Role) VirtualServerId() uuid.UUID

type RoleChange

type RoleChange int
const (
	RoleChangeName RoleChange = iota
	RoleChangeDescription
)

type RoleFilter

type RoleFilter struct {
	PagingInfo
	OrderInfo
	// contains filtered or unexported fields
}

func NewRoleFilter

func NewRoleFilter() *RoleFilter

func (*RoleFilter) Clone

func (f *RoleFilter) Clone() *RoleFilter

func (*RoleFilter) GetId

func (f *RoleFilter) GetId() uuid.UUID

func (*RoleFilter) GetName

func (f *RoleFilter) GetName() string

func (*RoleFilter) GetOrderInfo

func (f *RoleFilter) GetOrderInfo() OrderInfo

func (*RoleFilter) GetPagingInfo

func (f *RoleFilter) GetPagingInfo() PagingInfo

func (*RoleFilter) GetProjectId

func (f *RoleFilter) GetProjectId() uuid.UUID

func (*RoleFilter) GetSearch

func (f *RoleFilter) GetSearch() SearchFilter

func (*RoleFilter) GetVirtualServerId

func (f *RoleFilter) GetVirtualServerId() uuid.UUID

func (*RoleFilter) HasId

func (f *RoleFilter) HasId() bool

func (*RoleFilter) HasName

func (f *RoleFilter) HasName() bool

func (*RoleFilter) HasOrder

func (f *RoleFilter) HasOrder() bool

func (*RoleFilter) HasPagination

func (f *RoleFilter) HasPagination() bool

func (*RoleFilter) HasProjectId

func (f *RoleFilter) HasProjectId() bool

func (*RoleFilter) HasSearch

func (f *RoleFilter) HasSearch() bool

func (*RoleFilter) HasVirtualServerId

func (f *RoleFilter) HasVirtualServerId() bool

func (*RoleFilter) Id

func (f *RoleFilter) Id(id uuid.UUID) *RoleFilter

func (*RoleFilter) Name

func (f *RoleFilter) Name(name string) *RoleFilter

func (*RoleFilter) Order

func (f *RoleFilter) Order(by string, direction string) *RoleFilter

func (*RoleFilter) Pagination

func (f *RoleFilter) Pagination(page int, size int) *RoleFilter

func (*RoleFilter) ProjectId

func (f *RoleFilter) ProjectId(projectId uuid.UUID) *RoleFilter

func (*RoleFilter) Search

func (f *RoleFilter) Search(searchFilter SearchFilter) *RoleFilter

func (*RoleFilter) VirtualServerId

func (f *RoleFilter) VirtualServerId(virtualServerId uuid.UUID) *RoleFilter

type RoleRepository

type RoleRepository interface {
	FirstOrErr(ctx context.Context, filter *RoleFilter) (*Role, error)
	FirstOrNil(ctx context.Context, filter *RoleFilter) (*Role, error)
	List(ctx context.Context, filter *RoleFilter) ([]*Role, int, error)
	Insert(role *Role)
	Update(role *Role)
	Delete(id uuid.UUID)
}

type SearchFilter

type SearchFilter struct {
	// contains filtered or unexported fields
}

func NewContainsSearchFilter

func NewContainsSearchFilter(q string) SearchFilter

func NewEndSearchFilter

func NewEndSearchFilter(q string) SearchFilter

func NewExactSearchFilter

func NewExactSearchFilter(q string) SearchFilter

func NewSearchFilter

func NewSearchFilter(q string, searchType SearchType) SearchFilter

func NewStartSearchFilter

func NewStartSearchFilter(q string) SearchFilter

func (SearchFilter) Term

func (f SearchFilter) Term() string

type SearchType

type SearchType string
const (
	SearchTypeContains SearchType = "contains"
	SearchTypeExact    SearchType = "exact"
	SearchTypeStart    SearchType = "start"
	SearchTypeEnd      SearchType = "end"
)

type Session

type Session struct {
	BaseModel
	change.List[SessionChange]
	// contains filtered or unexported fields
}

func NewSession

func NewSession(virtualServerId uuid.UUID, userId uuid.UUID, expiresAt time.Time) *Session

func NewSessionFromDB

func NewSessionFromDB(base BaseModel, virtualServerId uuid.UUID, userId uuid.UUID, hashedToken string, expiresAt time.Time, lastUsedAt *time.Time) *Session

func (*Session) ExpiresAt

func (s *Session) ExpiresAt() time.Time

func (*Session) GenerateToken

func (s *Session) GenerateToken() string

func (*Session) HashedToken

func (s *Session) HashedToken() string

func (*Session) LastUsedAt

func (s *Session) LastUsedAt() *time.Time

func (*Session) SetLastUsedAt

func (s *Session) SetLastUsedAt(lastUsedAt time.Time)

func (*Session) UserId

func (s *Session) UserId() uuid.UUID

func (*Session) VirtualServerId

func (s *Session) VirtualServerId() uuid.UUID

type SessionChange

type SessionChange int
const (
	SessionChangeLastUsedAt SessionChange = iota
)

type SessionFilter

type SessionFilter struct {
	// contains filtered or unexported fields
}

func NewSessionFilter

func NewSessionFilter() *SessionFilter

func (*SessionFilter) Clone

func (f *SessionFilter) Clone() *SessionFilter

func (*SessionFilter) GetId

func (f *SessionFilter) GetId() uuid.UUID

func (*SessionFilter) GetUserId

func (f *SessionFilter) GetUserId() uuid.UUID

func (*SessionFilter) GetVirtualServerId

func (f *SessionFilter) GetVirtualServerId() uuid.UUID

func (*SessionFilter) HasId

func (f *SessionFilter) HasId() bool

func (*SessionFilter) HasUserId

func (f *SessionFilter) HasUserId() bool

func (*SessionFilter) HasVirtualServerId

func (f *SessionFilter) HasVirtualServerId() bool

func (*SessionFilter) Id

func (f *SessionFilter) Id(id uuid.UUID) *SessionFilter

func (*SessionFilter) UserId

func (f *SessionFilter) UserId(userId uuid.UUID) *SessionFilter

func (*SessionFilter) VirtualServerId

func (f *SessionFilter) VirtualServerId(virtualServerId uuid.UUID) *SessionFilter

type SessionRepository

type SessionRepository interface {
	FirstOrErr(ctx context.Context, filter *SessionFilter) (*Session, error)
	FirstOrNil(ctx context.Context, filter *SessionFilter) (*Session, error)
	Insert(session *Session)
	Delete(id uuid.UUID)
}

type Template

type Template struct {
	BaseModel
	// contains filtered or unexported fields
}

func NewTemplate

func NewTemplate(virtualServerId uuid.UUID, fileId uuid.UUID, templateType TemplateType) *Template

func NewTemplateFromDB

func NewTemplateFromDB(base BaseModel, virtualServerId uuid.UUID, fileId uuid.UUID, templateType TemplateType) *Template

func (*Template) FileId

func (t *Template) FileId() uuid.UUID

func (*Template) TemplateType

func (t *Template) TemplateType() TemplateType

func (*Template) VirtualServerId

func (t *Template) VirtualServerId() uuid.UUID

type TemplateFilter

type TemplateFilter struct {
	PagingInfo
	OrderInfo
	// contains filtered or unexported fields
}

func NewTemplateFilter

func NewTemplateFilter() *TemplateFilter

func (*TemplateFilter) Clone

func (f *TemplateFilter) Clone() *TemplateFilter

func (*TemplateFilter) GetOrderInfo

func (f *TemplateFilter) GetOrderInfo() OrderInfo

func (*TemplateFilter) GetPagingInfo

func (f *TemplateFilter) GetPagingInfo() PagingInfo

func (*TemplateFilter) GetSearch

func (f *TemplateFilter) GetSearch() SearchFilter

func (*TemplateFilter) GetTemplateType

func (f *TemplateFilter) GetTemplateType() TemplateType

func (*TemplateFilter) GetVirtualServerId

func (f *TemplateFilter) GetVirtualServerId() uuid.UUID

func (*TemplateFilter) HasOrder

func (f *TemplateFilter) HasOrder() bool

func (*TemplateFilter) HasPagination

func (f *TemplateFilter) HasPagination() bool

func (*TemplateFilter) HasSearch

func (f *TemplateFilter) HasSearch() bool

func (*TemplateFilter) HasTemplateType

func (f *TemplateFilter) HasTemplateType() bool

func (*TemplateFilter) HasVirtualServerId

func (f *TemplateFilter) HasVirtualServerId() bool

func (*TemplateFilter) Order

func (f *TemplateFilter) Order(by string, direction string) *TemplateFilter

func (*TemplateFilter) Pagination

func (f *TemplateFilter) Pagination(page int, size int) *TemplateFilter

func (*TemplateFilter) Search

func (f *TemplateFilter) Search(searchFilter SearchFilter) *TemplateFilter

func (*TemplateFilter) TemplateType

func (f *TemplateFilter) TemplateType(templateType TemplateType) *TemplateFilter

func (*TemplateFilter) VirtualServerId

func (f *TemplateFilter) VirtualServerId(virtualServerId uuid.UUID) *TemplateFilter

type TemplateRepository

type TemplateRepository interface {
	FirstOrErr(ctx context.Context, filter *TemplateFilter) (*Template, error)
	FirstOrNil(ctx context.Context, filter *TemplateFilter) (*Template, error)
	List(ctx context.Context, filter *TemplateFilter) ([]*Template, int, error)
	Insert(template *Template)
}

type TemplateType

type TemplateType string
const (
	EmailVerificationMailTemplate TemplateType = "email_verification"
)

type User

type User struct {
	BaseModel
	change.List[UserChange]
	// contains filtered or unexported fields
}

func NewServiceUser

func NewServiceUser(username string, virtualServerId uuid.UUID) *User

func NewSystemUser

func NewSystemUser(username string) *User

func NewUser

func NewUser(username string, displayName string, primaryEmail string, virtualServerId uuid.UUID) *User

func NewUserFromDB

func NewUserFromDB(base BaseModel, virtualServerId uuid.UUID, username string, displayName string, primaryEmail string, emailVerified bool, serviceUser bool, metadata string) *User

func (*User) DisplayName

func (m *User) DisplayName() string

func (*User) EmailVerified

func (m *User) EmailVerified() bool

func (*User) IsServiceUser

func (m *User) IsServiceUser() bool

func (*User) Metadata

func (m *User) Metadata() string

func (*User) PrimaryEmail

func (m *User) PrimaryEmail() string

func (*User) SetDisplayName

func (m *User) SetDisplayName(displayName string)

func (*User) SetEmailVerified

func (m *User) SetEmailVerified(emailVerified bool)

func (*User) SetMetadata

func (m *User) SetMetadata(metadata string)

func (*User) Username

func (m *User) Username() string

func (*User) VirtualServerId

func (m *User) VirtualServerId() uuid.UUID

type UserChange

type UserChange int
const (
	UserChangeDisplayName UserChange = iota
	UserChangeEmailVerified
	UserChangeMetadata
)

type UserFilter

type UserFilter struct {
	PagingInfo
	OrderInfo
	// contains filtered or unexported fields
}

func NewUserFilter

func NewUserFilter() *UserFilter

func (*UserFilter) Clone

func (f *UserFilter) Clone() *UserFilter

func (*UserFilter) GetId

func (f *UserFilter) GetId() uuid.UUID

func (*UserFilter) GetIncludeMetadata

func (f *UserFilter) GetIncludeMetadata() bool

func (*UserFilter) GetOrderInfo

func (f *UserFilter) GetOrderInfo() OrderInfo

func (*UserFilter) GetPagingInfo

func (f *UserFilter) GetPagingInfo() PagingInfo

func (*UserFilter) GetSearch

func (f *UserFilter) GetSearch() SearchFilter

func (*UserFilter) GetServiceUser

func (f *UserFilter) GetServiceUser() bool

func (*UserFilter) GetUsername

func (f *UserFilter) GetUsername() string

func (*UserFilter) GetVirtualServerId

func (f *UserFilter) GetVirtualServerId() uuid.UUID

func (*UserFilter) HasId

func (f *UserFilter) HasId() bool

func (*UserFilter) HasOrder

func (f *UserFilter) HasOrder() bool

func (*UserFilter) HasPagination

func (f *UserFilter) HasPagination() bool

func (*UserFilter) HasSearch

func (f *UserFilter) HasSearch() bool

func (*UserFilter) HasServiceUser

func (f *UserFilter) HasServiceUser() bool

func (*UserFilter) HasUsername

func (f *UserFilter) HasUsername() bool

func (*UserFilter) HasVirtualServerId

func (f *UserFilter) HasVirtualServerId() bool

func (*UserFilter) Id

func (f *UserFilter) Id(id uuid.UUID) *UserFilter

func (*UserFilter) IncludeMetadata

func (f *UserFilter) IncludeMetadata() *UserFilter

func (*UserFilter) Order

func (f *UserFilter) Order(by string, direction string) *UserFilter

func (*UserFilter) Pagination

func (f *UserFilter) Pagination(page int, size int) *UserFilter

func (*UserFilter) Search

func (f *UserFilter) Search(searchFilter SearchFilter) *UserFilter

func (*UserFilter) ServiceUser

func (f *UserFilter) ServiceUser(serviceUser bool) *UserFilter

func (*UserFilter) Username

func (f *UserFilter) Username(username string) *UserFilter

func (*UserFilter) VirtualServerId

func (f *UserFilter) VirtualServerId(virtualServerId uuid.UUID) *UserFilter

type UserRepository

type UserRepository interface {
	FirstOrErr(ctx context.Context, filter *UserFilter) (*User, error)
	FirstOrNil(ctx context.Context, filter *UserFilter) (*User, error)
	List(ctx context.Context, filter *UserFilter) ([]*User, int, error)
	Insert(user *User)
	Update(user *User)
}

type UserRoleAssignment

type UserRoleAssignment struct {
	BaseModel
	// contains filtered or unexported fields
}

func NewUserRoleAssignment

func NewUserRoleAssignment(userId uuid.UUID, roleId uuid.UUID, groupId *uuid.UUID) *UserRoleAssignment

func NewUserRoleAssignmentFromDB

func NewUserRoleAssignmentFromDB(base BaseModel, userId uuid.UUID, roleId uuid.UUID, groupId *uuid.UUID, userInfo *UserRoleAssignmentUserInfo, roleInfo *UserRoleAssignmentRoleInfo) *UserRoleAssignment

func (*UserRoleAssignment) GroupId

func (u *UserRoleAssignment) GroupId() *uuid.UUID

func (*UserRoleAssignment) RoleId

func (u *UserRoleAssignment) RoleId() uuid.UUID

func (*UserRoleAssignment) RoleInfo

func (*UserRoleAssignment) UserId

func (u *UserRoleAssignment) UserId() uuid.UUID

func (*UserRoleAssignment) UserInfo

type UserRoleAssignmentFilter

type UserRoleAssignmentFilter struct {
	// contains filtered or unexported fields
}

func NewUserRoleAssignmentFilter

func NewUserRoleAssignmentFilter() *UserRoleAssignmentFilter

func (*UserRoleAssignmentFilter) Clone

func (*UserRoleAssignmentFilter) GetGroupId

func (f *UserRoleAssignmentFilter) GetGroupId() uuid.UUID

func (*UserRoleAssignmentFilter) GetIncludeRole

func (f *UserRoleAssignmentFilter) GetIncludeRole() bool

func (*UserRoleAssignmentFilter) GetIncludeUser

func (f *UserRoleAssignmentFilter) GetIncludeUser() bool

func (*UserRoleAssignmentFilter) GetRoleId

func (f *UserRoleAssignmentFilter) GetRoleId() uuid.UUID

func (*UserRoleAssignmentFilter) GetUserId

func (f *UserRoleAssignmentFilter) GetUserId() uuid.UUID

func (*UserRoleAssignmentFilter) GroupId

func (*UserRoleAssignmentFilter) HasGroupId

func (f *UserRoleAssignmentFilter) HasGroupId() bool

func (*UserRoleAssignmentFilter) HasRoleId

func (f *UserRoleAssignmentFilter) HasRoleId() bool

func (*UserRoleAssignmentFilter) HasUserId

func (f *UserRoleAssignmentFilter) HasUserId() bool

func (*UserRoleAssignmentFilter) IncludeRole

func (*UserRoleAssignmentFilter) IncludeUser

func (*UserRoleAssignmentFilter) RoleId

func (*UserRoleAssignmentFilter) UserId

type UserRoleAssignmentRepository

type UserRoleAssignmentRepository interface {
	List(ctx context.Context, filter *UserRoleAssignmentFilter) ([]*UserRoleAssignment, int, error)
	Insert(userRoleAssignment *UserRoleAssignment)
}

type UserRoleAssignmentRoleInfo

type UserRoleAssignmentRoleInfo struct {
	ProjectSlug string
	Name        string
}

type UserRoleAssignmentUserInfo

type UserRoleAssignmentUserInfo struct {
	Username    string
	DisplayName string
}

type VirtualServer

type VirtualServer struct {
	BaseModel
	change.List[VirtualServerChange]
	// contains filtered or unexported fields
}

func NewVirtualServer

func NewVirtualServer(name string, displayName string) *VirtualServer

func NewVirtualServerFromDB

func NewVirtualServerFromDB(base BaseModel, name string, displayName string, enableRegistration bool, require2fa bool, requireEmailVerification bool, signingAlgorithm string) *VirtualServer

func (*VirtualServer) DisplayName

func (m *VirtualServer) DisplayName() string

func (*VirtualServer) EnableRegistration

func (m *VirtualServer) EnableRegistration() bool

func (*VirtualServer) Name

func (m *VirtualServer) Name() string

func (*VirtualServer) Require2fa

func (m *VirtualServer) Require2fa() bool

func (*VirtualServer) RequireEmailVerification

func (m *VirtualServer) RequireEmailVerification() bool

func (*VirtualServer) SetDisplayName

func (m *VirtualServer) SetDisplayName(displayName string)

func (*VirtualServer) SetEnableRegistration

func (m *VirtualServer) SetEnableRegistration(enableRegistration bool)

func (*VirtualServer) SetRequire2fa

func (m *VirtualServer) SetRequire2fa(require2fa bool)

func (*VirtualServer) SetRequireEmailVerification

func (m *VirtualServer) SetRequireEmailVerification(requireEmailVerification bool)

func (*VirtualServer) SetSigningAlgorithm

func (m *VirtualServer) SetSigningAlgorithm(signingAlgorithm config.SigningAlgorithm)

func (*VirtualServer) SigningAlgorithm

func (m *VirtualServer) SigningAlgorithm() config.SigningAlgorithm

type VirtualServerChange

type VirtualServerChange int
const (
	VirtualServerChangeDisplayName VirtualServerChange = iota
	VirtualServerChangeEnableRegistration
	VirtualServerChangeRequire2fa
	VirtualServerChangeRequireEmailVerification
	VirtualServerChangeSigningAlgorithm
)

type VirtualServerFilter

type VirtualServerFilter struct {
	// contains filtered or unexported fields
}

func NewVirtualServerFilter

func NewVirtualServerFilter() *VirtualServerFilter

func (*VirtualServerFilter) Clone

func (*VirtualServerFilter) GetCacheKey

func (*VirtualServerFilter) GetId

func (f *VirtualServerFilter) GetId() uuid.UUID

func (*VirtualServerFilter) GetName

func (f *VirtualServerFilter) GetName() string

func (*VirtualServerFilter) HasId

func (f *VirtualServerFilter) HasId() bool

func (*VirtualServerFilter) HasName

func (f *VirtualServerFilter) HasName() bool

func (*VirtualServerFilter) Id

func (*VirtualServerFilter) Name

type VirtualServerFilterCacheKey

type VirtualServerFilterCacheKey struct {
	// contains filtered or unexported fields
}

type VirtualServerRepository

type VirtualServerRepository interface {
	FirstOrErr(ctx context.Context, filter *VirtualServerFilter) (*VirtualServer, error)
	FirstOrNil(ctx context.Context, filter *VirtualServerFilter) (*VirtualServer, error)
	List(ctx context.Context, filter *VirtualServerFilter) ([]*VirtualServer, int, error)
	Insert(virtualServer *VirtualServer)
	Update(virtualServer *VirtualServer)
}

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL