web/backend/secretapi/models.go

413 lines
14 KiB
Go

package main
import "time"
type walletIntentRequest struct {
Address string `json:"address"`
Origin string `json:"origin"`
Locale string `json:"locale"`
ChainID int64 `json:"chain_id"`
}
type walletIntentResponse struct {
IntentID string `json:"intent_id"`
DesignationCode string `json:"designation_code"`
DisplayToken string `json:"display_token"`
Nonce string `json:"nonce"`
IssuedAt string `json:"issued_at"`
ExpiresAt string `json:"expires_at"`
DomainName string `json:"domain_name"`
ChainID int64 `json:"chain_id"`
VerifyingContract string `json:"verifying_contract"`
}
type walletVerifyRequest struct {
IntentID string `json:"intent_id"`
Address string `json:"address"`
ChainID int64 `json:"chain_id"`
Signature string `json:"signature"`
}
type walletVerifyResponse struct {
Status string `json:"status"`
DesignationCode string `json:"designation_code"`
DisplayToken string `json:"display_token"`
VerifiedAt string `json:"verified_at"`
SessionToken string `json:"session_token,omitempty"`
SessionExpires string `json:"session_expires_at,omitempty"`
}
type membershipQuoteRequest struct {
DesignationCode string `json:"designation_code"`
Address string `json:"address"`
ChainID int64 `json:"chain_id"`
PayerWallet string `json:"payer_wallet,omitempty"`
PayerProof string `json:"payer_proof,omitempty"`
SponsorOrgRoot string `json:"sponsor_org_root_id,omitempty"`
}
type membershipQuoteResponse struct {
QuoteID string `json:"quote_id"`
ChainID int64 `json:"chain_id"`
Currency string `json:"currency"`
AmountAtomic string `json:"amount_atomic"`
Decimals int `json:"decimals"`
Deadline string `json:"deadline"`
ContractAddress string `json:"contract_address"`
Method string `json:"method"`
Calldata string `json:"calldata"`
Value string `json:"value"`
OwnerWallet string `json:"owner_wallet,omitempty"`
PayerWallet string `json:"payer_wallet,omitempty"`
SponsorshipMode string `json:"sponsorship_mode,omitempty"`
SponsorOrgRoot string `json:"sponsor_org_root_id,omitempty"`
Tx map[string]any `json:"tx"`
}
type membershipConfirmRequest struct {
DesignationCode string `json:"designation_code"`
QuoteID string `json:"quote_id"`
TxHash string `json:"tx_hash"`
Address string `json:"address"`
ChainID int64 `json:"chain_id"`
IdentityAssurance string `json:"identity_assurance_level,omitempty"`
IdentityAttestedBy string `json:"identity_attested_by,omitempty"`
IdentityAttestationID string `json:"identity_attestation_id,omitempty"`
}
type membershipConfirmResponse struct {
Status string `json:"status"`
DesignationCode string `json:"designation_code"`
DisplayToken string `json:"display_token"`
TxHash string `json:"tx_hash"`
ActivatedAt string `json:"activated_at"`
IdentityAssurance string `json:"identity_assurance_level"`
IdentityAttestedBy string `json:"identity_attested_by,omitempty"`
IdentityAttestationID string `json:"identity_attestation_id,omitempty"`
}
type membershipStatusResponse struct {
Status string `json:"status"`
Wallet string `json:"wallet,omitempty"`
DesignationCode string `json:"designation_code,omitempty"`
IdentityAssurance string `json:"identity_assurance_level,omitempty"`
IdentityAttestedBy string `json:"identity_attested_by,omitempty"`
IdentityAttestationID string `json:"identity_attestation_id,omitempty"`
}
type designationRecord struct {
Code string
DisplayToken string
IntentID string
Nonce string
Origin string
Locale string
Address string
ChainID int64
IssuedAt time.Time
ExpiresAt time.Time
VerifiedAt *time.Time
MembershipStatus string
MembershipTxHash string
ActivatedAt *time.Time
IdentityAssurance string
IdentityAttestedBy string
IdentityAttestationID string
IdentityAttestedAt *time.Time
}
type quoteRecord struct {
QuoteID string
DesignationCode string
Address string // ownership wallet
PayerAddress string
ChainID int64
Currency string
AmountAtomic string
Decimals int
ContractAddress string
Method string
Calldata string
ValueHex string
CreatedAt time.Time
ExpiresAt time.Time
ConfirmedAt *time.Time
ConfirmedTxHash string
SponsorshipMode string
SponsorOrgRootID string
}
type walletSessionRecord struct {
SessionToken string
Wallet string
DesignationCode string
ChainID int64
IssuedAt time.Time
ExpiresAt time.Time
LastSeenAt *time.Time
RevokedAt *time.Time
}
type governanceInstallTokenRequest struct {
Wallet string `json:"wallet"`
OrgRootID string `json:"org_root_id,omitempty"`
PrincipalID string `json:"principal_id,omitempty"`
PrincipalRole string `json:"principal_role,omitempty"`
DeviceID string `json:"device_id"`
LauncherVersion string `json:"launcher_version"`
Platform string `json:"platform"`
CurrentRuntimeVersion string `json:"current_runtime_version,omitempty"`
}
type governancePackage struct {
RuntimeVersion string `json:"runtime_version"`
PackageURL string `json:"package_url"`
PackageHash string `json:"package_hash"`
Signature string `json:"signature"`
SignerKeyID string `json:"signer_key_id"`
PolicyHash string `json:"policy_hash"`
RolloutChannel string `json:"rollout_channel"`
}
type governanceInstallTokenResponse struct {
InstallToken string `json:"install_token"`
InstallTokenExpiresAt string `json:"install_token_expires_at"`
Wallet string `json:"wallet"`
EntitlementID string `json:"entitlement_id"`
Package governancePackage `json:"package"`
}
type governanceInstallConfirmRequest struct {
InstallToken string `json:"install_token"`
Wallet string `json:"wallet"`
DeviceID string `json:"device_id"`
EntitlementID string `json:"entitlement_id"`
PackageHash string `json:"package_hash"`
RuntimeVersion string `json:"runtime_version"`
InstalledAt string `json:"installed_at"`
LauncherReceiptRef string `json:"launcher_receipt_hash,omitempty"`
}
type governanceInstallConfirmResponse struct {
Status string `json:"status"`
Wallet string `json:"wallet"`
DeviceID string `json:"device_id"`
EntitlementID string `json:"entitlement_id"`
RuntimeVersion string `json:"runtime_version"`
ActivatedAt string `json:"activated_at"`
}
type governanceInstallStatusResponse struct {
Wallet string `json:"wallet"`
OrgRootID string `json:"org_root_id,omitempty"`
PrincipalID string `json:"principal_id,omitempty"`
PrincipalRole string `json:"principal_role,omitempty"`
MembershipStatus string `json:"membership_status"`
IdentityAssurance string `json:"identity_assurance_level"`
EntitlementStatus string `json:"entitlement_status"`
AccessClass string `json:"access_class"`
AvailabilityState string `json:"availability_state"`
ActivationStatus string `json:"activation_status"`
LatestRuntimeVersion string `json:"latest_runtime_version,omitempty"`
PolicyHash string `json:"policy_hash,omitempty"`
Reason string `json:"reason,omitempty"`
}
type governanceLeaseHeartbeatRequest struct {
Wallet string `json:"wallet"`
OrgRootID string `json:"org_root_id"`
PrincipalID string `json:"principal_id"`
DeviceID string `json:"device_id"`
}
type governanceLeaseHeartbeatResponse struct {
Status string `json:"status"`
AvailabilityState string `json:"availability_state"`
LeaseExpiresAt string `json:"lease_expires_at"`
}
type governanceOfflineRenewRequest struct {
Wallet string `json:"wallet"`
OrgRootID string `json:"org_root_id"`
PrincipalID string `json:"principal_id"`
RenewalBundle map[string]any `json:"renewal_bundle"`
}
type governanceOfflineRenewResponse struct {
Status string `json:"status"`
AvailabilityState string `json:"availability_state"`
RenewedUntil string `json:"renewed_until"`
}
type memberChannelDeviceRegisterRequest struct {
Wallet string `json:"wallet"`
ChainID int64 `json:"chain_id"`
DeviceID string `json:"device_id"`
Platform string `json:"platform"`
OrgRootID string `json:"org_root_id"`
PrincipalID string `json:"principal_id"`
PrincipalRole string `json:"principal_role"`
AppVersion string `json:"app_version"`
PushProvider string `json:"push_provider,omitempty"`
PushToken string `json:"push_token,omitempty"`
}
type memberChannelDeviceRegisterResponse struct {
ChannelBindingID string `json:"channel_binding_id"`
Status string `json:"status"`
PollIntervalSeconds int `json:"poll_interval_seconds"`
ServerTime string `json:"server_time"`
}
type memberChannelDeviceUnregisterRequest struct {
Wallet string `json:"wallet"`
DeviceID string `json:"device_id"`
}
type memberChannelDeviceUnregisterResponse struct {
Status string `json:"status"`
Wallet string `json:"wallet"`
DeviceID string `json:"device_id"`
}
type memberChannelEventsResponse struct {
Wallet string `json:"wallet"`
DeviceID string `json:"device_id"`
OrgRootID string `json:"org_root_id"`
PrincipalID string `json:"principal_id"`
MembershipStatus string `json:"membership_status"`
IdentityAssurance string `json:"identity_assurance_level"`
Events []memberChannelEvent `json:"events"`
NextCursor string `json:"next_cursor"`
ServerTime string `json:"server_time"`
}
type memberChannelEvent struct {
EventID string `json:"event_id"`
Class string `json:"class"`
CreatedAt string `json:"created_at"`
Title string `json:"title"`
Body string `json:"body"`
DedupeKey string `json:"dedupe_key"`
RequiresAck bool `json:"requires_ack"`
PolicyHash string `json:"policy_hash"`
VisibilityScope string `json:"visibility_scope"`
Payload map[string]any `json:"payload,omitempty"`
}
type memberChannelEventAckRequest struct {
Wallet string `json:"wallet"`
DeviceID string `json:"device_id"`
AcknowledgedAt string `json:"acknowledged_at"`
}
type memberChannelEventAckResponse struct {
Status string `json:"status"`
EventID string `json:"event_id"`
AcknowledgedAt string `json:"acknowledged_at"`
}
type memberChannelSupportTicketRequest struct {
Wallet string `json:"wallet"`
OrgRootID string `json:"org_root_id"`
PrincipalID string `json:"principal_id"`
Category string `json:"category"`
Summary string `json:"summary"`
Context map[string]any `json:"context,omitempty"`
}
type memberChannelSupportTicketResponse struct {
Status string `json:"status"`
TicketID string `json:"ticket_id"`
CreatedAt string `json:"created_at"`
}
type governancePrincipalRecord struct {
Wallet string
OrgRootID string
PrincipalID string
PrincipalRole string
EntitlementID string
EntitlementStatus string
AccessClass string
AvailabilityState string
LeaseExpiresAt *time.Time
UpdatedAt time.Time
}
type governanceInstallTokenRecord struct {
InstallToken string
Wallet string
OrgRootID string
PrincipalID string
PrincipalRole string
DeviceID string
EntitlementID string
PackageHash string
RuntimeVersion string
PolicyHash string
IssuedAt time.Time
ExpiresAt time.Time
ConsumedAt *time.Time
}
type governanceInstallRecord struct {
InstallToken string
Wallet string
DeviceID string
EntitlementID string
RuntimeVersion string
PackageHash string
PolicyHash string
LauncherReceiptRef string
InstalledAt time.Time
ActivatedAt time.Time
}
type memberChannelBindingRecord struct {
ChannelBindingID string
Wallet string
ChainID int64
DeviceID string
Platform string
OrgRootID string
PrincipalID string
PrincipalRole string
AppVersion string
PushProvider string
PushToken string
Status string
CreatedAt time.Time
UpdatedAt time.Time
RemovedAt *time.Time
}
type memberChannelEventRecord struct {
Seq int64
EventID string
Wallet string
OrgRootID string
PrincipalID string
Class string
CreatedAt time.Time
Title string
Body string
DedupeKey string
RequiresAck bool
PolicyHash string
PayloadJSON string
VisibilityScope string
}
type memberChannelSupportTicketRecord struct {
TicketID string
Wallet string
OrgRootID string
PrincipalID string
Category string
Summary string
ContextJSON string
Status string
CreatedAt time.Time
}