@experts_hub/shared 1.0.57 → 1.0.59

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.
@@ -0,0 +1 @@
1
+ export * from './match.decorator';
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from "class-validator";
2
+ export declare function Match(property: string, validationOptions?: ValidationOptions): (object: any, propertyName: string) => void;
@@ -1,12 +1,16 @@
1
1
  import { BaseEntity } from "./base.entity";
2
2
  import { User } from './user.entity';
3
- import { ModeOfWork } from "./freelancer-profile.entity";
4
3
  export declare enum KindOfHire {
5
4
  FULLTIME = "FULLTIME",
6
5
  SHORTTIME = "SHORTTIME",
7
6
  BOTH = "BOTH"
8
7
  }
9
- export declare enum FromWhere {
8
+ export declare enum ModeOfHire {
9
+ ONSITE = "ONSITE",
10
+ REMOTE = "REMOTE",
11
+ BOTH = "BOTH"
12
+ }
13
+ export declare enum FromUsOn {
10
14
  LINKEDIN = "LINKEDIN",
11
15
  GOOGLE = "GOOGLE",
12
16
  REFERRAL = "REFERRAL",
@@ -15,10 +19,10 @@ export declare enum FromWhere {
15
19
  export declare class CompanyProfile extends BaseEntity {
16
20
  userId: number;
17
21
  user: User;
18
- skills: string[];
19
- howManyFreelancersNeed: string;
20
- kindOfWork: KindOfHire;
21
- modeOfWork: ModeOfWork;
22
- fromWhere: FromWhere;
23
22
  companyName: string;
23
+ skills: string[];
24
+ requiredFreelancer: string;
25
+ kindOfHiring: KindOfHire;
26
+ modeOfHire: ModeOfHire;
27
+ foundUsOn: FromUsOn;
24
28
  }
package/dist/index.d.mts CHANGED
@@ -33,10 +33,44 @@ declare const ONBOARDING_PATTERN: {
33
33
  handleFreelancerResumeUpload: string;
34
34
  handleFreelancerDeveloperPreference: string;
35
35
  handleFreelancerProfileQuestion: string;
36
- handleClientProfileQuestion: string;
36
+ handleFreelancerWorkShowcase: string;
37
37
  handleClientAccountCreation: string;
38
+ handleClientProfileQuestion: string;
38
39
  };
39
40
 
41
+ declare class FreelancerCreateAccountDto {
42
+ fullName: string;
43
+ email: string;
44
+ mobileCode: string;
45
+ mobile: string;
46
+ password: string;
47
+ confirmPassword: string;
48
+ }
49
+
50
+ declare class FreelancerUploadResumeDto {
51
+ uuid: string;
52
+ }
53
+
54
+ declare class FreelancerDevelopmentPreferenceDto {
55
+ uuid: string;
56
+ developer: boolean;
57
+ }
58
+
59
+ declare class FreelancerProfileQuestionDto {
60
+ uuid: string;
61
+ question_slug: string;
62
+ answer: any;
63
+ }
64
+
65
+ declare class FreelancerWorkShowcaseDto {
66
+ uuid: string;
67
+ linkedinProfileLink: string;
68
+ kaggleProfileLink?: string | null;
69
+ githubProfileLink?: string | null;
70
+ stackOverflowProfileLink?: string | null;
71
+ portfolioLink?: string | null;
72
+ }
73
+
40
74
  declare const RESUME_PARSER_PATTERN: {
41
75
  handleResumeParsing: string;
42
76
  };
@@ -329,7 +363,12 @@ declare enum KindOfHire {
329
363
  SHORTTIME = "SHORTTIME",
330
364
  BOTH = "BOTH"
331
365
  }
332
- declare enum FromWhere {
366
+ declare enum ModeOfHire {
367
+ ONSITE = "ONSITE",
368
+ REMOTE = "REMOTE",
369
+ BOTH = "BOTH"
370
+ }
371
+ declare enum FromUsOn {
333
372
  LINKEDIN = "LINKEDIN",
334
373
  GOOGLE = "GOOGLE",
335
374
  REFERRAL = "REFERRAL",
@@ -338,12 +377,12 @@ declare enum FromWhere {
338
377
  declare class CompanyProfile extends BaseEntity {
339
378
  userId: number;
340
379
  user: User;
341
- skills: string[];
342
- howManyFreelancersNeed: string;
343
- kindOfWork: KindOfHire;
344
- modeOfWork: ModeOfWork;
345
- fromWhere: FromWhere;
346
380
  companyName: string;
381
+ skills: string[];
382
+ requiredFreelancer: string;
383
+ kindOfHiring: KindOfHire;
384
+ modeOfHire: ModeOfHire;
385
+ foundUsOn: FromUsOn;
347
386
  }
348
387
 
349
- export { AUTHENTICATION_PATTERN, AccountStatus, AccountType, BaseEntity, CompanyProfile, CreateQuestionDto, CreateSubAdminDto, FreelancerProfile, FromWhere, type IAttachPermissionsToSubAdminResponse, type ICreateSubAdminPayload, type ICreateSubAdminResponse, type IDeleteSubAdminResponse, type IFetchQuestionQuery, type IFetchQuestionResponse, type IFetchSubAdminByIdQuery, type IFetchSubAdminByIdResponse, type IFetchSubAdminQuery, type IFetchSubAdminResponse, type IUpdateSubAdminAccountStatusPayload, type IUpdateSubAdminAccountStatusResponse, type IUpdateSubAdminPayload, type IUpdateSubAdminResponse, JobRMQAdapter, JobTCPAdapter, KindOfHire, LoginDto, LogoutDto, ModeOfWork, NatureOfWork, ONBOARDING_PATTERN, OTP_PATTERN, Otp, QUESTION_PATTERN, Question, QuestionFor, RESUME_PARSER_PATTERN, RefreshDto, RefreshToken, ResumeParserLog, SUBADMIN_PATTERN, UpdateSubAdminAccountStatusDto, UpdateSubAdminDto, User, UserRMQAdapter, UserTCPAdapter };
388
+ export { AUTHENTICATION_PATTERN, AccountStatus, AccountType, BaseEntity, CompanyProfile, CreateQuestionDto, CreateSubAdminDto, FreelancerCreateAccountDto, FreelancerDevelopmentPreferenceDto, FreelancerProfile, FreelancerProfileQuestionDto, FreelancerUploadResumeDto, FreelancerWorkShowcaseDto, FromUsOn, type IAttachPermissionsToSubAdminResponse, type ICreateSubAdminPayload, type ICreateSubAdminResponse, type IDeleteSubAdminResponse, type IFetchQuestionQuery, type IFetchQuestionResponse, type IFetchSubAdminByIdQuery, type IFetchSubAdminByIdResponse, type IFetchSubAdminQuery, type IFetchSubAdminResponse, type IUpdateSubAdminAccountStatusPayload, type IUpdateSubAdminAccountStatusResponse, type IUpdateSubAdminPayload, type IUpdateSubAdminResponse, JobRMQAdapter, JobTCPAdapter, KindOfHire, LoginDto, LogoutDto, ModeOfHire, ModeOfWork, NatureOfWork, ONBOARDING_PATTERN, OTP_PATTERN, Otp, QUESTION_PATTERN, Question, QuestionFor, RESUME_PARSER_PATTERN, RefreshDto, RefreshToken, ResumeParserLog, SUBADMIN_PATTERN, UpdateSubAdminAccountStatusDto, UpdateSubAdminDto, User, UserRMQAdapter, UserTCPAdapter };
package/dist/index.d.ts CHANGED
@@ -33,10 +33,44 @@ declare const ONBOARDING_PATTERN: {
33
33
  handleFreelancerResumeUpload: string;
34
34
  handleFreelancerDeveloperPreference: string;
35
35
  handleFreelancerProfileQuestion: string;
36
- handleClientProfileQuestion: string;
36
+ handleFreelancerWorkShowcase: string;
37
37
  handleClientAccountCreation: string;
38
+ handleClientProfileQuestion: string;
38
39
  };
39
40
 
41
+ declare class FreelancerCreateAccountDto {
42
+ fullName: string;
43
+ email: string;
44
+ mobileCode: string;
45
+ mobile: string;
46
+ password: string;
47
+ confirmPassword: string;
48
+ }
49
+
50
+ declare class FreelancerUploadResumeDto {
51
+ uuid: string;
52
+ }
53
+
54
+ declare class FreelancerDevelopmentPreferenceDto {
55
+ uuid: string;
56
+ developer: boolean;
57
+ }
58
+
59
+ declare class FreelancerProfileQuestionDto {
60
+ uuid: string;
61
+ question_slug: string;
62
+ answer: any;
63
+ }
64
+
65
+ declare class FreelancerWorkShowcaseDto {
66
+ uuid: string;
67
+ linkedinProfileLink: string;
68
+ kaggleProfileLink?: string | null;
69
+ githubProfileLink?: string | null;
70
+ stackOverflowProfileLink?: string | null;
71
+ portfolioLink?: string | null;
72
+ }
73
+
40
74
  declare const RESUME_PARSER_PATTERN: {
41
75
  handleResumeParsing: string;
42
76
  };
@@ -329,7 +363,12 @@ declare enum KindOfHire {
329
363
  SHORTTIME = "SHORTTIME",
330
364
  BOTH = "BOTH"
331
365
  }
332
- declare enum FromWhere {
366
+ declare enum ModeOfHire {
367
+ ONSITE = "ONSITE",
368
+ REMOTE = "REMOTE",
369
+ BOTH = "BOTH"
370
+ }
371
+ declare enum FromUsOn {
333
372
  LINKEDIN = "LINKEDIN",
334
373
  GOOGLE = "GOOGLE",
335
374
  REFERRAL = "REFERRAL",
@@ -338,12 +377,12 @@ declare enum FromWhere {
338
377
  declare class CompanyProfile extends BaseEntity {
339
378
  userId: number;
340
379
  user: User;
341
- skills: string[];
342
- howManyFreelancersNeed: string;
343
- kindOfWork: KindOfHire;
344
- modeOfWork: ModeOfWork;
345
- fromWhere: FromWhere;
346
380
  companyName: string;
381
+ skills: string[];
382
+ requiredFreelancer: string;
383
+ kindOfHiring: KindOfHire;
384
+ modeOfHire: ModeOfHire;
385
+ foundUsOn: FromUsOn;
347
386
  }
348
387
 
349
- export { AUTHENTICATION_PATTERN, AccountStatus, AccountType, BaseEntity, CompanyProfile, CreateQuestionDto, CreateSubAdminDto, FreelancerProfile, FromWhere, type IAttachPermissionsToSubAdminResponse, type ICreateSubAdminPayload, type ICreateSubAdminResponse, type IDeleteSubAdminResponse, type IFetchQuestionQuery, type IFetchQuestionResponse, type IFetchSubAdminByIdQuery, type IFetchSubAdminByIdResponse, type IFetchSubAdminQuery, type IFetchSubAdminResponse, type IUpdateSubAdminAccountStatusPayload, type IUpdateSubAdminAccountStatusResponse, type IUpdateSubAdminPayload, type IUpdateSubAdminResponse, JobRMQAdapter, JobTCPAdapter, KindOfHire, LoginDto, LogoutDto, ModeOfWork, NatureOfWork, ONBOARDING_PATTERN, OTP_PATTERN, Otp, QUESTION_PATTERN, Question, QuestionFor, RESUME_PARSER_PATTERN, RefreshDto, RefreshToken, ResumeParserLog, SUBADMIN_PATTERN, UpdateSubAdminAccountStatusDto, UpdateSubAdminDto, User, UserRMQAdapter, UserTCPAdapter };
388
+ export { AUTHENTICATION_PATTERN, AccountStatus, AccountType, BaseEntity, CompanyProfile, CreateQuestionDto, CreateSubAdminDto, FreelancerCreateAccountDto, FreelancerDevelopmentPreferenceDto, FreelancerProfile, FreelancerProfileQuestionDto, FreelancerUploadResumeDto, FreelancerWorkShowcaseDto, FromUsOn, type IAttachPermissionsToSubAdminResponse, type ICreateSubAdminPayload, type ICreateSubAdminResponse, type IDeleteSubAdminResponse, type IFetchQuestionQuery, type IFetchQuestionResponse, type IFetchSubAdminByIdQuery, type IFetchSubAdminByIdResponse, type IFetchSubAdminQuery, type IFetchSubAdminResponse, type IUpdateSubAdminAccountStatusPayload, type IUpdateSubAdminAccountStatusResponse, type IUpdateSubAdminPayload, type IUpdateSubAdminResponse, JobRMQAdapter, JobTCPAdapter, KindOfHire, LoginDto, LogoutDto, ModeOfHire, ModeOfWork, NatureOfWork, ONBOARDING_PATTERN, OTP_PATTERN, Otp, QUESTION_PATTERN, Question, QuestionFor, RESUME_PARSER_PATTERN, RefreshDto, RefreshToken, ResumeParserLog, SUBADMIN_PATTERN, UpdateSubAdminAccountStatusDto, UpdateSubAdminDto, User, UserRMQAdapter, UserTCPAdapter };
package/dist/index.js CHANGED
@@ -34,13 +34,19 @@ __export(index_exports, {
34
34
  CompanyProfile: () => CompanyProfile,
35
35
  CreateQuestionDto: () => CreateQuestionDto,
36
36
  CreateSubAdminDto: () => CreateSubAdminDto,
37
+ FreelancerCreateAccountDto: () => FreelancerCreateAccountDto,
38
+ FreelancerDevelopmentPreferenceDto: () => FreelancerDevelopmentPreferenceDto,
37
39
  FreelancerProfile: () => FreelancerProfile,
38
- FromWhere: () => FromWhere,
40
+ FreelancerProfileQuestionDto: () => FreelancerProfileQuestionDto,
41
+ FreelancerUploadResumeDto: () => FreelancerUploadResumeDto,
42
+ FreelancerWorkShowcaseDto: () => FreelancerWorkShowcaseDto,
43
+ FromUsOn: () => FromUsOn,
39
44
  JobRMQAdapter: () => JobRMQAdapter,
40
45
  JobTCPAdapter: () => JobTCPAdapter,
41
46
  KindOfHire: () => KindOfHire,
42
47
  LoginDto: () => LoginDto,
43
48
  LogoutDto: () => LogoutDto,
49
+ ModeOfHire: () => ModeOfHire,
44
50
  ModeOfWork: () => ModeOfWork,
45
51
  NatureOfWork: () => NatureOfWork,
46
52
  ONBOARDING_PATTERN: () => ONBOARDING_PATTERN,
@@ -112,10 +118,146 @@ var ONBOARDING_PATTERN = {
112
118
  handleFreelancerResumeUpload: "handle.freelancer.resume.upload",
113
119
  handleFreelancerDeveloperPreference: "handle.freelancer.developer.preference",
114
120
  handleFreelancerProfileQuestion: "handle.freelancer.profile.question",
115
- handleClientProfileQuestion: "handle.client.profile.question",
116
- handleClientAccountCreation: "handle.client.account.creation"
121
+ handleFreelancerWorkShowcase: "handle.freelancer.work.showcase",
122
+ handleClientAccountCreation: "handle.client.account.creation",
123
+ handleClientProfileQuestion: "handle.client.profile.question"
117
124
  };
118
125
 
126
+ // src/modules/onboarding/dto/freelancer-create-account.dto.ts
127
+ var import_class_validator5 = require("class-validator");
128
+
129
+ // src/decorators/match.decorator.ts
130
+ var import_class_validator4 = require("class-validator");
131
+ function Match(property, validationOptions) {
132
+ return function(object, propertyName) {
133
+ (0, import_class_validator4.registerDecorator)({
134
+ name: "Match",
135
+ target: object.constructor,
136
+ propertyName,
137
+ options: validationOptions,
138
+ constraints: [property],
139
+ validator: {
140
+ validate(value, args) {
141
+ const [relatedPropertyName] = args.constraints;
142
+ const relatedValue = args.object[relatedPropertyName];
143
+ return value === relatedValue;
144
+ },
145
+ defaultMessage(args) {
146
+ const [relatedPropertyName] = args.constraints;
147
+ return `${propertyName} must match ${relatedPropertyName}`;
148
+ }
149
+ }
150
+ });
151
+ };
152
+ }
153
+
154
+ // src/modules/onboarding/dto/freelancer-create-account.dto.ts
155
+ var FreelancerCreateAccountDto = class {
156
+ };
157
+ __decorateClass([
158
+ (0, import_class_validator5.IsNotEmpty)({ message: "Please enter full name." }),
159
+ (0, import_class_validator5.IsString)({ message: "Please enter valid full name." })
160
+ ], FreelancerCreateAccountDto.prototype, "fullName", 2);
161
+ __decorateClass([
162
+ (0, import_class_validator5.IsNotEmpty)({ message: "Please enter email." }),
163
+ (0, import_class_validator5.IsEmail)()
164
+ ], FreelancerCreateAccountDto.prototype, "email", 2);
165
+ __decorateClass([
166
+ (0, import_class_validator5.IsNotEmpty)({ message: "Please enter mobile code." }),
167
+ (0, import_class_validator5.Matches)(/^\d+$/, { message: "Mobile code must be numeric" })
168
+ ], FreelancerCreateAccountDto.prototype, "mobileCode", 2);
169
+ __decorateClass([
170
+ (0, import_class_validator5.IsNotEmpty)({ message: "Please enter mobile number." }),
171
+ (0, import_class_validator5.Matches)(/^\d{10}$/, { message: "Mobile must be a 10-digit number" })
172
+ ], FreelancerCreateAccountDto.prototype, "mobile", 2);
173
+ __decorateClass([
174
+ (0, import_class_validator5.IsNotEmpty)({ message: "Please enter password." }),
175
+ (0, import_class_validator5.MinLength)(6),
176
+ (0, import_class_validator5.MaxLength)(32),
177
+ (0, import_class_validator5.Matches)(/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])/, {
178
+ message: "Password must include letters, numbers and symbols."
179
+ })
180
+ ], FreelancerCreateAccountDto.prototype, "password", 2);
181
+ __decorateClass([
182
+ (0, import_class_validator5.IsNotEmpty)({ message: "Please enter confirm password." }),
183
+ Match("password", { message: "Passwords do not match" })
184
+ ], FreelancerCreateAccountDto.prototype, "confirmPassword", 2);
185
+
186
+ // src/modules/onboarding/dto/freelancer-upload-resume.dto.ts
187
+ var import_class_validator6 = require("class-validator");
188
+ var FreelancerUploadResumeDto = class {
189
+ };
190
+ __decorateClass([
191
+ (0, import_class_validator6.IsNotEmpty)({ message: "Please enter uuid." }),
192
+ (0, import_class_validator6.IsUUID)()
193
+ ], FreelancerUploadResumeDto.prototype, "uuid", 2);
194
+
195
+ // src/modules/onboarding/dto/freelancer-development-preference.dto.ts
196
+ var import_class_validator7 = require("class-validator");
197
+ var FreelancerDevelopmentPreferenceDto = class {
198
+ };
199
+ __decorateClass([
200
+ (0, import_class_validator7.IsNotEmpty)({ message: "Please enter uuid." }),
201
+ (0, import_class_validator7.IsUUID)()
202
+ ], FreelancerDevelopmentPreferenceDto.prototype, "uuid", 2);
203
+ __decorateClass([
204
+ (0, import_class_validator7.IsNotEmpty)({ message: "Please select development flag." }),
205
+ (0, import_class_validator7.IsBoolean)()
206
+ ], FreelancerDevelopmentPreferenceDto.prototype, "developer", 2);
207
+
208
+ // src/modules/onboarding/dto/freelancer-profile-question.dto.ts
209
+ var import_class_validator8 = require("class-validator");
210
+ var FreelancerProfileQuestionDto = class {
211
+ };
212
+ __decorateClass([
213
+ (0, import_class_validator8.IsNotEmpty)({ message: "Please enter uuid." }),
214
+ (0, import_class_validator8.IsUUID)()
215
+ ], FreelancerProfileQuestionDto.prototype, "uuid", 2);
216
+ __decorateClass([
217
+ (0, import_class_validator8.IsNotEmpty)({ message: "Please enter question slug." }),
218
+ (0, import_class_validator8.IsString)(),
219
+ (0, import_class_validator8.IsIn)([
220
+ "natureOfWork",
221
+ "expectedHourlyCompensation",
222
+ "modeOfWork",
223
+ "availabilityToJoin",
224
+ "isImmediateJoiner"
225
+ ])
226
+ ], FreelancerProfileQuestionDto.prototype, "question_slug", 2);
227
+ __decorateClass([
228
+ (0, import_class_validator8.IsNotEmpty)({ message: "Please enter answer." })
229
+ ], FreelancerProfileQuestionDto.prototype, "answer", 2);
230
+
231
+ // src/modules/onboarding/dto/freelancer-work-showcase.dto.ts
232
+ var import_class_validator9 = require("class-validator");
233
+ var FreelancerWorkShowcaseDto = class {
234
+ };
235
+ __decorateClass([
236
+ (0, import_class_validator9.IsNotEmpty)({ message: "Please enter uuid." }),
237
+ (0, import_class_validator9.IsUUID)()
238
+ ], FreelancerWorkShowcaseDto.prototype, "uuid", 2);
239
+ __decorateClass([
240
+ (0, import_class_validator9.IsNotEmpty)({ message: "Please enter likedin profile url." }),
241
+ (0, import_class_validator9.IsString)(),
242
+ (0, import_class_validator9.IsUrl)({ require_protocol: true }, { message: "linkedinProfileLink must be a valid URL with protocol (e.g. https://)" })
243
+ ], FreelancerWorkShowcaseDto.prototype, "linkedinProfileLink", 2);
244
+ __decorateClass([
245
+ (0, import_class_validator9.IsOptional)(),
246
+ (0, import_class_validator9.IsUrl)({ require_protocol: true }, { message: "kaggleProfileLink must be a valid URL with protocol (e.g. https://)" })
247
+ ], FreelancerWorkShowcaseDto.prototype, "kaggleProfileLink", 2);
248
+ __decorateClass([
249
+ (0, import_class_validator9.IsOptional)(),
250
+ (0, import_class_validator9.IsUrl)({ require_protocol: true }, { message: "githubProfileLink must be a valid URL with protocol (e.g. https://)" })
251
+ ], FreelancerWorkShowcaseDto.prototype, "githubProfileLink", 2);
252
+ __decorateClass([
253
+ (0, import_class_validator9.IsOptional)(),
254
+ (0, import_class_validator9.IsUrl)({ require_protocol: true }, { message: "stackOverflowProfileLink must be a valid URL with protocol (e.g. https://)" })
255
+ ], FreelancerWorkShowcaseDto.prototype, "stackOverflowProfileLink", 2);
256
+ __decorateClass([
257
+ (0, import_class_validator9.IsOptional)(),
258
+ (0, import_class_validator9.IsUrl)({ require_protocol: true }, { message: "portfolioLink must be a valid URL with protocol (e.g. https://)" })
259
+ ], FreelancerWorkShowcaseDto.prototype, "portfolioLink", 2);
260
+
119
261
  // src/modules/resume-parser/pattern/pattern.ts
120
262
  var RESUME_PARSER_PATTERN = {
121
263
  handleResumeParsing: "handle.resume.parsing"
@@ -134,75 +276,75 @@ var SUBADMIN_PATTERN = {
134
276
  };
135
277
 
136
278
  // src/modules/user/subadmin/dto/create-subadmin.dto.ts
137
- var import_class_validator4 = require("class-validator");
279
+ var import_class_validator10 = require("class-validator");
138
280
  var CreateSubAdminDto = class {
139
281
  };
140
282
  __decorateClass([
141
- (0, import_class_validator4.IsNotEmpty)({ message: "Please enter unique id." })
283
+ (0, import_class_validator10.IsNotEmpty)({ message: "Please enter unique id." })
142
284
  ], CreateSubAdminDto.prototype, "uniqueId", 2);
143
285
  __decorateClass([
144
- (0, import_class_validator4.IsNotEmpty)({ message: "Please enter username." })
286
+ (0, import_class_validator10.IsNotEmpty)({ message: "Please enter username." })
145
287
  ], CreateSubAdminDto.prototype, "userName", 2);
146
288
  __decorateClass([
147
- (0, import_class_validator4.IsNotEmpty)({ message: "Please enter first name." })
289
+ (0, import_class_validator10.IsNotEmpty)({ message: "Please enter first name." })
148
290
  ], CreateSubAdminDto.prototype, "firstName", 2);
149
291
  __decorateClass([
150
- (0, import_class_validator4.IsNotEmpty)({ message: "Please enter last name." })
292
+ (0, import_class_validator10.IsNotEmpty)({ message: "Please enter last name." })
151
293
  ], CreateSubAdminDto.prototype, "lastName", 2);
152
294
  __decorateClass([
153
- (0, import_class_validator4.IsNotEmpty)({ message: "Please enter email." })
295
+ (0, import_class_validator10.IsNotEmpty)({ message: "Please enter email." })
154
296
  ], CreateSubAdminDto.prototype, "email", 2);
155
297
  __decorateClass([
156
- (0, import_class_validator4.IsNotEmpty)({ message: "Please enter mobile number." })
298
+ (0, import_class_validator10.IsNotEmpty)({ message: "Please enter mobile number." })
157
299
  ], CreateSubAdminDto.prototype, "mobile", 2);
158
300
  __decorateClass([
159
- (0, import_class_validator4.IsNotEmpty)({ message: "Please enter the password." })
301
+ (0, import_class_validator10.IsNotEmpty)({ message: "Please enter the password." })
160
302
  ], CreateSubAdminDto.prototype, "password", 2);
161
303
  __decorateClass([
162
- (0, import_class_validator4.IsNotEmpty)({ message: "Please enter account type." })
304
+ (0, import_class_validator10.IsNotEmpty)({ message: "Please enter account type." })
163
305
  ], CreateSubAdminDto.prototype, "accountType", 2);
164
306
  __decorateClass([
165
- (0, import_class_validator4.IsNotEmpty)({ message: "Please enter account status." })
307
+ (0, import_class_validator10.IsNotEmpty)({ message: "Please enter account status." })
166
308
  ], CreateSubAdminDto.prototype, "accountStatus", 2);
167
309
 
168
310
  // src/modules/user/subadmin/dto/update-subadmin-status.dto.ts
169
- var import_class_validator5 = require("class-validator");
311
+ var import_class_validator11 = require("class-validator");
170
312
  var UpdateSubAdminAccountStatusDto = class {
171
313
  };
172
314
  __decorateClass([
173
- (0, import_class_validator5.IsString)()
315
+ (0, import_class_validator11.IsString)()
174
316
  ], UpdateSubAdminAccountStatusDto.prototype, "accountStatus", 2);
175
317
 
176
318
  // src/modules/user/subadmin/dto/update-subadmin.dto.ts
177
- var import_class_validator6 = require("class-validator");
319
+ var import_class_validator12 = require("class-validator");
178
320
  var UpdateSubAdminDto = class {
179
321
  };
180
322
  __decorateClass([
181
- (0, import_class_validator6.IsNotEmpty)({ message: "Please enter unique id." })
323
+ (0, import_class_validator12.IsNotEmpty)({ message: "Please enter unique id." })
182
324
  ], UpdateSubAdminDto.prototype, "uniqueId", 2);
183
325
  __decorateClass([
184
- (0, import_class_validator6.IsNotEmpty)({ message: "Please enter username." })
326
+ (0, import_class_validator12.IsNotEmpty)({ message: "Please enter username." })
185
327
  ], UpdateSubAdminDto.prototype, "userName", 2);
186
328
  __decorateClass([
187
- (0, import_class_validator6.IsNotEmpty)({ message: "Please enter first name." })
329
+ (0, import_class_validator12.IsNotEmpty)({ message: "Please enter first name." })
188
330
  ], UpdateSubAdminDto.prototype, "firstName", 2);
189
331
  __decorateClass([
190
- (0, import_class_validator6.IsNotEmpty)({ message: "Please enter last name." })
332
+ (0, import_class_validator12.IsNotEmpty)({ message: "Please enter last name." })
191
333
  ], UpdateSubAdminDto.prototype, "lastName", 2);
192
334
  __decorateClass([
193
- (0, import_class_validator6.IsNotEmpty)({ message: "Please enter email." })
335
+ (0, import_class_validator12.IsNotEmpty)({ message: "Please enter email." })
194
336
  ], UpdateSubAdminDto.prototype, "email", 2);
195
337
  __decorateClass([
196
- (0, import_class_validator6.IsNotEmpty)({ message: "Please enter mobile number." })
338
+ (0, import_class_validator12.IsNotEmpty)({ message: "Please enter mobile number." })
197
339
  ], UpdateSubAdminDto.prototype, "mobile", 2);
198
340
  __decorateClass([
199
- (0, import_class_validator6.IsNotEmpty)({ message: "Please enter the password." })
341
+ (0, import_class_validator12.IsNotEmpty)({ message: "Please enter the password." })
200
342
  ], UpdateSubAdminDto.prototype, "password", 2);
201
343
  __decorateClass([
202
- (0, import_class_validator6.IsNotEmpty)({ message: "Please enter account type." })
344
+ (0, import_class_validator12.IsNotEmpty)({ message: "Please enter account type." })
203
345
  ], UpdateSubAdminDto.prototype, "accountType", 2);
204
346
  __decorateClass([
205
- (0, import_class_validator6.IsNotEmpty)({ message: "Please enter account status." })
347
+ (0, import_class_validator12.IsNotEmpty)({ message: "Please enter account status." })
206
348
  ], UpdateSubAdminDto.prototype, "accountStatus", 2);
207
349
 
208
350
  // src/modules/question/pattern/pattern.ts
@@ -211,24 +353,24 @@ var QUESTION_PATTERN = {
211
353
  };
212
354
 
213
355
  // src/modules/question/dto/create-question.dto.ts
214
- var import_class_validator7 = require("class-validator");
356
+ var import_class_validator13 = require("class-validator");
215
357
  var CreateQuestionDto = class {
216
358
  };
217
359
  __decorateClass([
218
- (0, import_class_validator7.IsNotEmpty)({ message: "Please enter unique id." })
360
+ (0, import_class_validator13.IsNotEmpty)({ message: "Please enter unique id." })
219
361
  ], CreateQuestionDto.prototype, "questionId", 2);
220
362
  __decorateClass([
221
- (0, import_class_validator7.IsNotEmpty)({ message: "Please enter username." })
363
+ (0, import_class_validator13.IsNotEmpty)({ message: "Please enter username." })
222
364
  ], CreateQuestionDto.prototype, "question", 2);
223
365
  __decorateClass([
224
- (0, import_class_validator7.IsNotEmpty)({ message: "Please enter first name." })
366
+ (0, import_class_validator13.IsNotEmpty)({ message: "Please enter first name." })
225
367
  ], CreateQuestionDto.prototype, "questionFor", 2);
226
368
  __decorateClass([
227
- (0, import_class_validator7.IsNotEmpty)({ message: "Please enter last name." })
369
+ (0, import_class_validator13.IsNotEmpty)({ message: "Please enter last name." })
228
370
  ], CreateQuestionDto.prototype, "options", 2);
229
371
  __decorateClass([
230
- (0, import_class_validator7.IsOptional)(),
231
- (0, import_class_validator7.IsBoolean)({ message: "Whether the question status active" })
372
+ (0, import_class_validator13.IsOptional)(),
373
+ (0, import_class_validator13.IsBoolean)({ message: "Whether the question status active" })
232
374
  ], CreateQuestionDto.prototype, "isActive", 2);
233
375
 
234
376
  // src/adapters/tcp/user.tcp.adapter.ts
@@ -769,13 +911,19 @@ var KindOfHire = /* @__PURE__ */ ((KindOfHire2) => {
769
911
  KindOfHire2["BOTH"] = "BOTH";
770
912
  return KindOfHire2;
771
913
  })(KindOfHire || {});
772
- var FromWhere = /* @__PURE__ */ ((FromWhere2) => {
773
- FromWhere2["LINKEDIN"] = "LINKEDIN";
774
- FromWhere2["GOOGLE"] = "GOOGLE";
775
- FromWhere2["REFERRAL"] = "REFERRAL";
776
- FromWhere2["OTHER"] = "OTHER";
777
- return FromWhere2;
778
- })(FromWhere || {});
914
+ var ModeOfHire = /* @__PURE__ */ ((ModeOfHire2) => {
915
+ ModeOfHire2["ONSITE"] = "ONSITE";
916
+ ModeOfHire2["REMOTE"] = "REMOTE";
917
+ ModeOfHire2["BOTH"] = "BOTH";
918
+ return ModeOfHire2;
919
+ })(ModeOfHire || {});
920
+ var FromUsOn = /* @__PURE__ */ ((FromUsOn2) => {
921
+ FromUsOn2["LINKEDIN"] = "LINKEDIN";
922
+ FromUsOn2["GOOGLE"] = "GOOGLE";
923
+ FromUsOn2["REFERRAL"] = "REFERRAL";
924
+ FromUsOn2["OTHER"] = "OTHER";
925
+ return FromUsOn2;
926
+ })(FromUsOn || {});
779
927
  var CompanyProfile = class extends BaseEntity {
780
928
  };
781
929
  // individual index to find company profile by user
@@ -787,39 +935,39 @@ __decorateClass([
787
935
  (0, import_typeorm8.ManyToOne)(() => User, (user) => user.otps),
788
936
  (0, import_typeorm8.JoinColumn)({ name: "user_id" })
789
937
  ], CompanyProfile.prototype, "user", 2);
938
+ __decorateClass([
939
+ (0, import_typeorm8.Column)({ name: "company_name", type: "varchar", nullable: true })
940
+ ], CompanyProfile.prototype, "companyName", 2);
790
941
  __decorateClass([
791
942
  (0, import_typeorm8.Column)({ name: "skills", type: "text", nullable: true })
792
943
  ], CompanyProfile.prototype, "skills", 2);
793
944
  __decorateClass([
794
- (0, import_typeorm8.Column)({ name: "how_many_freelancers_need", type: "varchar", nullable: true })
795
- ], CompanyProfile.prototype, "howManyFreelancersNeed", 2);
945
+ (0, import_typeorm8.Column)({ name: "required_freelancer", type: "varchar", nullable: true })
946
+ ], CompanyProfile.prototype, "requiredFreelancer", 2);
796
947
  __decorateClass([
797
948
  (0, import_typeorm8.Column)({
798
- name: "kind_of_work",
949
+ name: "kind_of_hiring",
799
950
  type: "enum",
800
951
  enum: KindOfHire,
801
952
  nullable: true
802
953
  })
803
- ], CompanyProfile.prototype, "kindOfWork", 2);
954
+ ], CompanyProfile.prototype, "kindOfHiring", 2);
804
955
  __decorateClass([
805
956
  (0, import_typeorm8.Column)({
806
- name: "mode_of_work",
957
+ name: "mode_of_hire",
807
958
  type: "enum",
808
- enum: ModeOfWork,
959
+ enum: ModeOfHire,
809
960
  nullable: true
810
961
  })
811
- ], CompanyProfile.prototype, "modeOfWork", 2);
962
+ ], CompanyProfile.prototype, "modeOfHire", 2);
812
963
  __decorateClass([
813
964
  (0, import_typeorm8.Column)({
814
- name: "from_where",
965
+ name: "found_us_on",
815
966
  type: "enum",
816
- enum: FromWhere,
967
+ enum: FromUsOn,
817
968
  nullable: true
818
969
  })
819
- ], CompanyProfile.prototype, "fromWhere", 2);
820
- __decorateClass([
821
- (0, import_typeorm8.Column)({ name: "company_name", type: "varchar" })
822
- ], CompanyProfile.prototype, "companyName", 2);
970
+ ], CompanyProfile.prototype, "foundUsOn", 2);
823
971
  CompanyProfile = __decorateClass([
824
972
  (0, import_typeorm8.Entity)("company_profiles")
825
973
  ], CompanyProfile);
@@ -832,13 +980,19 @@ CompanyProfile = __decorateClass([
832
980
  CompanyProfile,
833
981
  CreateQuestionDto,
834
982
  CreateSubAdminDto,
983
+ FreelancerCreateAccountDto,
984
+ FreelancerDevelopmentPreferenceDto,
835
985
  FreelancerProfile,
836
- FromWhere,
986
+ FreelancerProfileQuestionDto,
987
+ FreelancerUploadResumeDto,
988
+ FreelancerWorkShowcaseDto,
989
+ FromUsOn,
837
990
  JobRMQAdapter,
838
991
  JobTCPAdapter,
839
992
  KindOfHire,
840
993
  LoginDto,
841
994
  LogoutDto,
995
+ ModeOfHire,
842
996
  ModeOfWork,
843
997
  NatureOfWork,
844
998
  ONBOARDING_PATTERN,
package/dist/index.mjs CHANGED
@@ -65,10 +65,166 @@ var ONBOARDING_PATTERN = {
65
65
  handleFreelancerResumeUpload: "handle.freelancer.resume.upload",
66
66
  handleFreelancerDeveloperPreference: "handle.freelancer.developer.preference",
67
67
  handleFreelancerProfileQuestion: "handle.freelancer.profile.question",
68
- handleClientProfileQuestion: "handle.client.profile.question",
69
- handleClientAccountCreation: "handle.client.account.creation"
68
+ handleFreelancerWorkShowcase: "handle.freelancer.work.showcase",
69
+ handleClientAccountCreation: "handle.client.account.creation",
70
+ handleClientProfileQuestion: "handle.client.profile.question"
70
71
  };
71
72
 
73
+ // src/modules/onboarding/dto/freelancer-create-account.dto.ts
74
+ import {
75
+ IsNotEmpty as IsNotEmpty4,
76
+ IsEmail,
77
+ Matches,
78
+ MinLength,
79
+ MaxLength,
80
+ IsString
81
+ } from "class-validator";
82
+
83
+ // src/decorators/match.decorator.ts
84
+ import {
85
+ registerDecorator
86
+ } from "class-validator";
87
+ function Match(property, validationOptions) {
88
+ return function(object, propertyName) {
89
+ registerDecorator({
90
+ name: "Match",
91
+ target: object.constructor,
92
+ propertyName,
93
+ options: validationOptions,
94
+ constraints: [property],
95
+ validator: {
96
+ validate(value, args) {
97
+ const [relatedPropertyName] = args.constraints;
98
+ const relatedValue = args.object[relatedPropertyName];
99
+ return value === relatedValue;
100
+ },
101
+ defaultMessage(args) {
102
+ const [relatedPropertyName] = args.constraints;
103
+ return `${propertyName} must match ${relatedPropertyName}`;
104
+ }
105
+ }
106
+ });
107
+ };
108
+ }
109
+
110
+ // src/modules/onboarding/dto/freelancer-create-account.dto.ts
111
+ var FreelancerCreateAccountDto = class {
112
+ };
113
+ __decorateClass([
114
+ IsNotEmpty4({ message: "Please enter full name." }),
115
+ IsString({ message: "Please enter valid full name." })
116
+ ], FreelancerCreateAccountDto.prototype, "fullName", 2);
117
+ __decorateClass([
118
+ IsNotEmpty4({ message: "Please enter email." }),
119
+ IsEmail()
120
+ ], FreelancerCreateAccountDto.prototype, "email", 2);
121
+ __decorateClass([
122
+ IsNotEmpty4({ message: "Please enter mobile code." }),
123
+ Matches(/^\d+$/, { message: "Mobile code must be numeric" })
124
+ ], FreelancerCreateAccountDto.prototype, "mobileCode", 2);
125
+ __decorateClass([
126
+ IsNotEmpty4({ message: "Please enter mobile number." }),
127
+ Matches(/^\d{10}$/, { message: "Mobile must be a 10-digit number" })
128
+ ], FreelancerCreateAccountDto.prototype, "mobile", 2);
129
+ __decorateClass([
130
+ IsNotEmpty4({ message: "Please enter password." }),
131
+ MinLength(6),
132
+ MaxLength(32),
133
+ Matches(/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])/, {
134
+ message: "Password must include letters, numbers and symbols."
135
+ })
136
+ ], FreelancerCreateAccountDto.prototype, "password", 2);
137
+ __decorateClass([
138
+ IsNotEmpty4({ message: "Please enter confirm password." }),
139
+ Match("password", { message: "Passwords do not match" })
140
+ ], FreelancerCreateAccountDto.prototype, "confirmPassword", 2);
141
+
142
+ // src/modules/onboarding/dto/freelancer-upload-resume.dto.ts
143
+ import { IsUUID, IsNotEmpty as IsNotEmpty5 } from "class-validator";
144
+ var FreelancerUploadResumeDto = class {
145
+ };
146
+ __decorateClass([
147
+ IsNotEmpty5({ message: "Please enter uuid." }),
148
+ IsUUID()
149
+ ], FreelancerUploadResumeDto.prototype, "uuid", 2);
150
+
151
+ // src/modules/onboarding/dto/freelancer-development-preference.dto.ts
152
+ import { IsUUID as IsUUID2, IsNotEmpty as IsNotEmpty6, IsBoolean } from "class-validator";
153
+ var FreelancerDevelopmentPreferenceDto = class {
154
+ };
155
+ __decorateClass([
156
+ IsNotEmpty6({ message: "Please enter uuid." }),
157
+ IsUUID2()
158
+ ], FreelancerDevelopmentPreferenceDto.prototype, "uuid", 2);
159
+ __decorateClass([
160
+ IsNotEmpty6({ message: "Please select development flag." }),
161
+ IsBoolean()
162
+ ], FreelancerDevelopmentPreferenceDto.prototype, "developer", 2);
163
+
164
+ // src/modules/onboarding/dto/freelancer-profile-question.dto.ts
165
+ import {
166
+ IsUUID as IsUUID3,
167
+ IsString as IsString2,
168
+ IsNotEmpty as IsNotEmpty7,
169
+ IsIn
170
+ } from "class-validator";
171
+ var FreelancerProfileQuestionDto = class {
172
+ };
173
+ __decorateClass([
174
+ IsNotEmpty7({ message: "Please enter uuid." }),
175
+ IsUUID3()
176
+ ], FreelancerProfileQuestionDto.prototype, "uuid", 2);
177
+ __decorateClass([
178
+ IsNotEmpty7({ message: "Please enter question slug." }),
179
+ IsString2(),
180
+ IsIn([
181
+ "natureOfWork",
182
+ "expectedHourlyCompensation",
183
+ "modeOfWork",
184
+ "availabilityToJoin",
185
+ "isImmediateJoiner"
186
+ ])
187
+ ], FreelancerProfileQuestionDto.prototype, "question_slug", 2);
188
+ __decorateClass([
189
+ IsNotEmpty7({ message: "Please enter answer." })
190
+ ], FreelancerProfileQuestionDto.prototype, "answer", 2);
191
+
192
+ // src/modules/onboarding/dto/freelancer-work-showcase.dto.ts
193
+ import {
194
+ IsNotEmpty as IsNotEmpty8,
195
+ IsOptional,
196
+ IsUrl,
197
+ IsString as IsString3,
198
+ IsUUID as IsUUID4
199
+ } from "class-validator";
200
+ var FreelancerWorkShowcaseDto = class {
201
+ };
202
+ __decorateClass([
203
+ IsNotEmpty8({ message: "Please enter uuid." }),
204
+ IsUUID4()
205
+ ], FreelancerWorkShowcaseDto.prototype, "uuid", 2);
206
+ __decorateClass([
207
+ IsNotEmpty8({ message: "Please enter likedin profile url." }),
208
+ IsString3(),
209
+ IsUrl({ require_protocol: true }, { message: "linkedinProfileLink must be a valid URL with protocol (e.g. https://)" })
210
+ ], FreelancerWorkShowcaseDto.prototype, "linkedinProfileLink", 2);
211
+ __decorateClass([
212
+ IsOptional(),
213
+ IsUrl({ require_protocol: true }, { message: "kaggleProfileLink must be a valid URL with protocol (e.g. https://)" })
214
+ ], FreelancerWorkShowcaseDto.prototype, "kaggleProfileLink", 2);
215
+ __decorateClass([
216
+ IsOptional(),
217
+ IsUrl({ require_protocol: true }, { message: "githubProfileLink must be a valid URL with protocol (e.g. https://)" })
218
+ ], FreelancerWorkShowcaseDto.prototype, "githubProfileLink", 2);
219
+ __decorateClass([
220
+ IsOptional(),
221
+ IsUrl({ require_protocol: true }, { message: "stackOverflowProfileLink must be a valid URL with protocol (e.g. https://)" })
222
+ ], FreelancerWorkShowcaseDto.prototype, "stackOverflowProfileLink", 2);
223
+ __decorateClass([
224
+ IsOptional(),
225
+ IsUrl({ require_protocol: true }, { message: "portfolioLink must be a valid URL with protocol (e.g. https://)" })
226
+ ], FreelancerWorkShowcaseDto.prototype, "portfolioLink", 2);
227
+
72
228
  // src/modules/resume-parser/pattern/pattern.ts
73
229
  var RESUME_PARSER_PATTERN = {
74
230
  handleResumeParsing: "handle.resume.parsing"
@@ -88,76 +244,76 @@ var SUBADMIN_PATTERN = {
88
244
 
89
245
  // src/modules/user/subadmin/dto/create-subadmin.dto.ts
90
246
  import {
91
- IsNotEmpty as IsNotEmpty4
247
+ IsNotEmpty as IsNotEmpty9
92
248
  } from "class-validator";
93
249
  var CreateSubAdminDto = class {
94
250
  };
95
251
  __decorateClass([
96
- IsNotEmpty4({ message: "Please enter unique id." })
252
+ IsNotEmpty9({ message: "Please enter unique id." })
97
253
  ], CreateSubAdminDto.prototype, "uniqueId", 2);
98
254
  __decorateClass([
99
- IsNotEmpty4({ message: "Please enter username." })
255
+ IsNotEmpty9({ message: "Please enter username." })
100
256
  ], CreateSubAdminDto.prototype, "userName", 2);
101
257
  __decorateClass([
102
- IsNotEmpty4({ message: "Please enter first name." })
258
+ IsNotEmpty9({ message: "Please enter first name." })
103
259
  ], CreateSubAdminDto.prototype, "firstName", 2);
104
260
  __decorateClass([
105
- IsNotEmpty4({ message: "Please enter last name." })
261
+ IsNotEmpty9({ message: "Please enter last name." })
106
262
  ], CreateSubAdminDto.prototype, "lastName", 2);
107
263
  __decorateClass([
108
- IsNotEmpty4({ message: "Please enter email." })
264
+ IsNotEmpty9({ message: "Please enter email." })
109
265
  ], CreateSubAdminDto.prototype, "email", 2);
110
266
  __decorateClass([
111
- IsNotEmpty4({ message: "Please enter mobile number." })
267
+ IsNotEmpty9({ message: "Please enter mobile number." })
112
268
  ], CreateSubAdminDto.prototype, "mobile", 2);
113
269
  __decorateClass([
114
- IsNotEmpty4({ message: "Please enter the password." })
270
+ IsNotEmpty9({ message: "Please enter the password." })
115
271
  ], CreateSubAdminDto.prototype, "password", 2);
116
272
  __decorateClass([
117
- IsNotEmpty4({ message: "Please enter account type." })
273
+ IsNotEmpty9({ message: "Please enter account type." })
118
274
  ], CreateSubAdminDto.prototype, "accountType", 2);
119
275
  __decorateClass([
120
- IsNotEmpty4({ message: "Please enter account status." })
276
+ IsNotEmpty9({ message: "Please enter account status." })
121
277
  ], CreateSubAdminDto.prototype, "accountStatus", 2);
122
278
 
123
279
  // src/modules/user/subadmin/dto/update-subadmin-status.dto.ts
124
- import { IsString } from "class-validator";
280
+ import { IsString as IsString4 } from "class-validator";
125
281
  var UpdateSubAdminAccountStatusDto = class {
126
282
  };
127
283
  __decorateClass([
128
- IsString()
284
+ IsString4()
129
285
  ], UpdateSubAdminAccountStatusDto.prototype, "accountStatus", 2);
130
286
 
131
287
  // src/modules/user/subadmin/dto/update-subadmin.dto.ts
132
- import { IsNotEmpty as IsNotEmpty5 } from "class-validator";
288
+ import { IsNotEmpty as IsNotEmpty10 } from "class-validator";
133
289
  var UpdateSubAdminDto = class {
134
290
  };
135
291
  __decorateClass([
136
- IsNotEmpty5({ message: "Please enter unique id." })
292
+ IsNotEmpty10({ message: "Please enter unique id." })
137
293
  ], UpdateSubAdminDto.prototype, "uniqueId", 2);
138
294
  __decorateClass([
139
- IsNotEmpty5({ message: "Please enter username." })
295
+ IsNotEmpty10({ message: "Please enter username." })
140
296
  ], UpdateSubAdminDto.prototype, "userName", 2);
141
297
  __decorateClass([
142
- IsNotEmpty5({ message: "Please enter first name." })
298
+ IsNotEmpty10({ message: "Please enter first name." })
143
299
  ], UpdateSubAdminDto.prototype, "firstName", 2);
144
300
  __decorateClass([
145
- IsNotEmpty5({ message: "Please enter last name." })
301
+ IsNotEmpty10({ message: "Please enter last name." })
146
302
  ], UpdateSubAdminDto.prototype, "lastName", 2);
147
303
  __decorateClass([
148
- IsNotEmpty5({ message: "Please enter email." })
304
+ IsNotEmpty10({ message: "Please enter email." })
149
305
  ], UpdateSubAdminDto.prototype, "email", 2);
150
306
  __decorateClass([
151
- IsNotEmpty5({ message: "Please enter mobile number." })
307
+ IsNotEmpty10({ message: "Please enter mobile number." })
152
308
  ], UpdateSubAdminDto.prototype, "mobile", 2);
153
309
  __decorateClass([
154
- IsNotEmpty5({ message: "Please enter the password." })
310
+ IsNotEmpty10({ message: "Please enter the password." })
155
311
  ], UpdateSubAdminDto.prototype, "password", 2);
156
312
  __decorateClass([
157
- IsNotEmpty5({ message: "Please enter account type." })
313
+ IsNotEmpty10({ message: "Please enter account type." })
158
314
  ], UpdateSubAdminDto.prototype, "accountType", 2);
159
315
  __decorateClass([
160
- IsNotEmpty5({ message: "Please enter account status." })
316
+ IsNotEmpty10({ message: "Please enter account status." })
161
317
  ], UpdateSubAdminDto.prototype, "accountStatus", 2);
162
318
 
163
319
  // src/modules/question/pattern/pattern.ts
@@ -167,27 +323,27 @@ var QUESTION_PATTERN = {
167
323
 
168
324
  // src/modules/question/dto/create-question.dto.ts
169
325
  import {
170
- IsNotEmpty as IsNotEmpty6,
171
- IsOptional as IsOptional3,
172
- IsBoolean as IsBoolean3
326
+ IsNotEmpty as IsNotEmpty11,
327
+ IsOptional as IsOptional4,
328
+ IsBoolean as IsBoolean4
173
329
  } from "class-validator";
174
330
  var CreateQuestionDto = class {
175
331
  };
176
332
  __decorateClass([
177
- IsNotEmpty6({ message: "Please enter unique id." })
333
+ IsNotEmpty11({ message: "Please enter unique id." })
178
334
  ], CreateQuestionDto.prototype, "questionId", 2);
179
335
  __decorateClass([
180
- IsNotEmpty6({ message: "Please enter username." })
336
+ IsNotEmpty11({ message: "Please enter username." })
181
337
  ], CreateQuestionDto.prototype, "question", 2);
182
338
  __decorateClass([
183
- IsNotEmpty6({ message: "Please enter first name." })
339
+ IsNotEmpty11({ message: "Please enter first name." })
184
340
  ], CreateQuestionDto.prototype, "questionFor", 2);
185
341
  __decorateClass([
186
- IsNotEmpty6({ message: "Please enter last name." })
342
+ IsNotEmpty11({ message: "Please enter last name." })
187
343
  ], CreateQuestionDto.prototype, "options", 2);
188
344
  __decorateClass([
189
- IsOptional3(),
190
- IsBoolean3({ message: "Whether the question status active" })
345
+ IsOptional4(),
346
+ IsBoolean4({ message: "Whether the question status active" })
191
347
  ], CreateQuestionDto.prototype, "isActive", 2);
192
348
 
193
349
  // src/adapters/tcp/user.tcp.adapter.ts
@@ -770,13 +926,19 @@ var KindOfHire = /* @__PURE__ */ ((KindOfHire2) => {
770
926
  KindOfHire2["BOTH"] = "BOTH";
771
927
  return KindOfHire2;
772
928
  })(KindOfHire || {});
773
- var FromWhere = /* @__PURE__ */ ((FromWhere2) => {
774
- FromWhere2["LINKEDIN"] = "LINKEDIN";
775
- FromWhere2["GOOGLE"] = "GOOGLE";
776
- FromWhere2["REFERRAL"] = "REFERRAL";
777
- FromWhere2["OTHER"] = "OTHER";
778
- return FromWhere2;
779
- })(FromWhere || {});
929
+ var ModeOfHire = /* @__PURE__ */ ((ModeOfHire2) => {
930
+ ModeOfHire2["ONSITE"] = "ONSITE";
931
+ ModeOfHire2["REMOTE"] = "REMOTE";
932
+ ModeOfHire2["BOTH"] = "BOTH";
933
+ return ModeOfHire2;
934
+ })(ModeOfHire || {});
935
+ var FromUsOn = /* @__PURE__ */ ((FromUsOn2) => {
936
+ FromUsOn2["LINKEDIN"] = "LINKEDIN";
937
+ FromUsOn2["GOOGLE"] = "GOOGLE";
938
+ FromUsOn2["REFERRAL"] = "REFERRAL";
939
+ FromUsOn2["OTHER"] = "OTHER";
940
+ return FromUsOn2;
941
+ })(FromUsOn || {});
780
942
  var CompanyProfile = class extends BaseEntity {
781
943
  };
782
944
  // individual index to find company profile by user
@@ -788,39 +950,39 @@ __decorateClass([
788
950
  ManyToOne5(() => User, (user) => user.otps),
789
951
  JoinColumn5({ name: "user_id" })
790
952
  ], CompanyProfile.prototype, "user", 2);
953
+ __decorateClass([
954
+ Column8({ name: "company_name", type: "varchar", nullable: true })
955
+ ], CompanyProfile.prototype, "companyName", 2);
791
956
  __decorateClass([
792
957
  Column8({ name: "skills", type: "text", nullable: true })
793
958
  ], CompanyProfile.prototype, "skills", 2);
794
959
  __decorateClass([
795
- Column8({ name: "how_many_freelancers_need", type: "varchar", nullable: true })
796
- ], CompanyProfile.prototype, "howManyFreelancersNeed", 2);
960
+ Column8({ name: "required_freelancer", type: "varchar", nullable: true })
961
+ ], CompanyProfile.prototype, "requiredFreelancer", 2);
797
962
  __decorateClass([
798
963
  Column8({
799
- name: "kind_of_work",
964
+ name: "kind_of_hiring",
800
965
  type: "enum",
801
966
  enum: KindOfHire,
802
967
  nullable: true
803
968
  })
804
- ], CompanyProfile.prototype, "kindOfWork", 2);
969
+ ], CompanyProfile.prototype, "kindOfHiring", 2);
805
970
  __decorateClass([
806
971
  Column8({
807
- name: "mode_of_work",
972
+ name: "mode_of_hire",
808
973
  type: "enum",
809
- enum: ModeOfWork,
974
+ enum: ModeOfHire,
810
975
  nullable: true
811
976
  })
812
- ], CompanyProfile.prototype, "modeOfWork", 2);
977
+ ], CompanyProfile.prototype, "modeOfHire", 2);
813
978
  __decorateClass([
814
979
  Column8({
815
- name: "from_where",
980
+ name: "found_us_on",
816
981
  type: "enum",
817
- enum: FromWhere,
982
+ enum: FromUsOn,
818
983
  nullable: true
819
984
  })
820
- ], CompanyProfile.prototype, "fromWhere", 2);
821
- __decorateClass([
822
- Column8({ name: "company_name", type: "varchar" })
823
- ], CompanyProfile.prototype, "companyName", 2);
985
+ ], CompanyProfile.prototype, "foundUsOn", 2);
824
986
  CompanyProfile = __decorateClass([
825
987
  Entity7("company_profiles")
826
988
  ], CompanyProfile);
