@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.
Files changed (138) hide show
  1. package/bun.lock +14 -0
  2. package/dist/contracts/job-contract.d.ts +22 -0
  3. package/dist/contracts/job-contract.js +1 -0
  4. package/dist/contracts/offer-contract.d.ts +19 -0
  5. package/dist/contracts/offer-contract.js +1 -0
  6. package/dist/entities/company/index.d.ts +1 -0
  7. package/dist/entities/company/index.js +1 -0
  8. package/dist/entities/company/model.d.ts +34 -0
  9. package/dist/entities/company/model.js +1 -0
  10. package/dist/entities/dictionary/category/index.d.ts +1 -0
  11. package/dist/entities/dictionary/category/index.js +1 -0
  12. package/dist/entities/dictionary/category/model.d.ts +6 -0
  13. package/dist/entities/dictionary/category/model.js +1 -0
  14. package/dist/entities/dictionary/city/index.d.ts +1 -0
  15. package/dist/entities/dictionary/city/index.js +1 -0
  16. package/dist/entities/dictionary/city/model.d.ts +6 -0
  17. package/dist/entities/dictionary/city/model.js +1 -0
  18. package/dist/entities/dictionary/country/index.d.ts +1 -0
  19. package/dist/entities/dictionary/country/index.js +1 -0
  20. package/dist/entities/dictionary/country/model.d.ts +6 -0
  21. package/dist/entities/dictionary/country/model.js +1 -0
  22. package/dist/entities/dictionary/dataSource/index.d.ts +1 -0
  23. package/dist/entities/dictionary/dataSource/index.js +1 -0
  24. package/dist/entities/dictionary/dataSource/model.d.ts +8 -0
  25. package/dist/entities/dictionary/dataSource/model.js +1 -0
  26. package/dist/entities/dictionary/grade/index.d.ts +1 -0
  27. package/dist/entities/dictionary/grade/index.js +1 -0
  28. package/dist/entities/dictionary/grade/model.d.ts +6 -0
  29. package/dist/entities/dictionary/grade/model.js +1 -0
  30. package/dist/entities/dictionary/index.d.ts +14 -0
  31. package/dist/entities/dictionary/index.js +1 -0
  32. package/dist/entities/dictionary/industry/index.d.ts +1 -0
  33. package/dist/entities/dictionary/industry/index.js +1 -0
  34. package/dist/entities/dictionary/industry/model.d.ts +6 -0
  35. package/dist/entities/dictionary/industry/model.js +1 -0
  36. package/dist/entities/dictionary/language/index.d.ts +1 -0
  37. package/dist/entities/dictionary/language/index.js +1 -0
  38. package/dist/entities/dictionary/language/model.d.ts +6 -0
  39. package/dist/entities/dictionary/language/model.js +1 -0
  40. package/dist/entities/dictionary/media/index.d.ts +1 -0
  41. package/dist/entities/dictionary/media/index.js +1 -0
  42. package/dist/entities/dictionary/media/model.d.ts +16 -0
  43. package/dist/entities/dictionary/media/model.js +1 -0
  44. package/dist/entities/dictionary/offerStatus/index.d.ts +1 -0
  45. package/dist/entities/dictionary/offerStatus/index.js +1 -0
  46. package/dist/entities/dictionary/offerStatus/model.d.ts +7 -0
  47. package/dist/entities/dictionary/offerStatus/model.js +1 -0
  48. package/dist/entities/dictionary/permission/index.d.ts +1 -0
  49. package/dist/entities/dictionary/permission/index.js +1 -0
  50. package/dist/entities/dictionary/permission/model.d.ts +8 -0
  51. package/dist/entities/dictionary/permission/model.js +1 -0
  52. package/dist/entities/dictionary/role/index.d.ts +1 -0
  53. package/dist/entities/dictionary/role/index.js +1 -0
  54. package/dist/entities/dictionary/role/model.d.ts +12 -0
  55. package/dist/entities/dictionary/role/model.js +1 -0
  56. package/dist/entities/dictionary/service/index.d.ts +1 -0
  57. package/dist/entities/dictionary/service/index.js +1 -0
  58. package/dist/entities/dictionary/service/model.d.ts +32 -0
  59. package/dist/entities/dictionary/service/model.js +1 -0
  60. package/dist/entities/dictionary/skill/index.d.ts +1 -0
  61. package/dist/entities/dictionary/skill/index.js +1 -0
  62. package/dist/entities/dictionary/skill/model.d.ts +7 -0
  63. package/dist/entities/dictionary/skill/model.js +1 -0
  64. package/dist/entities/dictionary/specialization/index.d.ts +1 -0
  65. package/dist/entities/dictionary/specialization/index.js +1 -0
  66. package/dist/entities/dictionary/specialization/model.d.ts +9 -0
  67. package/dist/entities/dictionary/specialization/model.js +1 -0
  68. package/dist/entities/index.d.ts +6 -0
  69. package/dist/entities/index.js +1 -0
  70. package/dist/entities/job/index.d.ts +1 -0
  71. package/dist/entities/job/index.js +1 -0
  72. package/dist/entities/job/model.d.ts +64 -0
  73. package/dist/entities/job/model.js +1 -0
  74. package/dist/entities/offer/index.d.ts +1 -0
  75. package/dist/entities/offer/index.js +1 -0
  76. package/dist/entities/offer/model.d.ts +43 -0
  77. package/dist/entities/offer/model.js +1 -0
  78. package/dist/entities/specialist/index.d.ts +1 -0
  79. package/dist/entities/specialist/index.js +1 -0
  80. package/dist/entities/specialist/model.d.ts +100 -0
  81. package/dist/entities/specialist/model.js +1 -0
  82. package/dist/entities/user/index.d.ts +1 -0
  83. package/dist/entities/user/index.js +1 -0
  84. package/dist/entities/user/model.d.ts +23 -0
  85. package/dist/entities/user/model.js +1 -0
  86. package/dist/services/job-service.d.ts +8 -0
  87. package/dist/services/job-service.js +1 -0
  88. package/dist/services/offer-service.d.ts +20 -0
  89. package/dist/services/offer-service.js +1 -0
  90. package/dist/types.d.ts +8 -0
  91. package/dist/types.js +1 -0
  92. package/package.json +35 -0
  93. package/src/contracts/job-contract.ts +24 -0
  94. package/src/contracts/offer-contract.ts +18 -0
  95. package/src/entities/company/index.ts +1 -0
  96. package/src/entities/company/model.ts +37 -0
  97. package/src/entities/dictionary/category/index.ts +1 -0
  98. package/src/entities/dictionary/category/model.ts +6 -0
  99. package/src/entities/dictionary/city/index.ts +1 -0
  100. package/src/entities/dictionary/city/model.ts +6 -0
  101. package/src/entities/dictionary/country/index.ts +1 -0
  102. package/src/entities/dictionary/country/model.ts +6 -0
  103. package/src/entities/dictionary/dataSource/index.ts +1 -0
  104. package/src/entities/dictionary/dataSource/model.ts +8 -0
  105. package/src/entities/dictionary/grade/index.ts +1 -0
  106. package/src/entities/dictionary/grade/model.ts +6 -0
  107. package/src/entities/dictionary/index.ts +14 -0
  108. package/src/entities/dictionary/industry/index.ts +1 -0
  109. package/src/entities/dictionary/industry/model.ts +6 -0
  110. package/src/entities/dictionary/language/index.ts +1 -0
  111. package/src/entities/dictionary/language/model.ts +6 -0
  112. package/src/entities/dictionary/media/index.ts +1 -0
  113. package/src/entities/dictionary/media/model.ts +16 -0
  114. package/src/entities/dictionary/offerStatus/index.ts +1 -0
  115. package/src/entities/dictionary/offerStatus/model.ts +7 -0
  116. package/src/entities/dictionary/permission/index.ts +1 -0
  117. package/src/entities/dictionary/permission/model.ts +8 -0
  118. package/src/entities/dictionary/role/index.ts +1 -0
  119. package/src/entities/dictionary/role/model.ts +13 -0
  120. package/src/entities/dictionary/service/index.ts +1 -0
  121. package/src/entities/dictionary/service/model.ts +35 -0
  122. package/src/entities/dictionary/skill/index.ts +1 -0
  123. package/src/entities/dictionary/skill/model.ts +7 -0
  124. package/src/entities/dictionary/specialization/index.ts +1 -0
  125. package/src/entities/dictionary/specialization/model.ts +11 -0
  126. package/src/entities/index.ts +8 -0
  127. package/src/entities/job/index.ts +1 -0
  128. package/src/entities/job/model.ts +74 -0
  129. package/src/entities/offer/index.ts +1 -0
  130. package/src/entities/offer/model.ts +59 -0
  131. package/src/entities/specialist/index.ts +1 -0
  132. package/src/entities/specialist/model.ts +119 -0
  133. package/src/entities/user/index.ts +1 -0
  134. package/src/entities/user/model.ts +30 -0
  135. package/src/services/job-service.ts +16 -0
  136. package/src/services/offer-service.ts +31 -0
  137. package/src/types.ts +8 -0
  138. 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,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 {};