@iconicompany/imarketplacetypes 1.0.0
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/bun.lock +14 -0
- package/dist/contracts/job-contract.d.ts +22 -0
- package/dist/contracts/job-contract.js +1 -0
- package/dist/contracts/offer-contract.d.ts +19 -0
- package/dist/contracts/offer-contract.js +1 -0
- package/dist/entities/company/index.d.ts +1 -0
- package/dist/entities/company/index.js +1 -0
- package/dist/entities/company/model.d.ts +34 -0
- package/dist/entities/company/model.js +1 -0
- package/dist/entities/dictionary/category/index.d.ts +1 -0
- package/dist/entities/dictionary/category/index.js +1 -0
- package/dist/entities/dictionary/category/model.d.ts +6 -0
- package/dist/entities/dictionary/category/model.js +1 -0
- package/dist/entities/dictionary/city/index.d.ts +1 -0
- package/dist/entities/dictionary/city/index.js +1 -0
- package/dist/entities/dictionary/city/model.d.ts +6 -0
- package/dist/entities/dictionary/city/model.js +1 -0
- package/dist/entities/dictionary/country/index.d.ts +1 -0
- package/dist/entities/dictionary/country/index.js +1 -0
- package/dist/entities/dictionary/country/model.d.ts +6 -0
- package/dist/entities/dictionary/country/model.js +1 -0
- package/dist/entities/dictionary/dataSource/index.d.ts +1 -0
- package/dist/entities/dictionary/dataSource/index.js +1 -0
- package/dist/entities/dictionary/dataSource/model.d.ts +8 -0
- package/dist/entities/dictionary/dataSource/model.js +1 -0
- package/dist/entities/dictionary/grade/index.d.ts +1 -0
- package/dist/entities/dictionary/grade/index.js +1 -0
- package/dist/entities/dictionary/grade/model.d.ts +6 -0
- package/dist/entities/dictionary/grade/model.js +1 -0
- package/dist/entities/dictionary/index.d.ts +14 -0
- package/dist/entities/dictionary/index.js +1 -0
- package/dist/entities/dictionary/industry/index.d.ts +1 -0
- package/dist/entities/dictionary/industry/index.js +1 -0
- package/dist/entities/dictionary/industry/model.d.ts +6 -0
- package/dist/entities/dictionary/industry/model.js +1 -0
- package/dist/entities/dictionary/language/index.d.ts +1 -0
- package/dist/entities/dictionary/language/index.js +1 -0
- package/dist/entities/dictionary/language/model.d.ts +6 -0
- package/dist/entities/dictionary/language/model.js +1 -0
- package/dist/entities/dictionary/media/index.d.ts +1 -0
- package/dist/entities/dictionary/media/index.js +1 -0
- package/dist/entities/dictionary/media/model.d.ts +16 -0
- package/dist/entities/dictionary/media/model.js +1 -0
- package/dist/entities/dictionary/offerStatus/index.d.ts +1 -0
- package/dist/entities/dictionary/offerStatus/index.js +1 -0
- package/dist/entities/dictionary/offerStatus/model.d.ts +7 -0
- package/dist/entities/dictionary/offerStatus/model.js +1 -0
- package/dist/entities/dictionary/permission/index.d.ts +1 -0
- package/dist/entities/dictionary/permission/index.js +1 -0
- package/dist/entities/dictionary/permission/model.d.ts +8 -0
- package/dist/entities/dictionary/permission/model.js +1 -0
- package/dist/entities/dictionary/role/index.d.ts +1 -0
- package/dist/entities/dictionary/role/index.js +1 -0
- package/dist/entities/dictionary/role/model.d.ts +12 -0
- package/dist/entities/dictionary/role/model.js +1 -0
- package/dist/entities/dictionary/service/index.d.ts +1 -0
- package/dist/entities/dictionary/service/index.js +1 -0
- package/dist/entities/dictionary/service/model.d.ts +32 -0
- package/dist/entities/dictionary/service/model.js +1 -0
- package/dist/entities/dictionary/skill/index.d.ts +1 -0
- package/dist/entities/dictionary/skill/index.js +1 -0
- package/dist/entities/dictionary/skill/model.d.ts +7 -0
- package/dist/entities/dictionary/skill/model.js +1 -0
- package/dist/entities/dictionary/specialization/index.d.ts +1 -0
- package/dist/entities/dictionary/specialization/index.js +1 -0
- package/dist/entities/dictionary/specialization/model.d.ts +9 -0
- package/dist/entities/dictionary/specialization/model.js +1 -0
- package/dist/entities/index.d.ts +6 -0
- package/dist/entities/index.js +1 -0
- package/dist/entities/job/index.d.ts +1 -0
- package/dist/entities/job/index.js +1 -0
- package/dist/entities/job/model.d.ts +64 -0
- package/dist/entities/job/model.js +1 -0
- package/dist/entities/offer/index.d.ts +1 -0
- package/dist/entities/offer/index.js +1 -0
- package/dist/entities/offer/model.d.ts +43 -0
- package/dist/entities/offer/model.js +1 -0
- package/dist/entities/specialist/index.d.ts +1 -0
- package/dist/entities/specialist/index.js +1 -0
- package/dist/entities/specialist/model.d.ts +100 -0
- package/dist/entities/specialist/model.js +1 -0
- package/dist/entities/user/index.d.ts +1 -0
- package/dist/entities/user/index.js +1 -0
- package/dist/entities/user/model.d.ts +23 -0
- package/dist/entities/user/model.js +1 -0
- package/dist/services/job-service.d.ts +8 -0
- package/dist/services/job-service.js +1 -0
- package/dist/services/offer-service.d.ts +20 -0
- package/dist/services/offer-service.js +1 -0
- package/dist/types.d.ts +8 -0
- package/dist/types.js +1 -0
- package/package.json +35 -0
- package/src/contracts/job-contract.ts +24 -0
- package/src/contracts/offer-contract.ts +18 -0
- package/src/entities/company/index.ts +1 -0
- package/src/entities/company/model.ts +37 -0
- package/src/entities/dictionary/category/index.ts +1 -0
- package/src/entities/dictionary/category/model.ts +6 -0
- package/src/entities/dictionary/city/index.ts +1 -0
- package/src/entities/dictionary/city/model.ts +6 -0
- package/src/entities/dictionary/country/index.ts +1 -0
- package/src/entities/dictionary/country/model.ts +6 -0
- package/src/entities/dictionary/dataSource/index.ts +1 -0
- package/src/entities/dictionary/dataSource/model.ts +8 -0
- package/src/entities/dictionary/grade/index.ts +1 -0
- package/src/entities/dictionary/grade/model.ts +6 -0
- package/src/entities/dictionary/index.ts +14 -0
- package/src/entities/dictionary/industry/index.ts +1 -0
- package/src/entities/dictionary/industry/model.ts +6 -0
- package/src/entities/dictionary/language/index.ts +1 -0
- package/src/entities/dictionary/language/model.ts +6 -0
- package/src/entities/dictionary/media/index.ts +1 -0
- package/src/entities/dictionary/media/model.ts +16 -0
- package/src/entities/dictionary/offerStatus/index.ts +1 -0
- package/src/entities/dictionary/offerStatus/model.ts +7 -0
- package/src/entities/dictionary/permission/index.ts +1 -0
- package/src/entities/dictionary/permission/model.ts +8 -0
- package/src/entities/dictionary/role/index.ts +1 -0
- package/src/entities/dictionary/role/model.ts +13 -0
- package/src/entities/dictionary/service/index.ts +1 -0
- package/src/entities/dictionary/service/model.ts +35 -0
- package/src/entities/dictionary/skill/index.ts +1 -0
- package/src/entities/dictionary/skill/model.ts +7 -0
- package/src/entities/dictionary/specialization/index.ts +1 -0
- package/src/entities/dictionary/specialization/model.ts +11 -0
- package/src/entities/index.ts +8 -0
- package/src/entities/job/index.ts +1 -0
- package/src/entities/job/model.ts +74 -0
- package/src/entities/offer/index.ts +1 -0
- package/src/entities/offer/model.ts +59 -0
- package/src/entities/specialist/index.ts +1 -0
- package/src/entities/specialist/model.ts +119 -0
- package/src/entities/user/index.ts +1 -0
- package/src/entities/user/model.ts +30 -0
- package/src/services/job-service.ts +16 -0
- package/src/services/offer-service.ts +31 -0
- package/src/types.ts +8 -0
- package/tsconfig.json +21 -0
package/bun.lock
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lockfileVersion": 1,
|
|
3
|
+
"workspaces": {
|
|
4
|
+
"": {
|
|
5
|
+
"name": "@imarketplace/types",
|
|
6
|
+
"devDependencies": {
|
|
7
|
+
"typescript": "^5.0.0",
|
|
8
|
+
},
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
"packages": {
|
|
12
|
+
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { PaginatedJob } from "@/services/job-service";
|
|
2
|
+
import { PaginatedResult } from "@/types";
|
|
3
|
+
export type getPaginatedJobsResult = PaginatedResult<PaginatedJob>;
|
|
4
|
+
export type JobSelectItem = {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
};
|
|
8
|
+
export type getJobSelectResult = PaginatedResult<JobSelectItem>;
|
|
9
|
+
export interface JobContract {
|
|
10
|
+
getPaginatedJobs: {
|
|
11
|
+
params: {
|
|
12
|
+
page: number;
|
|
13
|
+
};
|
|
14
|
+
result: getPaginatedJobsResult;
|
|
15
|
+
};
|
|
16
|
+
getJobSelect: {
|
|
17
|
+
params: {
|
|
18
|
+
page: number;
|
|
19
|
+
};
|
|
20
|
+
result: getJobSelectResult;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { PaginatedOffer, DetailedOffer } from "@/services/offer-service";
|
|
2
|
+
import { PaginatedResult } from "@/types";
|
|
3
|
+
export type getPaginatedOffersResult = PaginatedResult<PaginatedOffer>;
|
|
4
|
+
export interface OfferContract {
|
|
5
|
+
getPaginatedOffers: {
|
|
6
|
+
params: {
|
|
7
|
+
page: number;
|
|
8
|
+
minMatchScore?: number;
|
|
9
|
+
maxMatchScore?: number;
|
|
10
|
+
};
|
|
11
|
+
result: getPaginatedOffersResult;
|
|
12
|
+
};
|
|
13
|
+
getCandidate: {
|
|
14
|
+
params: {
|
|
15
|
+
id: string;
|
|
16
|
+
};
|
|
17
|
+
result: DetailedOffer | undefined;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Company } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Media, Service } from '@/entities/dictionary';
|
|
2
|
+
interface DefaultCompany {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
inn?: string | null;
|
|
6
|
+
entityType: 'INDIVIDUAL' | 'LEGAL_ENTITY' | 'SOLE_PROPRIETOR' | 'SELF_EMPLOYED';
|
|
7
|
+
entityRole: 'CUSTOMER' | 'AGENCY' | 'SPECIALIST';
|
|
8
|
+
data?: {
|
|
9
|
+
ogrn?: string | null;
|
|
10
|
+
kpp?: string | null;
|
|
11
|
+
okved?: string | null;
|
|
12
|
+
regDate?: string | null;
|
|
13
|
+
regAddress?: string | null;
|
|
14
|
+
factAddress?: string | null;
|
|
15
|
+
director?: string | null;
|
|
16
|
+
taxForm?: string | null;
|
|
17
|
+
bik?: string | null;
|
|
18
|
+
bankName?: string | null;
|
|
19
|
+
accountNumber?: string | null;
|
|
20
|
+
};
|
|
21
|
+
services?: (string | Service)[] | null;
|
|
22
|
+
dossier?: {
|
|
23
|
+
code: 'CV' | 'CHECKLIST';
|
|
24
|
+
content?: (string | null) | Media;
|
|
25
|
+
id?: string | null;
|
|
26
|
+
}[] | null;
|
|
27
|
+
telegramChatId?: string | null;
|
|
28
|
+
telegramChatNotificationId?: string | null;
|
|
29
|
+
isSpecialistNotificationSub?: boolean | null;
|
|
30
|
+
updatedAt: string;
|
|
31
|
+
createdAt: string;
|
|
32
|
+
}
|
|
33
|
+
export type Company<TOverride extends Partial<DefaultCompany> = {}> = Omit<DefaultCompany, keyof TOverride> & TOverride;
|
|
34
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Category } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { City } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Country } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { DataSource } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Grade } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type { Category } from './category';
|
|
2
|
+
export type { City } from './city';
|
|
3
|
+
export type { DataSource } from './dataSource';
|
|
4
|
+
export type { Country } from './country';
|
|
5
|
+
export type { Grade } from './grade';
|
|
6
|
+
export type { Industry } from './industry';
|
|
7
|
+
export type { Language } from './language';
|
|
8
|
+
export type { Media } from './media';
|
|
9
|
+
export type { OfferStatus } from './offerStatus';
|
|
10
|
+
export type { Permission } from './permission';
|
|
11
|
+
export type { Role } from './role';
|
|
12
|
+
export type { Service } from './service';
|
|
13
|
+
export type { Skill } from './skill';
|
|
14
|
+
export type { Specialization } from './specialization';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Industry } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Language } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Media } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface Media {
|
|
2
|
+
id: string;
|
|
3
|
+
content?: string | null;
|
|
4
|
+
prefix?: string | null;
|
|
5
|
+
updatedAt: string;
|
|
6
|
+
createdAt: string;
|
|
7
|
+
url?: string | null;
|
|
8
|
+
thumbnailURL?: string | null;
|
|
9
|
+
filename?: string | null;
|
|
10
|
+
mimeType?: string | null;
|
|
11
|
+
filesize?: number | null;
|
|
12
|
+
width?: number | null;
|
|
13
|
+
height?: number | null;
|
|
14
|
+
focalX?: number | null;
|
|
15
|
+
focalY?: number | null;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { OfferStatus } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Permission } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Role } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Permission } from '@/entities/dictionary';
|
|
2
|
+
interface DefaultRole {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
code: string;
|
|
6
|
+
description?: string | null;
|
|
7
|
+
permissions?: (string | Permission)[] | null;
|
|
8
|
+
updatedAt: string;
|
|
9
|
+
createdAt: string;
|
|
10
|
+
}
|
|
11
|
+
export type Role<TOverride extends Partial<DefaultRole> = {}> = Omit<DefaultRole, keyof TOverride> & TOverride;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Service } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Media } from '@/entities/dictionary';
|
|
2
|
+
interface DefaultService {
|
|
3
|
+
id: string;
|
|
4
|
+
top?: boolean | null;
|
|
5
|
+
name: string;
|
|
6
|
+
content: {
|
|
7
|
+
root: {
|
|
8
|
+
type: string;
|
|
9
|
+
children: {
|
|
10
|
+
type: any;
|
|
11
|
+
version: number;
|
|
12
|
+
[k: string]: unknown;
|
|
13
|
+
}[];
|
|
14
|
+
direction: ('ltr' | 'rtl') | null;
|
|
15
|
+
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
|
16
|
+
indent: number;
|
|
17
|
+
version: number;
|
|
18
|
+
};
|
|
19
|
+
[k: string]: unknown;
|
|
20
|
+
};
|
|
21
|
+
content_html?: string | null;
|
|
22
|
+
gallery?: {
|
|
23
|
+
photo?: (string | Media)[] | null;
|
|
24
|
+
id?: string | null;
|
|
25
|
+
}[] | null;
|
|
26
|
+
amount?: number | null;
|
|
27
|
+
currency?: ('RUB' | 'EUR' | 'USD') | null;
|
|
28
|
+
updatedAt: string;
|
|
29
|
+
createdAt: string;
|
|
30
|
+
}
|
|
31
|
+
export type Service<TOverride extends Partial<DefaultService> = {}> = Omit<DefaultService, keyof TOverride> & TOverride;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Skill } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Specialization } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Category } from '@/entities/dictionary';
|
|
2
|
+
export interface DefaultSpecialization {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
category?: (string | null) | Category;
|
|
6
|
+
updatedAt: string;
|
|
7
|
+
createdAt: string;
|
|
8
|
+
}
|
|
9
|
+
export type Specialization<TOverride extends Partial<DefaultSpecialization> = {}> = Omit<DefaultSpecialization, keyof TOverride> & TOverride;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Job } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { City, Country, Industry, Grade, Language, DataSource, Specialization } from '@/entities/dictionary';
|
|
2
|
+
import type { Company } from '@/entities/company';
|
|
3
|
+
interface JobRequirement {
|
|
4
|
+
requirement: string;
|
|
5
|
+
mandatory?: boolean | null;
|
|
6
|
+
id?: string | null;
|
|
7
|
+
}
|
|
8
|
+
interface JobTask {
|
|
9
|
+
name?: string | null;
|
|
10
|
+
id?: string | null;
|
|
11
|
+
}
|
|
12
|
+
interface JobLanguage {
|
|
13
|
+
language?: (string | null) | Language;
|
|
14
|
+
level?: ('A1' | 'A2' | 'B1' | 'B2' | 'C1' | 'C2' | 'L1' | '-') | null;
|
|
15
|
+
id?: string | null;
|
|
16
|
+
}
|
|
17
|
+
interface DefaultJob {
|
|
18
|
+
id: string;
|
|
19
|
+
name?: string | null;
|
|
20
|
+
top?: boolean | null;
|
|
21
|
+
externId?: string | null;
|
|
22
|
+
requirements?: JobRequirement[] | null;
|
|
23
|
+
tasks?: [] | null;
|
|
24
|
+
description?: string | null;
|
|
25
|
+
descriptionTeam?: JobTask[] | null;
|
|
26
|
+
projectConditions?: string | null;
|
|
27
|
+
industry?: (string | null) | Industry;
|
|
28
|
+
specialization?: (string | null) | Specialization;
|
|
29
|
+
grades: (string | Grade)[];
|
|
30
|
+
amount?: number | null;
|
|
31
|
+
currency?: ('RUB' | 'EUR' | 'USD') | null;
|
|
32
|
+
numberOfSpecialists: number;
|
|
33
|
+
attractionPeriod?: {
|
|
34
|
+
from?: number | null;
|
|
35
|
+
to?: number | null;
|
|
36
|
+
text?: string | null;
|
|
37
|
+
};
|
|
38
|
+
workFormat?: ('remote' | 'office' | 'mixed') | null;
|
|
39
|
+
employmentType?: ('full' | 'short') | null;
|
|
40
|
+
schedule?: string | null;
|
|
41
|
+
workingHours?: string | null;
|
|
42
|
+
projectStart?: string | null;
|
|
43
|
+
city?: (string | null) | City;
|
|
44
|
+
country?: (string | null) | Country;
|
|
45
|
+
language?: [] | null;
|
|
46
|
+
requiredCitizenship?: JobLanguage[] | null;
|
|
47
|
+
status: 'created' | 'selection' | 'suspended' | 'archive' | 'hidden';
|
|
48
|
+
requiredSkills?: {
|
|
49
|
+
[k: string]: unknown;
|
|
50
|
+
} | unknown[] | string | number | boolean | null;
|
|
51
|
+
company?: (string | null) | Company;
|
|
52
|
+
dataSource?: (string | null) | DataSource;
|
|
53
|
+
parent?: (string | null) | Job;
|
|
54
|
+
visibility?: ('visible' | 'hidden') | null;
|
|
55
|
+
priority?: number | null;
|
|
56
|
+
customer?: (string | null) | Company;
|
|
57
|
+
link?: string | null;
|
|
58
|
+
searchQuery?: string | null;
|
|
59
|
+
createdBy?: ('user' | 'telegram') | null;
|
|
60
|
+
updatedAt: string;
|
|
61
|
+
createdAt: string;
|
|
62
|
+
}
|
|
63
|
+
export type Job<TOverride extends Partial<DefaultJob> = {}> = Omit<DefaultJob, keyof TOverride> & TOverride;
|
|
64
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Offer } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Specialist } from "@/entities/specialist";
|
|
2
|
+
import type { Job } from "@/entities/job";
|
|
3
|
+
import type { User } from "@/entities/user";
|
|
4
|
+
import type { OfferStatus } from "@/entities/dictionary";
|
|
5
|
+
import { Company } from "../company";
|
|
6
|
+
interface OfferRequirement {
|
|
7
|
+
id?: string | null;
|
|
8
|
+
requirement: string;
|
|
9
|
+
mandatory?: boolean | null;
|
|
10
|
+
matched: number;
|
|
11
|
+
comment?: string | null;
|
|
12
|
+
questions?: {
|
|
13
|
+
question?: string | null;
|
|
14
|
+
answer?: string | null;
|
|
15
|
+
id?: string | null;
|
|
16
|
+
}[] | null;
|
|
17
|
+
}
|
|
18
|
+
interface DefaultOffer {
|
|
19
|
+
id: string;
|
|
20
|
+
specialist: string | Specialist;
|
|
21
|
+
specialistCompany?: string | Company;
|
|
22
|
+
job: string | Job;
|
|
23
|
+
jobCompany?: string | Company;
|
|
24
|
+
agent?: string | null | User;
|
|
25
|
+
rate?: number | null;
|
|
26
|
+
requirements?: OfferRequirement[] | null;
|
|
27
|
+
status: string | OfferStatus;
|
|
28
|
+
salary?: {
|
|
29
|
+
amount?: number | null;
|
|
30
|
+
currency?: ("RUB" | "EUR" | "USD") | null;
|
|
31
|
+
hourlyRate?: number | null;
|
|
32
|
+
};
|
|
33
|
+
matched?: number | null;
|
|
34
|
+
comment?: string | null;
|
|
35
|
+
assessmentOfRequirements?: string | null;
|
|
36
|
+
createdBy?: ("user" | "databaseСomparison" | "loader" | "cosineSimilarity" | "importByLink") | null;
|
|
37
|
+
respondedAt?: string | null;
|
|
38
|
+
matchedBatch?: number | null;
|
|
39
|
+
updatedAt: string;
|
|
40
|
+
createdAt: string;
|
|
41
|
+
}
|
|
42
|
+
export type Offer<TOverride extends Partial<DefaultOffer> = {}> = Omit<DefaultOffer, keyof TOverride> & TOverride;
|
|
43
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Specialist } from './model';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|