Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Module = fx.Module( "repository", fx.Provide( NewGroup, NewProjects, NewSession, NewUser, NewVerificationCode, NewServiceAccount, NewDatabase, NewCapsule, NewStorage, NewSecret, ), )
Functions ¶
This section is empty.
Types ¶
type Capsule ¶
type Capsule interface {
Create(ctx context.Context, c *capsule.Capsule) error
Get(ctx context.Context, capsuleID uuid.UUID) (*capsule.Capsule, error)
GetByName(ctx context.Context, name string) (*capsule.Capsule, error)
List(ctx context.Context, pagination *model.Pagination) (iterator.Iterator[*capsule.Capsule], int64, error)
Update(ctx context.Context, p *capsule.Capsule) error
Delete(ctx context.Context, capsuleID uuid.UUID) error
CreateBuild(ctx context.Context, capsuleID uuid.UUID, b *capsule.Build) error
DeleteBuild(ctx context.Context, capsuleID uuid.UUID, buildID string) error
ListBuilds(ctx context.Context, pagination *model.Pagination, capsuleID uuid.UUID) (iterator.Iterator[*capsule.Build], uint64, error)
GetBuild(ctx context.Context, capsuleID uuid.UUID, buildID string) (*capsule.Build, error)
CreateRollout(ctx context.Context, capsuleID uuid.UUID, rc *capsule.RolloutConfig, rs *rollout.Status) (uint64, error)
ListRollouts(ctx context.Context, pagination *model.Pagination, capsuleID uuid.UUID) (iterator.Iterator[*capsule.Rollout], uint64, error)
UpdateRolloutStatus(ctx context.Context, capsuleID uuid.UUID, rolloutID uint64, version uint64, rs *rollout.Status) error
GetRollout(ctx context.Context, capsuleID uuid.UUID, rolloutID uint64) (*capsule.RolloutConfig, *rollout.Status, uint64, error)
ActiveRollouts(ctx context.Context, pagination *model.Pagination) (iterator.Iterator[repo_capsule.ActiveRollout], error)
CreateEvent(ctx context.Context, capsuleID uuid.UUID, e *capsule.Event) error
ListEvents(ctx context.Context, pagination *model.Pagination, capsuleID uuid.UUID, rolloutID uint64) (iterator.Iterator[*capsule.Event], uint64, error)
CreateMetrics(ctx context.Context, metrics *capsule.InstanceMetrics) error
ListMetrics(ctx context.Context, pagination *model.Pagination) (iterator.Iterator[*capsule.InstanceMetrics], error)
GetMetrics(ctx context.Context, pagination *model.Pagination, capsuleID uuid.UUID) (iterator.Iterator[*capsule.InstanceMetrics], error)
GetInstanceMetrics(ctx context.Context, pagination *model.Pagination, capsuleID uuid.UUID, instanceID string) (iterator.Iterator[*capsule.InstanceMetrics], error)
BuildIndexes(ctx context.Context) error
}
func NewCapsule ¶
type Database ¶
type Database interface {
Create(ctx context.Context, database *database.Database) (*database.Database, error)
Delete(ctx context.Context, databaseID uuid.UUID) error
GetByName(ctx context.Context, name string) (*database.Database, error)
Get(ctx context.Context, databaseID uuid.UUID) (*database.Database, error)
List(ctx context.Context, pagination *model.Pagination) (iterator.Iterator[*database.Database], uint64, error)
Update(ctx context.Context, database *database.Database) (*database.Database, error)
BuildIndexes(ctx context.Context) error
}
func NewDatabase ¶
type Group ¶
type Group interface {
Create(ctx context.Context, group *group.Group) (*group.Group, error)
Delete(ctx context.Context, groupID uuid.UUID) error
DeleteAll(ctx context.Context) error
Get(ctx context.Context, groupID uuid.UUID) (*group.Group, error)
GetByName(ctx context.Context, groupName string) (*group.Group, error)
List(ctx context.Context, pagination *model.Pagination, search string) (iterator.Iterator[*group.Group], uint64, error)
Count(ctx context.Context) (int64, error)
Update(ctx context.Context, group *group.Group) (*group.Group, error)
RemoveMember(ctx context.Context, userID, groupID uuid.UUID) error
RemoveMemberFromAll(ctx context.Context, userID uuid.UUID) error
AddMembers(ctx context.Context, userIDs []uuid.UUID, groupID uuid.UUID) error
ListGroupsForUser(ctx context.Context, userID uuid.UUID, pagination *model.Pagination) (iterator.Iterator[uuid.UUID], uint64, error)
ListMembers(ctx context.Context, groupID uuid.UUID, pagination *model.Pagination) (iterator.Iterator[uuid.UUID], uint64, error)
CountMembers(ctx context.Context, groupID uuid.UUID) (uint64, error)
BuildIndexes(ctx context.Context) error
}
type Project ¶
type Project interface {
Create(ctx context.Context, p *project.Project) (*project.Project, error)
Get(ctx context.Context, projectID uuid.UUID) (*project.Project, error)
List(ctx context.Context, pagination *model.Pagination, exclude []uuid.UUID) (iterator.Iterator[*project.Project], int64, error)
Update(ctx context.Context, p *project.Project) (*project.Project, error)
Delete(ctx context.Context, projectID uuid.UUID) error
SetSettings(ctx context.Context, projectID uuid.UUID, settingsName string, data []byte) error
GetSettings(ctx context.Context, projectID uuid.UUID, settingsName string) ([]byte, error)
BuildIndexes(ctx context.Context) error
}
func NewProjects ¶
type Secret ¶
type ServiceAccount ¶
type ServiceAccount interface {
Create(ctx context.Context, serviceAccountID uuid.UUID, c *service_account.ServiceAccount) error
List(ctx context.Context) (iterator.Iterator[*service_account.Entry], error)
Get(ctx context.Context, serviceAccountID uuid.UUID) (uuid.UUID, *service_account.ServiceAccount, error)
GetClientSecret(ctx context.Context, serviceAccountID uuid.UUID) (*model.HashingInstance, error)
UpdateClientSecret(ctx context.Context, serviceAccountID uuid.UUID, pw *model.HashingInstance) error
Delete(ctx context.Context, serviceAccountID uuid.UUID) error
BuildIndexes(ctx context.Context) error
}
func NewServiceAccount ¶
func NewServiceAccount(p params) (ServiceAccount, error)
type Session ¶
type Session interface {
Create(ctx context.Context, userID, sessionID uuid.UUID, s *user.Session) error
Update(ctx context.Context, userID, sessionID uuid.UUID, s *user.Session) error
List(ctx context.Context, userID uuid.UUID) (iterator.Iterator[*user.SessionEntry], error)
Get(ctx context.Context, userID, sessionID uuid.UUID) (*user.Session, error)
Delete(ctx context.Context, userID, sessionID uuid.UUID) error
BuildIndexes(ctx context.Context) error
}
func NewSession ¶
type Storage ¶
type Storage interface {
Create(ctx context.Context, providerID, secretID uuid.UUID, provider *storage.Provider) (*storage.Provider, error)
Delete(ctx context.Context, providerID uuid.UUID) error
Get(ctx context.Context, providerID uuid.UUID) (*storage.Provider, uuid.UUID, error)
List(ctx context.Context, pagination *model.Pagination) (iterator.Iterator[*storage.ProviderEntry], uint64, error)
Update(ctx context.Context, providerID uuid.UUID, provider *storage.Provider) (*storage.Provider, error)
LookupByBucket(ctx context.Context, bucket string) (uuid.UUID, *storage.Provider, uuid.UUID, error)
Lookup(ctx context.Context, name string) (uuid.UUID, *storage.Provider, uuid.UUID, error)
BuildIndexes(ctx context.Context) error
}
func NewStorage ¶
type User ¶
type User interface {
Create(ctx context.Context, user *user.User) (*user.User, error)
Update(ctx context.Context, update *user.User) (*user.User, error)
GetPassword(ctx context.Context, userID uuid.UUID) (*model.HashingInstance, error)
UpdatePassword(ctx context.Context, userID uuid.UUID, password *model.HashingInstance) error
Get(ctx context.Context, userID uuid.UUID) (*user.User, error)
GetByIdentifier(ctx context.Context, id *model.UserIdentifier) (*user.User, error)
List(ctx context.Context, set *settings.Settings, pagination *model.Pagination, search string) (iterator.Iterator[*model.UserEntry], uint64, error)
Delete(ctx context.Context, userID uuid.UUID) (*user.User, error)
DeleteMany(ctx context.Context, userBatch []*model.UserIdentifier) (uint64, error)
DeleteAll(ctx context.Context) error
GetOauth2Link(ctx context.Context, issuer string, subject string) (uuid.UUID, *oauth2.ProviderLink, error)
CreateOauth2Link(ctx context.Context, userID uuid.UUID, p *oauth2.ProviderLink) error
DeleteOauth2Links(ctx context.Context, userId uuid.UUID) error
BuildIndexes(ctx context.Context) error
}
type VerificationCode ¶
type VerificationCode interface {
Create(ctx context.Context, verificationCode *user.VerificationCode) (*user.VerificationCode, error)
Get(ctx context.Context, userID uuid.UUID, verificationType user.VerificationType) (*user.VerificationCode, error)
IncreaseAttempts(ctx context.Context, userID uuid.UUID, verificationType user.VerificationType) error
Delete(ctx context.Context, userID uuid.UUID, verificationType user.VerificationType) error
BuildIndexes(ctx context.Context) error
}
func NewVerificationCode ¶
func NewVerificationCode(p params) (VerificationCode, error)
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
mongo
Mongo implements the repository.Group interface.
|
Mongo implements the repository.Group interface. |
|
database
|
|
|
group
|
|
|
mongo
Mongo implements the repository.Group interface.
|
Mongo implements the repository.Group interface. |
|
project
|
|
|
mongo
Mongo implements the repository.Group interface.
|
Mongo implements the repository.Group interface. |
|
secret
|
|
|
service_account
|
|
|
session
|
|
|
storage
|
|
|
user
|
|
|
verification_code
|
|
Click to show internal directories.
Click to hide internal directories.