@digiteers/uloba3-sdk 1.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +29 -0
- package/.github/workflows/generate-sdk.yml +126 -0
- package/.prettierrc +11 -0
- package/MIGRATION.md +118 -0
- package/README.md +256 -0
- package/dist/api/accounts.d.ts +31 -0
- package/dist/api/accounts.d.ts.map +1 -0
- package/dist/api/accounts.js +71 -0
- package/dist/api/accounts.js.map +1 -0
- package/dist/api/admin/arrangements.d.ts +41 -0
- package/dist/api/admin/arrangements.d.ts.map +1 -0
- package/dist/api/admin/arrangements.js +60 -0
- package/dist/api/admin/arrangements.js.map +1 -0
- package/dist/api/admin/assistance-types.d.ts +41 -0
- package/dist/api/admin/assistance-types.d.ts.map +1 -0
- package/dist/api/admin/assistance-types.js +60 -0
- package/dist/api/admin/assistance-types.js.map +1 -0
- package/dist/api/admin/contract-case-workflow-states.d.ts +69 -0
- package/dist/api/admin/contract-case-workflow-states.d.ts.map +1 -0
- package/dist/api/admin/contract-case-workflow-states.js +59 -0
- package/dist/api/admin/contract-case-workflow-states.js.map +1 -0
- package/dist/api/admin/contract-types.d.ts +41 -0
- package/dist/api/admin/contract-types.d.ts.map +1 -0
- package/dist/api/admin/contract-types.js +60 -0
- package/dist/api/admin/contract-types.js.map +1 -0
- package/dist/api/admin/expectation-templates.d.ts +39 -0
- package/dist/api/admin/expectation-templates.d.ts.map +1 -0
- package/dist/api/admin/expectation-templates.js +66 -0
- package/dist/api/admin/expectation-templates.js.map +1 -0
- package/dist/api/admin/index.d.ts +11 -0
- package/dist/api/admin/index.d.ts.map +1 -0
- package/dist/api/admin/index.js +24 -0
- package/dist/api/admin/index.js.map +1 -0
- package/dist/api/admin/interest-templates.d.ts +39 -0
- package/dist/api/admin/interest-templates.d.ts.map +1 -0
- package/dist/api/admin/interest-templates.js +66 -0
- package/dist/api/admin/interest-templates.js.map +1 -0
- package/dist/api/admin/organization.d.ts +15 -0
- package/dist/api/admin/organization.d.ts.map +1 -0
- package/dist/api/admin/organization.js +25 -0
- package/dist/api/admin/organization.js.map +1 -0
- package/dist/api/admin/responsibility-templates.d.ts +39 -0
- package/dist/api/admin/responsibility-templates.d.ts.map +1 -0
- package/dist/api/admin/responsibility-templates.js +66 -0
- package/dist/api/admin/responsibility-templates.js.map +1 -0
- package/dist/api/admin/salaries.d.ts +48 -0
- package/dist/api/admin/salaries.d.ts.map +1 -0
- package/dist/api/admin/salaries.js +60 -0
- package/dist/api/admin/salaries.js.map +1 -0
- package/dist/api/admin/work-schedules.d.ts +67 -0
- package/dist/api/admin/work-schedules.d.ts.map +1 -0
- package/dist/api/admin/work-schedules.js +59 -0
- package/dist/api/admin/work-schedules.js.map +1 -0
- package/dist/api/analytics.d.ts +37 -0
- package/dist/api/analytics.d.ts.map +1 -0
- package/dist/api/analytics.js +37 -0
- package/dist/api/analytics.js.map +1 -0
- package/dist/api/applications.d.ts +166 -0
- package/dist/api/applications.d.ts.map +1 -0
- package/dist/api/applications.js +156 -0
- package/dist/api/applications.js.map +1 -0
- package/dist/api/assistants.d.ts +413 -0
- package/dist/api/assistants.d.ts.map +1 -0
- package/dist/api/assistants.js +250 -0
- package/dist/api/assistants.js.map +1 -0
- package/dist/api/auth.d.ts +57 -0
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +46 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/billing.d.ts +33 -0
- package/dist/api/billing.d.ts.map +1 -0
- package/dist/api/billing.js +49 -0
- package/dist/api/billing.js.map +1 -0
- package/dist/api/contract-cases.d.ts +38 -0
- package/dist/api/contract-cases.d.ts.map +1 -0
- package/dist/api/contract-cases.js +65 -0
- package/dist/api/contract-cases.js.map +1 -0
- package/dist/api/contracts.d.ts +903 -0
- package/dist/api/contracts.d.ts.map +1 -0
- package/dist/api/contracts.js +300 -0
- package/dist/api/contracts.js.map +1 -0
- package/dist/api/documents.d.ts +20 -0
- package/dist/api/documents.d.ts.map +1 -0
- package/dist/api/documents.js +27 -0
- package/dist/api/documents.js.map +1 -0
- package/dist/api/feeds.d.ts +23 -0
- package/dist/api/feeds.d.ts.map +1 -0
- package/dist/api/feeds.js +47 -0
- package/dist/api/feeds.js.map +1 -0
- package/dist/api/gdpr.d.ts +23 -0
- package/dist/api/gdpr.d.ts.map +1 -0
- package/dist/api/gdpr.js +50 -0
- package/dist/api/gdpr.js.map +1 -0
- package/dist/api/inquiries.d.ts +190 -0
- package/dist/api/inquiries.d.ts.map +1 -0
- package/dist/api/inquiries.js +173 -0
- package/dist/api/inquiries.js.map +1 -0
- package/dist/api/jobs.d.ts +169 -0
- package/dist/api/jobs.d.ts.map +1 -0
- package/dist/api/jobs.js +294 -0
- package/dist/api/jobs.js.map +1 -0
- package/dist/api/locations.d.ts +30 -0
- package/dist/api/locations.d.ts.map +1 -0
- package/dist/api/locations.js +25 -0
- package/dist/api/locations.js.map +1 -0
- package/dist/api/meetings.d.ts +109 -0
- package/dist/api/meetings.d.ts.map +1 -0
- package/dist/api/meetings.js +75 -0
- package/dist/api/meetings.js.map +1 -0
- package/dist/api/messaging.d.ts +32 -0
- package/dist/api/messaging.d.ts.map +1 -0
- package/dist/api/messaging.js +114 -0
- package/dist/api/messaging.js.map +1 -0
- package/dist/api/notes.d.ts +21 -0
- package/dist/api/notes.d.ts.map +1 -0
- package/dist/api/notes.js +38 -0
- package/dist/api/notes.js.map +1 -0
- package/dist/api/organization.d.ts +56 -0
- package/dist/api/organization.d.ts.map +1 -0
- package/dist/api/organization.js +39 -0
- package/dist/api/organization.js.map +1 -0
- package/dist/api/salaries.d.ts +24 -0
- package/dist/api/salaries.d.ts.map +1 -0
- package/dist/api/salaries.js +39 -0
- package/dist/api/salaries.js.map +1 -0
- package/dist/api/tasks.d.ts +19 -0
- package/dist/api/tasks.d.ts.map +1 -0
- package/dist/api/tasks.js +35 -0
- package/dist/api/tasks.js.map +1 -0
- package/dist/api/users.d.ts +62 -0
- package/dist/api/users.d.ts.map +1 -0
- package/dist/api/users.js +62 -0
- package/dist/api/users.js.map +1 -0
- package/dist/api-types.d.ts +1242 -0
- package/dist/api-types.d.ts.map +1 -0
- package/dist/api-types.js +5 -0
- package/dist/api-types.js.map +1 -0
- package/dist/client.d.ts +69 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +142 -0
- package/dist/client.js.map +1 -0
- package/dist/components/contracts/forms/DirectContractForm.d.ts +1 -0
- package/dist/components/contracts/forms/DirectContractForm.d.ts.map +1 -0
- package/dist/components/contracts/forms/DirectContractForm.js +2 -0
- package/dist/components/contracts/forms/DirectContractForm.js.map +1 -0
- package/dist/constants.d.ts +133 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +139 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +36489 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- package/dist/view-types.d.ts +44 -0
- package/dist/view-types.d.ts.map +1 -0
- package/dist/view-types.js +7 -0
- package/dist/view-types.js.map +1 -0
- package/package.json +85 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
import type { paths } from '../types';
|
|
3
|
+
export type InquiryEnhancedResponse = paths['/api/inquiries/{id}']['get']['responses']['200']['content']['application/json'];
|
|
4
|
+
export type InquiryViewEnhancedResponse = paths['/api/inquiries/{id}/view']['get']['responses']['200']['content']['application/json'];
|
|
5
|
+
export interface Inquiry {
|
|
6
|
+
id: string;
|
|
7
|
+
assistant_id: string;
|
|
8
|
+
inquirer_id: string;
|
|
9
|
+
job_id?: string;
|
|
10
|
+
message: string;
|
|
11
|
+
proposed_start_date?: string;
|
|
12
|
+
proposed_end_date?: string;
|
|
13
|
+
proposed_hours_per_week?: number;
|
|
14
|
+
proposed_duration_weeks?: number;
|
|
15
|
+
status: 'draft' | 'submitted' | 'accepted' | 'declined' | 'cancelled' | 'expired';
|
|
16
|
+
cancelled_message?: string;
|
|
17
|
+
declined_message?: string;
|
|
18
|
+
accepted_message?: string;
|
|
19
|
+
accepted_at?: string;
|
|
20
|
+
declined_at?: string;
|
|
21
|
+
cancelled_at?: string;
|
|
22
|
+
archived_by_inquirer: boolean;
|
|
23
|
+
archived_by_assistant: boolean;
|
|
24
|
+
archived_at_inquirer?: string;
|
|
25
|
+
archived_at_assistant?: string;
|
|
26
|
+
inquiry_number: number;
|
|
27
|
+
previous_inquiry_id?: string;
|
|
28
|
+
lifecycle_status: 'operational' | 'archived' | 'anonymized';
|
|
29
|
+
created_at: string;
|
|
30
|
+
updated_at: string;
|
|
31
|
+
status_changed_at: string;
|
|
32
|
+
}
|
|
33
|
+
export interface CreateInquiryData {
|
|
34
|
+
job_id?: string;
|
|
35
|
+
message?: string;
|
|
36
|
+
proposed_start_date?: string;
|
|
37
|
+
proposed_end_date?: string;
|
|
38
|
+
proposed_hours_per_week?: number;
|
|
39
|
+
proposed_duration_weeks?: number;
|
|
40
|
+
}
|
|
41
|
+
export interface UpdateInquiryData {
|
|
42
|
+
message?: string;
|
|
43
|
+
proposed_start_date?: string;
|
|
44
|
+
proposed_end_date?: string;
|
|
45
|
+
proposed_hours_per_week?: number;
|
|
46
|
+
proposed_duration_weeks?: number;
|
|
47
|
+
job_id?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface InquiryResponseData {
|
|
50
|
+
message?: string;
|
|
51
|
+
}
|
|
52
|
+
export interface InquiryFilters {
|
|
53
|
+
status?: string;
|
|
54
|
+
assistant_id?: string;
|
|
55
|
+
job_id?: string;
|
|
56
|
+
archived?: boolean;
|
|
57
|
+
page?: number;
|
|
58
|
+
limit?: number;
|
|
59
|
+
sort_by?: string;
|
|
60
|
+
sort_order?: 'asc' | 'desc';
|
|
61
|
+
}
|
|
62
|
+
export interface InquiriesListResponse {
|
|
63
|
+
inquiries: Inquiry[];
|
|
64
|
+
total: number;
|
|
65
|
+
page: number;
|
|
66
|
+
limit: number;
|
|
67
|
+
has_more: boolean;
|
|
68
|
+
}
|
|
69
|
+
export interface InquiryStats {
|
|
70
|
+
asCoordinator: {
|
|
71
|
+
draft_count: number;
|
|
72
|
+
submitted_count: number;
|
|
73
|
+
accepted_count: number;
|
|
74
|
+
declined_count: number;
|
|
75
|
+
cancelled_count: number;
|
|
76
|
+
expired_count: number;
|
|
77
|
+
total_count: number;
|
|
78
|
+
};
|
|
79
|
+
asAssistant: {
|
|
80
|
+
pending_count: number;
|
|
81
|
+
accepted_count: number;
|
|
82
|
+
declined_count: number;
|
|
83
|
+
avg_response_time_hours: number | null;
|
|
84
|
+
total_received: number;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export declare class InquiriesApi {
|
|
88
|
+
private axios;
|
|
89
|
+
constructor(axios: AxiosInstance);
|
|
90
|
+
/**
|
|
91
|
+
* List my inquiries as a coordinator
|
|
92
|
+
*/
|
|
93
|
+
listMyInquiries(filters?: InquiryFilters): Promise<InquiriesListResponse>;
|
|
94
|
+
/**
|
|
95
|
+
* List my inquiries as a coordinator (alias for listMyInquiries)
|
|
96
|
+
*/
|
|
97
|
+
list(filters?: InquiryFilters): Promise<InquiriesListResponse>;
|
|
98
|
+
/**
|
|
99
|
+
* List all received inquiries as an assistant
|
|
100
|
+
*/
|
|
101
|
+
listReceived(filters?: InquiryFilters): Promise<InquiriesListResponse>;
|
|
102
|
+
/**
|
|
103
|
+
* List inquiries for teamlead/coordinator role
|
|
104
|
+
*/
|
|
105
|
+
listAsTeamlead(filters?: InquiryFilters): Promise<InquiriesListResponse>;
|
|
106
|
+
/**
|
|
107
|
+
* List inquiries for assistant role
|
|
108
|
+
*/
|
|
109
|
+
listAsAssistant(filters?: InquiryFilters): Promise<InquiriesListResponse>;
|
|
110
|
+
/**
|
|
111
|
+
* List inquiries for a specific assistant
|
|
112
|
+
*/
|
|
113
|
+
listAssistantInquiries(assistantId: string, filters?: InquiryFilters): Promise<InquiriesListResponse>;
|
|
114
|
+
/**
|
|
115
|
+
* Get a specific inquiry by ID with enhanced metadata
|
|
116
|
+
*/
|
|
117
|
+
get(inquiryId: string): Promise<InquiryEnhancedResponse>;
|
|
118
|
+
/**
|
|
119
|
+
* Get just the inquiry data without metadata
|
|
120
|
+
* Convenience method for backward compatibility
|
|
121
|
+
*/
|
|
122
|
+
getData(inquiryId: string): Promise<Inquiry>;
|
|
123
|
+
/**
|
|
124
|
+
* Get inquiry view with enhanced data
|
|
125
|
+
*/
|
|
126
|
+
getInquiryView(inquiryId: string): Promise<InquiryViewEnhancedResponse>;
|
|
127
|
+
/**
|
|
128
|
+
* Create a draft inquiry for a specific assistant
|
|
129
|
+
*/
|
|
130
|
+
create(assistantId: string, data: CreateInquiryData): Promise<InquiryEnhancedResponse>;
|
|
131
|
+
/**
|
|
132
|
+
* Update a draft inquiry
|
|
133
|
+
*/
|
|
134
|
+
update(inquiryId: string, data: UpdateInquiryData): Promise<Inquiry>;
|
|
135
|
+
/**
|
|
136
|
+
* Delete a draft inquiry
|
|
137
|
+
*/
|
|
138
|
+
delete(inquiryId: string): Promise<{
|
|
139
|
+
success: boolean;
|
|
140
|
+
}>;
|
|
141
|
+
/**
|
|
142
|
+
* Submit an inquiry
|
|
143
|
+
*/
|
|
144
|
+
submit(inquiryId: string, data?: UpdateInquiryData): Promise<Inquiry>;
|
|
145
|
+
/**
|
|
146
|
+
* Respond to an inquiry (assistant only)
|
|
147
|
+
*/
|
|
148
|
+
accept(inquiryId: string, data: InquiryResponseData): Promise<Inquiry>;
|
|
149
|
+
/**
|
|
150
|
+
* Decline an inquiry (assistant only)
|
|
151
|
+
*/
|
|
152
|
+
decline(inquiryId: string, message?: string): Promise<Inquiry>;
|
|
153
|
+
/**
|
|
154
|
+
* Cancel an inquiry (coordinator only)
|
|
155
|
+
*/
|
|
156
|
+
cancel(inquiryId: string, message?: string): Promise<Inquiry>;
|
|
157
|
+
/**
|
|
158
|
+
* Archive or unarchive an inquiry
|
|
159
|
+
*/
|
|
160
|
+
archive(inquiryId: string, archive?: boolean): Promise<Inquiry>;
|
|
161
|
+
/**
|
|
162
|
+
* Get inquiry statistics for the current user
|
|
163
|
+
*/
|
|
164
|
+
getStats(): Promise<InquiryStats>;
|
|
165
|
+
/**
|
|
166
|
+
* Get teamlead inquiry statistics
|
|
167
|
+
*/
|
|
168
|
+
getTeamleadStats(): Promise<any>;
|
|
169
|
+
/**
|
|
170
|
+
* Get assistant inquiry statistics
|
|
171
|
+
*/
|
|
172
|
+
getAssistantStats(): Promise<any>;
|
|
173
|
+
/**
|
|
174
|
+
* Get role-based inquiry statistics
|
|
175
|
+
* Automatically selects the correct endpoint based on the provided role
|
|
176
|
+
*/
|
|
177
|
+
getRoleStats(role: 'teamlead' | 'assistant'): Promise<any>;
|
|
178
|
+
/**
|
|
179
|
+
* Create a contract from an accepted inquiry (coordinator only)
|
|
180
|
+
*/
|
|
181
|
+
createContract(inquiryId: string, data?: {
|
|
182
|
+
contract_type?: 'on_call' | 'regular' | 'temporary';
|
|
183
|
+
service_type?: 'bpa' | 'function_assistance';
|
|
184
|
+
hours_per_week?: number;
|
|
185
|
+
hourly_rate?: number;
|
|
186
|
+
start_date?: string;
|
|
187
|
+
end_date?: string;
|
|
188
|
+
}): Promise<any>;
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=inquiries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inquiries.d.ts","sourceRoot":"","sources":["../../src/api/inquiries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InquiriesApi = void 0;
|
|
4
|
+
class InquiriesApi {
|
|
5
|
+
axios;
|
|
6
|
+
constructor(axios) {
|
|
7
|
+
this.axios = axios;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* List my inquiries as a coordinator
|
|
11
|
+
*/
|
|
12
|
+
async listMyInquiries(filters) {
|
|
13
|
+
const response = await this.axios.get('/api/inquiries', { params: filters });
|
|
14
|
+
return response.data;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* List my inquiries as a coordinator (alias for listMyInquiries)
|
|
18
|
+
*/
|
|
19
|
+
async list(filters) {
|
|
20
|
+
return this.listMyInquiries(filters);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* List all received inquiries as an assistant
|
|
24
|
+
*/
|
|
25
|
+
async listReceived(filters) {
|
|
26
|
+
const response = await this.axios.get('/api/inquiries/received', { params: filters });
|
|
27
|
+
return response.data;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* List inquiries for teamlead/coordinator role
|
|
31
|
+
*/
|
|
32
|
+
async listAsTeamlead(filters) {
|
|
33
|
+
const response = await this.axios.get('/api/inquiries/teamlead', { params: filters });
|
|
34
|
+
return response.data;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* List inquiries for assistant role
|
|
38
|
+
*/
|
|
39
|
+
async listAsAssistant(filters) {
|
|
40
|
+
const response = await this.axios.get('/api/inquiries/assistant', { params: filters });
|
|
41
|
+
return response.data;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* List inquiries for a specific assistant
|
|
45
|
+
*/
|
|
46
|
+
async listAssistantInquiries(assistantId, filters) {
|
|
47
|
+
const response = await this.axios.get(`/api/assistants/${assistantId}/inquiries`, { params: filters });
|
|
48
|
+
return response.data;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get a specific inquiry by ID with enhanced metadata
|
|
52
|
+
*/
|
|
53
|
+
async get(inquiryId) {
|
|
54
|
+
const response = await this.axios.get(`/api/inquiries/${inquiryId}`);
|
|
55
|
+
return response.data;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get just the inquiry data without metadata
|
|
59
|
+
* Convenience method for backward compatibility
|
|
60
|
+
*/
|
|
61
|
+
async getData(inquiryId) {
|
|
62
|
+
const response = await this.get(inquiryId);
|
|
63
|
+
return response;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get inquiry view with enhanced data
|
|
67
|
+
*/
|
|
68
|
+
async getInquiryView(inquiryId) {
|
|
69
|
+
const response = await this.axios.get(`/api/inquiries/${inquiryId}/view`);
|
|
70
|
+
return response.data;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Create a draft inquiry for a specific assistant
|
|
74
|
+
*/
|
|
75
|
+
async create(assistantId, data) {
|
|
76
|
+
const response = await this.axios.post(`/api/assistants/${assistantId}/inquiries`, data);
|
|
77
|
+
return response.data;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Update a draft inquiry
|
|
81
|
+
*/
|
|
82
|
+
async update(inquiryId, data) {
|
|
83
|
+
const response = await this.axios.put(`/api/inquiries/${inquiryId}`, data);
|
|
84
|
+
return response.data;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Delete a draft inquiry
|
|
88
|
+
*/
|
|
89
|
+
async delete(inquiryId) {
|
|
90
|
+
const response = await this.axios.delete(`/api/inquiries/${inquiryId}`);
|
|
91
|
+
return response.data;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Submit an inquiry
|
|
95
|
+
*/
|
|
96
|
+
async submit(inquiryId, data) {
|
|
97
|
+
// Always send a body object to ensure proper content-type handling
|
|
98
|
+
const body = data || {};
|
|
99
|
+
// Debug logging removed - use proper logging library if needed
|
|
100
|
+
const response = await this.axios.post(`/api/inquiries/${inquiryId}/submit`, body);
|
|
101
|
+
return response.data;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Respond to an inquiry (assistant only)
|
|
105
|
+
*/
|
|
106
|
+
async accept(inquiryId, data) {
|
|
107
|
+
const response = await this.axios.post(`/api/inquiries/${inquiryId}/accept`, data);
|
|
108
|
+
return response.data;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Decline an inquiry (assistant only)
|
|
112
|
+
*/
|
|
113
|
+
async decline(inquiryId, message) {
|
|
114
|
+
const response = await this.axios.post(`/api/inquiries/${inquiryId}/decline`, { message });
|
|
115
|
+
return response.data;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Cancel an inquiry (coordinator only)
|
|
119
|
+
*/
|
|
120
|
+
async cancel(inquiryId, message) {
|
|
121
|
+
const response = await this.axios.post(`/api/inquiries/${inquiryId}/cancel`, { message });
|
|
122
|
+
return response.data;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Archive or unarchive an inquiry
|
|
126
|
+
*/
|
|
127
|
+
async archive(inquiryId, archive = true) {
|
|
128
|
+
const response = await this.axios.post(`/api/inquiries/${inquiryId}/archive`, { archive });
|
|
129
|
+
return response.data;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get inquiry statistics for the current user
|
|
133
|
+
*/
|
|
134
|
+
async getStats() {
|
|
135
|
+
const response = await this.axios.get('/api/inquiries/stats');
|
|
136
|
+
return response.data;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Get teamlead inquiry statistics
|
|
140
|
+
*/
|
|
141
|
+
async getTeamleadStats() {
|
|
142
|
+
const response = await this.axios.get('/api/inquiries/teamlead/stats');
|
|
143
|
+
return response.data;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Get assistant inquiry statistics
|
|
147
|
+
*/
|
|
148
|
+
async getAssistantStats() {
|
|
149
|
+
const response = await this.axios.get('/api/inquiries/assistant/stats');
|
|
150
|
+
return response.data;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Get role-based inquiry statistics
|
|
154
|
+
* Automatically selects the correct endpoint based on the provided role
|
|
155
|
+
*/
|
|
156
|
+
async getRoleStats(role) {
|
|
157
|
+
if (role === 'teamlead') {
|
|
158
|
+
return this.getTeamleadStats();
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
return this.getAssistantStats();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Create a contract from an accepted inquiry (coordinator only)
|
|
166
|
+
*/
|
|
167
|
+
async createContract(inquiryId, data) {
|
|
168
|
+
const response = await this.axios.post(`/api/inquiries/${inquiryId}/contracts`, data || {});
|
|
169
|
+
return response.data;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.InquiriesApi = InquiriesApi;
|
|
173
|
+
//# sourceMappingURL=inquiries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inquiries.js","sourceRoot":"","sources":["../../src/api/inquiries.ts"],"names":[],"mappings":";;;AAgGA,MAAa,YAAY;IACH;IAApB,YAAoB,KAAoB;QAApB,UAAK,GAAL,KAAK,CAAe;IAAG,CAAC;IAE5C;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,OAAwB;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,gBAAgB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACpG,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAAwB;QACjC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAAwB;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,yBAAyB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7G,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,OAAwB;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,yBAAyB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7G,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,OAAwB;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,0BAA0B,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9G,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,WAAmB,EAAE,OAAwB;QACxE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,mBAAmB,WAAW,YAAY,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9H,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,SAAiB;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0B,kBAAkB,SAAS,EAAE,CAAC,CAAC;QAC9F,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,OAAO,QAA8B,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,kBAAkB,SAAS,OAAO,CAAC,CAAC;QACvG,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,IAAuB;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAA0B,mBAAmB,WAAW,YAAY,EAAE,IAAI,CAAC,CAAC;QAClH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,IAAuB;QACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAU,kBAAkB,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;QACpF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAuB,kBAAkB,SAAS,EAAE,CAAC,CAAC;QAC9F,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,IAAwB;QACtD,mEAAmE;QACnE,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAExB,+DAA+D;QAE/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CACpC,kBAAkB,SAAS,SAAS,EACpC,IAAI,CACL,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,IAAyB;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAU,kBAAkB,SAAS,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5F,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,OAAgB;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAU,kBAAkB,SAAS,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACpG,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,OAAgB;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAU,kBAAkB,SAAS,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACnG,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,UAAmB,IAAI;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAU,kBAAkB,SAAS,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACpG,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,sBAAsB,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QACvE,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QACxE,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,IAA8B;QAC/C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,IAOvC;QACC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,SAAS,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC5F,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF;AArMD,oCAqMC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
import type { Job, CreateJobData, UpdateJobData, PublishJobData, UnpublishJobData, JobSearchParams, JobSearchResult, RequestOptions } from '../api-types';
|
|
3
|
+
import type { paths } from '../types';
|
|
4
|
+
export type JobEnhancedResponse = paths['/api/jobs/{id}']['get']['responses']['200']['content']['application/json'];
|
|
5
|
+
export type JobViewEnhancedResponse = paths['/api/jobs/{id}/view']['get']['responses']['200']['content']['application/json'];
|
|
6
|
+
export type ApplicationStatusResponse = paths['/api/jobs/{id}/application-status']['get']['responses']['200']['content']['application/json'];
|
|
7
|
+
export type JobListResponse = paths['/api/jobs/teamlead']['get']['responses']['200']['content']['application/json'];
|
|
8
|
+
export type JobStatsResponse = paths['/api/jobs/teamlead/stats']['get']['responses']['200']['content']['application/json'];
|
|
9
|
+
export declare class JobsApi {
|
|
10
|
+
private axios;
|
|
11
|
+
constructor(axios: AxiosInstance);
|
|
12
|
+
/**
|
|
13
|
+
* List jobs with search and filtering
|
|
14
|
+
*/
|
|
15
|
+
list(params?: JobSearchParams, options?: RequestOptions): Promise<JobSearchResult>;
|
|
16
|
+
/**
|
|
17
|
+
* Get a single job by ID with enhanced metadata
|
|
18
|
+
*/
|
|
19
|
+
get(id: string, options?: RequestOptions): Promise<JobEnhancedResponse>;
|
|
20
|
+
/**
|
|
21
|
+
* Get just the job data without metadata
|
|
22
|
+
* Convenience method for backward compatibility
|
|
23
|
+
*/
|
|
24
|
+
getData(id: string, options?: RequestOptions): Promise<Job>;
|
|
25
|
+
/**
|
|
26
|
+
* Get job view with aggregated data and enhanced metadata (public endpoint)
|
|
27
|
+
*/
|
|
28
|
+
getJobView(id: string, options?: RequestOptions): Promise<JobViewEnhancedResponse>;
|
|
29
|
+
/**
|
|
30
|
+
* Check application status for a job
|
|
31
|
+
*/
|
|
32
|
+
checkApplicationStatus(id: string, options?: RequestOptions): Promise<ApplicationStatusResponse>;
|
|
33
|
+
/**
|
|
34
|
+
* Create a new job
|
|
35
|
+
* Note: Backend now returns JobViewEnhancedResponse with metadata, not just Job
|
|
36
|
+
*/
|
|
37
|
+
create(data: CreateJobData, options?: RequestOptions): Promise<JobViewEnhancedResponse>;
|
|
38
|
+
/**
|
|
39
|
+
* Update an existing job
|
|
40
|
+
*/
|
|
41
|
+
update(id: string, data: UpdateJobData, options?: RequestOptions): Promise<Job>;
|
|
42
|
+
/**
|
|
43
|
+
* Delete (archive) a job
|
|
44
|
+
*/
|
|
45
|
+
delete(id: string, options?: RequestOptions): Promise<{
|
|
46
|
+
success: boolean;
|
|
47
|
+
}>;
|
|
48
|
+
/**
|
|
49
|
+
* Publish a job
|
|
50
|
+
*/
|
|
51
|
+
publish(id: string, data?: PublishJobData, options?: RequestOptions): Promise<Job>;
|
|
52
|
+
/**
|
|
53
|
+
* Unpublish a job
|
|
54
|
+
*/
|
|
55
|
+
unpublish(id: string, data?: UnpublishJobData, options?: RequestOptions): Promise<Job>;
|
|
56
|
+
/**
|
|
57
|
+
* Extend a job listing
|
|
58
|
+
*/
|
|
59
|
+
extend(id: string, durationDays: 30 | 60, options?: RequestOptions): Promise<Job>;
|
|
60
|
+
/**
|
|
61
|
+
* Get job subscription information
|
|
62
|
+
*/
|
|
63
|
+
getSubscription(id: string, options?: RequestOptions): Promise<JobSubscription | null>;
|
|
64
|
+
/**
|
|
65
|
+
* Delete a job subscription
|
|
66
|
+
*/
|
|
67
|
+
deleteSubscription(jobId: string, subscriptionId: string, options?: RequestOptions): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Search for locations
|
|
70
|
+
*/
|
|
71
|
+
searchLocations(query: string, options?: RequestOptions): Promise<{
|
|
72
|
+
locations: Array<{
|
|
73
|
+
display_name: string;
|
|
74
|
+
address?: string;
|
|
75
|
+
city?: string;
|
|
76
|
+
postal_code?: string;
|
|
77
|
+
country?: string;
|
|
78
|
+
lat: number;
|
|
79
|
+
lng: number;
|
|
80
|
+
}>;
|
|
81
|
+
}>;
|
|
82
|
+
/**
|
|
83
|
+
* Get all locations for a job
|
|
84
|
+
*/
|
|
85
|
+
getLocations(jobId: string, options?: RequestOptions): Promise<JobLocation[]>;
|
|
86
|
+
/**
|
|
87
|
+
* Add a location to a job
|
|
88
|
+
*/
|
|
89
|
+
addLocation(jobId: string, location: CreateJobLocationData, options?: RequestOptions): Promise<JobLocation>;
|
|
90
|
+
/**
|
|
91
|
+
* Update a job location
|
|
92
|
+
*/
|
|
93
|
+
updateLocation(jobId: string, locationId: string, updates: UpdateJobLocationData, options?: RequestOptions): Promise<JobLocation>;
|
|
94
|
+
/**
|
|
95
|
+
* Delete a job location
|
|
96
|
+
*/
|
|
97
|
+
deleteLocation(jobId: string, locationId: string, options?: RequestOptions): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Update all locations for a job (replaces existing locations)
|
|
100
|
+
*/
|
|
101
|
+
updateLocations(jobId: string, locations: CreateJobLocationData[], options?: RequestOptions): Promise<JobLocation[]>;
|
|
102
|
+
/**
|
|
103
|
+
* List jobs for teamlead/coordinator role
|
|
104
|
+
*/
|
|
105
|
+
listAsTeamlead(params?: JobSearchParams, options?: RequestOptions): Promise<JobListResponse>;
|
|
106
|
+
/**
|
|
107
|
+
* List jobs for assistant role
|
|
108
|
+
*/
|
|
109
|
+
listAsAssistant(params?: JobSearchParams, options?: RequestOptions): Promise<JobListResponse>;
|
|
110
|
+
/**
|
|
111
|
+
* Get statistics for teamlead role
|
|
112
|
+
*/
|
|
113
|
+
getTeamleadStats(options?: RequestOptions): Promise<JobStatsResponse>;
|
|
114
|
+
/**
|
|
115
|
+
* Get statistics for assistant role
|
|
116
|
+
*/
|
|
117
|
+
getAssistantStats(options?: RequestOptions): Promise<JobStatsResponse>;
|
|
118
|
+
/**
|
|
119
|
+
* Get role-specific statistics
|
|
120
|
+
*/
|
|
121
|
+
getRoleStats(role: 'teamlead' | 'assistant', options?: RequestOptions): Promise<JobStatsResponse>;
|
|
122
|
+
}
|
|
123
|
+
export interface JobLocation {
|
|
124
|
+
id: string;
|
|
125
|
+
job_id: string;
|
|
126
|
+
place_id?: string;
|
|
127
|
+
display_name?: string;
|
|
128
|
+
address?: string;
|
|
129
|
+
city: string;
|
|
130
|
+
postal_code?: string;
|
|
131
|
+
country?: string;
|
|
132
|
+
lat?: number;
|
|
133
|
+
lng?: number;
|
|
134
|
+
radius_km?: number;
|
|
135
|
+
max_distance_km?: number;
|
|
136
|
+
is_primary?: boolean;
|
|
137
|
+
sort_order?: number;
|
|
138
|
+
created_at?: string;
|
|
139
|
+
updated_at?: string;
|
|
140
|
+
}
|
|
141
|
+
export interface CreateJobLocationData {
|
|
142
|
+
place_id?: string;
|
|
143
|
+
display_name?: string;
|
|
144
|
+
address?: string;
|
|
145
|
+
city: string;
|
|
146
|
+
postal_code?: string;
|
|
147
|
+
country?: string;
|
|
148
|
+
lat?: number;
|
|
149
|
+
lng?: number;
|
|
150
|
+
radius_km?: number;
|
|
151
|
+
max_distance_km?: number;
|
|
152
|
+
is_primary?: boolean;
|
|
153
|
+
sort_order?: number;
|
|
154
|
+
}
|
|
155
|
+
export type UpdateJobLocationData = Partial<CreateJobLocationData>;
|
|
156
|
+
export interface JobSubscription {
|
|
157
|
+
id: string;
|
|
158
|
+
job_id: string;
|
|
159
|
+
account_id: string;
|
|
160
|
+
start_date: string;
|
|
161
|
+
end_date: string;
|
|
162
|
+
amount: number;
|
|
163
|
+
duration_days: number;
|
|
164
|
+
is_extension: boolean;
|
|
165
|
+
status: 'active' | 'expired' | null;
|
|
166
|
+
created_at: string | null;
|
|
167
|
+
updated_at: string | null;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=jobs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/api/jobs.ts"],"names":[],"mappings":"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"}
|