@iconicompany/imarketplacetypes 0.0.0-snapshot.20251208135153.ed4ba730

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.
Files changed (140) hide show
  1. package/.env +4 -0
  2. package/.github/workflows/publish-release.yml +27 -0
  3. package/.github/workflows/publish-snapshot.yml +44 -0
  4. package/dist/contracts/job-contract.d.ts +22 -0
  5. package/dist/contracts/job-contract.js +1 -0
  6. package/dist/contracts/offer-contract.d.ts +19 -0
  7. package/dist/contracts/offer-contract.js +1 -0
  8. package/dist/entities/company/index.d.ts +1 -0
  9. package/dist/entities/company/index.js +1 -0
  10. package/dist/entities/company/model.d.ts +34 -0
  11. package/dist/entities/company/model.js +1 -0
  12. package/dist/entities/dictionary/category/index.d.ts +1 -0
  13. package/dist/entities/dictionary/category/index.js +1 -0
  14. package/dist/entities/dictionary/category/model.d.ts +6 -0
  15. package/dist/entities/dictionary/category/model.js +1 -0
  16. package/dist/entities/dictionary/city/index.d.ts +1 -0
  17. package/dist/entities/dictionary/city/index.js +1 -0
  18. package/dist/entities/dictionary/city/model.d.ts +6 -0
  19. package/dist/entities/dictionary/city/model.js +1 -0
  20. package/dist/entities/dictionary/country/index.d.ts +1 -0
  21. package/dist/entities/dictionary/country/index.js +1 -0
  22. package/dist/entities/dictionary/country/model.d.ts +6 -0
  23. package/dist/entities/dictionary/country/model.js +1 -0
  24. package/dist/entities/dictionary/dataSource/index.d.ts +1 -0
  25. package/dist/entities/dictionary/dataSource/index.js +1 -0
  26. package/dist/entities/dictionary/dataSource/model.d.ts +8 -0
  27. package/dist/entities/dictionary/dataSource/model.js +1 -0
  28. package/dist/entities/dictionary/grade/index.d.ts +1 -0
  29. package/dist/entities/dictionary/grade/index.js +1 -0
  30. package/dist/entities/dictionary/grade/model.d.ts +6 -0
  31. package/dist/entities/dictionary/grade/model.js +1 -0
  32. package/dist/entities/dictionary/index.d.ts +14 -0
  33. package/dist/entities/dictionary/index.js +1 -0
  34. package/dist/entities/dictionary/industry/index.d.ts +1 -0
  35. package/dist/entities/dictionary/industry/index.js +1 -0
  36. package/dist/entities/dictionary/industry/model.d.ts +6 -0
  37. package/dist/entities/dictionary/industry/model.js +1 -0
  38. package/dist/entities/dictionary/language/index.d.ts +1 -0
  39. package/dist/entities/dictionary/language/index.js +1 -0
  40. package/dist/entities/dictionary/language/model.d.ts +6 -0
  41. package/dist/entities/dictionary/language/model.js +1 -0
  42. package/dist/entities/dictionary/media/index.d.ts +1 -0
  43. package/dist/entities/dictionary/media/index.js +1 -0
  44. package/dist/entities/dictionary/media/model.d.ts +16 -0
  45. package/dist/entities/dictionary/media/model.js +1 -0
  46. package/dist/entities/dictionary/offerStatus/index.d.ts +1 -0
  47. package/dist/entities/dictionary/offerStatus/index.js +1 -0
  48. package/dist/entities/dictionary/offerStatus/model.d.ts +7 -0
  49. package/dist/entities/dictionary/offerStatus/model.js +1 -0
  50. package/dist/entities/dictionary/permission/index.d.ts +1 -0
  51. package/dist/entities/dictionary/permission/index.js +1 -0
  52. package/dist/entities/dictionary/permission/model.d.ts +8 -0
  53. package/dist/entities/dictionary/permission/model.js +1 -0
  54. package/dist/entities/dictionary/role/index.d.ts +1 -0
  55. package/dist/entities/dictionary/role/index.js +1 -0
  56. package/dist/entities/dictionary/role/model.d.ts +12 -0
  57. package/dist/entities/dictionary/role/model.js +1 -0
  58. package/dist/entities/dictionary/service/index.d.ts +1 -0
  59. package/dist/entities/dictionary/service/index.js +1 -0
  60. package/dist/entities/dictionary/service/model.d.ts +32 -0
  61. package/dist/entities/dictionary/service/model.js +1 -0
  62. package/dist/entities/dictionary/skill/index.d.ts +1 -0
  63. package/dist/entities/dictionary/skill/index.js +1 -0
  64. package/dist/entities/dictionary/skill/model.d.ts +7 -0
  65. package/dist/entities/dictionary/skill/model.js +1 -0
  66. package/dist/entities/dictionary/specialization/index.d.ts +1 -0
  67. package/dist/entities/dictionary/specialization/index.js +1 -0
  68. package/dist/entities/dictionary/specialization/model.d.ts +9 -0
  69. package/dist/entities/dictionary/specialization/model.js +1 -0
  70. package/dist/entities/index.d.ts +6 -0
  71. package/dist/entities/index.js +1 -0
  72. package/dist/entities/job/index.d.ts +1 -0
  73. package/dist/entities/job/index.js +1 -0
  74. package/dist/entities/job/model.d.ts +64 -0
  75. package/dist/entities/job/model.js +1 -0
  76. package/dist/entities/offer/index.d.ts +1 -0
  77. package/dist/entities/offer/index.js +1 -0
  78. package/dist/entities/offer/model.d.ts +43 -0
  79. package/dist/entities/offer/model.js +1 -0
  80. package/dist/entities/specialist/index.d.ts +1 -0
  81. package/dist/entities/specialist/index.js +1 -0
  82. package/dist/entities/specialist/model.d.ts +100 -0
  83. package/dist/entities/specialist/model.js +1 -0
  84. package/dist/entities/user/index.d.ts +1 -0
  85. package/dist/entities/user/index.js +1 -0
  86. package/dist/entities/user/model.d.ts +23 -0
  87. package/dist/entities/user/model.js +1 -0
  88. package/dist/services/job-service.d.ts +8 -0
  89. package/dist/services/job-service.js +1 -0
  90. package/dist/services/offer-service.d.ts +20 -0
  91. package/dist/services/offer-service.js +1 -0
  92. package/dist/types.d.ts +8 -0
  93. package/dist/types.js +1 -0
  94. package/package.json +32 -0
  95. package/src/contracts/job-contract.ts +24 -0
  96. package/src/contracts/offer-contract.ts +18 -0
  97. package/src/entities/company/index.ts +1 -0
  98. package/src/entities/company/model.ts +37 -0
  99. package/src/entities/dictionary/category/index.ts +1 -0
  100. package/src/entities/dictionary/category/model.ts +6 -0
  101. package/src/entities/dictionary/city/index.ts +1 -0
  102. package/src/entities/dictionary/city/model.ts +6 -0
  103. package/src/entities/dictionary/country/index.ts +1 -0
  104. package/src/entities/dictionary/country/model.ts +6 -0
  105. package/src/entities/dictionary/dataSource/index.ts +1 -0
  106. package/src/entities/dictionary/dataSource/model.ts +8 -0
  107. package/src/entities/dictionary/grade/index.ts +1 -0
  108. package/src/entities/dictionary/grade/model.ts +6 -0
  109. package/src/entities/dictionary/index.ts +14 -0
  110. package/src/entities/dictionary/industry/index.ts +1 -0
  111. package/src/entities/dictionary/industry/model.ts +6 -0
  112. package/src/entities/dictionary/language/index.ts +1 -0
  113. package/src/entities/dictionary/language/model.ts +6 -0
  114. package/src/entities/dictionary/media/index.ts +1 -0
  115. package/src/entities/dictionary/media/model.ts +16 -0
  116. package/src/entities/dictionary/offerStatus/index.ts +1 -0
  117. package/src/entities/dictionary/offerStatus/model.ts +7 -0
  118. package/src/entities/dictionary/permission/index.ts +1 -0
  119. package/src/entities/dictionary/permission/model.ts +8 -0
  120. package/src/entities/dictionary/role/index.ts +1 -0
  121. package/src/entities/dictionary/role/model.ts +13 -0
  122. package/src/entities/dictionary/service/index.ts +1 -0
  123. package/src/entities/dictionary/service/model.ts +35 -0
  124. package/src/entities/dictionary/skill/index.ts +1 -0
  125. package/src/entities/dictionary/skill/model.ts +7 -0
  126. package/src/entities/dictionary/specialization/index.ts +1 -0
  127. package/src/entities/dictionary/specialization/model.ts +11 -0
  128. package/src/entities/index.ts +8 -0
  129. package/src/entities/job/index.ts +1 -0
  130. package/src/entities/job/model.ts +74 -0
  131. package/src/entities/offer/index.ts +1 -0
  132. package/src/entities/offer/model.ts +59 -0
  133. package/src/entities/specialist/index.ts +1 -0
  134. package/src/entities/specialist/model.ts +119 -0
  135. package/src/entities/user/index.ts +1 -0
  136. package/src/entities/user/model.ts +30 -0
  137. package/src/services/job-service.ts +16 -0
  138. package/src/services/offer-service.ts +31 -0
  139. package/src/types.ts +8 -0
  140. package/tsconfig.json +21 -0
