// Code generated by sqlc. DO NOT EDIT.
// versions:
//   sqlc v1.31.1

package db

type ClipboardState struct {
	UserID       string  `json:"user_id"`
	ContentType  string  `json:"content_type"`
	Content      *string `json:"content"`
	SourceDevice *string `json:"source_device"`
	UpdatedAt    int64   `json:"updated_at"`
	Version      int64   `json:"version"`
	OriginTs     int64   `json:"origin_ts"`
}

type Device struct {
	DeviceID  string `json:"device_id"`
	UserID    string `json:"user_id"`
	Name      string `json:"name"`
	Type      string `json:"type"`
	Tier      string `json:"tier"`
	BrokerSid string `json:"broker_sid"`
	CreatedAt int64  `json:"created_at"`
	LastSeen  int64  `json:"last_seen"`
}

type LoginRequest struct {
	ID             string `json:"id"`
	PollSecret     string `json:"poll_secret"`
	ApprovalCode   string `json:"approval_code"`
	Status         string `json:"status"`
	NewDeviceName  string `json:"new_device_name"`
	NewDeviceType  string `json:"new_device_type"`
	UserAgent      string `json:"user_agent"`
	RequestIp      string `json:"request_ip"`
	ApproverUserID string `json:"approver_user_id"`
	GrantScope     string `json:"grant_scope"`
	GrantPersist   string `json:"grant_persist"`
	CreatedAt      int64  `json:"created_at"`
	ExpiresAt      int64  `json:"expires_at"`
	ApprovedAt     *int64 `json:"approved_at"`
}

type PushSubscription struct {
	ID         string `json:"id"`
	UserID     string `json:"user_id"`
	DeviceName string `json:"device_name"`
	Endpoint   string `json:"endpoint"`
	P256dh     string `json:"p256dh"`
	Auth       string `json:"auth"`
	UserAgent  string `json:"user_agent"`
	Locale     string `json:"locale"`
	CreatedAt  int64  `json:"created_at"`
	LastUsedAt int64  `json:"last_used_at"`
	Platform   string `json:"platform"`
}

type TransferSession struct {
	ID               string  `json:"id"`
	UserID           string  `json:"user_id"`
	SenderName       string  `json:"sender_name"`
	ReceiverName     string  `json:"receiver_name"`
	State            string  `json:"state"`
	Mode             *string `json:"mode"`
	FileName         string  `json:"file_name"`
	FileSize         int64   `json:"file_size"`
	FileSha256       *string `json:"file_sha256"`
	BytesTransferred int64   `json:"bytes_transferred"`
	CreatedAt        int64   `json:"created_at"`
	FinishedAt       *int64  `json:"finished_at"`
	FailReason       *string `json:"fail_reason"`
}
