@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,166 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
import type { paths } from '../types';
|
|
3
|
+
export type ApplicationViewEnhancedResponse = paths['/api/applications/{applicationId}/view']['get']['responses']['200']['content']['application/json'];
|
|
4
|
+
export type ApplicationEnhancedResponse = paths['/api/applications/{applicationId}']['get']['responses']['200']['content']['application/json'];
|
|
5
|
+
export interface Application {
|
|
6
|
+
id: string;
|
|
7
|
+
job_id: string;
|
|
8
|
+
account_id?: string | null;
|
|
9
|
+
applicant_id: string;
|
|
10
|
+
status: 'draft' | 'submitted' | 'approved' | 'rejected' | 'cancelled';
|
|
11
|
+
cover_letter?: string | null;
|
|
12
|
+
availability_from?: string | null;
|
|
13
|
+
availability_to?: string | null;
|
|
14
|
+
hours_per_week?: number | null;
|
|
15
|
+
archived_by_applicant: boolean;
|
|
16
|
+
archived_by_coordinator: boolean;
|
|
17
|
+
archived_at_applicant?: string | null;
|
|
18
|
+
archived_at_coordinator?: string | null;
|
|
19
|
+
submitted_at?: string | null;
|
|
20
|
+
approved_at?: string | null;
|
|
21
|
+
rejected_at?: string | null;
|
|
22
|
+
cancelled_at?: string | null;
|
|
23
|
+
cancelled_message?: string | null;
|
|
24
|
+
rejected_message?: string | null;
|
|
25
|
+
approved_message?: string | null;
|
|
26
|
+
application_number: number;
|
|
27
|
+
previous_application_id?: string | null;
|
|
28
|
+
lifecycle_status: 'operational' | 'archived' | 'anonymized';
|
|
29
|
+
created_at: string;
|
|
30
|
+
updated_at: string;
|
|
31
|
+
status_changed_at: string;
|
|
32
|
+
}
|
|
33
|
+
export interface CreateApplicationData {
|
|
34
|
+
job_id: string;
|
|
35
|
+
cover_letter?: string;
|
|
36
|
+
availability_from?: string;
|
|
37
|
+
availability_to?: string;
|
|
38
|
+
hours_per_week?: number;
|
|
39
|
+
}
|
|
40
|
+
export interface UpdateApplicationData {
|
|
41
|
+
cover_letter?: string;
|
|
42
|
+
availability_from?: string;
|
|
43
|
+
availability_to?: string;
|
|
44
|
+
hours_per_week?: number;
|
|
45
|
+
}
|
|
46
|
+
export interface ApplicationFilters {
|
|
47
|
+
status?: string;
|
|
48
|
+
job_id?: string;
|
|
49
|
+
archived?: boolean;
|
|
50
|
+
page?: number;
|
|
51
|
+
limit?: number;
|
|
52
|
+
sort_by?: string;
|
|
53
|
+
sort_order?: 'asc' | 'desc';
|
|
54
|
+
}
|
|
55
|
+
export interface ApplicationsListResponse {
|
|
56
|
+
data: Application[];
|
|
57
|
+
pagination: {
|
|
58
|
+
page: number;
|
|
59
|
+
limit: number;
|
|
60
|
+
total: number;
|
|
61
|
+
total_pages: number;
|
|
62
|
+
has_more: boolean;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export interface JobApplicationsFilters {
|
|
66
|
+
status?: string;
|
|
67
|
+
archived?: boolean;
|
|
68
|
+
page?: number;
|
|
69
|
+
limit?: number;
|
|
70
|
+
sort_by?: string;
|
|
71
|
+
sort_order?: 'asc' | 'desc';
|
|
72
|
+
}
|
|
73
|
+
export declare class ApplicationsApi {
|
|
74
|
+
private axios;
|
|
75
|
+
constructor(axios: AxiosInstance);
|
|
76
|
+
/**
|
|
77
|
+
* List my applications as an applicant
|
|
78
|
+
*/
|
|
79
|
+
listMyApplications(filters?: ApplicationFilters): Promise<ApplicationsListResponse>;
|
|
80
|
+
/**
|
|
81
|
+
* List my applications as an applicant (alias for listMyApplications)
|
|
82
|
+
*/
|
|
83
|
+
list(filters?: ApplicationFilters): Promise<ApplicationsListResponse>;
|
|
84
|
+
/**
|
|
85
|
+
* List all received applications for coordinator's jobs
|
|
86
|
+
*/
|
|
87
|
+
listReceived(filters?: ApplicationFilters): Promise<ApplicationsListResponse>;
|
|
88
|
+
/**
|
|
89
|
+
* List applications for teamlead role (role-based pattern)
|
|
90
|
+
*/
|
|
91
|
+
listAsTeamlead(filters?: ApplicationFilters): Promise<ApplicationsListResponse>;
|
|
92
|
+
/**
|
|
93
|
+
* List applications for assistant role (role-based pattern)
|
|
94
|
+
*/
|
|
95
|
+
listAsAssistant(filters?: ApplicationFilters): Promise<ApplicationsListResponse>;
|
|
96
|
+
/**
|
|
97
|
+
* Get application statistics for teamlead role
|
|
98
|
+
*/
|
|
99
|
+
getTeamleadStats(): Promise<any>;
|
|
100
|
+
/**
|
|
101
|
+
* Get application statistics for assistant role
|
|
102
|
+
*/
|
|
103
|
+
getAssistantStats(): Promise<any>;
|
|
104
|
+
/**
|
|
105
|
+
* Get role-based statistics (generic method)
|
|
106
|
+
*/
|
|
107
|
+
getRoleStats(role: 'teamlead' | 'assistant'): Promise<any>;
|
|
108
|
+
/**
|
|
109
|
+
* List applications for a specific job (coordinator only)
|
|
110
|
+
*/
|
|
111
|
+
listJobApplications(jobId: string, filters?: JobApplicationsFilters): Promise<ApplicationsListResponse>;
|
|
112
|
+
/**
|
|
113
|
+
* Get a specific application by ID
|
|
114
|
+
* Returns enhanced response with metadata and permissions
|
|
115
|
+
*/
|
|
116
|
+
get(applicationId: string): Promise<ApplicationEnhancedResponse>;
|
|
117
|
+
/**
|
|
118
|
+
* Get just the application data without metadata
|
|
119
|
+
* Convenience method for backward compatibility
|
|
120
|
+
*/
|
|
121
|
+
getData(applicationId: string): Promise<Application>;
|
|
122
|
+
/**
|
|
123
|
+
* Get application view with enhanced data
|
|
124
|
+
*/
|
|
125
|
+
getApplicationView(applicationId: string): Promise<ApplicationViewEnhancedResponse>;
|
|
126
|
+
/**
|
|
127
|
+
* Create a draft application
|
|
128
|
+
*/
|
|
129
|
+
create(data: CreateApplicationData): Promise<Application>;
|
|
130
|
+
/**
|
|
131
|
+
* Update a draft application
|
|
132
|
+
*/
|
|
133
|
+
update(applicationId: string, data: UpdateApplicationData): Promise<Application>;
|
|
134
|
+
/**
|
|
135
|
+
* Submit an application
|
|
136
|
+
*/
|
|
137
|
+
submit(applicationId: string, data?: UpdateApplicationData): Promise<Application>;
|
|
138
|
+
/**
|
|
139
|
+
* Approve an application (coordinator only)
|
|
140
|
+
*/
|
|
141
|
+
approve(applicationId: string, message?: string): Promise<Application>;
|
|
142
|
+
/**
|
|
143
|
+
* Reject an application (coordinator only)
|
|
144
|
+
*/
|
|
145
|
+
reject(applicationId: string, message?: string): Promise<Application>;
|
|
146
|
+
/**
|
|
147
|
+
* Cancel an application (applicant only)
|
|
148
|
+
*/
|
|
149
|
+
cancel(applicationId: string, message?: string): Promise<Application>;
|
|
150
|
+
/**
|
|
151
|
+
* Archive or unarchive an application
|
|
152
|
+
*/
|
|
153
|
+
archive(applicationId: string, archive?: boolean): Promise<Application>;
|
|
154
|
+
/**
|
|
155
|
+
* Create a contract from an approved application (coordinator only)
|
|
156
|
+
*/
|
|
157
|
+
createContract(applicationId: string, data?: {
|
|
158
|
+
contract_type?: 'on_call' | 'regular' | 'temporary';
|
|
159
|
+
service_type?: 'bpa' | 'function_assistance';
|
|
160
|
+
hours_per_week?: number;
|
|
161
|
+
hourly_rate?: number;
|
|
162
|
+
start_date?: string;
|
|
163
|
+
end_date?: string;
|
|
164
|
+
}): Promise<any>;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=applications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applications.d.ts","sourceRoot":"","sources":["../../src/api/applications.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApplicationsApi = void 0;
|
|
4
|
+
class ApplicationsApi {
|
|
5
|
+
axios;
|
|
6
|
+
constructor(axios) {
|
|
7
|
+
this.axios = axios;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* List my applications as an applicant
|
|
11
|
+
*/
|
|
12
|
+
async listMyApplications(filters) {
|
|
13
|
+
const response = await this.axios.get('/api/applications', { params: filters });
|
|
14
|
+
return response.data;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* List my applications as an applicant (alias for listMyApplications)
|
|
18
|
+
*/
|
|
19
|
+
async list(filters) {
|
|
20
|
+
return this.listMyApplications(filters);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* List all received applications for coordinator's jobs
|
|
24
|
+
*/
|
|
25
|
+
async listReceived(filters) {
|
|
26
|
+
const response = await this.axios.get('/api/applications/received', { params: filters });
|
|
27
|
+
return response.data;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* List applications for teamlead role (role-based pattern)
|
|
31
|
+
*/
|
|
32
|
+
async listAsTeamlead(filters) {
|
|
33
|
+
const response = await this.axios.get('/api/applications/teamlead', { params: filters });
|
|
34
|
+
return response.data;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* List applications for assistant role (role-based pattern)
|
|
38
|
+
*/
|
|
39
|
+
async listAsAssistant(filters) {
|
|
40
|
+
const response = await this.axios.get('/api/applications/assistant', { params: filters });
|
|
41
|
+
return response.data;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get application statistics for teamlead role
|
|
45
|
+
*/
|
|
46
|
+
async getTeamleadStats() {
|
|
47
|
+
const response = await this.axios.get('/api/applications/teamlead/stats');
|
|
48
|
+
return response.data;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get application statistics for assistant role
|
|
52
|
+
*/
|
|
53
|
+
async getAssistantStats() {
|
|
54
|
+
const response = await this.axios.get('/api/applications/assistant/stats');
|
|
55
|
+
return response.data;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get role-based statistics (generic method)
|
|
59
|
+
*/
|
|
60
|
+
async getRoleStats(role) {
|
|
61
|
+
const response = await this.axios.get(`/api/applications/${role}/stats`);
|
|
62
|
+
return response.data;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* List applications for a specific job (coordinator only)
|
|
66
|
+
*/
|
|
67
|
+
async listJobApplications(jobId, filters) {
|
|
68
|
+
const response = await this.axios.get(`/api/jobs/${jobId}/applications`, { params: filters });
|
|
69
|
+
return response.data;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get a specific application by ID
|
|
73
|
+
* Returns enhanced response with metadata and permissions
|
|
74
|
+
*/
|
|
75
|
+
async get(applicationId) {
|
|
76
|
+
const response = await this.axios.get(`/api/applications/${applicationId}`);
|
|
77
|
+
return response.data;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get just the application data without metadata
|
|
81
|
+
* Convenience method for backward compatibility
|
|
82
|
+
*/
|
|
83
|
+
async getData(applicationId) {
|
|
84
|
+
const response = await this.get(applicationId);
|
|
85
|
+
// The response might have data property or be the data directly
|
|
86
|
+
return (response.data || response);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get application view with enhanced data
|
|
90
|
+
*/
|
|
91
|
+
async getApplicationView(applicationId) {
|
|
92
|
+
const response = await this.axios.get(`/api/applications/${applicationId}/view`);
|
|
93
|
+
return response.data;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Create a draft application
|
|
97
|
+
*/
|
|
98
|
+
async create(data) {
|
|
99
|
+
const response = await this.axios.post('/api/applications', data);
|
|
100
|
+
return response.data;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Update a draft application
|
|
104
|
+
*/
|
|
105
|
+
async update(applicationId, data) {
|
|
106
|
+
const response = await this.axios.put(`/api/applications/${applicationId}`, data);
|
|
107
|
+
return response.data;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Submit an application
|
|
111
|
+
*/
|
|
112
|
+
async submit(applicationId, data) {
|
|
113
|
+
// If no data or empty object, send empty object to avoid body/content-type mismatch
|
|
114
|
+
const body = data && Object.keys(data).length > 0 ? data : {};
|
|
115
|
+
const response = await this.axios.post(`/api/applications/${applicationId}/submit`, body);
|
|
116
|
+
return response.data;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Approve an application (coordinator only)
|
|
120
|
+
*/
|
|
121
|
+
async approve(applicationId, message) {
|
|
122
|
+
const response = await this.axios.post(`/api/applications/${applicationId}/approve`, { message });
|
|
123
|
+
return response.data;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Reject an application (coordinator only)
|
|
127
|
+
*/
|
|
128
|
+
async reject(applicationId, message) {
|
|
129
|
+
const response = await this.axios.post(`/api/applications/${applicationId}/reject`, { message });
|
|
130
|
+
return response.data;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Cancel an application (applicant only)
|
|
134
|
+
*/
|
|
135
|
+
async cancel(applicationId, message) {
|
|
136
|
+
const response = await this.axios.post(`/api/applications/${applicationId}/cancel`, { message });
|
|
137
|
+
return response.data;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Archive or unarchive an application
|
|
141
|
+
*/
|
|
142
|
+
async archive(applicationId, archive = true) {
|
|
143
|
+
// Backend expects 'archived' field, not 'archive'
|
|
144
|
+
const response = await this.axios.post(`/api/applications/${applicationId}/archive`, { archived: archive });
|
|
145
|
+
return response.data;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Create a contract from an approved application (coordinator only)
|
|
149
|
+
*/
|
|
150
|
+
async createContract(applicationId, data) {
|
|
151
|
+
const response = await this.axios.post(`/api/applications/${applicationId}/contracts`, data || {});
|
|
152
|
+
return response.data;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
exports.ApplicationsApi = ApplicationsApi;
|
|
156
|
+
//# sourceMappingURL=applications.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applications.js","sourceRoot":"","sources":["../../src/api/applications.ts"],"names":[],"mappings":"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"}
|