Documentation ¶
Index ¶
- type AppMetadata
- type Bucket
- type Column
- type Database
- type Function
- type FunctionArg
- type Identity
- type IdentityData
- type Policies
- type Policy
- type PolicyCommand
- type PrimaryKey
- type Project
- type ReplicaIdentity
- type Role
- type SupabaseTime
- type Table
- type TablesRelationship
- type UpdateBucketParam
- type UpdateBucketType
- type UpdateColumnItem
- type UpdateColumnType
- type UpdatePolicyParam
- type UpdatePolicyType
- type UpdateRelationItem
- type UpdateRelationType
- type UpdateRoleParam
- type UpdateRoleType
- type UpdateTableParam
- type UpdateTableType
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppMetadata ¶
type Bucket ¶
type Bucket struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` Owner *string `json:"owner,omitempty"` Public bool `json:"public"` AvifAutoDetection bool `json:"avif_autodetection,omitempty"` FileSizeLimit *int `json:"file_size_limit"` AllowedMimeTypes []string `json:"allowed_mime_types"` OwnerID *string `json:"owner_id,omitempty"` }
type Column ¶
type Column struct { TableID int `json:"table_id"` Schema string `json:"schema"` Table string `json:"table"` ID string `json:"id"` OrdinalPosition int `json:"ordinal_position"` Name string `json:"name"` DefaultValue any `json:"default_value"` DataType string `json:"data_type"` Format string `json:"format"` IsIdentity bool `json:"is_identity"` IdentityGeneration any `json:"identity_generation"` IsGenerated bool `json:"is_generated"` IsNullable bool `json:"is_nullable"` IsUpdatable bool `json:"is_updatable"` IsUnique bool `json:"is_unique"` Enums []string `json:"enums"` // TODO : implement check and comment in models Check any `json:"check"` Comment any `json:"comment"` }
type Function ¶
type Function struct { ID int `json:"id"` Schema string `json:"schema"` Name string `json:"name"` Language string `json:"language"` Definition string `json:"definition"` CompleteStatement string `json:"complete_statement"` Args []FunctionArg `json:"args"` ArgumentTypes string `json:"argument_types"` IdentityArgumentTypes string `json:"identity_argument_types"` ReturnTypeID int `json:"return_type_id"` ReturnType string `json:"return_type"` ReturnTypeRelationID int `json:"return_type_relation_id"` IsSetReturningFunction bool `json:"is_set_returning_function"` Behavior string `json:"behavior"` SecurityDefiner bool `json:"security_definer"` ConfigParams any `json:"config_params"` }
type FunctionArg ¶
type Identity ¶
type Identity struct { IdentityID string `json:"identity_id,omitempty"` ID string `json:"id,omitempty"` UserID string `json:"user_id,omitempty"` IdentityData IdentityData `json:"identity_data,omitempty"` Provider string `json:"provider,omitempty"` LastSignInAt time.Time `json:"last_sign_in_at,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` Email string `json:"email,omitempty"` }
type IdentityData ¶
type Policies ¶
type Policies []Policy
func (*Policies) FilterByBucket ¶
func (*Policies) FilterByTable ¶
type Policy ¶
type Policy struct { ID int `json:"id"` Schema string `json:"schema"` Table string `json:"table"` TableID int `json:"table_id"` Name string `json:"name"` Action string `json:"action"` Roles []string `json:"roles"` Command PolicyCommand `json:"command"` Definition string `json:"definition"` Check *string `json:"check"` }
type PolicyCommand ¶
type PolicyCommand string
const ( PolicyCommandSelect PolicyCommand = "SELECT" PolicyCommandInsert PolicyCommand = "INSERT" PolicyCommandUpdate PolicyCommand = "UPDATE" PolicyCommandDelete PolicyCommand = "DELETE" )
type PrimaryKey ¶
type ReplicaIdentity ¶
type ReplicaIdentity string
const ( ReplicaIdentityDefault ReplicaIdentity = "DEFAULT" ReplicaIdentityIndex ReplicaIdentity = "INDEX" )
type Role ¶
type Role struct { ActiveConnections int `json:"active_connections"` CanBypassRLS bool `json:"can_bypass_rls"` CanCreateDB bool `json:"can_create_db"` CanCreateRole bool `json:"can_create_role"` CanLogin bool `json:"can_login"` Config map[string]any `json:"config"` ConnectionLimit int `json:"connection_limit"` ID int `json:"id"` InheritRole bool `json:"inherit_role"` IsReplicationRole bool `json:"is_replication_role"` IsSuperuser bool `json:"is_superuser"` Name string `json:"name"` Password string `json:"password"` ValidUntil *SupabaseTime `json:"valid_until"` }
type SupabaseTime ¶
func NewSupabaseTime ¶
func NewSupabaseTime(newTime time.Time) *SupabaseTime
func (SupabaseTime) MarshalJSON ¶
func (mt SupabaseTime) MarshalJSON() ([]byte, error)
func (*SupabaseTime) UnmarshalJSON ¶
func (mt *SupabaseTime) UnmarshalJSON(b []byte) error
type Table ¶
type Table struct { Bytes int `json:"bytes"` Columns []Column `json:"columns"` Comment any `json:"comment"` DeadRowsEstimate int `json:"dead_rows_estimate"` ID int `json:"id"` LiveRowsEstimate int `json:"live_rows_estimate"` Name string `json:"name"` PrimaryKeys []PrimaryKey `json:"primary_keys"` Relationships []TablesRelationship `json:"relationships"` ReplicaIdentity ReplicaIdentity `json:"replica_identity"` RLSEnabled bool `json:"rls_enabled"` RLSForced bool `json:"rls_forced"` Schema string `json:"schema"` Size string `json:"size"` }
type TablesRelationship ¶
type TablesRelationship struct { Id int32 `json:"id"` ConstraintName string `json:"constraint_name"` SourceSchema string `json:"source_schema"` SourceTableName string `json:"source_table_name"` SourceColumnName string `json:"source_column_name"` TargetTableSchema string `json:"target_table_schema"` TargetTableName string `json:"target_table_name"` TargetColumnName string `json:"target_column_name"` }
type UpdateBucketParam ¶
type UpdateBucketParam struct { OldData Bucket ChangeItems []UpdateBucketType }
type UpdateBucketType ¶
type UpdateBucketType string
const ( UpdateBucketIsPublic UpdateBucketType = "is_public" UpdateBucketFileSizeLimit UpdateBucketType = "file_size_limit" UpdateBucketAllowedMimeTypes UpdateBucketType = "allowed_mime_types" )
type UpdateColumnItem ¶
type UpdateColumnItem struct { Name string UpdateItems []UpdateColumnType }
type UpdateColumnType ¶
type UpdateColumnType string
const ( UpdateColumnNew UpdateColumnType = "new" UpdateColumnDelete UpdateColumnType = "delete" UpdateColumnName UpdateColumnType = "name" UpdateColumnDefaultValue UpdateColumnType = "default_value" UpdateColumnDataType UpdateColumnType = "data_type" UpdateColumnUnique UpdateColumnType = "unique" UpdateColumnNullable UpdateColumnType = "nullable" UpdateColumnIdentity UpdateColumnType = "identity" )
type UpdatePolicyParam ¶
type UpdatePolicyParam struct { Name string ChangeItems []UpdatePolicyType }
type UpdatePolicyType ¶
type UpdatePolicyType string
const ( UpdatePolicyName UpdatePolicyType = "name" UpdatePolicyDefinition UpdatePolicyType = "definition" UpdatePolicyCheck UpdatePolicyType = "check" UpdatePolicyRoles UpdatePolicyType = "roles" )
type UpdateRelationItem ¶
type UpdateRelationItem struct { Data TablesRelationship Type UpdateRelationType }
type UpdateRelationType ¶
type UpdateRelationType string
const ( UpdateRelationCreate UpdateRelationType = "create" UpdateRelationUpdate UpdateRelationType = "update" UpdateRelationDelete UpdateRelationType = "delete" )
type UpdateRoleParam ¶
type UpdateRoleParam struct { OldData Role ChangeItems []UpdateRoleType }
type UpdateRoleType ¶
type UpdateRoleType string
const ( UpdateConnectionLimit UpdateRoleType = "connection_limit" UpdateRoleName UpdateRoleType = "name" UpdateRoleIsReplication UpdateRoleType = "is_replication" UpdateRoleIsSuperUser UpdateRoleType = "is_superuser" UpdateRoleInheritRole UpdateRoleType = "inherit_role" UpdateRoleCanCreateDb UpdateRoleType = "can_create_db" UpdateRoleCanCreateRole UpdateRoleType = "can_create_role" UpdateRoleCanLogin UpdateRoleType = "can_login" UpdateRoleCanBypassRls UpdateRoleType = "can_bypass_rls" UpdateRoleConfig UpdateRoleType = "config" UpdateRoleValidUntil UpdateRoleType = "valid_until" )
type UpdateTableParam ¶
type UpdateTableParam struct { OldData Table ChangeRelationItems []UpdateRelationItem ChangeColumnItems []UpdateColumnItem ChangeItems []UpdateTableType ForceCreateRelation bool }
type UpdateTableType ¶
type UpdateTableType string
---- update table struct definitions ----
const ( UpdateTableSchema UpdateTableType = "schema" UpdateTableName UpdateTableType = "name" UpdateTableRlsEnable UpdateTableType = "rls_enable" UpdateTableRlsForced UpdateTableType = "rls_forced" UpdateTablePrimaryKey UpdateTableType = "primary_key" UpdateTableReplicaIdentity UpdateTableType = "replica_identity" )
type User ¶
type User struct { ID string `json:"id,omitempty"` Aud string `json:"aud,omitempty"` Role string `json:"role,omitempty"` Email string `json:"email,omitempty"` EmailConfirmedAt time.Time `json:"email_confirmed_at,omitempty"` Phone string `json:"phone,omitempty"` ConfirmedAt time.Time `json:"confirmed_at,omitempty"` LastSignInAt time.Time `json:"last_sign_in_at,omitempty"` AppMetadata AppMetadata `json:"app_metadata,omitempty"` UserMetadata interface{} `json:"user_metadata,omitempty"` Identities []Identity `json:"identities,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` IsAnonymous bool `json:"is_anonymous,omitempty"` }
Click to show internal directories.
Click to hide internal directories.