Manual review
This commit is contained in:
@@ -82,25 +82,25 @@ type Store interface {
|
|||||||
// storeQueries holds the database-specific SQL queries
|
// storeQueries holds the database-specific SQL queries
|
||||||
type storeQueries struct {
|
type storeQueries struct {
|
||||||
// User queries
|
// User queries
|
||||||
selectUserByID string
|
selectUserByID string
|
||||||
selectUserByName string
|
selectUserByName string
|
||||||
selectUserByToken string
|
selectUserByToken string
|
||||||
selectUserByStripeID string
|
selectUserByStripeCustomerID string
|
||||||
selectUsernames string
|
selectUsernames string
|
||||||
selectUserCount string
|
selectUserCount string
|
||||||
selectUserIDFromUsername string
|
selectUserIDFromUsername string
|
||||||
insertUser string
|
insertUser string
|
||||||
updateUserPass string
|
updateUserPass string
|
||||||
updateUserRole string
|
updateUserRole string
|
||||||
updateUserProvisioned string
|
updateUserProvisioned string
|
||||||
updateUserPrefs string
|
updateUserPrefs string
|
||||||
updateUserStats string
|
updateUserStats string
|
||||||
updateUserStatsResetAll string
|
updateUserStatsResetAll string
|
||||||
updateUserTier string
|
updateUserTier string
|
||||||
updateUserDeleted string
|
updateUserDeleted string
|
||||||
deleteUser string
|
deleteUser string
|
||||||
deleteUserTier string
|
deleteUserTier string
|
||||||
deleteUsersMarked string
|
deleteUsersMarked string
|
||||||
// Access queries
|
// Access queries
|
||||||
selectTopicPerms string
|
selectTopicPerms string
|
||||||
selectUserAllAccess string
|
selectUserAllAccess string
|
||||||
@@ -179,7 +179,7 @@ func (s *commonStore) UserByToken(token string) (*User, error) {
|
|||||||
|
|
||||||
// UserByStripeCustomer returns the user with the given Stripe customer ID if it exists, or ErrUserNotFound otherwise
|
// UserByStripeCustomer returns the user with the given Stripe customer ID if it exists, or ErrUserNotFound otherwise
|
||||||
func (s *commonStore) UserByStripeCustomer(customerID string) (*User, error) {
|
func (s *commonStore) UserByStripeCustomer(customerID string) (*User, error) {
|
||||||
rows, err := s.db.Query(s.queries.selectUserByStripeID, customerID)
|
rows, err := s.db.Query(s.queries.selectUserByStripeCustomerID, customerID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ const (
|
|||||||
LEFT JOIN tier t on t.id = u.tier_id
|
LEFT JOIN tier t on t.id = u.tier_id
|
||||||
WHERE tk.token = $1 AND (tk.expires = 0 OR tk.expires >= $2)
|
WHERE tk.token = $1 AND (tk.expires = 0 OR tk.expires >= $2)
|
||||||
`
|
`
|
||||||
postgresSelectUserByStripeIDQuery = `
|
postgresSelectUserByStripeCustomerIDQuery = `
|
||||||
SELECT u.id, u.user_name, u.pass, u.role, u.prefs, u.sync_topic, u.provisioned, u.stats_messages, u.stats_emails, u.stats_calls, u.stripe_customer_id, u.stripe_subscription_id, u.stripe_subscription_status, u.stripe_subscription_interval, u.stripe_subscription_paid_until, u.stripe_subscription_cancel_at, u.deleted, t.id, t.code, t.name, t.messages_limit, t.messages_expiry_duration, t.emails_limit, t.calls_limit, t.reservations_limit, t.attachment_file_size_limit, t.attachment_total_size_limit, t.attachment_expiry_duration, t.attachment_bandwidth_limit, t.stripe_monthly_price_id, t.stripe_yearly_price_id
|
SELECT u.id, u.user_name, u.pass, u.role, u.prefs, u.sync_topic, u.provisioned, u.stats_messages, u.stats_emails, u.stats_calls, u.stripe_customer_id, u.stripe_subscription_id, u.stripe_subscription_status, u.stripe_subscription_interval, u.stripe_subscription_paid_until, u.stripe_subscription_cancel_at, u.deleted, t.id, t.code, t.name, t.messages_limit, t.messages_expiry_duration, t.emails_limit, t.calls_limit, t.reservations_limit, t.attachment_file_size_limit, t.attachment_total_size_limit, t.attachment_expiry_duration, t.attachment_bandwidth_limit, t.stripe_monthly_price_id, t.stripe_yearly_price_id
|
||||||
FROM "user" u
|
FROM "user" u
|
||||||
LEFT JOIN tier t on t.id = u.tier_id
|
LEFT JOIN tier t on t.id = u.tier_id
|
||||||
@@ -120,7 +120,7 @@ const (
|
|||||||
$7
|
$7
|
||||||
)
|
)
|
||||||
ON CONFLICT (user_id, topic)
|
ON CONFLICT (user_id, topic)
|
||||||
DO UPDATE SET read=EXCLUDED.read, write=EXCLUDED.write, owner_user_id=EXCLUDED.owner_user_id, provisioned=EXCLUDED.provisioned
|
DO UPDATE SET read=excluded.read, write=excluded.write, owner_user_id=excluded.owner_user_id, provisioned=excluded.provisioned
|
||||||
`
|
`
|
||||||
postgresDeleteUserAccessQuery = `
|
postgresDeleteUserAccessQuery = `
|
||||||
DELETE FROM user_access
|
DELETE FROM user_access
|
||||||
@@ -144,7 +144,7 @@ const (
|
|||||||
INSERT INTO user_token (user_id, token, label, last_access, last_origin, expires, provisioned)
|
INSERT INTO user_token (user_id, token, label, last_access, last_origin, expires, provisioned)
|
||||||
VALUES ($1, $2, $3, $4, $5, $6, $7)
|
VALUES ($1, $2, $3, $4, $5, $6, $7)
|
||||||
ON CONFLICT (user_id, token)
|
ON CONFLICT (user_id, token)
|
||||||
DO UPDATE SET label = EXCLUDED.label, expires = EXCLUDED.expires, provisioned = EXCLUDED.provisioned
|
DO UPDATE SET label = excluded.label, expires = excluded.expires, provisioned = excluded.provisioned
|
||||||
`
|
`
|
||||||
postgresUpdateTokenLabelQuery = `UPDATE user_token SET label = $1 WHERE user_id = $2 AND token = $3`
|
postgresUpdateTokenLabelQuery = `UPDATE user_token SET label = $1 WHERE user_id = $2 AND token = $3`
|
||||||
postgresUpdateTokenExpiryQuery = `UPDATE user_token SET expires = $1 WHERE user_id = $2 AND token = $3`
|
postgresUpdateTokenExpiryQuery = `UPDATE user_token SET expires = $1 WHERE user_id = $2 AND token = $3`
|
||||||
@@ -213,25 +213,25 @@ func NewPostgresStore(db *sql.DB) (Store, error) {
|
|||||||
db: db,
|
db: db,
|
||||||
queries: storeQueries{
|
queries: storeQueries{
|
||||||
// User queries
|
// User queries
|
||||||
selectUserByID: postgresSelectUserByIDQuery,
|
selectUserByID: postgresSelectUserByIDQuery,
|
||||||
selectUserByName: postgresSelectUserByNameQuery,
|
selectUserByName: postgresSelectUserByNameQuery,
|
||||||
selectUserByToken: postgresSelectUserByTokenQuery,
|
selectUserByToken: postgresSelectUserByTokenQuery,
|
||||||
selectUserByStripeID: postgresSelectUserByStripeIDQuery,
|
selectUserByStripeCustomerID: postgresSelectUserByStripeCustomerIDQuery,
|
||||||
selectUsernames: postgresSelectUsernamesQuery,
|
selectUsernames: postgresSelectUsernamesQuery,
|
||||||
selectUserCount: postgresSelectUserCountQuery,
|
selectUserCount: postgresSelectUserCountQuery,
|
||||||
selectUserIDFromUsername: postgresSelectUserIDFromUsernameQuery,
|
selectUserIDFromUsername: postgresSelectUserIDFromUsernameQuery,
|
||||||
insertUser: postgresInsertUserQuery,
|
insertUser: postgresInsertUserQuery,
|
||||||
updateUserPass: postgresUpdateUserPassQuery,
|
updateUserPass: postgresUpdateUserPassQuery,
|
||||||
updateUserRole: postgresUpdateUserRoleQuery,
|
updateUserRole: postgresUpdateUserRoleQuery,
|
||||||
updateUserProvisioned: postgresUpdateUserProvisionedQuery,
|
updateUserProvisioned: postgresUpdateUserProvisionedQuery,
|
||||||
updateUserPrefs: postgresUpdateUserPrefsQuery,
|
updateUserPrefs: postgresUpdateUserPrefsQuery,
|
||||||
updateUserStats: postgresUpdateUserStatsQuery,
|
updateUserStats: postgresUpdateUserStatsQuery,
|
||||||
updateUserStatsResetAll: postgresUpdateUserStatsResetAllQuery,
|
updateUserStatsResetAll: postgresUpdateUserStatsResetAllQuery,
|
||||||
updateUserTier: postgresUpdateUserTierQuery,
|
updateUserTier: postgresUpdateUserTierQuery,
|
||||||
updateUserDeleted: postgresUpdateUserDeletedQuery,
|
updateUserDeleted: postgresUpdateUserDeletedQuery,
|
||||||
deleteUser: postgresDeleteUserQuery,
|
deleteUser: postgresDeleteUserQuery,
|
||||||
deleteUserTier: postgresDeleteUserTierQuery,
|
deleteUserTier: postgresDeleteUserTierQuery,
|
||||||
deleteUsersMarked: postgresDeleteUsersMarkedQuery,
|
deleteUsersMarked: postgresDeleteUsersMarkedQuery,
|
||||||
|
|
||||||
// Access queries
|
// Access queries
|
||||||
selectTopicPerms: postgresSelectTopicPermsQuery,
|
selectTopicPerms: postgresSelectTopicPermsQuery,
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ const (
|
|||||||
LEFT JOIN tier t on t.id = u.tier_id
|
LEFT JOIN tier t on t.id = u.tier_id
|
||||||
WHERE tk.token = ? AND (tk.expires = 0 OR tk.expires >= ?)
|
WHERE tk.token = ? AND (tk.expires = 0 OR tk.expires >= ?)
|
||||||
`
|
`
|
||||||
sqliteSelectUserByStripeIDQuery = `
|
sqliteSelectUserByStripeCustomerIDQuery = `
|
||||||
SELECT u.id, u.user, u.pass, u.role, u.prefs, u.sync_topic, u.provisioned, u.stats_messages, u.stats_emails, u.stats_calls, u.stripe_customer_id, u.stripe_subscription_id, u.stripe_subscription_status, u.stripe_subscription_interval, u.stripe_subscription_paid_until, u.stripe_subscription_cancel_at, deleted, t.id, t.code, t.name, t.messages_limit, t.messages_expiry_duration, t.emails_limit, t.calls_limit, t.reservations_limit, t.attachment_file_size_limit, t.attachment_total_size_limit, t.attachment_expiry_duration, t.attachment_bandwidth_limit, t.stripe_monthly_price_id, t.stripe_yearly_price_id
|
SELECT u.id, u.user, u.pass, u.role, u.prefs, u.sync_topic, u.provisioned, u.stats_messages, u.stats_emails, u.stats_calls, u.stripe_customer_id, u.stripe_subscription_id, u.stripe_subscription_status, u.stripe_subscription_interval, u.stripe_subscription_paid_until, u.stripe_subscription_cancel_at, deleted, t.id, t.code, t.name, t.messages_limit, t.messages_expiry_duration, t.emails_limit, t.calls_limit, t.reservations_limit, t.attachment_file_size_limit, t.attachment_total_size_limit, t.attachment_expiry_duration, t.attachment_bandwidth_limit, t.stripe_monthly_price_id, t.stripe_yearly_price_id
|
||||||
FROM user u
|
FROM user u
|
||||||
LEFT JOIN tier t on t.id = u.tier_id
|
LEFT JOIN tier t on t.id = u.tier_id
|
||||||
@@ -138,7 +138,7 @@ const (
|
|||||||
INSERT INTO user_token (user_id, token, label, last_access, last_origin, expires, provisioned)
|
INSERT INTO user_token (user_id, token, label, last_access, last_origin, expires, provisioned)
|
||||||
VALUES (?, ?, ?, ?, ?, ?, ?)
|
VALUES (?, ?, ?, ?, ?, ?, ?)
|
||||||
ON CONFLICT (user_id, token)
|
ON CONFLICT (user_id, token)
|
||||||
DO UPDATE SET label = excluded.label, expires = excluded.expires, provisioned = excluded.provisioned;
|
DO UPDATE SET label = excluded.label, expires = excluded.expires, provisioned = excluded.provisioned
|
||||||
`
|
`
|
||||||
sqliteUpdateTokenLabelQuery = `UPDATE user_token SET label = ? WHERE user_id = ? AND token = ?`
|
sqliteUpdateTokenLabelQuery = `UPDATE user_token SET label = ? WHERE user_id = ? AND token = ?`
|
||||||
sqliteUpdateTokenExpiryQuery = `UPDATE user_token SET expires = ? WHERE user_id = ? AND token = ?`
|
sqliteUpdateTokenExpiryQuery = `UPDATE user_token SET expires = ? WHERE user_id = ? AND token = ?`
|
||||||
@@ -213,61 +213,61 @@ func NewSQLiteStore(filename, startupQueries string) (Store, error) {
|
|||||||
return &commonStore{
|
return &commonStore{
|
||||||
db: db,
|
db: db,
|
||||||
queries: storeQueries{
|
queries: storeQueries{
|
||||||
selectUserByID: sqliteSelectUserByIDQuery,
|
selectUserByID: sqliteSelectUserByIDQuery,
|
||||||
selectUserByName: sqliteSelectUserByNameQuery,
|
selectUserByName: sqliteSelectUserByNameQuery,
|
||||||
selectUserByToken: sqliteSelectUserByTokenQuery,
|
selectUserByToken: sqliteSelectUserByTokenQuery,
|
||||||
selectUserByStripeID: sqliteSelectUserByStripeIDQuery,
|
selectUserByStripeCustomerID: sqliteSelectUserByStripeCustomerIDQuery,
|
||||||
selectUsernames: sqliteSelectUsernamesQuery,
|
selectUsernames: sqliteSelectUsernamesQuery,
|
||||||
selectUserCount: sqliteSelectUserCountQuery,
|
selectUserCount: sqliteSelectUserCountQuery,
|
||||||
selectUserIDFromUsername: sqliteSelectUserIDFromUsernameQuery,
|
selectUserIDFromUsername: sqliteSelectUserIDFromUsernameQuery,
|
||||||
insertUser: sqliteInsertUserQuery,
|
insertUser: sqliteInsertUserQuery,
|
||||||
updateUserPass: sqliteUpdateUserPassQuery,
|
updateUserPass: sqliteUpdateUserPassQuery,
|
||||||
updateUserRole: sqliteUpdateUserRoleQuery,
|
updateUserRole: sqliteUpdateUserRoleQuery,
|
||||||
updateUserProvisioned: sqliteUpdateUserProvisionedQuery,
|
updateUserProvisioned: sqliteUpdateUserProvisionedQuery,
|
||||||
updateUserPrefs: sqliteUpdateUserPrefsQuery,
|
updateUserPrefs: sqliteUpdateUserPrefsQuery,
|
||||||
updateUserStats: sqliteUpdateUserStatsQuery,
|
updateUserStats: sqliteUpdateUserStatsQuery,
|
||||||
updateUserStatsResetAll: sqliteUpdateUserStatsResetAllQuery,
|
updateUserStatsResetAll: sqliteUpdateUserStatsResetAllQuery,
|
||||||
updateUserTier: sqliteUpdateUserTierQuery,
|
updateUserTier: sqliteUpdateUserTierQuery,
|
||||||
updateUserDeleted: sqliteUpdateUserDeletedQuery,
|
updateUserDeleted: sqliteUpdateUserDeletedQuery,
|
||||||
deleteUser: sqliteDeleteUserQuery,
|
deleteUser: sqliteDeleteUserQuery,
|
||||||
deleteUserTier: sqliteDeleteUserTierQuery,
|
deleteUserTier: sqliteDeleteUserTierQuery,
|
||||||
deleteUsersMarked: sqliteDeleteUsersMarkedQuery,
|
deleteUsersMarked: sqliteDeleteUsersMarkedQuery,
|
||||||
selectTopicPerms: sqliteSelectTopicPermsQuery,
|
selectTopicPerms: sqliteSelectTopicPermsQuery,
|
||||||
selectUserAllAccess: sqliteSelectUserAllAccessQuery,
|
selectUserAllAccess: sqliteSelectUserAllAccessQuery,
|
||||||
selectUserAccess: sqliteSelectUserAccessQuery,
|
selectUserAccess: sqliteSelectUserAccessQuery,
|
||||||
selectUserReservations: sqliteSelectUserReservationsQuery,
|
selectUserReservations: sqliteSelectUserReservationsQuery,
|
||||||
selectUserReservationsCount: sqliteSelectUserReservationsCountQuery,
|
selectUserReservationsCount: sqliteSelectUserReservationsCountQuery,
|
||||||
selectUserReservationsOwner: sqliteSelectUserReservationsOwnerQuery,
|
selectUserReservationsOwner: sqliteSelectUserReservationsOwnerQuery,
|
||||||
selectUserHasReservation: sqliteSelectUserHasReservationQuery,
|
selectUserHasReservation: sqliteSelectUserHasReservationQuery,
|
||||||
selectOtherAccessCount: sqliteSelectOtherAccessCountQuery,
|
selectOtherAccessCount: sqliteSelectOtherAccessCountQuery,
|
||||||
upsertUserAccess: sqliteUpsertUserAccessQuery,
|
upsertUserAccess: sqliteUpsertUserAccessQuery,
|
||||||
deleteUserAccess: sqliteDeleteUserAccessQuery,
|
deleteUserAccess: sqliteDeleteUserAccessQuery,
|
||||||
deleteUserAccessProvisioned: sqliteDeleteUserAccessProvisionedQuery,
|
deleteUserAccessProvisioned: sqliteDeleteUserAccessProvisionedQuery,
|
||||||
deleteTopicAccess: sqliteDeleteTopicAccessQuery,
|
deleteTopicAccess: sqliteDeleteTopicAccessQuery,
|
||||||
deleteAllAccess: sqliteDeleteAllAccessQuery,
|
deleteAllAccess: sqliteDeleteAllAccessQuery,
|
||||||
selectToken: sqliteSelectTokenQuery,
|
selectToken: sqliteSelectTokenQuery,
|
||||||
selectTokens: sqliteSelectTokensQuery,
|
selectTokens: sqliteSelectTokensQuery,
|
||||||
selectTokenCount: sqliteSelectTokenCountQuery,
|
selectTokenCount: sqliteSelectTokenCountQuery,
|
||||||
selectAllProvisionedTokens: sqliteSelectAllProvisionedTokensQuery,
|
selectAllProvisionedTokens: sqliteSelectAllProvisionedTokensQuery,
|
||||||
upsertToken: sqliteUpsertTokenQuery,
|
upsertToken: sqliteUpsertTokenQuery,
|
||||||
updateTokenLabel: sqliteUpdateTokenLabelQuery,
|
updateTokenLabel: sqliteUpdateTokenLabelQuery,
|
||||||
updateTokenExpiry: sqliteUpdateTokenExpiryQuery,
|
updateTokenExpiry: sqliteUpdateTokenExpiryQuery,
|
||||||
updateTokenLastAccess: sqliteUpdateTokenLastAccessQuery,
|
updateTokenLastAccess: sqliteUpdateTokenLastAccessQuery,
|
||||||
deleteToken: sqliteDeleteTokenQuery,
|
deleteToken: sqliteDeleteTokenQuery,
|
||||||
deleteProvisionedToken: sqliteDeleteProvisionedTokenQuery,
|
deleteProvisionedToken: sqliteDeleteProvisionedTokenQuery,
|
||||||
deleteAllToken: sqliteDeleteAllTokenQuery,
|
deleteAllToken: sqliteDeleteAllTokenQuery,
|
||||||
deleteExpiredTokens: sqliteDeleteExpiredTokensQuery,
|
deleteExpiredTokens: sqliteDeleteExpiredTokensQuery,
|
||||||
deleteExcessTokens: sqliteDeleteExcessTokensQuery,
|
deleteExcessTokens: sqliteDeleteExcessTokensQuery,
|
||||||
insertTier: sqliteInsertTierQuery,
|
insertTier: sqliteInsertTierQuery,
|
||||||
selectTiers: sqliteSelectTiersQuery,
|
selectTiers: sqliteSelectTiersQuery,
|
||||||
selectTierByCode: sqliteSelectTierByCodeQuery,
|
selectTierByCode: sqliteSelectTierByCodeQuery,
|
||||||
selectTierByPriceID: sqliteSelectTierByPriceIDQuery,
|
selectTierByPriceID: sqliteSelectTierByPriceIDQuery,
|
||||||
updateTier: sqliteUpdateTierQuery,
|
updateTier: sqliteUpdateTierQuery,
|
||||||
deleteTier: sqliteDeleteTierQuery,
|
deleteTier: sqliteDeleteTierQuery,
|
||||||
selectPhoneNumbers: sqliteSelectPhoneNumbersQuery,
|
selectPhoneNumbers: sqliteSelectPhoneNumbersQuery,
|
||||||
insertPhoneNumber: sqliteInsertPhoneNumberQuery,
|
insertPhoneNumber: sqliteInsertPhoneNumberQuery,
|
||||||
deletePhoneNumber: sqliteDeletePhoneNumberQuery,
|
deletePhoneNumber: sqliteDeletePhoneNumberQuery,
|
||||||
updateBilling: sqliteUpdateBillingQuery,
|
updateBilling: sqliteUpdateBillingQuery,
|
||||||
},
|
},
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user