diff --git a/user/store.go b/user/store.go index 4dbc2bad..8b958c3c 100644 --- a/user/store.go +++ b/user/store.go @@ -82,25 +82,25 @@ type Store interface { // storeQueries holds the database-specific SQL queries type storeQueries struct { // User queries - selectUserByID string - selectUserByName string - selectUserByToken string - selectUserByStripeID string - selectUsernames string - selectUserCount string - selectUserIDFromUsername string - insertUser string - updateUserPass string - updateUserRole string - updateUserProvisioned string - updateUserPrefs string - updateUserStats string - updateUserStatsResetAll string - updateUserTier string - updateUserDeleted string - deleteUser string - deleteUserTier string - deleteUsersMarked string + selectUserByID string + selectUserByName string + selectUserByToken string + selectUserByStripeCustomerID string + selectUsernames string + selectUserCount string + selectUserIDFromUsername string + insertUser string + updateUserPass string + updateUserRole string + updateUserProvisioned string + updateUserPrefs string + updateUserStats string + updateUserStatsResetAll string + updateUserTier string + updateUserDeleted string + deleteUser string + deleteUserTier string + deleteUsersMarked string // Access queries selectTopicPerms 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 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 { return nil, err } diff --git a/user/store_postgres.go b/user/store_postgres.go index 666fd4f4..229bfd6d 100644 --- a/user/store_postgres.go +++ b/user/store_postgres.go @@ -26,7 +26,7 @@ const ( LEFT JOIN tier t on t.id = u.tier_id 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 FROM "user" u LEFT JOIN tier t on t.id = u.tier_id @@ -120,7 +120,7 @@ const ( $7 ) 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 = ` DELETE FROM user_access @@ -144,7 +144,7 @@ const ( INSERT INTO user_token (user_id, token, label, last_access, last_origin, expires, provisioned) VALUES ($1, $2, $3, $4, $5, $6, $7) 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` 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, queries: storeQueries{ // User queries - selectUserByID: postgresSelectUserByIDQuery, - selectUserByName: postgresSelectUserByNameQuery, - selectUserByToken: postgresSelectUserByTokenQuery, - selectUserByStripeID: postgresSelectUserByStripeIDQuery, - selectUsernames: postgresSelectUsernamesQuery, - selectUserCount: postgresSelectUserCountQuery, - selectUserIDFromUsername: postgresSelectUserIDFromUsernameQuery, - insertUser: postgresInsertUserQuery, - updateUserPass: postgresUpdateUserPassQuery, - updateUserRole: postgresUpdateUserRoleQuery, - updateUserProvisioned: postgresUpdateUserProvisionedQuery, - updateUserPrefs: postgresUpdateUserPrefsQuery, - updateUserStats: postgresUpdateUserStatsQuery, - updateUserStatsResetAll: postgresUpdateUserStatsResetAllQuery, - updateUserTier: postgresUpdateUserTierQuery, - updateUserDeleted: postgresUpdateUserDeletedQuery, - deleteUser: postgresDeleteUserQuery, - deleteUserTier: postgresDeleteUserTierQuery, - deleteUsersMarked: postgresDeleteUsersMarkedQuery, + selectUserByID: postgresSelectUserByIDQuery, + selectUserByName: postgresSelectUserByNameQuery, + selectUserByToken: postgresSelectUserByTokenQuery, + selectUserByStripeCustomerID: postgresSelectUserByStripeCustomerIDQuery, + selectUsernames: postgresSelectUsernamesQuery, + selectUserCount: postgresSelectUserCountQuery, + selectUserIDFromUsername: postgresSelectUserIDFromUsernameQuery, + insertUser: postgresInsertUserQuery, + updateUserPass: postgresUpdateUserPassQuery, + updateUserRole: postgresUpdateUserRoleQuery, + updateUserProvisioned: postgresUpdateUserProvisionedQuery, + updateUserPrefs: postgresUpdateUserPrefsQuery, + updateUserStats: postgresUpdateUserStatsQuery, + updateUserStatsResetAll: postgresUpdateUserStatsResetAllQuery, + updateUserTier: postgresUpdateUserTierQuery, + updateUserDeleted: postgresUpdateUserDeletedQuery, + deleteUser: postgresDeleteUserQuery, + deleteUserTier: postgresDeleteUserTierQuery, + deleteUsersMarked: postgresDeleteUsersMarkedQuery, // Access queries selectTopicPerms: postgresSelectTopicPermsQuery, diff --git a/user/store_sqlite.go b/user/store_sqlite.go index 6325e467..c90a533e 100644 --- a/user/store_sqlite.go +++ b/user/store_sqlite.go @@ -27,7 +27,7 @@ const ( LEFT JOIN tier t on t.id = u.tier_id 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 FROM user u 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) VALUES (?, ?, ?, ?, ?, ?, ?) 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 = ?` sqliteUpdateTokenExpiryQuery = `UPDATE user_token SET expires = ? WHERE user_id = ? AND token = ?` @@ -213,61 +213,61 @@ func NewSQLiteStore(filename, startupQueries string) (Store, error) { return &commonStore{ db: db, queries: storeQueries{ - selectUserByID: sqliteSelectUserByIDQuery, - selectUserByName: sqliteSelectUserByNameQuery, - selectUserByToken: sqliteSelectUserByTokenQuery, - selectUserByStripeID: sqliteSelectUserByStripeIDQuery, - selectUsernames: sqliteSelectUsernamesQuery, - selectUserCount: sqliteSelectUserCountQuery, - selectUserIDFromUsername: sqliteSelectUserIDFromUsernameQuery, - insertUser: sqliteInsertUserQuery, - updateUserPass: sqliteUpdateUserPassQuery, - updateUserRole: sqliteUpdateUserRoleQuery, - updateUserProvisioned: sqliteUpdateUserProvisionedQuery, - updateUserPrefs: sqliteUpdateUserPrefsQuery, - updateUserStats: sqliteUpdateUserStatsQuery, - updateUserStatsResetAll: sqliteUpdateUserStatsResetAllQuery, - updateUserTier: sqliteUpdateUserTierQuery, - updateUserDeleted: sqliteUpdateUserDeletedQuery, - deleteUser: sqliteDeleteUserQuery, - deleteUserTier: sqliteDeleteUserTierQuery, - deleteUsersMarked: sqliteDeleteUsersMarkedQuery, - selectTopicPerms: sqliteSelectTopicPermsQuery, - selectUserAllAccess: sqliteSelectUserAllAccessQuery, - selectUserAccess: sqliteSelectUserAccessQuery, - selectUserReservations: sqliteSelectUserReservationsQuery, - selectUserReservationsCount: sqliteSelectUserReservationsCountQuery, - selectUserReservationsOwner: sqliteSelectUserReservationsOwnerQuery, - selectUserHasReservation: sqliteSelectUserHasReservationQuery, - selectOtherAccessCount: sqliteSelectOtherAccessCountQuery, - upsertUserAccess: sqliteUpsertUserAccessQuery, - deleteUserAccess: sqliteDeleteUserAccessQuery, - deleteUserAccessProvisioned: sqliteDeleteUserAccessProvisionedQuery, - deleteTopicAccess: sqliteDeleteTopicAccessQuery, - deleteAllAccess: sqliteDeleteAllAccessQuery, - selectToken: sqliteSelectTokenQuery, - selectTokens: sqliteSelectTokensQuery, - selectTokenCount: sqliteSelectTokenCountQuery, - selectAllProvisionedTokens: sqliteSelectAllProvisionedTokensQuery, - upsertToken: sqliteUpsertTokenQuery, - updateTokenLabel: sqliteUpdateTokenLabelQuery, - updateTokenExpiry: sqliteUpdateTokenExpiryQuery, - updateTokenLastAccess: sqliteUpdateTokenLastAccessQuery, - deleteToken: sqliteDeleteTokenQuery, - deleteProvisionedToken: sqliteDeleteProvisionedTokenQuery, - deleteAllToken: sqliteDeleteAllTokenQuery, - deleteExpiredTokens: sqliteDeleteExpiredTokensQuery, - deleteExcessTokens: sqliteDeleteExcessTokensQuery, - insertTier: sqliteInsertTierQuery, - selectTiers: sqliteSelectTiersQuery, - selectTierByCode: sqliteSelectTierByCodeQuery, - selectTierByPriceID: sqliteSelectTierByPriceIDQuery, - updateTier: sqliteUpdateTierQuery, - deleteTier: sqliteDeleteTierQuery, - selectPhoneNumbers: sqliteSelectPhoneNumbersQuery, - insertPhoneNumber: sqliteInsertPhoneNumberQuery, - deletePhoneNumber: sqliteDeletePhoneNumberQuery, - updateBilling: sqliteUpdateBillingQuery, + selectUserByID: sqliteSelectUserByIDQuery, + selectUserByName: sqliteSelectUserByNameQuery, + selectUserByToken: sqliteSelectUserByTokenQuery, + selectUserByStripeCustomerID: sqliteSelectUserByStripeCustomerIDQuery, + selectUsernames: sqliteSelectUsernamesQuery, + selectUserCount: sqliteSelectUserCountQuery, + selectUserIDFromUsername: sqliteSelectUserIDFromUsernameQuery, + insertUser: sqliteInsertUserQuery, + updateUserPass: sqliteUpdateUserPassQuery, + updateUserRole: sqliteUpdateUserRoleQuery, + updateUserProvisioned: sqliteUpdateUserProvisionedQuery, + updateUserPrefs: sqliteUpdateUserPrefsQuery, + updateUserStats: sqliteUpdateUserStatsQuery, + updateUserStatsResetAll: sqliteUpdateUserStatsResetAllQuery, + updateUserTier: sqliteUpdateUserTierQuery, + updateUserDeleted: sqliteUpdateUserDeletedQuery, + deleteUser: sqliteDeleteUserQuery, + deleteUserTier: sqliteDeleteUserTierQuery, + deleteUsersMarked: sqliteDeleteUsersMarkedQuery, + selectTopicPerms: sqliteSelectTopicPermsQuery, + selectUserAllAccess: sqliteSelectUserAllAccessQuery, + selectUserAccess: sqliteSelectUserAccessQuery, + selectUserReservations: sqliteSelectUserReservationsQuery, + selectUserReservationsCount: sqliteSelectUserReservationsCountQuery, + selectUserReservationsOwner: sqliteSelectUserReservationsOwnerQuery, + selectUserHasReservation: sqliteSelectUserHasReservationQuery, + selectOtherAccessCount: sqliteSelectOtherAccessCountQuery, + upsertUserAccess: sqliteUpsertUserAccessQuery, + deleteUserAccess: sqliteDeleteUserAccessQuery, + deleteUserAccessProvisioned: sqliteDeleteUserAccessProvisionedQuery, + deleteTopicAccess: sqliteDeleteTopicAccessQuery, + deleteAllAccess: sqliteDeleteAllAccessQuery, + selectToken: sqliteSelectTokenQuery, + selectTokens: sqliteSelectTokensQuery, + selectTokenCount: sqliteSelectTokenCountQuery, + selectAllProvisionedTokens: sqliteSelectAllProvisionedTokensQuery, + upsertToken: sqliteUpsertTokenQuery, + updateTokenLabel: sqliteUpdateTokenLabelQuery, + updateTokenExpiry: sqliteUpdateTokenExpiryQuery, + updateTokenLastAccess: sqliteUpdateTokenLastAccessQuery, + deleteToken: sqliteDeleteTokenQuery, + deleteProvisionedToken: sqliteDeleteProvisionedTokenQuery, + deleteAllToken: sqliteDeleteAllTokenQuery, + deleteExpiredTokens: sqliteDeleteExpiredTokensQuery, + deleteExcessTokens: sqliteDeleteExcessTokensQuery, + insertTier: sqliteInsertTierQuery, + selectTiers: sqliteSelectTiersQuery, + selectTierByCode: sqliteSelectTierByCodeQuery, + selectTierByPriceID: sqliteSelectTierByPriceIDQuery, + updateTier: sqliteUpdateTierQuery, + deleteTier: sqliteDeleteTierQuery, + selectPhoneNumbers: sqliteSelectPhoneNumbersQuery, + insertPhoneNumber: sqliteInsertPhoneNumberQuery, + deletePhoneNumber: sqliteDeletePhoneNumberQuery, + updateBilling: sqliteUpdateBillingQuery, }, }, nil }