model

package
v0.67.0 Latest Latest
Warning

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

Go to latest
Published: Jun 15, 2022 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StatementEffectAllow = "allow"
	StatementEffectDeny  = "deny"
)

Variables

View Source
var (
	ErrInvalidStatementSrcFormat = errors.New("invalid statements src format")
)
View Source
var (
	ErrValidationError = errors.New("validation error")
)
View Source
var File_model_proto protoreflect.FileDescriptor

Functions

func ConvertDBID added in v0.67.0

func ConvertDBID(id int64) string

func HashPassword added in v0.63.0

func HashPassword(password string) ([]byte, error)

HashPassword generates a hashed password from a plaintext string

func PolicyPath added in v0.67.0

func PolicyPath(DisplayName string) string

nolint

func PolicyToGroup added in v0.67.0

func PolicyToGroup(policyDisplayName string, groupDisplayName string) string

nolint

func PolicyToUser added in v0.67.0

func PolicyToUser(policyDisplayName string, userName string) string

nolint

func ValidateActionName

func ValidateActionName(name string) error

func ValidateArn

func ValidateArn(name string) error

func ValidateAuthEntityID

func ValidateAuthEntityID(name string) error

func ValidateStatementEffect

func ValidateStatementEffect(effect string) error

Types

type BaseCredential added in v0.67.0

type BaseCredential struct {
	AccessKeyID                   string    `db:"access_key_id"`
	SecretAccessKey               string    `db:"-" json:"-"`
	SecretAccessKeyEncryptedBytes []byte    `db:"secret_access_key" json:"-"`
	IssuedDate                    time.Time `db:"issued_date"`
}

type BaseGroup added in v0.67.0

type BaseGroup struct {
	CreatedAt   time.Time `db:"created_at"`
	DisplayName string    `db:"display_name" json:"display_name"`
}

type BasePolicy added in v0.67.0

type BasePolicy struct {
	CreatedAt   time.Time  `db:"created_at"`
	DisplayName string     `db:"display_name" json:"display_name"`
	Statement   Statements `db:"statement"`
}

type BaseUser added in v0.67.0

type BaseUser struct {
	CreatedAt time.Time `db:"created_at"`
	Username  string    `db:"display_name" json:"display_name"`
	// FriendlyName, if set, is a shorter name for the user than
	// Username.  Unlike Username it does not identify the user (it
	// might not be unique); use it in the user's GUI rather than in
	// backend code.
	FriendlyName      *string `db:"friendly_name" json:"friendly_name"`
	Email             *string `db:"email" json:"email"`
	EncryptedPassword []byte  `db:"encrypted_password" json:"encrypted_password"`
	Source            string  `db:"source" json:"source"`
}

func (*BaseUser) Authenticate added in v0.67.0

func (u *BaseUser) Authenticate(password string) error

Authenticate a user from a password Returns nil on success, or an error on failure.

func (*BaseUser) UpdatePassword added in v0.67.0

func (u *BaseUser) UpdatePassword(password string) error

type Credential

type Credential struct {
	UserID string
	BaseCredential
}

func ConvertCredList added in v0.67.0

func ConvertCredList(creds []*DBCredential) []*Credential

func ConvertCreds added in v0.67.0

func ConvertCreds(c *DBCredential) *Credential

type CredentialData added in v0.67.0