@@ -832,13 +994,19 @@ export {
832
994
  CompanyProfile,
833
995
  CreateQuestionDto,
834
996
  CreateSubAdminDto,
997
+ FreelancerCreateAccountDto,
998
+ FreelancerDevelopmentPreferenceDto,
835
999
  FreelancerProfile,
836
- FromWhere,
1000
+ FreelancerProfileQuestionDto,
1001
+ FreelancerUploadResumeDto,
1002
+ FreelancerWorkShowcaseDto,
1003
+ FromUsOn,
837
1004
  JobRMQAdapter,
838
1005
  JobTCPAdapter,
839
1006
  KindOfHire,
840
1007
  LoginDto,
841
1008
  LogoutDto,
1009
+ ModeOfHire,
842
1010
  ModeOfWork,
843
1011
  NatureOfWork,
844
1012
  ONBOARDING_PATTERN,
@@ -0,0 +1,8 @@
1
+ export declare class FreelancerCreateAccountDto {
2
+ fullName: string;
3
+ email: string;
4
+ mobileCode: string;
5
+ mobile: string;
6
+ password: string;
7
+ confirmPassword: string;
8
+ }
@@ -0,0 +1,4 @@
1
+ export declare class FreelancerDevelopmentPreferenceDto {
2
+ uuid: string;
3
+ developer: boolean;
4
+ }
@@ -0,0 +1,5 @@
1
+ export declare class FreelancerProfileQuestionDto {
2
+ uuid: string;
3
+ question_slug: string;
4
+ answer: any;
5
+ }
@@ -0,0 +1,3 @@
1
+ export declare class FreelancerUploadResumeDto {
2
+ uuid: string;
3
+ }
@@ -0,0 +1,8 @@
1
+ export declare class FreelancerWorkShowcaseDto {
2
+ uuid: string;
3
+ linkedinProfileLink: string;
4
+ kaggleProfileLink?: string | null;
5
+ githubProfileLink?: string | null;
6
+ stackOverflowProfileLink?: string | null;
7
+ portfolioLink?: string | null;
8
+ }
@@ -0,0 +1,5 @@
1
+ export * from './freelancer-create-account.dto';
2
+ export * from './freelancer-upload-resume.dto';
3
+ export * from './freelancer-development-preference.dto';
4
+ export * from './freelancer-profile-question.dto';
5
+ export * from './freelancer-work-showcase.dto';
@@ -1 +1,2 @@
1
1
  export * from './pattern/pattern';
2
+ export * from './dto';
@@ -3,6 +3,7 @@ export declare const ONBOARDING_PATTERN: {
3
3
  handleFreelancerResumeUpload: string;
4
4
  handleFreelancerDeveloperPreference: string;
5
5
  handleFreelancerProfileQuestion: string;
6
- handleClientProfileQuestion: string;
6
+ handleFreelancerWorkShowcase: string;
7
7
  handleClientAccountCreation: string;
8
+ handleClientProfileQuestion: string;
8
9
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@experts_hub/shared",
3
- "version": "1.0.57",
3
+ "version": "1.0.59",
4
4
  "description": "Shared DTOs, interfaces, and utilities for experts hub applications",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/",