Documentation
¶
Index ¶
- type ACCOUNTTYPE
- type Account
- type AddLinkedAccountParams
- type BatchCreateAccountParams
- type BatchCreateTransactionParams
- type COLORENUM
- type Category
- type ConvertAmountParams
- type CreateAccountParams
- type CreateCategoryParams
- type CreateConnectionParams
- type CreateTagParams
- type CreateTransactionParams
- type CreateUserParams
- type CreateWebhookEventParams
- type CreateWebhookSubscriptionParams
- type Currency
- type DBTX
- type DeleteConnectionParams
- type DeleteLinkedAccountParams
- type DeleteTagParams
- type DeleteWebhookSubscriptionParams
- type ExchangeRate
- type ExchangeRateExistsForDateParams
- type FinancialSyncJob
- type GetAccountBalanceTimelineRow
- type GetAccountByIdRow
- type GetAccountByProviderAccountIDParams
- type GetAccountByProviderAccountIDRow
- type GetAccountsBalanceTimelineRow
- type GetAccountsByConnectionIDParams
- type GetAccountsByConnectionIDRow
- type GetAccountsRow
- type GetAccountsWithTrendParams
- type GetAccountsWithTrendRow
- type GetCategorySpendingParams
- type GetCategorySpendingRow
- type GetConnectionByProviderItemIDParams
- type GetExchangeRateParams
- type GetExchangeRatesForDateRow
- type GetLatestExchangeRateParams
- type GetLatestExchangeRateRow
- type GetLinkedAccountsRow
- type GetPreferencesByUserIdRow
- type GetRefreshTokenParams
- type GetRefreshTokenRow
- type GetSessionsRow
- type GetTagByIdRow
- type GetTagsByUserIdRow
- type GetTransactionStatsParams
- type GetTransactionStatsRow
- type GetTransactionWithCurrencyRow
- type GetUserByEmailRow
- type GetUserByIdRow
- type GetUserNetWorthInBaseCurrencyParams
- type LinkedAccount
- type ListConnectionsParams
- type ListPreferencesParams
- type ListPreferencesRow
- type ListTagsParams
- type ListTagsRow
- type ListTransactionsByDateRangeParams
- type ListTransactionsParams
- type ListTransactionsRow
- type ListUsersParams
- type ListUsersRow
- type ListWebhookSubscriptionsParams
- type ListWebhookSubscriptionsRow
- type NullACCOUNTTYPE
- type NullCOLORENUM
- type NullRiverJobState
- type Preference
- type Queries
- func (q *Queries) AddLinkedAccount(ctx context.Context, arg AddLinkedAccountParams) error
- func (q *Queries) BatchCreateAccount(ctx context.Context, arg []BatchCreateAccountParams) (int64, error)
- func (q *Queries) BatchCreateTransaction(ctx context.Context, arg []BatchCreateTransactionParams) (int64, error)
- func (q *Queries) CleanupOldWebhookEvents(ctx context.Context) error
- func (q *Queries) ConvertAmount(ctx context.Context, arg ConvertAmountParams) (pgtype.Numeric, error)
- func (q *Queries) CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error)
- func (q *Queries) CreateCategory(ctx context.Context, arg CreateCategoryParams) (Category, error)
- func (q *Queries) CreateConnection(ctx context.Context, arg CreateConnectionParams) (UserFinancialConnection, error)
- func (q *Queries) CreateDefaultCategories(ctx context.Context, userID uuid.UUID) error
- func (q *Queries) CreateDefaultPreferences(ctx context.Context, userID uuid.UUID) error
- func (q *Queries) CreateTag(ctx context.Context, arg CreateTagParams) (Tag, error)
- func (q *Queries) CreateTransaction(ctx context.Context, arg CreateTransactionParams) (Transaction, error)
- func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (User, error)
- func (q *Queries) CreateWebhookEvent(ctx context.Context, arg CreateWebhookEventParams) (WebhookEvent, error)
- func (q *Queries) CreateWebhookSubscription(ctx context.Context, arg CreateWebhookSubscriptionParams) (WebhookSubscription, error)
- func (q *Queries) DeleteAccount(ctx context.Context, id uuid.UUID) error
- func (q *Queries) DeleteCategory(ctx context.Context, id uuid.UUID) error
- func (q *Queries) DeleteConnection(ctx context.Context, arg DeleteConnectionParams) error
- func (q *Queries) DeleteExpiredTokens(ctx context.Context, userID uuid.UUID) error
- func (q *Queries) DeleteLinkedAccount(ctx context.Context, arg DeleteLinkedAccountParams) error
- func (q *Queries) DeletePreferences(ctx context.Context, userID uuid.UUID) error
- func (q *Queries) DeleteTag(ctx context.Context, arg DeleteTagParams) error
- func (q *Queries) DeleteTransaction(ctx context.Context, id uuid.UUID) error
- func (q *Queries) DeleteUser(ctx context.Context, id uuid.UUID) error
- func (q *Queries) DeleteUserToken(ctx context.Context, userID uuid.UUID) error
- func (q *Queries) DeleteWebhookEvent(ctx context.Context, id uuid.UUID) error
- func (q *Queries) DeleteWebhookSubscription(ctx context.Context, arg DeleteWebhookSubscriptionParams) error
- func (q *Queries) DisableMFA(ctx context.Context, id uuid.UUID) error
- func (q *Queries) EnableMFA(ctx context.Context, id uuid.UUID) error
- func (q *Queries) ExchangeRateExistsForDate(ctx context.Context, arg ExchangeRateExistsForDateParams) (bool, error)
- func (q *Queries) GetAccountBalanceTimeline(ctx context.Context, id uuid.UUID) ([]GetAccountBalanceTimelineRow, error)
- func (q *Queries) GetAccountById(ctx context.Context, id uuid.UUID) (GetAccountByIdRow, error)
- func (q *Queries) GetAccountByProviderAccountID(ctx context.Context, arg GetAccountByProviderAccountIDParams) (GetAccountByProviderAccountIDRow, error)
- func (q *Queries) GetAccountCurrency(ctx context.Context, id uuid.UUID) (string, error)
- func (q *Queries) GetAccounts(ctx context.Context, userID *uuid.UUID) ([]GetAccountsRow, error)
- func (q *Queries) GetAccountsBalanceTimeline(ctx context.Context, userID *uuid.UUID) ([]GetAccountsBalanceTimelineRow, error)
- func (q *Queries) GetAccountsByConnectionID(ctx context.Context, arg GetAccountsByConnectionIDParams) ([]GetAccountsByConnectionIDRow, error)
- func (q *Queries) GetAccountsWithTrend(ctx context.Context, arg GetAccountsWithTrendParams) ([]GetAccountsWithTrendRow, error)
- func (q *Queries) GetCategoryById(ctx context.Context, id uuid.UUID) (Category, error)
- func (q *Queries) GetCategoryByName(ctx context.Context, name string) (Category, error)
- func (q *Queries) GetCategorySpending(ctx context.Context, arg GetCategorySpendingParams) ([]GetCategorySpendingRow, error)
- func (q *Queries) GetConnectionByID(ctx context.Context, id uuid.UUID) (UserFinancialConnection, error)
- func (q *Queries) GetConnectionByProviderItemID(ctx context.Context, arg GetConnectionByProviderItemIDParams) (UserFinancialConnection, error)
- func (q *Queries) GetConnectionsByUserID(ctx context.Context, userID uuid.UUID) ([]UserFinancialConnection, error)
- func (q *Queries) GetCurrencies(ctx context.Context) ([]Currency, error)
- func (q *Queries) GetDefaultCategories(ctx context.Context, userID uuid.UUID) ([]Category, error)
- func (q *Queries) GetExchangeRate(ctx context.Context, arg GetExchangeRateParams) (pgtype.Numeric, error)
- func (q *Queries) GetExchangeRatesForDate(ctx context.Context, effectiveDate pgtype.Date) ([]GetExchangeRatesForDateRow, error)
- func (q *Queries) GetLatestExchangeRate(ctx context.Context, arg GetLatestExchangeRateParams) (GetLatestExchangeRateRow, error)
- func (q *Queries) GetLinkedAccounts(ctx context.Context, userID uuid.UUID) ([]GetLinkedAccountsRow, error)
- func (q *Queries) GetMFASecret(ctx context.Context, id uuid.UUID) ([]byte, error)
- func (q *Queries) GetPendingWebhookEvents(ctx context.Context, limit int64) ([]WebhookEvent, error)
- func (q *Queries) GetPreferencesByUserId(ctx context.Context, userID uuid.UUID) (GetPreferencesByUserIdRow, error)
- func (q *Queries) GetRefreshToken(ctx context.Context, arg GetRefreshTokenParams) (GetRefreshTokenRow, error)
- func (q *Queries) GetSessions(ctx context.Context, userID uuid.UUID) ([]GetSessionsRow, error)
- func (q *Queries) GetTagById(ctx context.Context, id uuid.UUID) (GetTagByIdRow, error)
- func (q *Queries) GetTagsByUserId(ctx context.Context, userID uuid.UUID) ([]GetTagsByUserIdRow, error)
- func (q *Queries) GetTransactionById(ctx context.Context, id uuid.UUID) (Transaction, error)
- func (q *Queries) GetTransactionStats(ctx context.Context, arg GetTransactionStatsParams) (GetTransactionStatsRow, error)
- func (q *Queries) GetTransactionWithCurrency(ctx context.Context, id uuid.UUID) (GetTransactionWithCurrencyRow, error)
- func (q *Queries) GetUserByEmail(ctx context.Context, email string) (GetUserByEmailRow, error)
- func (q *Queries) GetUserById(ctx context.Context, id uuid.UUID) (GetUserByIdRow, error)
- func (q *Queries) GetUserNetWorthInBaseCurrency(ctx context.Context, arg GetUserNetWorthInBaseCurrencyParams) (pgtype.Numeric, error)
- func (q *Queries) GetWebhookEventById(ctx context.Context, id uuid.UUID) (WebhookEvent, error)
- func (q *Queries) GetWebhookEventsBySubscriptionId(ctx context.Context, subscriptionID uuid.UUID) ([]WebhookEvent, error)
- func (q *Queries) GetWebhookSubscriptionById(ctx context.Context, id uuid.UUID) (WebhookSubscription, error)
- func (q *Queries) GetWebhookSubscriptionsByEvent(ctx context.Context, event string) ([]WebhookSubscription, error)
- func (q *Queries) GetWebhookSubscriptionsByUserId(ctx context.Context, userID uuid.UUID) ([]WebhookSubscription, error)
- func (q *Queries) HasPasswordAuth(ctx context.Context, id uuid.UUID) (*bool, error)
- func (q *Queries) IsMFAEnabled(ctx context.Context, id uuid.UUID) (bool, error)
- func (q *Queries) ListCategories(ctx context.Context, userID uuid.UUID) ([]Category, error)
- func (q *Queries) ListChildCategories(ctx context.Context, parentID *uuid.UUID) ([]Category, error)
- func (q *Queries) ListConnections(ctx context.Context, arg ListConnectionsParams) ([]UserFinancialConnection, error)
- func (q *Queries) ListPreferences(ctx context.Context, arg ListPreferencesParams) ([]ListPreferencesRow, error)
- func (q *Queries) ListTags(ctx context.Context, arg ListTagsParams) ([]ListTagsRow, error)
- func (q *Queries) ListTransactions(ctx context.Context, arg ListTransactionsParams) ([]ListTransactionsRow, error)
- func (q *Queries) ListTransactionsByAccount(ctx context.Context, accountID uuid.UUID) ([]Transaction, error)
- func (q *Queries) ListTransactionsByCategory(ctx context.Context, categoryID uuid.UUID) ([]Transaction, error)
- func (q *Queries) ListTransactionsByDateRange(ctx context.Context, arg ListTransactionsByDateRangeParams) ([]Transaction, error)
- func (q *Queries) ListUsers(ctx context.Context, arg ListUsersParams) ([]ListUsersRow, error)
- func (q *Queries) ListWebhookSubscriptions(ctx context.Context, arg ListWebhookSubscriptionsParams) ([]ListWebhookSubscriptionsRow, error)
- func (q *Queries) RevokeSession(ctx context.Context, id uuid.UUID) error
- func (q *Queries) SaveUserToken(ctx context.Context, arg SaveUserTokenParams) error
- func (q *Queries) SetConnectionErrorStatus(ctx context.Context, arg SetConnectionErrorStatusParams) (UserFinancialConnection, error)
- func (q *Queries) SetConnectionSyncStatus(ctx context.Context, arg SetConnectionSyncStatusParams) (UserFinancialConnection, error)
- func (q *Queries) StoreMFASecret(ctx context.Context, arg StoreMFASecretParams) error
- func (q *Queries) UpdateAccount(ctx context.Context, arg UpdateAccountParams) (Account, error)
- func (q *Queries) UpdateAccountBalance(ctx context.Context, arg UpdateAccountBalanceParams) error
- func (q *Queries) UpdateCategory(ctx context.Context, arg UpdateCategoryParams) (Category, error)
- func (q *Queries) UpdateConnection(ctx context.Context, arg UpdateConnectionParams) (UserFinancialConnection, error)
- func (q *Queries) UpdatePassword(ctx context.Context, arg UpdatePasswordParams) error
- func (q *Queries) UpdatePreferences(ctx context.Context, arg UpdatePreferencesParams) (Preference, error)
- func (q *Queries) UpdateTag(ctx context.Context, arg UpdateTagParams) (Tag, error)
- func (q *Queries) UpdateTokenTimeSTamp(ctx context.Context, id uuid.UUID) error
- func (q *Queries) UpdateTransaction(ctx context.Context, arg UpdateTransactionParams) (Transaction, error)
- func (q *Queries) UpdateUser(ctx context.Context, arg UpdateUserParams) (User, error)
- func (q *Queries) UpdateWebhookEventStatus(ctx context.Context, arg UpdateWebhookEventStatusParams) (WebhookEvent, error)
- func (q *Queries) UpdateWebhookSubscription(ctx context.Context, arg UpdateWebhookSubscriptionParams) (WebhookSubscription, error)
- func (q *Queries) UpsertExchangeRate(ctx context.Context, arg UpsertExchangeRateParams) error
- func (q *Queries) WithTx(tx pgx.Tx) *Queries
- type RiverClient
- type RiverClientQueue
- type RiverJob
- type RiverJobState
- type RiverLeader
- type RiverQueue
- type SaveUserTokenParams
- type SetConnectionErrorStatusParams
- type SetConnectionSyncStatusParams
- type StoreMFASecretParams
- type Tag
- type Transaction
- type UpdateAccountBalanceParams
- type UpdateAccountParams
- type UpdateCategoryParams
- type UpdateConnectionParams
- type UpdatePasswordParams
- type UpdatePreferencesParams
- type UpdateTagParams
- type UpdateTransactionParams
- type UpdateUserParams
- type UpdateWebhookEventStatusParams
- type UpdateWebhookSubscriptionParams
- type UpsertExchangeRateParams
- type User
- type UserFinancialConnection
- type UserToken
- type WebhookEvent
- type WebhookSubscription
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ACCOUNTTYPE ¶
type ACCOUNTTYPE string
const ( ACCOUNTTYPECash ACCOUNTTYPE = "cash" ACCOUNTTYPEMomo ACCOUNTTYPE = "momo" ACCOUNTTYPECredit ACCOUNTTYPE = "credit" ACCOUNTTYPEInvestment ACCOUNTTYPE = "investment" ACCOUNTTYPEChecking ACCOUNTTYPE = "checking" ACCOUNTTYPESavings ACCOUNTTYPE = "savings" ACCOUNTTYPELoan ACCOUNTTYPE = "loan" ACCOUNTTYPEOther ACCOUNTTYPE = "other" )
func (*ACCOUNTTYPE) Scan ¶
func (e *ACCOUNTTYPE) Scan(src interface{}) error
func (ACCOUNTTYPE) Valid ¶
func (e ACCOUNTTYPE) Valid() bool
type Account ¶
type Account struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Type ACCOUNTTYPE `json:"type"` Balance pgtype.Numeric `json:"balance"` Currency string `json:"currency"` Color COLORENUM `json:"color"` Meta []byte `json:"meta"` CreatedBy *uuid.UUID `json:"created_by"` UpdatedBy *uuid.UUID `json:"updated_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt pgtype.Timestamptz `json:"deleted_at"` IsExternal *bool `json:"is_external"` ProviderAccountID *string `json:"provider_account_id"` ProviderName *string `json:"provider_name"` SyncStatus *string `json:"sync_status"` LastSyncedAt pgtype.Timestamptz `json:"last_synced_at"` ConnectionID *uuid.UUID `json:"connection_id"` Subtype *string `json:"subtype"` }
type AddLinkedAccountParams ¶
type BatchCreateAccountParams ¶
type BatchCreateAccountParams struct { CreatedBy *uuid.UUID `json:"created_by"` Name string `json:"name"` Type interface{} `json:"type"` Subtype *string `json:"subtype"` Balance pgtype.Numeric `json:"balance"` Currency string `json:"currency"` Color interface{} `json:"color"` Meta []byte `json:"meta"` ConnectionID *uuid.UUID `json:"connection_id"` IsExternal *bool `json:"is_external"` ProviderAccountID *string `json:"provider_account_id"` ProviderName *string `json:"provider_name"` }
type BatchCreateTransactionParams ¶
type BatchCreateTransactionParams struct { Amount pgtype.Numeric `json:"amount"` Type string `json:"type"` AccountID uuid.UUID `json:"account_id"` DestinationAccountID *uuid.UUID `json:"destination_account_id"` CategoryID uuid.UUID `json:"category_id"` Description *string `json:"description"` TransactionDatetime pgtype.Timestamptz `json:"transaction_datetime"` Details dto.Details `json:"details"` ProviderTransactionID *string `json:"provider_transaction_id"` IsExternal *bool `json:"is_external"` CreatedBy *uuid.UUID `json:"created_by"` }
type Category ¶
type Category struct { ID uuid.UUID `json:"id"` Name string `json:"name"` ParentID *uuid.UUID `json:"parent_id"` IsDefault *bool `json:"is_default"` CreatedBy uuid.UUID `json:"created_by"` UpdatedBy *uuid.UUID `json:"updated_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt pgtype.Timestamptz `json:"deleted_at"` }
type ConvertAmountParams ¶
type CreateAccountParams ¶
type CreateAccountParams struct { CreatedBy *uuid.UUID `json:"created_by"` Name string `json:"name"` Type interface{} `json:"type"` Subtype *string `json:"subtype"` Balance pgtype.Numeric `json:"balance"` Currency string `json:"currency"` Color interface{} `json:"color"` Meta []byte `json:"meta"` ConnectionID *uuid.UUID `json:"connection_id"` IsExternal *bool `json:"is_external"` ProviderAccountID *string `json:"provider_account_id"` ProviderName *string `json:"provider_name"` }
type CreateCategoryParams ¶
type CreateConnectionParams ¶
type CreateConnectionParams struct { UserID *uuid.UUID `json:"user_id"` ProviderName *string `json:"provider_name"` AccessTokenEncrypted *string `json:"access_token_encrypted"` ItemID *string `json:"item_id"` InstitutionID *string `json:"institution_id"` InstitutionName *string `json:"institution_name"` ProviderAccountID *string `json:"provider_account_id"` Status *string `json:"status"` LastSyncAt pgtype.Timestamptz `json:"last_sync_at"` ExpiresAt pgtype.Timestamptz `json:"expires_at"` }
type CreateTagParams ¶
type CreateTransactionParams ¶
type CreateTransactionParams struct { Amount pgtype.Numeric `json:"amount"` Type string `json:"type"` AccountID uuid.UUID `json:"account_id"` DestinationAccountID *uuid.UUID `json:"destination_account_id"` CategoryID uuid.UUID `json:"category_id"` Description *string `json:"description"` TransactionDatetime pgtype.Timestamptz `json:"transaction_datetime"` Details dto.Details `json:"details"` ProviderTransactionID *string `json:"provider_transaction_id"` IsExternal *bool `json:"is_external"` CreatedBy *uuid.UUID `json:"created_by"` }
type CreateUserParams ¶
type DBTX ¶
type DBTX interface { Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error) Query(context.Context, string, ...interface{}) (pgx.Rows, error) QueryRow(context.Context, string, ...interface{}) pgx.Row CopyFrom(ctx context.Context, tableName pgx.Identifier, columnNames []string, rowSrc pgx.CopyFromSource) (int64, error) }
type DeleteConnectionParams ¶
type DeleteTagParams ¶
type ExchangeRate ¶
type FinancialSyncJob ¶
type FinancialSyncJob struct { ID uuid.UUID `json:"id"` UserID uuid.UUID `json:"user_id"` ConnectionID uuid.UUID `json:"connection_id"` ProviderName string `json:"provider_name"` JobType string `json:"job_type"` Status string `json:"status"` StartedAt pgtype.Timestamptz `json:"started_at"` CompletedAt pgtype.Timestamptz `json:"completed_at"` ErrorMessage *string `json:"error_message"` AccountsSynced *int32 `json:"accounts_synced"` TransactionsSynced *int32 `json:"transactions_synced"` CreatedAt time.Time `json:"created_at"` }
type GetAccountByIdRow ¶
type GetAccountByIdRow struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Type ACCOUNTTYPE `json:"type"` Subtype *string `json:"subtype"` Balance pgtype.Numeric `json:"balance"` Currency string `json:"currency"` Meta []byte `json:"meta"` Color COLORENUM `json:"color"` CreatedBy *uuid.UUID `json:"created_by"` UpdatedAt time.Time `json:"updated_at"` ConnectionID *uuid.UUID `json:"connection_id"` }
type GetAccountByProviderAccountIDRow ¶
type GetAccountByProviderAccountIDRow struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Type ACCOUNTTYPE `json:"type"` Subtype *string `json:"subtype"` Balance pgtype.Numeric `json:"balance"` Currency string `json:"currency"` Color COLORENUM `json:"color"` Meta []byte `json:"meta"` CreatedBy *uuid.UUID `json:"created_by"` UpdatedAt time.Time `json:"updated_at"` ConnectionID *uuid.UUID `json:"connection_id"` ProviderName *string `json:"provider_name"` ProviderAccountID *string `json:"provider_account_id"` }
type GetAccountsByConnectionIDRow ¶
type GetAccountsByConnectionIDRow struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Type ACCOUNTTYPE `json:"type"` Subtype *string `json:"subtype"` Balance pgtype.Numeric `json:"balance"` Currency string `json:"currency"` Color COLORENUM `json:"color"` Meta []byte `json:"meta"` CreatedBy *uuid.UUID `json:"created_by"` UpdatedAt time.Time `json:"updated_at"` ConnectionID *uuid.UUID `json:"connection_id"` ProviderName *string `json:"provider_name"` ProviderAccountID *string `json:"provider_account_id"` }
type GetAccountsRow ¶
type GetAccountsRow struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Type ACCOUNTTYPE `json:"type"` Subtype *string `json:"subtype"` Balance pgtype.Numeric `json:"balance"` Currency string `json:"currency"` Color COLORENUM `json:"color"` Meta []byte `json:"meta"` UpdatedAt time.Time `json:"updated_at"` ConnectionID *uuid.UUID `json:"connection_id"` }
type GetAccountsWithTrendRow ¶
type GetAccountsWithTrendRow struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Type ACCOUNTTYPE `json:"type"` Subtype *string `json:"subtype"` Balance pgtype.Numeric `json:"balance"` Currency string `json:"currency"` Color COLORENUM `json:"color"` Meta []byte `json:"meta"` UpdatedAt time.Time `json:"updated_at"` Trend pgtype.Numeric `json:"trend"` BalanceTimeseries []byte `json:"balance_timeseries"` }
type GetCategorySpendingParams ¶
type GetCategorySpendingParams struct { UserID *uuid.UUID `json:"user_id"` StartDate pgtype.Timestamptz `json:"start_date"` EndDate pgtype.Timestamptz `json:"end_date"` }
type GetCategorySpendingRow ¶
type GetExchangeRateParams ¶
type GetLinkedAccountsRow ¶
type GetPreferencesByUserIdRow ¶
type GetPreferencesByUserIdRow struct { ID uuid.UUID `json:"id"` Locale string `json:"locale"` Theme string `json:"theme"` Timezone string `json:"timezone"` TimeFormat string `json:"time_format"` DateFormat string `json:"date_format"` Currency string `json:"currency"` StartWeekOnMonday bool `json:"start_week_on_monday"` DarkSidebar bool `json:"dark_sidebar"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type GetRefreshTokenParams ¶
type GetRefreshTokenRow ¶
type GetSessionsRow ¶
type GetSessionsRow struct { ID uuid.UUID `json:"id"` LastUsedAt time.Time `json:"last_used_at"` UserAgent *string `json:"user_agent"` IpAddress *string `json:"ip_address"` Location *string `json:"location"` BrowserName *string `json:"browser_name"` DeviceName *string `json:"device_name"` OsName *string `json:"os_name"` }
type GetTagByIdRow ¶
type GetTagsByUserIdRow ¶
type GetTransactionStatsRow ¶
type GetTransactionWithCurrencyRow ¶
type GetTransactionWithCurrencyRow struct { ID uuid.UUID `json:"id"` Amount pgtype.Numeric `json:"amount"` Type string `json:"type"` AccountID uuid.UUID `json:"account_id"` CategoryID uuid.UUID `json:"category_id"` DestinationAccountID *uuid.UUID `json:"destination_account_id"` TransactionDatetime time.Time `json:"transaction_datetime"` Description *string `json:"description"` Details dto.Details `json:"details"` CreatedBy *uuid.UUID `json:"created_by"` UpdatedBy *uuid.UUID `json:"updated_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt pgtype.Timestamptz `json:"deleted_at"` IsExternal *bool `json:"is_external"` ProviderTransactionID *string `json:"provider_transaction_id"` TransactionCurrency string `json:"transaction_currency"` OriginalAmount pgtype.Numeric `json:"original_amount"` ExchangeRate pgtype.Numeric `json:"exchange_rate"` ExchangeRateDate pgtype.Date `json:"exchange_rate_date"` AccountCurrency string `json:"account_currency"` DisplayAmount pgtype.Numeric `json:"display_amount"` }
type GetUserByEmailRow ¶
type GetUserByEmailRow struct { ID uuid.UUID `json:"id"` Email string `json:"email"` FirstName *string `json:"first_name"` LastName *string `json:"last_name"` Password *string `json:"password"` AvatarUrl *string `json:"avatar_url"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type GetUserByIdRow ¶
type GetUserByIdRow struct { ID uuid.UUID `json:"id"` Email string `json:"email"` FirstName *string `json:"first_name"` LastName *string `json:"last_name"` Password *string `json:"password"` AvatarUrl *string `json:"avatar_url"` MfaEnabled bool `json:"mfa_enabled"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type LinkedAccount ¶
type ListConnectionsParams ¶
type ListPreferencesParams ¶
type ListPreferencesRow ¶
type ListTagsParams ¶
type ListTagsRow ¶
type ListTransactionsParams ¶
type ListTransactionsRow ¶
type ListTransactionsRow struct { ID uuid.UUID `json:"id"` Amount pgtype.Numeric `json:"amount"` Type string `json:"type"` DestinationAccountID *uuid.UUID `json:"destination_account_id"` TransactionDatetime time.Time `json:"transaction_datetime"` Description *string `json:"description"` Details dto.Details `json:"details"` UpdatedAt time.Time `json:"updated_at"` Category Category `json:"category"` Account Account `json:"account"` }
type ListUsersParams ¶
type ListUsersRow ¶
type ListUsersRow struct { ID uuid.UUID `json:"id"` Email string `json:"email"` FirstName *string `json:"first_name"` LastName *string `json:"last_name"` AvatarUrl *string `json:"avatar_url"` Password *string `json:"password"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type NullACCOUNTTYPE ¶
type NullACCOUNTTYPE struct { ACCOUNTTYPE ACCOUNTTYPE `json:"ACCOUNT_TYPE"` Valid bool `json:"valid"` // Valid is true if ACCOUNTTYPE is not NULL }
func (*NullACCOUNTTYPE) Scan ¶
func (ns *NullACCOUNTTYPE) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullCOLORENUM ¶
type NullCOLORENUM struct { COLORENUM COLORENUM `json:"COLOR_ENUM"` Valid bool `json:"valid"` // Valid is true if COLORENUM is not NULL }
func (*NullCOLORENUM) Scan ¶
func (ns *NullCOLORENUM) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullRiverJobState ¶
type NullRiverJobState struct { RiverJobState RiverJobState `json:"river_job_state"` Valid bool `json:"valid"` // Valid is true if RiverJobState is not NULL }
func (*NullRiverJobState) Scan ¶
func (ns *NullRiverJobState) Scan(value interface{}) error
Scan implements the Scanner interface.
type Preference ¶
type Preference struct { ID uuid.UUID `json:"id"` UserID uuid.UUID `json:"user_id"` Locale string `json:"locale"` Theme string `json:"theme"` Currency string `json:"currency"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt pgtype.Timestamptz `json:"deleted_at"` Timezone string `json:"timezone"` TimeFormat string `json:"time_format"` DateFormat string `json:"date_format"` StartWeekOnMonday bool `json:"start_week_on_monday"` DarkSidebar bool `json:"dark_sidebar"` }
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) AddLinkedAccount ¶
func (q *Queries) AddLinkedAccount(ctx context.Context, arg AddLinkedAccountParams) error
func (*Queries) BatchCreateAccount ¶
func (*Queries) BatchCreateTransaction ¶
func (*Queries) CleanupOldWebhookEvents ¶
func (*Queries) ConvertAmount ¶
func (*Queries) CreateAccount ¶
func (*Queries) CreateCategory ¶
func (*Queries) CreateConnection ¶
func (q *Queries) CreateConnection(ctx context.Context, arg CreateConnectionParams) (UserFinancialConnection, error)
func (*Queries) CreateDefaultCategories ¶
func (*Queries) CreateDefaultPreferences ¶
func (*Queries) CreateTransaction ¶
func (q *Queries) CreateTransaction(ctx context.Context, arg CreateTransactionParams) (Transaction, error)
func (*Queries) CreateUser ¶
func (*Queries) CreateWebhookEvent ¶
func (q *Queries) CreateWebhookEvent(ctx context.Context, arg CreateWebhookEventParams) (WebhookEvent, error)
func (*Queries) CreateWebhookSubscription ¶
func (q *Queries) CreateWebhookSubscription(ctx context.Context, arg CreateWebhookSubscriptionParams) (WebhookSubscription, error)
func (*Queries) DeleteAccount ¶
func (*Queries) DeleteCategory ¶
func (*Queries) DeleteConnection ¶
func (q *Queries) DeleteConnection(ctx context.Context, arg DeleteConnectionParams) error
func (*Queries) DeleteExpiredTokens ¶
func (*Queries) DeleteLinkedAccount ¶
func (q *Queries) DeleteLinkedAccount(ctx context.Context, arg DeleteLinkedAccountParams) error
func (*Queries) DeletePreferences ¶
func (*Queries) DeleteTag ¶
func (q *Queries) DeleteTag(ctx context.Context, arg DeleteTagParams) error
func (*Queries) DeleteTransaction ¶
func (*Queries) DeleteUserToken ¶
func (*Queries) DeleteWebhookEvent ¶
func (*Queries) DeleteWebhookSubscription ¶
func (q *Queries) DeleteWebhookSubscription(ctx context.Context, arg DeleteWebhookSubscriptionParams) error
func (*Queries) ExchangeRateExistsForDate ¶
func (*Queries) GetAccountBalanceTimeline ¶
func (q *Queries) GetAccountBalanceTimeline(ctx context.Context, id uuid.UUID) ([]GetAccountBalanceTimelineRow, error)
Changed to :many as it returns multiple rows (one per month)
func (*Queries) GetAccountById ¶
func (*Queries) GetAccountByProviderAccountID ¶
func (q *Queries) GetAccountByProviderAccountID(ctx context.Context, arg GetAccountByProviderAccountIDParams) (GetAccountByProviderAccountIDRow, error)
Or other desired order
func (*Queries) GetAccountCurrency ¶
func (*Queries) GetAccounts ¶
func (*Queries) GetAccountsBalanceTimeline ¶
func (q *Queries) GetAccountsBalanceTimeline(ctx context.Context, userID *uuid.UUID) ([]GetAccountsBalanceTimelineRow, error)
Get all transactions for each account to understand what data we have Calculate transactions that happened before our timeline period Calculate transactions within our timeline period Determine the correct initial balance for the start of our timeline Monthly transaction aggregation within our timeline Combine everything: accounts, months, and their balances Calculate running balances Final aggregation: Sum all account balances per month
func (*Queries) GetAccountsByConnectionID ¶
func (q *Queries) GetAccountsByConnectionID(ctx context.Context, arg GetAccountsByConnectionIDParams) ([]GetAccountsByConnectionIDRow, error)
func (*Queries) GetAccountsWithTrend ¶
func (q *Queries) GetAccountsWithTrend(ctx context.Context, arg GetAccountsWithTrendParams) ([]GetAccountsWithTrendRow, error)
Final query joining trend with last 3 transactions
func (*Queries) GetCategoryById ¶
func (*Queries) GetCategoryByName ¶
func (*Queries) GetCategorySpending ¶
func (q *Queries) GetCategorySpending(ctx context.Context, arg GetCategorySpendingParams) ([]GetCategorySpendingRow, error)
func (*Queries) GetConnectionByID ¶
func (*Queries) GetConnectionByProviderItemID ¶
func (q *Queries) GetConnectionByProviderItemID(ctx context.Context, arg GetConnectionByProviderItemIDParams) (UserFinancialConnection, error)
func (*Queries) GetConnectionsByUserID ¶
func (*Queries) GetCurrencies ¶
func (*Queries) GetDefaultCategories ¶
func (*Queries) GetExchangeRate ¶
func (*Queries) GetExchangeRatesForDate ¶
func (*Queries) GetLatestExchangeRate ¶
func (q *Queries) GetLatestExchangeRate(ctx context.Context, arg GetLatestExchangeRateParams) (GetLatestExchangeRateRow, error)
func (*Queries) GetLinkedAccounts ¶
func (*Queries) GetMFASecret ¶
func (*Queries) GetPendingWebhookEvents ¶
func (*Queries) GetPreferencesByUserId ¶
func (*Queries) GetRefreshToken ¶
func (q *Queries) GetRefreshToken(ctx context.Context, arg GetRefreshTokenParams) (GetRefreshTokenRow, error)
func (*Queries) GetSessions ¶
func (*Queries) GetTagById ¶
func (*Queries) GetTagsByUserId ¶
func (*Queries) GetTransactionById ¶
func (*Queries) GetTransactionStats ¶
func (q *Queries) GetTransactionStats(ctx context.Context, arg GetTransactionStatsParams) (GetTransactionStatsRow, error)
func (*Queries) GetTransactionWithCurrency ¶
func (*Queries) GetUserByEmail ¶
func (*Queries) GetUserById ¶
func (*Queries) GetUserNetWorthInBaseCurrency ¶
func (*Queries) GetWebhookEventById ¶
func (*Queries) GetWebhookEventsBySubscriptionId ¶
func (*Queries) GetWebhookSubscriptionById ¶
func (*Queries) GetWebhookSubscriptionsByEvent ¶
func (*Queries) GetWebhookSubscriptionsByUserId ¶
func (*Queries) HasPasswordAuth ¶
func (*Queries) IsMFAEnabled ¶
func (*Queries) ListCategories ¶
func (*Queries) ListChildCategories ¶
func (*Queries) ListConnections ¶
func (q *Queries) ListConnections(ctx context.Context, arg ListConnectionsParams) ([]UserFinancialConnection, error)
func (*Queries) ListPreferences ¶
func (q *Queries) ListPreferences(ctx context.Context, arg ListPreferencesParams) ([]ListPreferencesRow, error)
func (*Queries) ListTags ¶
func (q *Queries) ListTags(ctx context.Context, arg ListTagsParams) ([]ListTagsRow, error)
func (*Queries) ListTransactions ¶
func (q *Queries) ListTransactions(ctx context.Context, arg ListTransactionsParams) ([]ListTransactionsRow, error)
func (*Queries) ListTransactionsByAccount ¶
func (q *Queries) ListTransactionsByAccount(ctx context.Context, accountID uuid.UUID) ([]Transaction, error)
SELECT FROM transactions JOIN categories ON transactions.category_id = categories.id JOIN accounts ON transactions.account_id = accounts.id LEFT JOIN accounts ON transactions.destination_account_id = accounts.id WHERE
transactions.created_by = sqlc.arg('user_id') AND transactions.deleted_at IS NULL
ORDER BY transactions.transaction_datetime DESC;
func (*Queries) ListTransactionsByCategory ¶
func (*Queries) ListTransactionsByDateRange ¶
func (q *Queries) ListTransactionsByDateRange(ctx context.Context, arg ListTransactionsByDateRangeParams) ([]Transaction, error)
func (*Queries) ListUsers ¶
func (q *Queries) ListUsers(ctx context.Context, arg ListUsersParams) ([]ListUsersRow, error)
func (*Queries) ListWebhookSubscriptions ¶
func (q *Queries) ListWebhookSubscriptions(ctx context.Context, arg ListWebhookSubscriptionsParams) ([]ListWebhookSubscriptionsRow, error)
func (*Queries) RevokeSession ¶
func (*Queries) SaveUserToken ¶
func (q *Queries) SaveUserToken(ctx context.Context, arg SaveUserTokenParams) error
func (*Queries) SetConnectionErrorStatus ¶
func (q *Queries) SetConnectionErrorStatus(ctx context.Context, arg SetConnectionErrorStatusParams) (UserFinancialConnection, error)
func (*Queries) SetConnectionSyncStatus ¶
func (q *Queries) SetConnectionSyncStatus(ctx context.Context, arg SetConnectionSyncStatusParams) (UserFinancialConnection, error)
func (*Queries) StoreMFASecret ¶
func (q *Queries) StoreMFASecret(ctx context.Context, arg StoreMFASecretParams) error
func (*Queries) UpdateAccount ¶
func (*Queries) UpdateAccountBalance ¶
func (q *Queries) UpdateAccountBalance(ctx context.Context, arg UpdateAccountBalanceParams) error
func (*Queries) UpdateCategory ¶
func (*Queries) UpdateConnection ¶
func (q *Queries) UpdateConnection(ctx context.Context, arg UpdateConnectionParams) (UserFinancialConnection, error)
func (*Queries) UpdatePassword ¶
func (q *Queries) UpdatePassword(ctx context.Context, arg UpdatePasswordParams) error
func (*Queries) UpdatePreferences ¶
func (q *Queries) UpdatePreferences(ctx context.Context, arg UpdatePreferencesParams) (Preference, error)
func (*Queries) UpdateTokenTimeSTamp ¶
func (*Queries) UpdateTransaction ¶
func (q *Queries) UpdateTransaction(ctx context.Context, arg UpdateTransactionParams) (Transaction, error)
func (*Queries) UpdateUser ¶
func (*Queries) UpdateWebhookEventStatus ¶
func (q *Queries) UpdateWebhookEventStatus(ctx context.Context, arg UpdateWebhookEventStatusParams) (WebhookEvent, error)
func (*Queries) UpdateWebhookSubscription ¶
func (q *Queries) UpdateWebhookSubscription(ctx context.Context, arg UpdateWebhookSubscriptionParams) (WebhookSubscription, error)
func (*Queries) UpsertExchangeRate ¶
func (q *Queries) UpsertExchangeRate(ctx context.Context, arg UpsertExchangeRateParams) error
type RiverClient ¶
type RiverClientQueue ¶
type RiverClientQueue struct { RiverClientID string `json:"river_client_id"` Name string `json:"name"` CreatedAt time.Time `json:"created_at"` MaxWorkers int64 `json:"max_workers"` Metadata []byte `json:"metadata"` NumJobsCompleted int64 `json:"num_jobs_completed"` NumJobsRunning int64 `json:"num_jobs_running"` UpdatedAt time.Time `json:"updated_at"` }
type RiverJob ¶
type RiverJob struct { ID int64 `json:"id"` State RiverJobState `json:"state"` Attempt int16 `json:"attempt"` MaxAttempts int16 `json:"max_attempts"` AttemptedAt pgtype.Timestamptz `json:"attempted_at"` CreatedAt time.Time `json:"created_at"` FinalizedAt pgtype.Timestamptz `json:"finalized_at"` ScheduledAt time.Time `json:"scheduled_at"` Priority int16 `json:"priority"` Args []byte `json:"args"` AttemptedBy []string `json:"attempted_by"` Errors [][]byte `json:"errors"` Kind string `json:"kind"` Metadata []byte `json:"metadata"` Queue string `json:"queue"` Tags []string `json:"tags"` UniqueKey []byte `json:"unique_key"` UniqueStates pgtype.Bits `json:"unique_states"` }
type RiverJobState ¶
type RiverJobState string
const ( RiverJobStateAvailable RiverJobState = "available" RiverJobStateCancelled RiverJobState = "cancelled" RiverJobStateCompleted RiverJobState = "completed" RiverJobStateDiscarded RiverJobState = "discarded" RiverJobStatePending RiverJobState = "pending" RiverJobStateRetryable RiverJobState = "retryable" RiverJobStateRunning RiverJobState = "running" RiverJobStateScheduled RiverJobState = "scheduled" )
func (*RiverJobState) Scan ¶
func (e *RiverJobState) Scan(src interface{}) error
func (RiverJobState) Valid ¶
func (e RiverJobState) Valid() bool
type RiverLeader ¶
type RiverQueue ¶
type SaveUserTokenParams ¶
type SaveUserTokenParams struct { UserID uuid.UUID `json:"user_id"` RefreshToken string `json:"refresh_token"` ExpiresAt pgtype.Timestamptz `json:"expires_at"` UserAgent *string `json:"user_agent"` IpAddress *string `json:"ip_address"` Location *string `json:"location"` BrowserName *string `json:"browser_name"` DeviceName *string `json:"device_name"` OsName *string `json:"os_name"` }
type StoreMFASecretParams ¶
type Transaction ¶
type Transaction struct { ID uuid.UUID `json:"id"` Amount pgtype.Numeric `json:"amount"` Type string `json:"type"` AccountID uuid.UUID `json:"account_id"` CategoryID uuid.UUID `json:"category_id"` DestinationAccountID *uuid.UUID `json:"destination_account_id"` TransactionDatetime time.Time `json:"transaction_datetime"` Description *string `json:"description"` Details dto.Details `json:"details"` CreatedBy *uuid.UUID `json:"created_by"` UpdatedBy *uuid.UUID `json:"updated_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt pgtype.Timestamptz `json:"deleted_at"` IsExternal *bool `json:"is_external"` ProviderTransactionID *string `json:"provider_transaction_id"` TransactionCurrency string `json:"transaction_currency"` OriginalAmount pgtype.Numeric `json:"original_amount"` ExchangeRate pgtype.Numeric `json:"exchange_rate"` ExchangeRateDate pgtype.Date `json:"exchange_rate_date"` }
type UpdateAccountParams ¶
type UpdateAccountParams struct { Name *string `json:"name"` Type interface{} `json:"type"` Subtype *string `json:"subtype"` Balance pgtype.Numeric `json:"balance"` Currency *string `json:"currency"` Color interface{} `json:"color"` Meta []byte `json:"meta"` UpdatedBy *uuid.UUID `json:"updated_by"` ID uuid.UUID `json:"id"` }
type UpdateCategoryParams ¶
type UpdateConnectionParams ¶
type UpdateConnectionParams struct { AccessTokenEncrypted *string `json:"access_token_encrypted"` ItemID *string `json:"item_id"` InstitutionID *string `json:"institution_id"` InstitutionName *string `json:"institution_name"` ProviderAccountID *string `json:"provider_account_id"` Status *string `json:"status"` LastSyncAt pgtype.Timestamptz `json:"last_sync_at"` ExpiresAt pgtype.Timestamptz `json:"expires_at"` ID *uuid.UUID `json:"id"` UserID *uuid.UUID `json:"user_id"` }
type UpdatePasswordParams ¶
type UpdatePreferencesParams ¶
type UpdatePreferencesParams struct { Locale *string `json:"locale"` Theme *string `json:"theme"` Currency *string `json:"currency"` Timezone *string `json:"timezone"` TimeFormat *string `json:"time_format"` DateFormat *string `json:"date_format"` StartWeekOnMonday *bool `json:"start_week_on_monday"` DarkSidebar *bool `json:"dark_sidebar"` UserID uuid.UUID `json:"user_id"` }
type UpdateTagParams ¶
type UpdateTransactionParams ¶
type UpdateTransactionParams struct { Amount pgtype.Numeric `json:"amount"` Type *string `json:"type"` AccountID *uuid.UUID `json:"account_id"` CategoryID *uuid.UUID `json:"category_id"` Description *string `json:"description"` TransactionDatetime pgtype.Timestamptz `json:"transaction_datetime"` Details dto.Details `json:"details"` UpdatedBy *uuid.UUID `json:"updated_by"` ID uuid.UUID `json:"id"` }
type UpdateUserParams ¶
type User ¶
type User struct { ID uuid.UUID `json:"id"` Email string `json:"email"` FirstName *string `json:"first_name"` LastName *string `json:"last_name"` Password *string `json:"password"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt pgtype.Timestamptz `json:"deleted_at"` AvatarUrl *string `json:"avatar_url"` MfaSecret []byte `json:"mfa_secret"` MfaEnabled bool `json:"mfa_enabled"` MfaVerifiedAt pgtype.Timestamptz `json:"mfa_verified_at"` }
type UserFinancialConnection ¶
type UserFinancialConnection struct { ID uuid.UUID `json:"id"` UserID uuid.UUID `json:"user_id"` ProviderName string `json:"provider_name"` AccessTokenEncrypted string `json:"access_token_encrypted"` ItemID *string `json:"item_id"` InstitutionID *string `json:"institution_id"` InstitutionName *string `json:"institution_name"` Status *string `json:"status"` LastSyncAt pgtype.Timestamptz `json:"last_sync_at"` ExpiresAt pgtype.Timestamptz `json:"expires_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type UserToken ¶
type UserToken struct { ID uuid.UUID `json:"id"` UserID uuid.UUID `json:"user_id"` RefreshToken string `json:"refresh_token"` ExpiresAt time.Time `json:"expires_at"` LastUsedAt time.Time `json:"last_used_at"` UserAgent *string `json:"user_agent"` IpAddress *string `json:"ip_address"` IsCurrent *bool `json:"is_current"` CreatedAt pgtype.Timestamptz `json:"created_at"` Location *string `json:"location"` BrowserName *string `json:"browser_name"` DeviceName *string `json:"device_name"` OsName *string `json:"os_name"` Revoked *bool `json:"revoked"` }
type WebhookEvent ¶
type WebhookEvent struct { ID uuid.UUID `json:"id"` SubscriptionID uuid.UUID `json:"subscription_id"` EventType string `json:"event_type"` Payload []byte `json:"payload"` Status *string `json:"status"` Attempts *int32 `json:"attempts"` LastAttempt pgtype.Timestamp `json:"last_attempt"` CreatedAt pgtype.Timestamp `json:"created_at"` }