store

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: May 14, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIKey

type APIKey struct {
	gorm.Model

	APIKeyID string `gorm:"uniqueIndex:idx_api_key_api_key_id_tenant_id"`

	Name string `gorm:"uniqueIndex:idx_api_key_name_tenant_id"`

	TenantID string `gorm:"uniqueIndex:idx_api_key_api_key_id_tenant_id;uniqueIndex:idx_api_key_name_tenant_id"`

	OrganizationID string
	UserID         string

	Secret string
}

APIKey represents an API key.

type APIKeyKey

type APIKeyKey struct {
	APIKeyID       string
	TenantID       string
	OrganizationID string
	UserID         string
}

APIKeyKey represents a key of an API key.

type APIKeySpec

type APIKeySpec struct {
	Key APIKeyKey

	Name   string
	Secret string
}

APIKeySpec is a spec of the API key.

type Organization added in v0.8.0

type Organization struct {
	gorm.Model

	TenantID       string `gorm:"index"`
	OrganizationID string `gorm:"uniqueIndex"`

	Title string
}

Organization is a model for organization

type RoleBinding added in v0.8.0

type RoleBinding struct {
	gorm.Model

	SubjectID   uint        `gorm:"uniqueIndex:subject_id_type"`
	SubjectType SubjectType `gorm:"uniqueIndex:subject_id_type"`

	Role string
}

RoleBinding is a model for role_binding

type S

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

S represents the data store.

func New

func New(db *gorm.DB) *S

New creates a new store instance.

func NewTest

func NewTest(t *testing.T) (*S, func())

NewTest returns a new test store.

func (*S) AutoMigrate

func (s *S) AutoMigrate() error

AutoMigrate sets up the auto-migration task of the database.

func (*S) CreateAPIKey

func (s *S) CreateAPIKey(spec APIKeySpec) (*APIKey, error)

CreateAPIKey creates a new API key.

func (*S) DeleteAPIKey

func (s *S) DeleteAPIKey(k APIKeyKey) error

DeleteAPIKey deletes an APIKey by APIKey ID and tenant ID.

func (*S) GetAPIKeyByNameAndTenantID added in v0.7.0

func (s *S) GetAPIKeyByNameAndTenantID(name, tenantID string) (*APIKey, error)

GetAPIKeyByNameAndTenantID gets an API key by its name and tenant ID.

func (*S) ListAPIKeysByTenantID

func (s *S) ListAPIKeysByTenantID(tenantID string) ([]*APIKey, error)

ListAPIKeysByTenantID lists API keys by a tenant ID.

func (*S) ListAllAPIKeys

func (s *S) ListAllAPIKeys() ([]*APIKey, error)

ListAllAPIKeys lists all API keys.

type SubjectType added in v0.8.0

type SubjectType int32

SubjectType is a type for subject.

const (
	// SubjectTypeUser is subject type of user.
	SubjectTypeUser SubjectType = iota
	// SubjectTypeOrganization is subject type of organization.
	SubjectTypeOrganization
	// SubjectTypeAPIKey is subject type of API key.
	SubjectTypeAPIKey
)

type User added in v0.8.0

type User struct {
	gorm.Model

	TenantID string `gorm:"uniqueIndex:tenant_id_user_id"`
	UserID   string `gorm:"uniqueIndex:tenant_id_user_id"`

	Name string
}

User is a model for user

type UserOrganization added in v0.8.0

type UserOrganization struct {
	gorm.Model

	User         uint `gorm:"uniqueIndex:user_org"`
	Organization uint `gorm:"uniqueIndex:user_org"`
}

UserOrganization is a model for user_organization.

Jump to

Keyboard shortcuts

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