fix: replace remaining auth0_sub references with UUID identity (refs #220)
All checks were successful
Deploy to Staging / Build Images (pull_request) Successful in 3m40s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 52s
Deploy to Staging / Verify Staging (pull_request) Successful in 8s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 8s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped
All checks were successful
Deploy to Staging / Build Images (pull_request) Successful in 3m40s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 52s
Deploy to Staging / Verify Staging (pull_request) Successful in 8s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 8s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped
Vehicles service and subscriptions code still queried user_profiles by auth0_sub after the UUID migration, causing 500 errors on GET /api/vehicles. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -767,7 +767,7 @@ export class SubscriptionsService {
|
||||
): Promise<void> {
|
||||
try {
|
||||
// Get user profile for email and name
|
||||
const userProfile = await this.userProfileRepository.getByAuth0Sub(userId);
|
||||
const userProfile = await this.userProfileRepository.getById(userId);
|
||||
if (!userProfile) {
|
||||
logger.warn('User profile not found for tier change notification', { userId });
|
||||
return;
|
||||
@@ -925,7 +925,7 @@ export class SubscriptionsService {
|
||||
|
||||
// Sync tier to user_profiles table (within same transaction)
|
||||
await client.query(
|
||||
'UPDATE user_profiles SET subscription_tier = $1 WHERE auth0_sub = $2',
|
||||
'UPDATE user_profiles SET subscription_tier = $1 WHERE id = $2',
|
||||
[newTier, userId]
|
||||
);
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ export async function processGracePeriodExpirations(): Promise<GracePeriodResult
|
||||
up.notification_email,
|
||||
up.display_name
|
||||
FROM subscriptions s
|
||||
LEFT JOIN user_profiles up ON s.user_id = up.auth0_sub
|
||||
LEFT JOIN user_profiles up ON s.user_id = up.id
|
||||
WHERE s.status = 'past_due'
|
||||
AND s.grace_period_end < NOW()
|
||||
ORDER BY s.grace_period_end ASC
|
||||
@@ -89,13 +89,13 @@ export async function processGracePeriodExpirations(): Promise<GracePeriodResult
|
||||
|
||||
await client.query(updateQuery, [subscription.id]);
|
||||
|
||||
// Sync tier to user_profiles table (user_id is auth0_sub)
|
||||
// Sync tier to user_profiles table
|
||||
const syncQuery = `
|
||||
UPDATE user_profiles
|
||||
SET
|
||||
subscription_tier = 'free',
|
||||
updated_at = NOW()
|
||||
WHERE auth0_sub = $1
|
||||
WHERE id = $1
|
||||
`;
|
||||
|
||||
await client.query(syncQuery, [subscription.user_id]);
|
||||
|
||||
@@ -82,7 +82,7 @@ export class VehiclesService {
|
||||
}
|
||||
|
||||
// Get user's tier for limit enforcement
|
||||
const userProfile = await this.userProfileRepository.getByAuth0Sub(userId);
|
||||
const userProfile = await this.userProfileRepository.getById(userId);
|
||||
if (!userProfile) {
|
||||
throw new Error('User profile not found');
|
||||
}
|
||||
@@ -227,7 +227,7 @@ export class VehiclesService {
|
||||
*/
|
||||
async getUserVehiclesWithTierStatus(userId: string): Promise<Array<VehicleResponse & { tierStatus: 'active' | 'locked' }>> {
|
||||
// Get user's subscription tier
|
||||
const userProfile = await this.userProfileRepository.getByAuth0Sub(userId);
|
||||
const userProfile = await this.userProfileRepository.getById(userId);
|
||||
if (!userProfile) {
|
||||
throw new Error('User profile not found');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user