package/.env ADDED
@@ -0,0 +1,4 @@
1
+ GOOGLE_GENAI_USE_VERTEXAI=true
2
+ GOOGLE_CLOUD_PROJECT=warm-dynamics-477002-f6
3
+ GOOGLE_CLOUD_LOCATION=global
4
+
@@ -0,0 +1,27 @@
1
+ name: Publish Release to NPM
2
+
3
+ on:
4
+ release:
5
+ types: [created]
6
+
7
+ jobs:
8
+ publish-npm:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v3
12
+ - uses: actions/setup-node@v3
13
+ with:
14
+ node-version: 20
15
+ registry-url: https://registry.npmjs.org/
16
+ - name: Extract tag name
17
+ id: get_version
18
+ run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
19
+ - name: Update package.json
20
+ run: |
21
+ VERSION=${{ steps.get_version.outputs.VERSION }}
22
+ sed -i "s/\"version\": \"1.0.0\"/\"version\": \"$VERSION\"/" package.json
23
+ - run: npm ci
24
+ - run: npm run build
25
+ - run: npm publish
26
+ env:
27
+ NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
@@ -0,0 +1,44 @@
1
+ name: Publish Snapshot to NPM
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main # можешь заменить на любую ветку
7
+
8
+ jobs:
9
+ publish-snapshot:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+
15
+ - uses: actions/setup-node@v3
16
+ with:
17
+ node-version: 20
18
+ registry-url: https://registry.npmjs.org/
19
+
20
+ # Генерация snapshot-версии
21
+ - name: Generate snapshot version
22
+ id: snapshot
23
+ run: |
24
+ SHORT_SHA=$(echo "${GITHUB_SHA}" | cut -c1-8)
25
+ TIMESTAMP=$(date +%Y%m%d%H%M%S)
26
+ VERSION="0.0.0-snapshot.${TIMESTAMP}.${SHORT_SHA}"
27
+ echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
28
+
29
+ # Обновляем version в package.json
30
+ - name: Update package.json version
31
+ run: |
32
+ VERSION=${{ steps.snapshot.outputs.VERSION }}
33
+ jq ".version = \"$VERSION\"" package.json > package.tmp.json
34
+ mv package.tmp.json package.json
35
+
36
+ - run: npm ci
37
+
38
+ - run: npm run build
39
+
40
+ - name: Publish snapshot
41
+ run: npm publish --tag snapshot --access public
42
+ env:
43
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
44
+
@@ -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,6 @@
1
+ export interface Category {
2
+ id: string;
3
+ name: string;
4
+ updatedAt: string;
5
+ createdAt: string;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type { City } from './model';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export interface City {
2
+ id: string;
3
+ name: string;
4
+ updatedAt: string;
5
+ createdAt: string;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type { Country } from './model';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export interface Country {
2
+ id: string;
3
+ name: string;
4
+ updatedAt: string;
5
+ createdAt: string;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type { DataSource } from './model';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ export interface DataSource {
2
+ id: string;
3
+ name: string;
4
+ href?: string | null;
5
+ type: 'website' | 'telegram' | 'other';
6
+ updatedAt: string;
7
+ createdAt: string;
8
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type { Grade } from './model';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export interface Grade {
2
+ id: string;
3
+ name?: string | null;
4
+ updatedAt: string;
5
+ createdAt: string;
6
+ }
@@ -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,6 @@
1
+ export interface Industry {
2
+ id: string;
3
+ name: string;
4
+ updatedAt: string;
5
+ createdAt: string;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type { Language } from './model';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export interface Language {
2
+ id: string;
3
+ name: string;
4
+ updatedAt: string;
5
+ createdAt: string;
6
+ }
@@ -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,7 @@
1
+ export interface OfferStatus {
2
+ id: string;
3
+ name: string;
4
+ code: string;
5
+ updatedAt: string;
6
+ createdAt: string;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type { Permission } from './model';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ export interface Permission {
2
+ id: string;
3
+ name: string;
4
+ code: string;
5
+ description?: string | null;
6
+ updatedAt: string;
7
+ createdAt: string;
8
+ }
@@ -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,7 @@
1
+ export interface Skill {
2
+ id: string;
3
+ name?: string | null;
4
+ parent?: (string | null) | Skill;
5
+ updatedAt: string;
6
+ createdAt: string;
7
+ }
@@ -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,6 @@
1
+ export type { Company } from "./company";
2
+ export type * from "./dictionary";
3
+ export type { User } from "./user";
4
+ export type { Specialist } from "./specialist";
5
+ export type { Offer } from "./offer";
6
+ export type { Job } from "./job";
@@ -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 {};