mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 11:07:32 +00:00
59 lines
2.4 KiB
Go
59 lines
2.4 KiB
Go
![]() |
package domain
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
|
||
|
"github.com/zitadel/zitadel/backend/v3/storage/database"
|
||
|
)
|
||
|
|
||
|
type OrganizationDomainRepository interface {
|
||
|
organizationDomainColumns
|
||
|
organizationDomainConditions
|
||
|
organizationDomainChanges
|
||
|
|
||
|
// Get returns a single domain based on the criteria.
|
||
|
// If no domain is found, it returns an error of type [database.ErrNotFound].
|
||
|
// If multiple domains are found, it returns an error of type [database.ErrMultipleRows].
|
||
|
Get(ctx context.Context, opts ...database.QueryOption) (*OrganizationDomain, error)
|
||
|
// List returns a list of domains based on the criteria.
|
||
|
// If no domains are found, it returns an empty slice.
|
||
|
List(ctx context.Context, opts ...database.QueryOption) ([]*OrganizationDomain, error)
|
||
|
|
||
|
// Add adds a new domain to the organization.
|
||
|
Add(ctx context.Context, domain *AddOrganizationDomain) error
|
||
|
// Update updates an existing domain in the organization.
|
||
|
Update(ctx context.Context, condition database.Condition, changes ...database.Change) (int64, error)
|
||
|
// Remove removes a domain from the organization.
|
||
|
Remove(ctx context.Context, condition database.Condition) (int64, error)
|
||
|
}
|
||
|
|
||
|
type organizationDomainColumns interface {
|
||
|
domainColumns
|
||
|
// OrgIDColumn returns the column for the org id field.
|
||
|
// `qualified` indicates if the column should be qualified with the table name.
|
||
|
OrgIDColumn(qualified bool) database.Column
|
||
|
// IsVerifiedColumn returns the column for the is verified field.
|
||
|
// `qualified` indicates if the column should be qualified with the table name.
|
||
|
IsVerifiedColumn(qualified bool) database.Column
|
||
|
// ValidationTypeColumn returns the column for the verification type field.
|
||
|
// `qualified` indicates if the column should be qualified with the table name.
|
||
|
ValidationTypeColumn(qualified bool) database.Column
|
||
|
}
|
||
|
|
||
|
type organizationDomainConditions interface {
|
||
|
domainConditions
|
||
|
// OrgIDCondition returns a filter on the org id field.
|
||
|
OrgIDCondition(orgID string) database.Condition
|
||
|
// IsVerifiedCondition returns a filter on the is verified field.
|
||
|
IsVerifiedCondition(isVerified bool) database.Condition
|
||
|
}
|
||
|
|
||
|
type organizationDomainChanges interface {
|
||
|
domainChanges
|
||
|
// SetVerified sets the is verified column to true.
|
||
|
SetVerified() database.Change
|
||
|
// SetValidationType sets the verification type column.
|
||
|
// If the domain is already verified, this is a no-op.
|
||
|
SetValidationType(verificationType DomainValidationType) database.Change
|
||
|
}
|