@hapl/api-queries 0.1.174 → 0.1.175
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/CHANGELOG.md +12 -0
- package/dist/api-queries.cjs.development.js +29 -17
- package/dist/api-queries.cjs.development.js.map +1 -1
- package/dist/api-queries.cjs.production.min.js +1 -1
- package/dist/api-queries.cjs.production.min.js.map +1 -1
- package/dist/api-queries.esm.js +29 -17
- package/dist/api-queries.esm.js.map +1 -1
- package/dist/publisher/v1/api/index.d.ts +1 -1
- package/dist/publisher/v1/api/uploadResume/index.d.ts +25 -0
- package/dist/publisher/v1/index.d.ts +1 -1
- package/package.json +1 -1
- package/src/publisher/v1/api/index.ts +1 -1
- package/src/publisher/v1/api/uploadResume/index.ts +58 -0
- package/src/publisher/v1/index.ts +2 -2
- package/dist/publisher/v1/api/sendResume/index.d.ts +0 -23
- package/src/publisher/v1/api/sendResume/index.ts +0 -39
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AxiosResponse, AxiosError } from 'axios';
|
|
2
|
+
declare type ResultData = null;
|
|
3
|
+
declare type ResultError = string;
|
|
4
|
+
export declare type UploadResumeHeaders = {
|
|
5
|
+
'x-auth-hc'?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare type UploadResumeBody = {
|
|
8
|
+
firstname: string;
|
|
9
|
+
phone: string;
|
|
10
|
+
comment?: string;
|
|
11
|
+
email?: string;
|
|
12
|
+
file?: Blob;
|
|
13
|
+
lastname?: string;
|
|
14
|
+
source?: string;
|
|
15
|
+
vacancy_name?: string;
|
|
16
|
+
};
|
|
17
|
+
export declare type UploadResumeData = AxiosResponse<ResultData>;
|
|
18
|
+
export declare type UploadResumeError = AxiosError<ResultError>;
|
|
19
|
+
export declare type UploadResumeConfig = {
|
|
20
|
+
baseURL?: string;
|
|
21
|
+
headers?: UploadResumeHeaders;
|
|
22
|
+
body: UploadResumeBody;
|
|
23
|
+
};
|
|
24
|
+
export declare function uploadResumeRequest({ baseURL, body, headers }: UploadResumeConfig): Promise<UploadResumeData>;
|
|
25
|
+
export {};
|
|
@@ -10,7 +10,7 @@ export declare class Api {
|
|
|
10
10
|
findActualEventsRow: (params: api.FindActualEventsRowParams, headers: api.FindActualEventsRowHeaders) => Promise<api.FindActualEventsRowData>;
|
|
11
11
|
findPlannedEventsRow: (params: api.FindPlannedEventsRowParams, headers: api.FindPlannedEventsRowHeaders) => Promise<api.FindPlannedEventsRowData>;
|
|
12
12
|
findScoring: (params: api.FindScoringParams, headers: api.FindScoringHeaders) => Promise<api.FindScoringData>;
|
|
13
|
-
|
|
13
|
+
uploadResume: (body: api.UploadResumeBody, headers?: api.UploadResumeHeaders | undefined) => Promise<api.UploadResumeData>;
|
|
14
14
|
}
|
|
15
15
|
export * from './api';
|
|
16
16
|
export * from './types';
|
package/package.json
CHANGED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import isNil from 'lodash/isNil';
|
|
2
|
+
import axios, { AxiosResponse, AxiosError, AxiosTransformer } from 'axios';
|
|
3
|
+
|
|
4
|
+
type SuccessData = { success: true };
|
|
5
|
+
type ErrorData = { success?: false; data: Record<'error' | 'message', string> };
|
|
6
|
+
|
|
7
|
+
type ResultData = null;
|
|
8
|
+
type ResultError = string;
|
|
9
|
+
|
|
10
|
+
export type UploadResumeHeaders = { 'x-auth-hc'?: string };
|
|
11
|
+
export type UploadResumeBody = {
|
|
12
|
+
firstname: string;
|
|
13
|
+
phone: string;
|
|
14
|
+
comment?: string;
|
|
15
|
+
email?: string;
|
|
16
|
+
file?: Blob;
|
|
17
|
+
lastname?: string;
|
|
18
|
+
source?: string;
|
|
19
|
+
vacancy_name?: string;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export type UploadResumeData = AxiosResponse<ResultData>;
|
|
23
|
+
export type UploadResumeError = AxiosError<ResultError>;
|
|
24
|
+
export type UploadResumeConfig = {
|
|
25
|
+
baseURL?: string;
|
|
26
|
+
headers?: UploadResumeHeaders;
|
|
27
|
+
body: UploadResumeBody;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export function uploadResumeRequest({ baseURL = 'https://publisher.homeapp.ru', body, headers }: UploadResumeConfig) {
|
|
31
|
+
const formData = new FormData();
|
|
32
|
+
|
|
33
|
+
formData.append('firstname', body?.firstname || '');
|
|
34
|
+
formData.append('lastname', body?.lastname || '');
|
|
35
|
+
formData.append('phone', body?.phone || '');
|
|
36
|
+
formData.append('email', body?.email || '');
|
|
37
|
+
formData.append('source', body?.source || '');
|
|
38
|
+
formData.append('comment', body?.comment || '');
|
|
39
|
+
formData.append('vacancy_name', body?.vacancy_name || '');
|
|
40
|
+
|
|
41
|
+
if (!isNil(body?.file)) {
|
|
42
|
+
formData.append('file', body?.file);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return axios
|
|
46
|
+
.post('/resume', formData, {
|
|
47
|
+
baseURL,
|
|
48
|
+
headers: { Accept: 'application/json', 'Content-Type': 'multipart/form-data', ...headers },
|
|
49
|
+
transformResponse: [
|
|
50
|
+
...(axios.defaults.transformResponse as AxiosTransformer[]),
|
|
51
|
+
(data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),
|
|
52
|
+
],
|
|
53
|
+
})
|
|
54
|
+
.then((res: UploadResumeData) => res)
|
|
55
|
+
.catch((err: UploadResumeError) => {
|
|
56
|
+
throw err;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
@@ -35,8 +35,8 @@ export class Api {
|
|
|
35
35
|
return api.findScoringRequest({ params, headers, baseURL: this.baseURL });
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
return api.
|
|
38
|
+
uploadResume = (body: api.UploadResumeBody, headers?: api.UploadResumeHeaders) => {
|
|
39
|
+
return api.uploadResumeRequest({ body, headers, baseURL: this.baseURL });
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
declare type Name = 'file' | 'firstname' | 'lastname' | 'phone' | 'email' | 'source' | 'comment' | 'vacancy_name';
|
|
2
|
-
export declare type SendResumeBody = {
|
|
3
|
-
append(name: Name, value: string | Blob, fileName?: string): void;
|
|
4
|
-
delete(name: Name): void;
|
|
5
|
-
get(name: Name): FormDataEntryValue | null;
|
|
6
|
-
getAll(name: Name): FormDataEntryValue[];
|
|
7
|
-
has(name: Name): boolean;
|
|
8
|
-
set(name: Name, value: string | Blob, fileName?: string): void;
|
|
9
|
-
forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void;
|
|
10
|
-
};
|
|
11
|
-
export declare type SendResumeData = {
|
|
12
|
-
data: true;
|
|
13
|
-
};
|
|
14
|
-
export declare type SendResumeError = {
|
|
15
|
-
status: number;
|
|
16
|
-
data: string;
|
|
17
|
-
};
|
|
18
|
-
export declare type SendResumeConfig = {
|
|
19
|
-
baseURL?: string;
|
|
20
|
-
body: SendResumeBody;
|
|
21
|
-
};
|
|
22
|
-
export declare function sendResumeRequest({ baseURL, body }: SendResumeConfig): Promise<SendResumeData>;
|
|
23
|
-
export {};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import axios, { AxiosResponse, AxiosError } from 'axios';
|
|
2
|
-
|
|
3
|
-
type SuccessData = { success: true };
|
|
4
|
-
|
|
5
|
-
type ErrorData = { success?: false; data?: { error: string }; message?: string };
|
|
6
|
-
|
|
7
|
-
type Name = 'file' | 'firstname' | 'lastname' | 'phone' | 'email' | 'source' | 'comment' | 'vacancy_name';
|
|
8
|
-
|
|
9
|
-
export type SendResumeBody = {
|
|
10
|
-
append(name: Name, value: string | Blob, fileName?: string): void;
|
|
11
|
-
delete(name: Name): void;
|
|
12
|
-
get(name: Name): FormDataEntryValue | null;
|
|
13
|
-
getAll(name: Name): FormDataEntryValue[];
|
|
14
|
-
has(name: Name): boolean;
|
|
15
|
-
set(name: Name, value: string | Blob, fileName?: string): void;
|
|
16
|
-
forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export type SendResumeData = { data: true };
|
|
20
|
-
|
|
21
|
-
export type SendResumeError = { status: number; data: string };
|
|
22
|
-
|
|
23
|
-
export type SendResumeConfig = { baseURL?: string; body: SendResumeBody };
|
|
24
|
-
|
|
25
|
-
export function sendResumeRequest({ baseURL = 'https://publisher.homeapp.ru', body }: SendResumeConfig) {
|
|
26
|
-
return axios
|
|
27
|
-
.post('/resume-row', body, {
|
|
28
|
-
baseURL,
|
|
29
|
-
headers: { Accept: 'application/json', 'Content-Type': 'multipart/form-data' },
|
|
30
|
-
})
|
|
31
|
-
.then((res: AxiosResponse<SuccessData>): SendResumeData => ({ data: res.data.success }))
|
|
32
|
-
.catch((err: AxiosError<ErrorData>) => {
|
|
33
|
-
const error: Error & Partial<SendResumeError> = new Error(err.message);
|
|
34
|
-
error.status = err.response?.status ?? 520;
|
|
35
|
-
error.data = err.response?.data.message ?? err.response?.data.data?.error ?? 'Unknown Error';
|
|
36
|
-
|
|
37
|
-
throw error;
|
|
38
|
-
});
|
|
39
|
-
}
|