type CredentialData struct {
	AccessKeyId                   string                 `protobuf:"bytes,1,opt,name=access_key_id,json=accessKeyId,proto3" json:"access_key_id,omitempty"`
	SecretAccessKey               string                 `protobuf:"bytes,2,opt,name=secret_access_key,json=secretAccessKey,proto3" json:"secret_access_key,omitempty"`
	SecretAccessKeyEncryptedBytes []byte                 `` /* 154-byte string literal not displayed */
	IssuedDate                    *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=issued_date,json=issuedDate,proto3" json:"issued_date,omitempty"`
	UserId                        []byte                 `protobuf:"bytes,5,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// contains filtered or unexported fields
}

message data model for model.Credential struct

func (*CredentialData) Descriptor deprecated added in v0.67.0

func (*CredentialData) Descriptor() ([]byte, []int)

Deprecated: Use CredentialData.ProtoReflect.Descriptor instead.

func (*CredentialData) GetAccessKeyId added in v0.67.0

func (x *CredentialData) GetAccessKeyId() string

func (*CredentialData) GetIssuedDate added in v0.67.0

func (x *CredentialData) GetIssuedDate() *timestamppb.Timestamp

func (*CredentialData) GetSecretAccessKey added in v0.67.0

func (x *CredentialData) GetSecretAccessKey() string

func (*CredentialData) GetSecretAccessKeyEncryptedBytes added in v0.67.0

func (x *CredentialData) GetSecretAccessKeyEncryptedBytes() []byte

func (*CredentialData) GetUserId added in v0.67.0

func (x *CredentialData) GetUserId() []byte

func (*CredentialData) ProtoMessage added in v0.67.0

func (*CredentialData) ProtoMessage()

func (*CredentialData) ProtoReflect added in v0.67.0

func (x *CredentialData) ProtoReflect() protoreflect.Message

func (*CredentialData) Reset added in v0.67.0

func (x *CredentialData) Reset()

func (*CredentialData) String added in v0.67.0

func (x *CredentialData) String() string

type CredentialKeys

type CredentialKeys struct {
	AccessKeyID     string `json:"access_key_id"`
	SecretAccessKey string `json:"secret_access_key"`
}

CredentialKeys - For JSON serialization:

type DBCredential added in v0.67.0

type DBCredential struct {
	UserID int64 `db:"user_id"`
	BaseCredential
}

type DBGroup added in v0.67.0

type DBGroup struct {
	ID int `db:"id"`
	BaseGroup
}

type DBPolicy added in v0.67.0

type DBPolicy struct {
	ID int `db:"id"`
	BasePolicy
}

type DBUser added in v0.67.0

type DBUser struct {
	ID int64 `db:"id"`
	BaseUser
}

type Group

type Group struct {
	ID string
	BaseGroup
}

func ConvertGroup added in v0.67.0

func ConvertGroup(g *DBGroup) *Group

func ConvertGroupList added in v0.67.0

func ConvertGroupList(groups []*DBGroup) []*Group

type GroupData added in v0.67.0

type GroupData struct {
	Id          []byte                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	CreatedAt   *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	DisplayName string                 `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// contains filtered or unexported fields
}

message data model for model.Group struct

func (*GroupData) Descriptor deprecated added in v0.67.0

func (*GroupData) Descriptor() ([]byte, []int)

Deprecated: Use GroupData.ProtoReflect.Descriptor instead.

func (*GroupData) GetCreatedAt added in v0.67.0

func (x *GroupData) GetCreatedAt() *timestamppb.Timestamp

func (*GroupData) GetDisplayName added in v0.67.0

func (x *GroupData) GetDisplayName() string

func (*GroupData) GetId added in v0.67.0

func (x *GroupData) GetId() []byte

func (*GroupData) ProtoMessage added in v0.67.0

func (*GroupData) ProtoMessage()

func (*GroupData) ProtoReflect added in v0.67.0

func (x *GroupData) ProtoReflect() protoreflect.Message

func (*GroupData) Reset added in v0.67.0

func (x *GroupData) Reset()

func (*GroupData) String added in v0.67.0

func (x *GroupData) String() string

type PaginationParams

type PaginationParams struct {
	Prefix string
	After  string
	Amount int
}

type Paginator

type Paginator struct {
	Amount        int
	NextPageToken string
}

Paginator describes the parameters of a slice of data from a database.

type PolicyData added in v0.67.0

type PolicyData struct {
	Id          []byte                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	CreatedAt   *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	DisplayName string                 `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	Statements  *StatementsData        `protobuf:"bytes,4,opt,name=statements,proto3" json:"statements,omitempty"`
	// contains filtered or unexported fields
}

message data model for model.Policy struct

func (*PolicyData) Descriptor deprecated added in v0.67.0

func (*PolicyData) Descriptor() ([]byte, []int)

Deprecated: Use PolicyData.ProtoReflect.Descriptor instead.

func (*PolicyData) GetCreatedAt added in v0.67.0

func (x *PolicyData) GetCreatedAt() *timestamppb.Timestamp

func (*PolicyData) GetDisplayName added in v0.67.0

func (x *PolicyData) GetDisplayName() string

func (*PolicyData) GetId added in v0.67.0

func (x *PolicyData) GetId() []byte

func (*PolicyData) GetStatements added in v0.67.0

func (x *PolicyData) GetStatements() *StatementsData

func (*PolicyData) ProtoMessage added in v0.67.0

func (*PolicyData) ProtoMessage()

func (*PolicyData) ProtoReflect added in v0.67.0

func (x *PolicyData) ProtoReflect() protoreflect.Message

func (*PolicyData) Reset added in v0.67.0

func (x *PolicyData) Reset()

func (*PolicyData) String added in v0.67.0

func (x *PolicyData) String() string

type Statement

type Statement struct {
	Effect   string   `json:"Effect"`
	Action   []string `json:"Action"`
	Resource string   `json:"Resource"`
}

type StatementData added in v0.67.0

type StatementData struct {
	Effect   string   `protobuf:"bytes,1,opt,name=effect,proto3" json:"effect,omitempty"`
	Action   []string `protobuf:"bytes,2,rep,name=action,proto3" json:"action,omitempty"`
	Resource string   `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"`
	// contains filtered or unexported fields
}

