45 lines
2.4 KiB
Go
45 lines
2.4 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
// CreationRun keeps execution authority separate from untrusted conversation state.
|
|
type CreationRun struct {
|
|
ID string `json:"id" gorm:"primaryKey;size:36"`
|
|
UserID string `json:"userId" gorm:"size:36;index;uniqueIndex:idx_creation_client,priority:1"`
|
|
ClientKey string `json:"-" gorm:"size:120;uniqueIndex:idx_creation_client,priority:2"`
|
|
CreateHash string `json:"-" gorm:"size:64"`
|
|
CanvasID string `json:"canvasId,omitempty" gorm:"size:80"`
|
|
Revision int64 `json:"revision"`
|
|
ExecutionEpoch int64 `json:"executionEpoch"`
|
|
ExecutionOwner string `json:"executionOwner" gorm:"size:120"`
|
|
LeaseExpiresAt *time.Time `json:"leaseExpiresAt,omitempty"`
|
|
Status string `json:"status" gorm:"size:32"`
|
|
StateJSON string `json:"-" gorm:"type:text"`
|
|
ApprovedProposalVersion int64 `json:"approvedProposalVersion,omitempty"`
|
|
ApprovedProposalHash string `json:"approvedProposalHash,omitempty" gorm:"size:64"`
|
|
ApprovedOperationsJSON string `json:"-" gorm:"type:text"`
|
|
ApprovedCanvasJSON string `json:"-" gorm:"type:text"`
|
|
ApprovedAt *time.Time `json:"-"`
|
|
CreatedAt time.Time `json:"createdAt"`
|
|
UpdatedAt time.Time `json:"updatedAt"`
|
|
}
|
|
|
|
type CreationSubmission struct {
|
|
ID string `json:"id" gorm:"primaryKey;size:36"`
|
|
UserID string `json:"-" gorm:"size:36;index"`
|
|
RunID string `json:"runId" gorm:"size:36;uniqueIndex:idx_creation_item,priority:1"`
|
|
ItemKey string `json:"itemKey" gorm:"size:160;uniqueIndex:idx_creation_item,priority:2"`
|
|
ProposalVersion int64 `json:"-"`
|
|
ProposalHash string `json:"-" gorm:"size:64"`
|
|
RequestJSON string `json:"-" gorm:"type:text"`
|
|
RequestHash string `json:"requestHash" gorm:"size:64"`
|
|
QuoteJSON string `json:"-" gorm:"type:text"`
|
|
PriceSignature string `json:"-" gorm:"type:text"`
|
|
ExpiresAt time.Time `json:"-"`
|
|
ApprovedAt *time.Time `json:"approvedAt,omitempty"`
|
|
RevokedAt *time.Time `json:"revokedAt,omitempty"`
|
|
TaskID *string `json:"taskId,omitempty" gorm:"size:36;uniqueIndex"`
|
|
CreatedAt time.Time `json:"-"`
|
|
UpdatedAt time.Time `json:"-"`
|
|
}
|