REFACTOR ALL APIs

This commit is contained in:
Urtzi Alfaro
2025-10-06 15:27:01 +02:00
parent dc8221bd2f
commit 38fb98bc27
166 changed files with 18454 additions and 13605 deletions

View File

@@ -28,23 +28,23 @@ let lastFetchTime: number | null = null;
const CACHE_DURATION = 5 * 60 * 1000; // 5 minutes
export class SubscriptionService {
private readonly baseUrl = '/subscriptions';
private readonly baseUrl = '/tenants';
async getSubscriptionLimits(tenantId: string): Promise<SubscriptionLimits> {
return apiClient.get<SubscriptionLimits>(`${this.baseUrl}/${tenantId}/limits`);
return apiClient.get<SubscriptionLimits>(`${this.baseUrl}/subscriptions/${tenantId}/limits`);
}
async checkFeatureAccess(
tenantId: string,
tenantId: string,
featureName: string
): Promise<FeatureCheckResponse> {
return apiClient.get<FeatureCheckResponse>(
`${this.baseUrl}/${tenantId}/features/${featureName}/check`
`${this.baseUrl}/subscriptions/${tenantId}/features/${featureName}/check`
);
}
async checkUsageLimit(
tenantId: string,
tenantId: string,
resourceType: 'users' | 'sales_records' | 'inventory_items' | 'api_requests',
requestedAmount?: number
): Promise<UsageCheckResponse> {
@@ -54,8 +54,8 @@ export class SubscriptionService {
}
const url = queryParams.toString()
? `${this.baseUrl}/${tenantId}/usage/${resourceType}/check?${queryParams.toString()}`
: `${this.baseUrl}/${tenantId}/usage/${resourceType}/check`;
? `${this.baseUrl}/subscriptions/${tenantId}/usage/${resourceType}/check?${queryParams.toString()}`
: `${this.baseUrl}/subscriptions/${tenantId}/usage/${resourceType}/check`;
return apiClient.get<UsageCheckResponse>(url);
}
@@ -66,7 +66,7 @@ export class SubscriptionService {
amount: number = 1
): Promise<{ success: boolean; message: string }> {
return apiClient.post<{ success: boolean; message: string }>(
`${this.baseUrl}/${tenantId}/usage/${resourceType}/record`,
`${this.baseUrl}/subscriptions/${tenantId}/usage/${resourceType}/record`,
{ amount }
);
}
@@ -77,11 +77,11 @@ export class SubscriptionService {
inventory_items: number;
api_requests_this_hour: number;
}> {
return apiClient.get(`${this.baseUrl}/${tenantId}/usage/current`);
return apiClient.get(`${this.baseUrl}/subscriptions/${tenantId}/usage/current`);
}
async getUsageSummary(tenantId: string): Promise<UsageSummary> {
return apiClient.get<UsageSummary>(`${this.baseUrl}/${tenantId}/usage`);
return apiClient.get<UsageSummary>(`${this.baseUrl}/subscriptions/${tenantId}/usage`);
}
async getAvailablePlans(): Promise<AvailablePlans> {