message data model for model.Statement struct

func (*StatementData) Descriptor deprecated added in v0.67.0

func (*StatementData) Descriptor() ([]byte, []int)

Deprecated: Use StatementData.ProtoReflect.Descriptor instead.

func (*StatementData) GetAction added in v0.67.0

func (x *StatementData) GetAction() []string

func (*StatementData) GetEffect added in v0.67.0

func (x *StatementData) GetEffect() string

func (*StatementData) GetResource added in v0.67.0

func (x *StatementData) GetResource() string

func (*StatementData) ProtoMessage added in v0.67.0

func (*StatementData) ProtoMessage()

func (*StatementData) ProtoReflect added in v0.67.0

func (x *StatementData) ProtoReflect() protoreflect.Message

func (*StatementData) Reset added in v0.67.0

func (x *StatementData) Reset()

func (*StatementData) String added in v0.67.0

func (x *StatementData) String() string

type Statements

type Statements []Statement

func (*Statements) Scan

func (s *Statements) Scan(src interface{}) error

func (Statements) Value

func (s Statements) Value() (driver.Value, error)

type StatementsData added in v0.67.0

type StatementsData struct {
	Statement []*StatementData `protobuf:"bytes,1,rep,name=statement,proto3" json:"statement,omitempty"`
	// contains filtered or unexported fields
}

message data model for model.Statements struct

func (*StatementsData) Descriptor deprecated added in v0.67.0

func (*StatementsData) Descriptor() ([]byte, []int)

Deprecated: Use StatementsData.ProtoReflect.Descriptor instead.

func (*StatementsData) GetStatement added in v0.67.0

func (x *StatementsData) GetStatement() []*StatementData

func (*StatementsData) ProtoMessage added in v0.67.0

func (*StatementsData) ProtoMessage()

func (*StatementsData) ProtoReflect added in v0.67.0

func (x *StatementsData) ProtoReflect() protoreflect.Message

func (*StatementsData) Reset added in v0.67.0

func (x *StatementsData) Reset()

func (*StatementsData) String added in v0.67.0

func (x *StatementsData) String() string

type SuperuserConfiguration

type SuperuserConfiguration struct {
	User
	AccessKeyID     string
	SecretAccessKey string
}

SuperuserConfiguration requests a particular configuration for a superuser.

type User

type User struct {
	ID string
	BaseUser
}

func ConvertUser added in v0.67.0

func ConvertUser(u *DBUser) *User

func ConvertUsersList added in v0.67.0

func ConvertUsersList(users []*DBUser) []*User

type UserData added in v0.67.0

type UserData struct {
	Id                []byte                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	CreatedAt         *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	Username          string                 `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
	FriendlyName      string                 `protobuf:"bytes,4,opt,name=friendly_name,json=friendlyName,proto3" json:"friendly_name,omitempty"`
	Email             string                 `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
	EncryptedPassword []byte                 `protobuf:"bytes,6,opt,name=encrypted_password,json=encryptedPassword,proto3" json:"encrypted_password,omitempty"`
	Source            string                 `protobuf:"bytes,7,opt,name=source,proto3" json:"source,omitempty"`
	// contains filtered or unexported fields
}

message data model for model.User struct

func (*UserData) Descriptor deprecated added in v0.67.0

func (*UserData) Descriptor() ([]byte, []int)

Deprecated: Use UserData.ProtoReflect.Descriptor instead.

func (*UserData) GetCreatedAt added in v0.67.0

func (x *UserData) GetCreatedAt() *timestamppb.Timestamp

func (*UserData) GetEmail added in v0.67.0

func (x *UserData) GetEmail() string

func (*UserData) GetEncryptedPassword added in v0.67.0

func (x *UserData) GetEncryptedPassword() []byte

func (*UserData) GetFriendlyName added in v0.67.0

func (x *UserData) GetFriendlyName() string

func (*UserData) GetId added in v0.67.0

func (x *UserData) GetId() []byte

func (*UserData) GetSource added in v0.67.0

func (x *UserData) GetSource() string

func (*UserData) GetUsername added in v0.67.0

func (x *UserData) GetUsername() string

func (*UserData) ProtoMessage added in v0.67.0

func (*UserData) ProtoMessage()

func (*UserData) ProtoReflect added in v0.67.0

func (x *UserData) ProtoReflect() protoreflect.Message

func (*UserData) Reset added in v0.67.0

func (x *UserData) Reset()

func (*UserData) String added in v0.67.0

func (x *UserData) String() string

Jump to

Keyboard shortcuts

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