Add business registration for customers, owner panel, role-based nav, and Montime branding.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import { api } from './client';
|
||||
import type {
|
||||
BusinessRegistrationRequest,
|
||||
CreateBusinessRegistrationPayload,
|
||||
} from './types';
|
||||
|
||||
export function fetchMyBusinessRegistrations() {
|
||||
return api<BusinessRegistrationRequest[]>('/business-registration-requests/mine');
|
||||
}
|
||||
|
||||
export function submitBusinessRegistration(payload: CreateBusinessRegistrationPayload) {
|
||||
return api<BusinessRegistrationRequest>('/business-registration-requests', {
|
||||
method: 'POST',
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
}
|
||||
+12
-1
@@ -1,5 +1,5 @@
|
||||
import { api } from './client';
|
||||
import type { Business } from './types';
|
||||
import type { Business, UpdateBusinessPayload } from './types';
|
||||
|
||||
export function fetchBusinesses(params?: {
|
||||
categoryId?: string;
|
||||
@@ -19,3 +19,14 @@ export function fetchBusinesses(params?: {
|
||||
export function fetchBusiness(id: string) {
|
||||
return api<Business>(`/businesses/${id}`);
|
||||
}
|
||||
|
||||
export function fetchMyBusinesses() {
|
||||
return api<Business[]>('/businesses/mine');
|
||||
}
|
||||
|
||||
export function updateBusiness(id: string, payload: UpdateBusinessPayload) {
|
||||
return api<Business>(`/businesses/${id}`, {
|
||||
method: 'PATCH',
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -23,10 +23,47 @@ export type Business = {
|
||||
longitude: number | null;
|
||||
isActive: boolean;
|
||||
categoryId: string;
|
||||
ownerId?: string | null;
|
||||
category?: BusinessCategory;
|
||||
images?: BusinessImage[];
|
||||
};
|
||||
|
||||
export type BusinessRegistrationStatus = 'pending' | 'approved' | 'rejected';
|
||||
|
||||
export type BusinessRegistrationRequest = {
|
||||
id: string;
|
||||
applicantId: string;
|
||||
status: BusinessRegistrationStatus;
|
||||
title: string;
|
||||
slug: string;
|
||||
categoryId: string;
|
||||
description: string | null;
|
||||
contactPhone: string | null;
|
||||
address: string | null;
|
||||
adminNote: string | null;
|
||||
businessId: string | null;
|
||||
createdAt: string;
|
||||
category?: BusinessCategory;
|
||||
applicant?: { id: string; mobile: string; fullName: string | null };
|
||||
};
|
||||
|
||||
export type CreateBusinessRegistrationPayload = {
|
||||
title: string;
|
||||
categoryId: string;
|
||||
description?: string;
|
||||
contactPhone?: string;
|
||||
address?: string;
|
||||
};
|
||||
|
||||
export type UpdateBusinessPayload = {
|
||||
title?: string;
|
||||
description?: string | null;
|
||||
contactPhone?: string | null;
|
||||
address?: string | null;
|
||||
latitude?: number | null;
|
||||
longitude?: number | null;
|
||||
};
|
||||
|
||||
export type ServiceTemplate = {
|
||||
id: string;
|
||||
title: string;
|
||||
|
||||
Reference in New Issue
Block a user