mirror of
https://github.com/Dvorinka/Primora.git
synced 2026-10-28 15:51:23 +00:00
core.inbound_hooks (migration 00013): POST /api/v1/hooks/<token> accepts external events. event mode republishes as inbound.received through the signed dispatcher + realtime; job mode triggers a scheduled-job run with the received body as payload. Optional X-Primora-Signature HMAC verify. Dashboard card on the Integrations page. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
420 lines
15 KiB
Go
420 lines
15 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.29.0
|
|
|
|
package db
|
|
|
|
import (
|
|
"database/sql/driver"
|
|
"fmt"
|
|
|
|
"github.com/google/uuid"
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
type CoreBucketVisibility string
|
|
|
|
const (
|
|
CoreBucketVisibilityPrivate CoreBucketVisibility = "private"
|
|
CoreBucketVisibilityPublic CoreBucketVisibility = "public"
|
|
)
|
|
|
|
func (e *CoreBucketVisibility) Scan(src interface{}) error {
|
|
switch s := src.(type) {
|
|
case []byte:
|
|
*e = CoreBucketVisibility(s)
|
|
case string:
|
|
*e = CoreBucketVisibility(s)
|
|
default:
|
|
return fmt.Errorf("unsupported scan type for CoreBucketVisibility: %T", src)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type NullCoreBucketVisibility struct {
|
|
CoreBucketVisibility CoreBucketVisibility `json:"core_bucket_visibility"`
|
|
Valid bool `json:"valid"` // Valid is true if CoreBucketVisibility is not NULL
|
|
}
|
|
|
|
// Scan implements the Scanner interface.
|
|
func (ns *NullCoreBucketVisibility) Scan(value interface{}) error {
|
|
if value == nil {
|
|
ns.CoreBucketVisibility, ns.Valid = "", false
|
|
return nil
|
|
}
|
|
ns.Valid = true
|
|
return ns.CoreBucketVisibility.Scan(value)
|
|
}
|
|
|
|
// Value implements the driver Valuer interface.
|
|
func (ns NullCoreBucketVisibility) Value() (driver.Value, error) {
|
|
if !ns.Valid {
|
|
return nil, nil
|
|
}
|
|
return string(ns.CoreBucketVisibility), nil
|
|
}
|
|
|
|
type CoreOrgRole string
|
|
|
|
const (
|
|
CoreOrgRoleOwner CoreOrgRole = "owner"
|
|
CoreOrgRoleAdmin CoreOrgRole = "admin"
|
|
CoreOrgRoleMember CoreOrgRole = "member"
|
|
)
|
|
|
|
func (e *CoreOrgRole) Scan(src interface{}) error {
|
|
switch s := src.(type) {
|
|
case []byte:
|
|
*e = CoreOrgRole(s)
|
|
case string:
|
|
*e = CoreOrgRole(s)
|
|
default:
|
|
return fmt.Errorf("unsupported scan type for CoreOrgRole: %T", src)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type NullCoreOrgRole struct {
|
|
CoreOrgRole CoreOrgRole `json:"core_org_role"`
|
|
Valid bool `json:"valid"` // Valid is true if CoreOrgRole is not NULL
|
|
}
|
|
|
|
// Scan implements the Scanner interface.
|
|
func (ns *NullCoreOrgRole) Scan(value interface{}) error {
|
|
if value == nil {
|
|
ns.CoreOrgRole, ns.Valid = "", false
|
|
return nil
|
|
}
|
|
ns.Valid = true
|
|
return ns.CoreOrgRole.Scan(value)
|
|
}
|
|
|
|
// Value implements the driver Valuer interface.
|
|
func (ns NullCoreOrgRole) Value() (driver.Value, error) {
|
|
if !ns.Valid {
|
|
return nil, nil
|
|
}
|
|
return string(ns.CoreOrgRole), nil
|
|
}
|
|
|
|
type CoreProjectRole string
|
|
|
|
const (
|
|
CoreProjectRoleAdmin CoreProjectRole = "admin"
|
|
CoreProjectRoleDeveloper CoreProjectRole = "developer"
|
|
CoreProjectRoleViewer CoreProjectRole = "viewer"
|
|
)
|
|
|
|
func (e *CoreProjectRole) Scan(src interface{}) error {
|
|
switch s := src.(type) {
|
|
case []byte:
|
|
*e = CoreProjectRole(s)
|
|
case string:
|
|
*e = CoreProjectRole(s)
|
|
default:
|
|
return fmt.Errorf("unsupported scan type for CoreProjectRole: %T", src)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type NullCoreProjectRole struct {
|
|
CoreProjectRole CoreProjectRole `json:"core_project_role"`
|
|
Valid bool `json:"valid"` // Valid is true if CoreProjectRole is not NULL
|
|
}
|
|
|
|
// Scan implements the Scanner interface.
|
|
func (ns *NullCoreProjectRole) Scan(value interface{}) error {
|
|
if value == nil {
|
|
ns.CoreProjectRole, ns.Valid = "", false
|
|
return nil
|
|
}
|
|
ns.Valid = true
|
|
return ns.CoreProjectRole.Scan(value)
|
|
}
|
|
|
|
// Value implements the driver Valuer interface.
|
|
func (ns NullCoreProjectRole) Value() (driver.Value, error) {
|
|
if !ns.Valid {
|
|
return nil, nil
|
|
}
|
|
return string(ns.CoreProjectRole), nil
|
|
}
|
|
|
|
type CoreAlertRule struct {
|
|
ID uuid.UUID `json:"id"`
|
|
ProjectID uuid.UUID `json:"project_id"`
|
|
Name string `json:"name"`
|
|
Kind string `json:"kind"`
|
|
Config []byte `json:"config"`
|
|
Enabled bool `json:"enabled"`
|
|
State []byte `json:"state"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
}
|
|
|
|
type CoreApiKey struct {
|
|
ID uuid.UUID `json:"id"`
|
|
ProjectID uuid.UUID `json:"project_id"`
|
|
Name string `json:"name"`
|
|
Prefix string `json:"prefix"`
|
|
SecretHash []byte `json:"secret_hash"`
|
|
CreatedByUserID pgtype.UUID `json:"created_by_user_id"`
|
|
LastUsedAt pgtype.Timestamptz `json:"last_used_at"`
|
|
RevokedAt pgtype.Timestamptz `json:"revoked_at"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
Scopes []string `json:"scopes"`
|
|
}
|
|
|
|
type CoreAuditLog struct {
|
|
ID uuid.UUID `json:"id"`
|
|
OrganizationID pgtype.UUID `json:"organization_id"`
|
|
ProjectID pgtype.UUID `json:"project_id"`
|
|
ActorUserID pgtype.UUID `json:"actor_user_id"`
|
|
ActorApiKeyID pgtype.UUID `json:"actor_api_key_id"`
|
|
Action string `json:"action"`
|
|
ResourceType string `json:"resource_type"`
|
|
ResourceID string `json:"resource_id"`
|
|
Metadata []byte `json:"metadata"`
|
|
RequestID string `json:"request_id"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
}
|
|
|
|
type CoreBucket struct {
|
|
ID uuid.UUID `json:"id"`
|
|
ProjectID uuid.UUID `json:"project_id"`
|
|
Slug string `json:"slug"`
|
|
Name string `json:"name"`
|
|
Visibility string `json:"visibility"`
|
|
CreatedByUserID pgtype.UUID `json:"created_by_user_id"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
}
|
|
|
|
type CoreBucketObject struct {
|
|
ID uuid.UUID `json:"id"`
|
|
BucketID uuid.UUID `json:"bucket_id"`
|
|
ObjectKey string `json:"object_key"`
|
|
ContentType string `json:"content_type"`
|
|
SizeBytes int64 `json:"size_bytes"`
|
|
ChecksumSha256 string `json:"checksum_sha256"`
|
|
StoragePath string `json:"storage_path"`
|
|
UploadedByUserID pgtype.UUID `json:"uploaded_by_user_id"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
}
|
|
|
|
type CoreCollection struct {
|
|
ID uuid.UUID `json:"id"`
|
|
ProjectID uuid.UUID `json:"project_id"`
|
|
Slug string `json:"slug"`
|
|
Name string `json:"name"`
|
|
Description *string `json:"description"`
|
|
Schema []byte `json:"schema"`
|
|
CreatedByUserID pgtype.UUID `json:"created_by_user_id"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
}
|
|
|
|
type CoreComponent struct {
|
|
ID uuid.UUID `json:"id"`
|
|
ProjectID uuid.UUID `json:"project_id"`
|
|
Name string `json:"name"`
|
|
Kind string `json:"kind"`
|
|
Meta []byte `json:"meta"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
}
|
|
|
|
type CoreDbConnection struct {
|
|
ID uuid.UUID `json:"id"`
|
|
ProjectID uuid.UUID `json:"project_id"`
|
|
Name string `json:"name"`
|
|
DbType string `json:"db_type"`
|
|
Config []byte `json:"config"`
|
|
IsManaged bool `json:"is_managed"`
|
|
CreatedByUserID pgtype.UUID `json:"created_by_user_id"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
}
|
|
|
|
type CoreDocument struct {
|
|
ID uuid.UUID `json:"id"`
|
|
CollectionID uuid.UUID `json:"collection_id"`
|
|
Data []byte `json:"data"`
|
|
CreatedByUserID pgtype.UUID `json:"created_by_user_id"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
}
|
|
|
|
type CoreEvent struct {
|
|
ID int64 `json:"id"`
|
|
ProjectID uuid.UUID `json:"project_id"`
|
|
ComponentID pgtype.UUID `json:"component_id"`
|
|
Type string `json:"type"`
|
|
Severity string `json:"severity"`
|
|
Message string `json:"message"`
|
|
Payload []byte `json:"payload"`
|
|
Fingerprint string `json:"fingerprint"`
|
|
Ts pgtype.Timestamptz `json:"ts"`
|
|
}
|
|
|
|
type CoreInboundHook struct {
|
|
ID uuid.UUID `json:"id"`
|
|
ProjectID uuid.UUID `json:"project_id"`
|
|
Name string `json:"name"`
|
|
Token string `json:"token"`
|
|
Mode string `json:"mode"`
|
|
JobID pgtype.UUID `json:"job_id"`
|
|
Secret []byte `json:"secret"`
|
|
Enabled bool `json:"enabled"`
|
|
LastReceivedAt pgtype.Timestamptz `json:"last_received_at"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
}
|
|
|
|
type CoreIntegration struct {
|
|
ID uuid.UUID `json:"id"`
|
|
ProjectID uuid.UUID `json:"project_id"`
|
|
Type string `json:"type"`
|
|
Name string `json:"name"`
|
|
BaseUrl string `json:"base_url"`
|
|
Config []byte `json:"config"`
|
|
Credentials []byte `json:"credentials"`
|
|
Status string `json:"status"`
|
|
LastHealthAt pgtype.Timestamptz `json:"last_health_at"`
|
|
CreatedByUserID pgtype.UUID `json:"created_by_user_id"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
}
|
|
|
|
type CoreOrganization struct {
|
|
ID uuid.UUID `json:"id"`
|
|
Slug string `json:"slug"`
|
|
Name string `json:"name"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
}
|
|
|
|
type CoreOrganizationMember struct {
|
|
ID uuid.UUID `json:"id"`
|
|
OrganizationID uuid.UUID `json:"organization_id"`
|
|
UserID uuid.UUID `json:"user_id"`
|
|
Role string `json:"role"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
}
|
|
|
|
type CoreProject struct {
|
|
ID uuid.UUID `json:"id"`
|
|
OrganizationID uuid.UUID `json:"organization_id"`
|
|
Slug string `json:"slug"`
|
|
Name string `json:"name"`
|
|
Description *string `json:"description"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
RetentionEventsDays int32 `json:"retention_events_days"`
|
|
RetentionAuditDays int32 `json:"retention_audit_days"`
|
|
RetentionWebhookDays int32 `json:"retention_webhook_days"`
|
|
}
|
|
|
|
type CoreProjectInvitation struct {
|
|
ID uuid.UUID `json:"id"`
|
|
OrganizationID uuid.UUID `json:"organization_id"`
|
|
ProjectID pgtype.UUID `json:"project_id"`
|
|
Email string `json:"email"`
|
|
OrgRole string `json:"org_role"`
|
|
ProjectRole NullCoreProjectRole `json:"project_role"`
|
|
TokenHash string `json:"token_hash"`
|
|
ExpiresAt pgtype.Timestamptz `json:"expires_at"`
|
|
AcceptedAt pgtype.Timestamptz `json:"accepted_at"`
|
|
InvitedByUserID pgtype.UUID `json:"invited_by_user_id"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
}
|
|
|
|
type CoreProjectMember struct {
|
|
ID uuid.UUID `json:"id"`
|
|
ProjectID uuid.UUID `json:"project_id"`
|
|
UserID uuid.UUID `json:"user_id"`
|
|
Role string `json:"role"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
}
|
|
|
|
type CoreProjectSecret struct {
|
|
ID uuid.UUID `json:"id"`
|
|
ProjectID uuid.UUID `json:"project_id"`
|
|
Name string `json:"name"`
|
|
Ciphertext []byte `json:"ciphertext"`
|
|
Url string `json:"url"`
|
|
Notes string `json:"notes"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
}
|
|
|
|
type CoreScheduledJob struct {
|
|
ID uuid.UUID `json:"id"`
|
|
ProjectID uuid.UUID `json:"project_id"`
|
|
Name string `json:"name"`
|
|
Schedule string `json:"schedule"`
|
|
Url string `json:"url"`
|
|
Secret []byte `json:"secret"`
|
|
Payload []byte `json:"payload"`
|
|
Enabled bool `json:"enabled"`
|
|
LastRunAt pgtype.Timestamptz `json:"last_run_at"`
|
|
LastStatus string `json:"last_status"`
|
|
NextRunAt pgtype.Timestamptz `json:"next_run_at"`
|
|
CreatedByUserID pgtype.UUID `json:"created_by_user_id"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
}
|
|
|
|
type CoreScheduledJobRun struct {
|
|
ID uuid.UUID `json:"id"`
|
|
JobID uuid.UUID `json:"job_id"`
|
|
Status string `json:"status"`
|
|
TriggeredBy string `json:"triggered_by"`
|
|
StatusCode *int32 `json:"status_code"`
|
|
Error string `json:"error"`
|
|
DurationMs *int32 `json:"duration_ms"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
FinishedAt pgtype.Timestamptz `json:"finished_at"`
|
|
}
|
|
|
|
type CoreSetting struct {
|
|
Key string `json:"key"`
|
|
Value []byte `json:"value"`
|
|
Secret bool `json:"secret"`
|
|
UpdatedBy *string `json:"updated_by"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
}
|
|
|
|
type CoreUser struct {
|
|
ID uuid.UUID `json:"id"`
|
|
AuthSubject string `json:"auth_subject"`
|
|
Email string `json:"email"`
|
|
Name string `json:"name"`
|
|
EmailVerified bool `json:"email_verified"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
LastSeenAt pgtype.Timestamptz `json:"last_seen_at"`
|
|
}
|
|
|
|
type CoreWebhook struct {
|
|
ID uuid.UUID `json:"id"`
|
|
ProjectID uuid.UUID `json:"project_id"`
|
|
Url string `json:"url"`
|
|
Secret []byte `json:"secret"`
|
|
Events []string `json:"events"`
|
|
Enabled bool `json:"enabled"`
|
|
CreatedByUserID pgtype.UUID `json:"created_by_user_id"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
}
|
|
|
|
type CoreWebhookDelivery struct {
|
|
ID uuid.UUID `json:"id"`
|
|
WebhookID uuid.UUID `json:"webhook_id"`
|
|
EventType string `json:"event_type"`
|
|
Payload []byte `json:"payload"`
|
|
Status string `json:"status"`
|
|
Attempts int32 `json:"attempts"`
|
|
LastStatusCode *int32 `json:"last_status_code"`
|
|
LastError string `json:"last_error"`
|
|
DeliveredAt pgtype.Timestamptz `json:"delivered_at"`
|
|
NextRetryAt pgtype.Timestamptz `json:"next_retry_at"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
}
|