model

package
v0.68.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	StatementEffectAllow = "allow"
	StatementEffectDeny  = "deny"
	PartitionKey         = "auth"
	PackageName          = "auth"
)

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 CreateID added in v0.68.0

func CreateID() string

func CredentialPath added in v0.68.0

func CredentialPath(userName string, accessKeyID string) string

func DecryptSecret added in v0.68.0

func DecryptSecret(s crypt.SecretStore, value []byte) (string, error)

func EncryptSecret added in v0.68.0

func EncryptSecret(s crypt.SecretStore, secretAccessKey string) ([]byte, error)

func ExpiredTokenPath added in v0.68.0

func ExpiredTokenPath(tokenID string) string

func GroupPath added in v0.68.0

func GroupPath(displayName string) string

func GroupPolicyPath added in v0.68.0

func GroupPolicyPath(groupDisplayName string, policyDisplayName string) string

func GroupUserPath added in v0.68.0

func GroupUserPath(groupDisplayName string, userName string) 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

func UserPath added in v0.68.0

func UserPath(userName string) string

func UserPolicyPath added in v0.68.0

func UserPolicyPath(userName string, policyDisplayName string) string

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"`
}

func ConvertPolicyDataList added in v0.68.0

func ConvertPolicyDataList(policies []proto.Message) []*BasePolicy

func PolicyFromProto added in v0.68.0

func PolicyFromProto(pb *PolicyData) *BasePolicy

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 ConvertCredDataList added in v0.68.0

func ConvertCredDataList(s crypt.SecretStore, creds []proto.Message) []*Credential

func ConvertCredList added in v0.67.0

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

func ConvertCreds added in v0.67.0

func ConvertCreds(c *DBCredential) *Credential

func CredentialFromProto added in v0.68.0

func CredentialFromProto(s crypt.SecretStore, pb *CredentialData) *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"`
	SecretAccessKeyEncryptedBytes []byte                 `` /* 154-byte string literal not displayed */
	IssuedDate                    *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=issued_date,json=issuedDate,proto3" json:"issued_date,omitempty"`
	UserId                        []byte                 `protobuf:"bytes,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// contains filtered or unexported fields
}

message data model for model.Credential struct

func ProtoFromCredential added in v0.68.0

func ProtoFromCredential(c *Credential) *CredentialData

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) 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 ConvertGroupDataList added in v0.68.0

func ConvertGroupDataList(group []proto.Message) []*Group

func ConvertGroupList added in v0.67.0

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

func GroupFromProto added in v0.68.0

func GroupFromProto(pb *GroupData) *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 ProtoFromGroup added in v0.68.0

func ProtoFromGroup(g *Group) *GroupData

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  []*StatementData       `protobuf:"bytes,4,rep,name=statements,proto3" json:"statements,omitempty"`
	// contains filtered or unexported fields
}

message data model for model.Policy struct

func ProtoFromPolicy added in v0.68.0

func ProtoFromPolicy(p *BasePolicy, id string) *PolicyData

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() []*StatementData

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 SuperuserConfiguration

type SuperuserConfiguration struct {
	User
	AccessKeyID     string
	SecretAccessKey string
}

SuperuserConfiguration requests a particular configuration for a superuser.

type TokenData added in v0.68.0

type TokenData struct {
	TokenId   string                 `protobuf:"bytes,1,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"`
	ExpiredAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expired_at,json=expiredAt,proto3" json:"expired_at,omitempty"`
	// contains filtered or unexported fields
}

message data model for rest password token

func (*TokenData) Descriptor deprecated added in v0.68.0

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

Deprecated: Use TokenData.ProtoReflect.Descriptor instead.

func (*TokenData) GetExpiredAt added in v0.68.0

func (x *TokenData) GetExpiredAt() *timestamppb.Timestamp

func (*TokenData) GetTokenId added in v0.68.0

func (x *TokenData) GetTokenId() string

func (*TokenData) ProtoMessage added in v0.68.0

func (*TokenData) ProtoMessage()

func (*TokenData) ProtoReflect added in v0.68.0

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

func (*TokenData) Reset added in v0.68.0

func (x *TokenData) Reset()

func (*TokenData) String added in v0.68.0

func (x *TokenData) String() string

type User

type User struct {
	ID string
	BaseUser
}

func ConvertUser added in v0.67.0

func ConvertUser(u *DBUser) *User

func ConvertUsersDataList added in v0.68.0

func ConvertUsersDataList(users []proto.Message) []*User

func ConvertUsersList added in v0.67.0

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

func UserFromProto added in v0.68.0

func UserFromProto(pb *UserData) *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 ProtoFromUser added in v0.68.0

func ProtoFromUser(u *User) *UserData

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