models

package
v0.0.0-...-c2e6958 Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APICredentials

type APICredentials struct {
	ID         uuid.UUID `bson:"_id,omitempty" json:"-"`
	UserID     uuid.UUID `bson:"user_id" json:"user_id"`
	KeyID      uuid.UUID `bson:"key_id" json:"id"`
	TenantID   uuid.UUID `bson:"tenant_id" json:"tenant_id"`
	CustomerID uuid.UUID `bson:"customer_id" json:"customer_id"`
	ClientID   string    `bson:"client_id" json:"client_id"`
	Key        string    `bson:"key" json:"key"`
	Active     bool      `bson:"active" json:"active"`
	CreatedAt  time.Time `bson:"created_at" json:"created_at"`
	ExpiresAt  time.Time `bson:"expires_at" json:"expires_at"`
	LastUsed   time.Time `bson:"last_used" json:"last_used"`
}

type AuditLog

type AuditLog struct {
	ID          uuid.UUID `bson:"_id" json:"id"`
	TenantID    uuid.UUID `bson:"tenant_id" json:"tenant_id"`
	UserID      uuid.UUID `bson:"user_id" json:"user_id"`
	Action      string    `bson:"action" json:"action"`
	Description string    `bson:"description" json:"description"`
	Metadata    any       `bson:"metadata,omitempty" json:"metadata,omitempty"`
	CreatedAt   time.Time `bson:"created_at" json:"created_at"`
}

type Customer

type Customer struct {
	ID         uuid.UUID `bson:"_id,omitempty" json:"-"`
	CustomerID uuid.UUID `bson:"customer_id" json:"id"`
	TenantID   uuid.UUID `bson:"tenant_id" json:"tenant_id"`
	Name       string    `bson:"name" json:"name"`
	CreatedAt  time.Time `bson:"created_at" json:"created_at"`
	UpdatedAt  time.Time `bson:"updated_at" json:"updated_at"`
	Active     bool      `bson:"active" json:"active"`
}

type Tenant

type Tenant struct {
	ID        uuid.UUID   `bson:"_id,omitempty" json:"-"`
	TenantID  uuid.UUID   `bson:"tenant_id" json:"id"`
	Name      string      `bson:"name" json:"name"`
	Customers []uuid.UUID `bson:"customers" json:"customers"`
	CreatedAt time.Time   `bson:"created_at" json:"created_at"`
	UpdatedAt time.Time   `bson:"updated_at" json:"updated_at"`
	Active    bool        `bson:"active" json:"active"`
}

type User

type User struct {
	ID         primitive.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"`
	OryID      string             `bson:"ory_id" json:"ory_id"`
	UserID     uuid.UUID          `bson:"user_id" json:"user_id"`
	TenantIDs  []uuid.UUID        `bson:"tenant_ids" json:"tenant_ids"`
	CustomerID uuid.UUID          `bson:"customer_id" json:"customer_id,omitempty"`
	Username   string             `bson:"username" json:"username"`
	Email      string             `bson:"email" json:"email"`
	Roles      []string           `bson:"roles" json:"roles"`
	CreatedAt  time.Time          `bson:"created_at" json:"created_at"`
	UpdatedAt  time.Time          `bson:"updated_at" json:"updated_at"`
	LastLogin  time.Time          `bson:"last_login" json:"last_login"`
	Active     bool               `bson:"active" json:"active"`
}

Jump to

Keyboard shortcuts

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