db

package
v1.24.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 13, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	REQUEST_EVENT_STATE_HANDLER_EXECUTING = "executing"
	REQUEST_EVENT_STATE_HANDLER_EXECUTED  = "executed"
	REQUEST_EVENT_STATE_HANDLER_ERROR     = "error"
)
View Source
const (
	RESPONSE_EVENT_STATE_PUBLISH_CONFIRMED   = "confirmed"
	RESPONSE_EVENT_STATE_PUBLISH_FAILED      = "failed"
	RESPONSE_EVENT_STATE_PUBLISH_UNCONFIRMED = "unconfirmed"
)

Variables

This section is empty.

Functions

func IsPostgresURI added in v1.14.0

func IsPostgresURI(uri string) bool

func MigrateDB added in v1.24.0

func MigrateDB(from, to *gorm.DB) error

MigrateDB copies all rows from one database to another. Both databases must have an up-to-date schema (they are checked against expectedTables). Orphaned request and response events are deleted from the source database before copying, as they would violate foreign key constraints in the destination database.

func NewDB

func NewDB(uri string, logDBQueries bool) (*gorm.DB, error)

func NewDBWithConfig added in v1.14.0

func NewDBWithConfig(cfg *Config) (*gorm.DB, error)

func Stop

func Stop(db *gorm.DB) error

Types

type App

type App struct {
	ID                       uint
	Name                     string `validate:"required"`
	Description              string
	AppPubkey                string `validate:"required"`
	WalletPubkey             *string
	CreatedAt                time.Time
	UpdatedAt                time.Time
	LastUsedAt               *time.Time
	LastSettledTransactionAt *time.Time
	Isolated                 bool
	Metadata                 datatypes.JSON
}

type AppPermission

type AppPermission struct {
	ID            uint
	AppId         uint `validate:"required"`
	App           App
	Scope         string `validate:"required"`
	MaxAmountSat  int
	BudgetRenewal string
	ExpiresAt     *time.Time
	CreatedAt     time.Time
	UpdatedAt     time.Time
}

type Config added in v1.14.0

type Config struct {
	URI        string
	LogQueries bool
	DriverName string
}

type Forward added in v1.19.0

type Forward struct {
	ID                          uint
	OutboundAmountForwardedMsat uint64
	TotalFeeEarnedMsat          uint64
	CreatedAt                   time.Time
	UpdatedAt                   time.Time
}

type RequestEvent

type RequestEvent struct {
	ID          uint
	AppId       *uint
	App         App
	NostrId     string `validate:"required"`
	ContentData string
	Method      string
	State       string
	CreatedAt   time.Time
	UpdatedAt   time.Time
}

type ResponseEvent

type ResponseEvent struct {
	ID        uint
	NostrId   string `validate:"required"`
	RequestId uint   `validate:"required"`
	State     string
	RepliedAt time.Time
	CreatedAt time.Time
	UpdatedAt time.Time
}

type Swap added in v1.18.0

type Swap struct {
	ID                 uint
	SwapId             string `validate:"required"`
	Type               string
	State              string
	Invoice            string
	SendAmountSat      uint64 `gorm:"column:send_amount"`
	ReceiveAmountSat   uint64 `gorm:"column:receive_amount"`
	Preimage           string
	PaymentHash        string
	DestinationAddress string
	RefundAddress      string
	LockupAddress      string
	LockupTxId         string
	ClaimTxId          string
	AutoSwap           bool
	UsedXpub           bool
	TimeoutBlockHeight uint32
	BoltzPubkey        string
	SwapTree           datatypes.JSON
	CreatedAt          time.Time
	UpdatedAt          time.Time
}

type Transaction added in v1.2.0

type Transaction struct {
	ID              uint
	AppId           *uint
	App             *App
	RequestEventId  *uint
	RequestEvent    *RequestEvent
	Type            string
	State           string
	AmountMsat      uint64
	FeeMsat         uint64
	FeeReserveMsat  uint64
	PaymentRequest  string
	PaymentHash     string
	Description     string
	DescriptionHash string
	Preimage        *string
	CreatedAt       time.Time
	ExpiresAt       *time.Time
	UpdatedAt       time.Time
	SettledAt       *time.Time
	Metadata        datatypes.JSON
	SelfPayment     bool
	Boostagram      datatypes.JSON
	FailureReason   string
	Hold            bool
	SettleDeadline  *uint32 // block number for accepted hold invoices
}

type UserConfig

type UserConfig struct {
	ID        uint
	Key       string
	Value     string
	Encrypted bool
	CreatedAt time.Time
	UpdatedAt time.Time
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL