Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrNotFound is returned when a requested record is not found ErrNotFound = errors.New("record not found") // ErrDuplicateKey is returned when trying to insert a record with a duplicate unique key ErrDuplicateKey = errors.New("duplicate key value") // ErrInvalidInput is returned when the input data is invalid ErrInvalidInput = errors.New("invalid input") // ErrForeignKeyViolation is returned when a foreign key constraint is violated ErrForeignKeyViolation = errors.New("foreign key violation") )
Functions ¶
This section is empty.
Types ¶
type ApplicationRepository ¶
type ApplicationRepository interface { Create(ctx context.Context, app *models.Application) (*models.Application, error) GetByID(ctx context.Context, id uuid.UUID) (*models.Application, error) GetByAPIKey(ctx context.Context, apiKey string) (*models.Application, error) List(ctx context.Context) ([]models.Application, error) Update(ctx context.Context, app *models.Application) (*models.Application, error) Delete(ctx context.Context, id uuid.UUID) error }
ApplicationRepository handles database operations for applications
type ClientFilters ¶
ClientFilters defines the available filters for listing clients
type ClientRepository ¶
type ClientRepository interface { Create(ctx context.Context, client *models.Client) (*models.Client, error) GetByID(ctx context.Context, applicationID, id uuid.UUID) (*models.Client, error) List(ctx context.Context, filters ClientFilters) ([]models.Client, error) Update(ctx context.Context, client *models.Client) (*models.Client, error) Delete(ctx context.Context, applicationID, id uuid.UUID) error ExistsByEmail(ctx context.Context, applicationID uuid.UUID, email string) (bool, error) }
ClientRepository handles database operations for clients
type LicenseFilters ¶
type LicenseFilters struct { ApplicationID uuid.UUID ClientID *uuid.UUID IsActive *bool IsRevoked *bool }
LicenseFilters defines the available filters for listing licenses
type LicenseRepository ¶
type LicenseRepository interface { Create(ctx context.Context, license *models.License) (*models.License, error) GetByID(ctx context.Context, id uuid.UUID) (*models.License, error) GetByKey(ctx context.Context, licenseKey string) (*models.License, error) List(ctx context.Context, filters LicenseFilters) ([]models.License, error) Update(ctx context.Context, license *models.License) (*models.License, error) Delete(ctx context.Context, id uuid.UUID) error CreateActivity(ctx context.Context, activity *models.LicenseActivity) error GetActivities(ctx context.Context, licenseID uuid.UUID) ([]models.LicenseActivity, error) HasActiveClientLicenses(ctx context.Context, applicationID, clientID uuid.UUID) (bool, error) }
LicenseRepository handles database operations for licenses
type LicenseTypeRepository ¶
type LicenseTypeRepository interface { Create(ctx context.Context, licenseType *models.LicenseType) (*models.LicenseType, error) GetByID(ctx context.Context, id uuid.UUID) (*models.LicenseType, error) List(ctx context.Context, applicationID uuid.UUID) ([]models.LicenseType, error) Update(ctx context.Context, licenseType *models.LicenseType) (*models.LicenseType, error) Delete(ctx context.Context, id uuid.UUID) error }
LicenseTypeRepository handles database operations for license types
Click to show internal directories.
Click to hide internal directories.