Documentation ¶
Index ¶
- Variables
- func IsConstraintViolationForColumnVal(err error, table string, column string) bool
- func NewUniqueAlreadyExistsError(value string) error
- func WrapIfKnownInvalidQueryErr(err error) error
- type Client
- func (c Client) AssignKeyAccessServerToAttribute(ctx context.Context, k *attributes.AttributeKeyAccessServer) (*attributes.AttributeKeyAccessServer, error)
- func (c Client) AssignKeyAccessServerToValue(ctx context.Context, k *attributes.ValueKeyAccessServer) (*attributes.ValueKeyAccessServer, error)
- func (c Client) CreateAttribute(ctx context.Context, attr *attributes.AttributeCreateUpdate) (*attributes.Attribute, error)
- func (c Client) CreateAttributeValue(ctx context.Context, attributeId string, v *attributes.ValueCreateUpdate) (*attributes.Value, error)
- func (c Client) CreateKeyAccessServer(ctx context.Context, keyAccessServer *kasr.KeyAccessServerCreateUpdate) (*kasr.KeyAccessServer, error)
- func (c Client) CreateNamespace(ctx context.Context, name string) (string, error)
- func (c Client) CreateResourceMapping(ctx context.Context, rm *resourcemapping.ResourceMappingCreateUpdate) (*resourcemapping.ResourceMapping, error)
- func (c *Client) CreateSubjectMapping(ctx context.Context, s *subjectmapping.SubjectMappingCreateUpdate) (*subjectmapping.SubjectMapping, error)
- func (c Client) DeleteAttribute(ctx context.Context, id string) (*attributes.Attribute, error)
- func (c Client) DeleteAttributeValue(ctx context.Context, id string) (*attributes.Value, error)
- func (c Client) DeleteKeyAccessServer(ctx context.Context, id string) (*kasr.KeyAccessServer, error)
- func (c Client) DeleteNamespace(ctx context.Context, id string) error
- func (c Client) DeleteResourceMapping(ctx context.Context, id string) (*resourcemapping.ResourceMapping, error)
- func (c *Client) DeleteSubjectMapping(ctx context.Context, id string) (*subjectmapping.SubjectMapping, error)
- func (c Client) GetAttribute(ctx context.Context, id string) (*attributes.Attribute, error)
- func (c Client) GetAttributeValue(ctx context.Context, id string) (*attributes.Value, error)
- func (c Client) GetAttributesByNamespace(ctx context.Context, namespaceId string) ([]*attributes.Attribute, error)
- func (c Client) GetKeyAccessServer(ctx context.Context, id string) (*kasr.KeyAccessServer, error)
- func (c Client) GetNamespace(ctx context.Context, id string) (*namespaces.Namespace, error)
- func (c Client) GetResourceMapping(ctx context.Context, id string) (*resourcemapping.ResourceMapping, error)
- func (c *Client) GetSubjectMapping(ctx context.Context, id string) (*subjectmapping.SubjectMapping, error)
- func (c Client) ListAllAttributes(ctx context.Context) ([]*attributes.Attribute, error)
- func (c Client) ListAttributeValues(ctx context.Context, attribute_id string) ([]*attributes.Value, error)
- func (c Client) ListKeyAccessServers(ctx context.Context) ([]*kasr.KeyAccessServer, error)
- func (c Client) ListNamespaces(ctx context.Context) ([]*namespaces.Namespace, error)
- func (c Client) ListResourceMappings(ctx context.Context) ([]*resourcemapping.ResourceMapping, error)
- func (c *Client) ListSubjectMappings(ctx context.Context) ([]*subjectmapping.SubjectMapping, error)
- func (c *Client) MigrationDown() (int, error)
- func (c Client) RemoveKeyAccessServerFromAttribute(ctx context.Context, k *attributes.AttributeKeyAccessServer) (*attributes.AttributeKeyAccessServer, error)
- func (c Client) RemoveKeyAccessServerFromValue(ctx context.Context, k *attributes.ValueKeyAccessServer) (*attributes.ValueKeyAccessServer, error)
- func (c *Client) RunMigrations() (int, error)
- func (c Client) UpdateAttribute(ctx context.Context, id string, attr *attributes.AttributeCreateUpdate) (*attributes.Attribute, error)
- func (c Client) UpdateAttributeValue(ctx context.Context, id string, v *attributes.ValueCreateUpdate) (*attributes.Value, error)
- func (c Client) UpdateKeyAccessServer(ctx context.Context, id string, ...) (*kasr.KeyAccessServer, error)
- func (c Client) UpdateNamespace(ctx context.Context, id string, name string) (*namespaces.Namespace, error)
- func (c Client) UpdateResourceMapping(ctx context.Context, id string, ...) (*resourcemapping.ResourceMapping, error)
- func (c *Client) UpdateSubjectMapping(ctx context.Context, id string, s *subjectmapping.SubjectMappingCreateUpdate) (*subjectmapping.SubjectMapping, error)
- type Config
- type DbError
- type PgxIface
- type Table
Constants ¶
This section is empty.
Variables ¶
View Source
var ( AttributeTable = tableName(TableAttributes) NamespacesTable = tableName(TableNamespaces) AttributeRuleTypeEnumPrefix = "ATTRIBUTE_RULE_TYPE_ENUM_" )
View Source
var ( TableAttributes = "attribute_definitions" TableAttributeValues = "attribute_values" TableNamespaces = "attribute_namespaces" TableKeyAccessServerRegistry = "key_access_servers" TableAttributeKeyAccessGrants = "attribute_definition_key_access_grants" TableAttributeValueKeyAccessGrants = "attribute_value_key_access_grants" TableResourceMappings = "resource_mappings" TableSubjectMappings = "subject_mappings" )
View Source
var AttributeValueTable = tableName(TableAttributeValues)
View Source
var KeyAccessServerTable = tableName(TableKeyAccessServerRegistry)
View Source
var ResourceMappingTable = tableName(TableResourceMappings)
View Source
var SubjectMappingOperatorEnumPrefix = "SUBJECT_MAPPING_OPERATOR_ENUM_"
Functions ¶
func IsConstraintViolationForColumnVal ¶
Validate is a PostgreSQL constraint violation for specific table-column value
func WrapIfKnownInvalidQueryErr ¶
Get helpful error message for PostgreSQL violation
Types ¶
type Client ¶
type Client struct { PgxIface Tables struct { Attributes Table AttributeValues Table Namespaces Table KeyAccessServerRegistry Table AttributeKeyAccessGrants Table AttributeValueKeyAccessGrants Table ResourceMappings Table SubjectMappings Table } // contains filtered or unexported fields }
func (Client) AssignKeyAccessServerToAttribute ¶
func (c Client) AssignKeyAccessServerToAttribute(ctx context.Context, k *attributes.AttributeKeyAccessServer) (*attributes.AttributeKeyAccessServer, error)
func (Client) AssignKeyAccessServerToValue ¶
func (c Client) AssignKeyAccessServerToValue(ctx context.Context, k *attributes.ValueKeyAccessServer) (*attributes.ValueKeyAccessServer, error)
func (Client) CreateAttribute ¶
func (c Client) CreateAttribute(ctx context.Context, attr *attributes.AttributeCreateUpdate) (*attributes.Attribute, error)
func (Client) CreateAttributeValue ¶
func (c Client) CreateAttributeValue(ctx context.Context, attributeId string, v *attributes.ValueCreateUpdate) (*attributes.Value, error)
func (Client) CreateKeyAccessServer ¶
func (c Client) CreateKeyAccessServer(ctx context.Context, keyAccessServer *kasr.KeyAccessServerCreateUpdate) (*kasr.KeyAccessServer, error)
func (Client) CreateNamespace ¶
func (Client) CreateResourceMapping ¶
func (c Client) CreateResourceMapping(ctx context.Context, rm *resourcemapping.ResourceMappingCreateUpdate) (*resourcemapping.ResourceMapping, error)
func (*Client) CreateSubjectMapping ¶
func (c *Client) CreateSubjectMapping(ctx context.Context, s *subjectmapping.SubjectMappingCreateUpdate) (*subjectmapping.SubjectMapping, error)
func (Client) DeleteAttribute ¶
func (Client) DeleteAttributeValue ¶
func (Client) DeleteKeyAccessServer ¶
func (Client) DeleteNamespace ¶
func (Client) DeleteResourceMapping ¶
func (c Client) DeleteResourceMapping(ctx context.Context, id string) (*resourcemapping.ResourceMapping, error)
func (*Client) DeleteSubjectMapping ¶
func (c *Client) DeleteSubjectMapping(ctx context.Context, id string) (*subjectmapping.SubjectMapping, error)
func (Client) GetAttribute ¶
func (Client) GetAttributeValue ¶
func (Client) GetAttributesByNamespace ¶
func (Client) GetKeyAccessServer ¶
func (Client) GetNamespace ¶
func (Client) GetResourceMapping ¶
func (c Client) GetResourceMapping(ctx context.Context, id string) (*resourcemapping.ResourceMapping, error)
func (*Client) GetSubjectMapping ¶
func (c *Client) GetSubjectMapping(ctx context.Context, id string) (*subjectmapping.SubjectMapping, error)
func (Client) ListAllAttributes ¶
func (Client) ListAttributeValues ¶
func (Client) ListKeyAccessServers ¶
func (Client) ListNamespaces ¶
func (Client) ListResourceMappings ¶
func (c Client) ListResourceMappings(ctx context.Context) ([]*resourcemapping.ResourceMapping, error)
func (*Client) ListSubjectMappings ¶
func (c *Client) ListSubjectMappings(ctx context.Context) ([]*subjectmapping.SubjectMapping, error)
func (*Client) MigrationDown ¶
func (Client) RemoveKeyAccessServerFromAttribute ¶
func (c Client) RemoveKeyAccessServerFromAttribute(ctx context.Context, k *attributes.AttributeKeyAccessServer) (*attributes.AttributeKeyAccessServer, error)
func (Client) RemoveKeyAccessServerFromValue ¶
func (c Client) RemoveKeyAccessServerFromValue(ctx context.Context, k *attributes.ValueKeyAccessServer) (*attributes.ValueKeyAccessServer, error)
func (*Client) RunMigrations ¶
func (Client) UpdateAttribute ¶
func (c Client) UpdateAttribute(ctx context.Context, id string, attr *attributes.AttributeCreateUpdate) (*attributes.Attribute, error)
func (Client) UpdateAttributeValue ¶
func (c Client) UpdateAttributeValue(ctx context.Context, id string, v *attributes.ValueCreateUpdate) (*attributes.Value, error)
func (Client) UpdateKeyAccessServer ¶
func (c Client) UpdateKeyAccessServer(ctx context.Context, id string, keyAccessServer *kasr.KeyAccessServerCreateUpdate) (*kasr.KeyAccessServer, error)
func (Client) UpdateNamespace ¶
func (Client) UpdateResourceMapping ¶
func (c Client) UpdateResourceMapping(ctx context.Context, id string, rm *resourcemapping.ResourceMappingCreateUpdate) (*resourcemapping.ResourceMapping, error)
func (*Client) UpdateSubjectMapping ¶
func (c *Client) UpdateSubjectMapping(ctx context.Context, id string, s *subjectmapping.SubjectMappingCreateUpdate) (*subjectmapping.SubjectMapping, error)
type Config ¶
type Config struct { Host string `yaml:"host" default:"localhost"` Port int `yaml:"port" default:"5432"` Database string `yaml:"database" default:"opentdf"` User string `yaml:"user" default:"postgres"` Password string `yaml:"password" default:"changeme"` RunMigrations bool `yaml:"runMigrations" default:"true"` SSLMode string `yaml:"sslmode" default:"prefer"` Schema string `yaml:"schema" default:"opentdf"` }
type DbError ¶
type DbError string
const ( ErrUniqueConstraintViolation DbError = "ErrUniqueConstraintViolation: value must be unique" ErrNotNullViolation DbError = "ErrNotNullViolation: value cannot be null" ErrForeignKeyViolation DbError = "ErrForeignKeyViolation: value is referenced by another table" ErrRestrictViolation DbError = "ErrRestrictViolation: value cannot be deleted due to restriction" ErrNotFound DbError = "ErrNotFound: value not found" )
type PgxIface ¶
type PgxIface interface { Acquire(ctx context.Context) (*pgxpool.Conn, error) Exec(context.Context, string, ...any) (pgconn.CommandTag, error) QueryRow(context.Context, string, ...any) pgx.Row Query(context.Context, string, ...any) (pgx.Rows, error) Ping(context.Context) error Close() Config() *pgxpool.Config }
We can rename this but wanted to get mocks working.
type Table ¶
type Table struct {
// contains filtered or unexported fields
}
func (Table) WithoutSchema ¶
Click to show internal directories.
Click to hide internal directories.