36 lines
2.0 KiB
Go
36 lines
2.0 KiB
Go
package model
|
|
|
|
type ResourceBinding struct {
|
|
Id int `json:"id"`
|
|
UserId int `json:"user_id" gorm:"index;not null"`
|
|
TenantId string `json:"tenant_id" gorm:"type:varchar(64);index;not null"`
|
|
ProjectId string `json:"project_id" gorm:"type:varchar(128);index;not null"`
|
|
ResourceType string `json:"resource_type" gorm:"type:varchar(32);index;not null"`
|
|
Name string `json:"name" gorm:"type:varchar(128);not null"`
|
|
Provider string `json:"provider" gorm:"type:varchar(64);default:'custom'"`
|
|
ResourceRef string `json:"resource_ref" gorm:"type:varchar(512);not null"`
|
|
Metadata string `json:"metadata" gorm:"type:text"`
|
|
PermissionScope string `json:"permission_scope" gorm:"type:text"`
|
|
Constraints string `json:"constraints" gorm:"type:text"`
|
|
Status string `json:"status" gorm:"type:varchar(32);default:'active'"`
|
|
SecretRef string `json:"secret_ref" gorm:"type:varchar(512)"`
|
|
CreatedAt int64 `json:"created_at" gorm:"autoCreateTime;column:created_at"`
|
|
UpdatedAt int64 `json:"updated_at" gorm:"autoUpdateTime;column:updated_at"`
|
|
}
|
|
|
|
type ResourceGrant struct {
|
|
Id int `json:"id"`
|
|
UserId int `json:"user_id" gorm:"index;not null"`
|
|
TenantId string `json:"tenant_id" gorm:"type:varchar(64);index;not null"`
|
|
ProjectId string `json:"project_id" gorm:"type:varchar(128);index;not null"`
|
|
ResourceId int `json:"resource_id" gorm:"index;not null"`
|
|
Role string `json:"role" gorm:"type:varchar(128);not null"`
|
|
SubAgnetId string `json:"sub_agnet_id" gorm:"type:varchar(128);index"`
|
|
PermissionScope string `json:"permission_scope" gorm:"type:text"`
|
|
Constraints string `json:"constraints" gorm:"type:text"`
|
|
Status string `json:"status" gorm:"type:varchar(32);default:'active'"`
|
|
AuditNote string `json:"audit_note" gorm:"type:text"`
|
|
CreatedAt int64 `json:"created_at" gorm:"autoCreateTime;column:created_at"`
|
|
UpdatedAt int64 `json:"updated_at" gorm:"autoUpdateTime;column:updated_at"`
|
|
}
|