Documentation ¶
Overview ¶
Package storage provides datasource functionality.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrAddressIsTaken = fmt.Errorf("address is taken")
ErrAddressIsTaken ...
View Source
var ErrNotFound = fmt.Errorf("not found")
ErrNotFound ...
View Source
var ErrReferralCodeNotFound = fmt.Errorf("referral code not found")
ErrReferralCodeNotFound ...
View Source
var ErrReferralTrackingExists = fmt.Errorf("referral tracking exists")
ErrReferralTrackingExists ...
Functions ¶
This section is empty.
Types ¶
type DLoan ¶ added in v1.5.0
type DLoan struct { ID int `db:"id"` FirstName string `db:"first_name"` LastName string `db:"last_name"` Address string `db:"address"` PDV float64 `db:"pdv"` CreatedAt time.Time `db:"created_at"` }
DLoan ...
type ReferralStatus ¶ added in v1.1.0
type ReferralStatus string
ReferralStatus represents a referral workflow status: registered -> installed -> confirmed.
const ( // RegisteredReferralStatus means the receiver registered with the sender referral code. RegisteredReferralStatus ReferralStatus = "registered" // InstalledReferralStatus means the receiver installed the Browser and restored the account with their seed. InstalledReferralStatus ReferralStatus = "installed" // ConfirmedReferralStatus means the reward has been sent to the sender and receiver. ConfirmedReferralStatus ReferralStatus = "confirmed" )
type ReferralTracking ¶ added in v1.1.0
type ReferralTracking struct { Sender string `db:"sender"` Receiver string `db:"receiver"` Status ReferralStatus `db:"status"` RegisteredAt time.Time `db:"registered_at"` InstalledAt sql.NullTime `db:"installed_at"` ConfirmedAt sql.NullTime `db:"confirmed_at"` SenderReward sql.NullInt32 `db:"sender_reward"` ReceiverReward sql.NullInt32 `db:"receiver_reward"` }
ReferralTracking ...
type ReferralTrackingStats ¶ added in v1.1.0
type ReferralTrackingStats struct { Registered int `db:"registered"` Installed int `db:"installed"` Confirmed int `db:"confirmed"` Reward sdk.Int `db:"reward"` }
ReferralTrackingStats ...
type RegisterStats ¶ added in v1.1.0
RegisterStats ...
type Request ¶
type Request struct { Owner string `db:"owner"` Email string `db:"email"` Address string `db:"address"` Code string `db:"code"` CreatedAt time.Time `db:"created_at"` ConfirmedAt sql.NullTime `db:"confirmed_at"` OwnReferralCode string `db:"own_referral_code"` RegistrationReferralCode sql.NullString `db:"registration_referral_code"` ReferralBanned bool `db:"referral_banned"` }
Request ...
type Storage ¶
type Storage interface { // InTx runs code in transaction InTx(ctx context.Context, f func(s Storage) error) error // GetConfirmedRegistrationsTotal return a total number of all confirmed accounts (requests) GetConfirmedRegistrationsTotal(ctx context.Context) (int, error) // GetConfirmedRegistrationsStats return confirmed accounts stats for the last 30 days GetConfirmedRegistrationsStats(ctx context.Context) ([]*RegisterStats, error) // GetRequestByOwner returns request by owner. GetRequestByOwner(ctx context.Context, owner string) (*Request, error) // GetRequestByOwnReferralCode returns request by referral code. GetRequestByOwnReferralCode(ctx context.Context, ownReferralCode string) (*Request, error) // GetRequestByAddress returns request by address. GetRequestByAddress(ctx context.Context, address string) (*Request, error) // SetConfirmed sets request confirmed. SetConfirmed(ctx context.Context, owner string) error // CreateTestnetConfirmedRequest creates a confirmed request. Must be used only in Testnet. CreateTestnetConfirmedRequest(ctx context.Context, address string) error // UpsertRequest inserts request into storage. UpsertRequest(ctx context.Context, owner, email, address, code string, referralCode sql.NullString) error // CreateReferralTracking creates a new referral tracking CreateReferralTracking(ctx context.Context, receiver string, referralCode string) error // TransitionReferralTrackingToInstalled transitions referral tracking of the given referral code receiver as installed TransitionReferralTrackingToInstalled(ctx context.Context, receiver string) error // TransitionReferralTrackingToConfirmed transitions referral tracking as confirmed TransitionReferralTrackingToConfirmed(ctx context.Context, receiver string, senderReward, receiverReward sdk.Int) error // GetReferralTrackingByReceiver returns referral tracking by the given receiver address GetReferralTrackingByReceiver(ctx context.Context, receiver string) (*ReferralTracking, error) // GetReferralTrackingStats returns referral tracking stats: total + 30 last days GetReferralTrackingStats(ctx context.Context, sender string) ([]*ReferralTrackingStats, error) // GetUnconfirmedReferralTracking returns referral tracking installed more than given days ago GetUnconfirmedReferralTracking(ctx context.Context, days int) ([]*ReferralTracking, error) // GetConfirmedReferralTrackingCount returns count of confirmed referrals GetConfirmedReferralTrackingCount(ctx context.Context, sender string) (int, error) // DoesEmailHaveFraudDomain checks if the given email has fraud domain DoesEmailHaveFraudDomain(ctx context.Context, email string) (bool, error) // CreateDLoan creates a dLoan. CreateDLoan(ctx context.Context, address, firstName, lastName string, pdv float64) error // GetDLoans returns a list of DLoans. GetDLoans(ctx context.Context, take, skip int) ([]*DLoan, error) }
Storage provides methods for interacting with database.
Click to show internal directories.
Click to hide internal directories.