@experts_hub/shared 1.0.316 → 1.0.318

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -31,6 +31,10 @@ __export(index_exports, {
31
31
  ADMIN_JOB_PATTERN: () => ADMIN_JOB_PATTERN,
32
32
  ADMIN_PERMISSION_PATTERN: () => ADMIN_PERMISSION_PATTERN,
33
33
  ADMIN_ROLE_PATTERN: () => ADMIN_ROLE_PATTERN,
34
+ AIInterview: () => AIInterview,
35
+ AIInterviewResultEnum: () => AIInterviewResultEnum,
36
+ AIInterviewStatusEnum: () => AIInterviewStatusEnum,
37
+ AIInterviewTypeEnum: () => AIInterviewTypeEnum,
34
38
  ASSESSMENT_QUESTION_PATTERN: () => ASSESSMENT_QUESTION_PATTERN,
35
39
  AUTHENTICATION_PATTERN: () => AUTHENTICATION_PATTERN,
36
40
  AccountStatus: () => AccountStatus,
@@ -148,6 +152,7 @@ __export(index_exports, {
148
152
  JobBasicInformationDto: () => JobBasicInformationDto,
149
153
  JobDescriptionDto: () => JobDescriptionDto,
150
154
  JobFreelancerRecommendation: () => JobFreelancerRecommendation,
155
+ JobFreelancerRecommendationV2: () => JobFreelancerRecommendationV2,
151
156
  JobIdParamDto: () => JobIdParamDto,
152
157
  JobLocation: () => JobLocation,
153
158
  JobLocationEnum: () => JobLocationEnum,
@@ -5164,71 +5169,213 @@ InterviewInvite = __decorateClass([
5164
5169
  (0, import_typeorm46.Entity)("interview_invites")
5165
5170
  ], InterviewInvite);
5166
5171
 
5172
+ // src/entities/ai-interview.entity.ts
5173
+ var import_typeorm47 = require("typeorm");
5174
+ var AIInterviewStatusEnum = /* @__PURE__ */ ((AIInterviewStatusEnum2) => {
5175
+ AIInterviewStatusEnum2["IN_PROGRESS"] = "IN_PROGRESS";
5176
+ AIInterviewStatusEnum2["COMPLETED"] = "COMPLETED";
5177
+ AIInterviewStatusEnum2["FAILED"] = "FAILED";
5178
+ AIInterviewStatusEnum2["TIMEOUT"] = "TIMEOUT";
5179
+ AIInterviewStatusEnum2["CANCELLED"] = "CANCELLED";
5180
+ return AIInterviewStatusEnum2;
5181
+ })(AIInterviewStatusEnum || {});
5182
+ var AIInterviewTypeEnum = /* @__PURE__ */ ((AIInterviewTypeEnum2) => {
5183
+ AIInterviewTypeEnum2["AI_INTERVIEW"] = "AI_INTERVIEW";
5184
+ AIInterviewTypeEnum2["AI_INTERVIEW_AND_CODING_EXERCISE"] = "AI_INTERVIEW_AND_CODING_EXERCISE";
5185
+ AIInterviewTypeEnum2["AI_INTERVIEW_AND_CODING_EXERCISE_AND_RLHF_EXCERCISE"] = "AI_INTERVIEW_AND_CODING_EXERCISE_AND_RLHF_EXCERCISE";
5186
+ AIInterviewTypeEnum2["CODING_EXERCISE"] = "CODING_EXERCISE";
5187
+ return AIInterviewTypeEnum2;
5188
+ })(AIInterviewTypeEnum || {});
5189
+ var AIInterviewResultEnum = /* @__PURE__ */ ((AIInterviewResultEnum2) => {
5190
+ AIInterviewResultEnum2["PASSED"] = "PASSED";
5191
+ AIInterviewResultEnum2["FAILED"] = "FAILED";
5192
+ AIInterviewResultEnum2["NEEDS_REVIEW"] = "NEEDS_REVIEW";
5193
+ AIInterviewResultEnum2["INCOMPLETE"] = "INCOMPLETE";
5194
+ return AIInterviewResultEnum2;
5195
+ })(AIInterviewResultEnum || {});
5196
+ var AIInterview = class extends BaseEntity {
5197
+ };
5198
+ __decorateClass([
5199
+ (0, import_typeorm47.Column)({
5200
+ name: "interview_id",
5201
+ type: "integer",
5202
+ comment: "Redundant explicit interview_id column (optional if using only relation"
5203
+ }),
5204
+ (0, import_typeorm47.Index)()
5205
+ ], AIInterview.prototype, "interviewId", 2);
5206
+ __decorateClass([
5207
+ (0, import_typeorm47.Column)({
5208
+ name: "interview_invite_id",
5209
+ type: "integer",
5210
+ comment: "Redundant explicit interview_invite_id column (optional if using only relation"
5211
+ })
5212
+ ], AIInterview.prototype, "interviewInviteId", 2);
5213
+ __decorateClass([
5214
+ (0, import_typeorm47.Column)({
5215
+ name: "candidate_id",
5216
+ type: "integer",
5217
+ comment: "Redundant explicit candidate_id column (optional if using only relation"
5218
+ }),
5219
+ (0, import_typeorm47.Index)()
5220
+ ], AIInterview.prototype, "candidateId", 2);
5221
+ __decorateClass([
5222
+ (0, import_typeorm47.Column)({
5223
+ name: "job_id",
5224
+ type: "integer",
5225
+ comment: "Redundant explicit job_id column (optional if using only relation"
5226
+ })
5227
+ ], AIInterview.prototype, "jobId", 2);
5228
+ __decorateClass([
5229
+ (0, import_typeorm47.Column)({
5230
+ name: "invite_token",
5231
+ type: "varchar",
5232
+ unique: true,
5233
+ comment: "Secure unique token sent in email link for invite tracking",
5234
+ nullable: true
5235
+ })
5236
+ ], AIInterview.prototype, "inviteToken", 2);
5237
+ __decorateClass([
5238
+ (0, import_typeorm47.Column)({ name: "interview_type", type: "enum", enum: AIInterviewTypeEnum })
5239
+ ], AIInterview.prototype, "interviewType", 2);
5240
+ __decorateClass([
5241
+ (0, import_typeorm47.Column)({
5242
+ name: "interview_name",
5243
+ type: "varchar",
5244
+ comment: "Name of the interview"
5245
+ })
5246
+ ], AIInterview.prototype, "interviewName", 2);
5247
+ __decorateClass([
5248
+ (0, import_typeorm47.Column)({
5249
+ name: "job_title",
5250
+ type: "varchar",
5251
+ comment: "Name of the job title for that the AI interview was conducted"
5252
+ })
5253
+ ], AIInterview.prototype, "jobTitle", 2);
5254
+ __decorateClass([
5255
+ (0, import_typeorm47.Column)({
5256
+ type: "enum",
5257
+ enum: AIInterviewStatusEnum,
5258
+ default: "IN_PROGRESS" /* IN_PROGRESS */
5259
+ })
5260
+ ], AIInterview.prototype, "status", 2);
5261
+ __decorateClass([
5262
+ (0, import_typeorm47.Column)({
5263
+ name: "started_at",
5264
+ type: "timestamp with time zone",
5265
+ comment: "Timestamp when the interview was started"
5266
+ })
5267
+ ], AIInterview.prototype, "startedAt", 2);
5268
+ __decorateClass([
5269
+ (0, import_typeorm47.Column)({
5270
+ name: "completed_at",
5271
+ type: "timestamp with time zone",
5272
+ nullable: true,
5273
+ comment: "Timestamp when the interview was completed"
5274
+ })
5275
+ ], AIInterview.prototype, "completedAt", 2);
5276
+ __decorateClass([
5277
+ (0, import_typeorm47.Column)({
5278
+ name: "duration_minutes",
5279
+ type: "integer",
5280
+ nullable: true,
5281
+ comment: "Duration of the AI interview"
5282
+ })
5283
+ ], AIInterview.prototype, "durationMinutes", 2);
5284
+ __decorateClass([
5285
+ (0, import_typeorm47.Column)({
5286
+ name: "overall_score",
5287
+ type: "decimal",
5288
+ precision: 5,
5289
+ scale: 2,
5290
+ nullable: true,
5291
+ comment: "Overall score of the AI interview"
5292
+ })
5293
+ ], AIInterview.prototype, "overallScore", 2);
5294
+ __decorateClass([
5295
+ (0, import_typeorm47.ManyToOne)(() => Interview, { onDelete: "CASCADE" }),
5296
+ (0, import_typeorm47.JoinColumn)({ name: "interview_id" })
5297
+ ], AIInterview.prototype, "interview", 2);
5298
+ __decorateClass([
5299
+ (0, import_typeorm47.ManyToOne)(() => InterviewInvite, { onDelete: "CASCADE" }),
5300
+ (0, import_typeorm47.JoinColumn)({ name: "interview_invite_id" })
5301
+ ], AIInterview.prototype, "interviewInvite", 2);
5302
+ __decorateClass([
5303
+ (0, import_typeorm47.ManyToOne)(() => User, { onDelete: "CASCADE" }),
5304
+ (0, import_typeorm47.JoinColumn)({ name: "candidate_id" })
5305
+ ], AIInterview.prototype, "candidate", 2);
5306
+ __decorateClass([
5307
+ (0, import_typeorm47.ManyToOne)(() => Job, { onDelete: "CASCADE" }),
5308
+ (0, import_typeorm47.JoinColumn)({ name: "job_id" })
5309
+ ], AIInterview.prototype, "job", 2);
5310
+ AIInterview = __decorateClass([
5311
+ (0, import_typeorm47.Entity)("ai_interviews")
5312
+ ], AIInterview);
5313
+
5167
5314
  // src/entities/plan.entity.ts
5168
- var import_typeorm48 = require("typeorm");
5315
+ var import_typeorm49 = require("typeorm");
5169
5316
 
5170
5317
  // src/entities/feature.entity.ts
5171
- var import_typeorm47 = require("typeorm");
5318
+ var import_typeorm48 = require("typeorm");
5172
5319
  var Feature = class extends BaseEntity {
5173
5320
  };
5174
5321
  __decorateClass([
5175
- (0, import_typeorm47.Column)({ name: "name", type: "varchar", unique: true })
5322
+ (0, import_typeorm48.Column)({ name: "name", type: "varchar", unique: true })
5176
5323
  ], Feature.prototype, "name", 2);
5177
5324
  __decorateClass([
5178
- (0, import_typeorm47.ManyToMany)(() => Plan, (plan) => plan.features)
5325
+ (0, import_typeorm48.ManyToMany)(() => Plan, (plan) => plan.features)
5179
5326
  ], Feature.prototype, "plans", 2);
5180
5327
  Feature = __decorateClass([
5181
- (0, import_typeorm47.Entity)("features")
5328
+ (0, import_typeorm48.Entity)("features")
5182
5329
  ], Feature);
5183
5330
 
5184
5331
  // src/entities/plan.entity.ts
5185
5332
  var Plan = class extends BaseEntity {
5186
5333
  };
5187
5334
  __decorateClass([
5188
- (0, import_typeorm48.Column)({ name: "name", type: "varchar", unique: true })
5335
+ (0, import_typeorm49.Column)({ name: "name", type: "varchar", unique: true })
5189
5336
  ], Plan.prototype, "name", 2);
5190
5337
  __decorateClass([
5191
- (0, import_typeorm48.Column)({ name: "description", type: "varchar", nullable: true })
5338
+ (0, import_typeorm49.Column)({ name: "description", type: "varchar", nullable: true })
5192
5339
  ], Plan.prototype, "description", 2);
5193
5340
  __decorateClass([
5194
- (0, import_typeorm48.Column)({ name: "price", type: "decimal", precision: 10, scale: 2 })
5341
+ (0, import_typeorm49.Column)({ name: "price", type: "decimal", precision: 10, scale: 2 })
5195
5342
  ], Plan.prototype, "price", 2);
5196
5343
  __decorateClass([
5197
- (0, import_typeorm48.Column)({ name: "billing_period", type: "varchar" })
5344
+ (0, import_typeorm49.Column)({ name: "billing_period", type: "varchar" })
5198
5345
  ], Plan.prototype, "billingPeriod", 2);
5199
5346
  __decorateClass([
5200
- (0, import_typeorm48.Column)({ name: "is_current", type: "boolean", default: false })
5347
+ (0, import_typeorm49.Column)({ name: "is_current", type: "boolean", default: false })
5201
5348
  ], Plan.prototype, "isCurrent", 2);
5202
5349
  __decorateClass([
5203
- (0, import_typeorm48.ManyToMany)(() => Feature, (feature) => feature.plans, { cascade: true }),
5204
- (0, import_typeorm48.JoinTable)()
5350
+ (0, import_typeorm49.ManyToMany)(() => Feature, (feature) => feature.plans, { cascade: true }),
5351
+ (0, import_typeorm49.JoinTable)()
5205
5352
  ], Plan.prototype, "features", 2);
5206
5353
  Plan = __decorateClass([
5207
- (0, import_typeorm48.Entity)("plans")
5354
+ (0, import_typeorm49.Entity)("plans")
5208
5355
  ], Plan);
5209
5356
 
5210
5357
  // src/entities/cms.entity.ts
5211
- var import_typeorm49 = require("typeorm");
5358
+ var import_typeorm50 = require("typeorm");
5212
5359
  var Cms = class extends BaseEntity {
5213
5360
  };
5214
5361
  __decorateClass([
5215
- (0, import_typeorm49.Column)({ name: "title", type: "varchar", nullable: true })
5362
+ (0, import_typeorm50.Column)({ name: "title", type: "varchar", nullable: true })
5216
5363
  ], Cms.prototype, "title", 2);
5217
5364
  __decorateClass([
5218
- (0, import_typeorm49.Column)({ name: "slug", type: "varchar", nullable: true, unique: true })
5365
+ (0, import_typeorm50.Column)({ name: "slug", type: "varchar", nullable: true, unique: true })
5219
5366
  ], Cms.prototype, "slug", 2);
5220
5367
  __decorateClass([
5221
- (0, import_typeorm49.Column)({ name: "content", type: "varchar", nullable: true })
5368
+ (0, import_typeorm50.Column)({ name: "content", type: "varchar", nullable: true })
5222
5369
  ], Cms.prototype, "content", 2);
5223
5370
  __decorateClass([
5224
- (0, import_typeorm49.Column)({ name: "is_active", type: "boolean", default: true })
5371
+ (0, import_typeorm50.Column)({ name: "is_active", type: "boolean", default: true })
5225
5372
  ], Cms.prototype, "isActive", 2);
5226
5373
  Cms = __decorateClass([
5227
- (0, import_typeorm49.Entity)("cms")
5374
+ (0, import_typeorm50.Entity)("cms")
5228
5375
  ], Cms);
5229
5376
 
5230
5377
  // src/entities/lead.entity.ts
5231
- var import_typeorm50 = require("typeorm");
5378
+ var import_typeorm51 = require("typeorm");
5232
5379
  var CategoryEmum = /* @__PURE__ */ ((CategoryEmum2) => {
5233
5380
  CategoryEmum2["BUSINESS"] = "BUSINESS";
5234
5381
  CategoryEmum2["FREELANCER"] = "FREELANCER";
@@ -5237,22 +5384,22 @@ var CategoryEmum = /* @__PURE__ */ ((CategoryEmum2) => {
5237
5384
  var Lead = class extends BaseEntity {
5238
5385
  };
5239
5386
  __decorateClass([
5240
- (0, import_typeorm50.Column)({ name: "name", type: "varchar", nullable: true })
5387
+ (0, import_typeorm51.Column)({ name: "name", type: "varchar", nullable: true })
5241
5388
  ], Lead.prototype, "name", 2);
5242
5389
  __decorateClass([
5243
- (0, import_typeorm50.Column)({ name: "mobile_code", type: "varchar", nullable: true })
5390
+ (0, import_typeorm51.Column)({ name: "mobile_code", type: "varchar", nullable: true })
5244
5391
  ], Lead.prototype, "mobileCode", 2);
5245
5392
  __decorateClass([
5246
- (0, import_typeorm50.Column)({ name: "mobile", type: "varchar", nullable: true })
5393
+ (0, import_typeorm51.Column)({ name: "mobile", type: "varchar", nullable: true })
5247
5394
  ], Lead.prototype, "mobile", 2);
5248
5395
  __decorateClass([
5249
- (0, import_typeorm50.Column)({ name: "email", type: "varchar", nullable: true })
5396
+ (0, import_typeorm51.Column)({ name: "email", type: "varchar", nullable: true })
5250
5397
  ], Lead.prototype, "email", 2);
5251
5398
  __decorateClass([
5252
- (0, import_typeorm50.Column)({ name: "description", type: "varchar", nullable: true })
5399
+ (0, import_typeorm51.Column)({ name: "description", type: "varchar", nullable: true })
5253
5400
  ], Lead.prototype, "description", 2);
5254
5401
  __decorateClass([
5255
- (0, import_typeorm50.Column)({
5402
+ (0, import_typeorm51.Column)({
5256
5403
  name: "category",
5257
5404
  type: "enum",
5258
5405
  enum: CategoryEmum,
@@ -5260,129 +5407,129 @@ __decorateClass([
5260
5407
  })
5261
5408
  ], Lead.prototype, "category", 2);
5262
5409
  Lead = __decorateClass([
5263
- (0, import_typeorm50.Entity)("leads")
5410
+ (0, import_typeorm51.Entity)("leads")
5264
5411
  ], Lead);
5265
5412
 
5266
5413
  // src/entities/job-freelancer-recommendation.entity.ts
5267
- var import_typeorm51 = require("typeorm");
5414
+ var import_typeorm52 = require("typeorm");
5268
5415
  var JobFreelancerRecommendation = class {
5269
5416
  };
5270
5417
  __decorateClass([
5271
- (0, import_typeorm51.ViewColumn)({ name: "job_id" })
5418
+ (0, import_typeorm52.ViewColumn)({ name: "job_id" })
5272
5419
  ], JobFreelancerRecommendation.prototype, "jobId", 2);
5273
5420
  __decorateClass([
5274
- (0, import_typeorm51.ViewColumn)({ name: "job_uuid" })
5421
+ (0, import_typeorm52.ViewColumn)({ name: "job_uuid" })
5275
5422
  ], JobFreelancerRecommendation.prototype, "jobUuid", 2);
5276
5423
  __decorateClass([
5277
- (0, import_typeorm51.ViewColumn)({ name: "job_unique_id" })
5424
+ (0, import_typeorm52.ViewColumn)({ name: "job_unique_id" })
5278
5425
  ], JobFreelancerRecommendation.prototype, "jobUniqueId", 2);
5279
5426
  __decorateClass([
5280
- (0, import_typeorm51.ViewColumn)({ name: "job_role" })
5427
+ (0, import_typeorm52.ViewColumn)({ name: "job_role" })
5281
5428
  ], JobFreelancerRecommendation.prototype, "jobRole", 2);
5282
5429
  __decorateClass([
5283
- (0, import_typeorm51.ViewColumn)({ name: "job_openings" })
5430
+ (0, import_typeorm52.ViewColumn)({ name: "job_openings" })
5284
5431
  ], JobFreelancerRecommendation.prototype, "jobOpenings", 2);
5285
5432
  __decorateClass([
5286
- (0, import_typeorm51.ViewColumn)({ name: "job_location" })
5433
+ (0, import_typeorm52.ViewColumn)({ name: "job_location" })
5287
5434
  ], JobFreelancerRecommendation.prototype, "jobLocation", 2);
5288
5435
  __decorateClass([
5289
- (0, import_typeorm51.ViewColumn)({ name: "job_currency" })
5436
+ (0, import_typeorm52.ViewColumn)({ name: "job_currency" })
5290
5437
  ], JobFreelancerRecommendation.prototype, "jobCurrency", 2);
5291
5438
  __decorateClass([
5292
- (0, import_typeorm51.ViewColumn)({ name: "job_salary_from" })
5439
+ (0, import_typeorm52.ViewColumn)({ name: "job_salary_from" })
5293
5440
  ], JobFreelancerRecommendation.prototype, "jobSalaryFrom", 2);
5294
5441
  __decorateClass([
5295
- (0, import_typeorm51.ViewColumn)({ name: "job_salary_to" })
5442
+ (0, import_typeorm52.ViewColumn)({ name: "job_salary_to" })
5296
5443
  ], JobFreelancerRecommendation.prototype, "jobSalaryTo", 2);
5297
5444
  __decorateClass([
5298
- (0, import_typeorm51.ViewColumn)({ name: "job_employment_type" })
5445
+ (0, import_typeorm52.ViewColumn)({ name: "job_employment_type" })
5299
5446
  ], JobFreelancerRecommendation.prototype, "jobEmploymentType", 2);
5300
5447
  __decorateClass([
5301
- (0, import_typeorm51.ViewColumn)({ name: "application_received" })
5448
+ (0, import_typeorm52.ViewColumn)({ name: "application_received" })
5302
5449
  ], JobFreelancerRecommendation.prototype, "applicationReceived", 2);
5303
5450
  __decorateClass([
5304
- (0, import_typeorm51.ViewColumn)({ name: "job_posted_at" })
5451
+ (0, import_typeorm52.ViewColumn)({ name: "job_posted_at" })
5305
5452
  ], JobFreelancerRecommendation.prototype, "jobPostedAt", 2);
5306
5453
  __decorateClass([
5307
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_id" })
5454
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_id" })
5308
5455
  ], JobFreelancerRecommendation.prototype, "freelancerId", 2);
5309
5456
  __decorateClass([
5310
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_uuid" })
5457
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_uuid" })
5311
5458
  ], JobFreelancerRecommendation.prototype, "freelancerUuid", 2);
5312
5459
  __decorateClass([
5313
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_unique_id" })
5460
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_unique_id" })
5314
5461
  ], JobFreelancerRecommendation.prototype, "freelancerUniqueId", 2);
5315
5462
  __decorateClass([
5316
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_first_name" })
5463
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_first_name" })
5317
5464
  ], JobFreelancerRecommendation.prototype, "freelancerFirstName", 2);
5318
5465
  __decorateClass([
5319
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_last_name" })
5466
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_last_name" })
5320
5467
  ], JobFreelancerRecommendation.prototype, "freelancerLastName", 2);
5321
5468
  __decorateClass([
5322
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_email" })
5469
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_email" })
5323
5470
  ], JobFreelancerRecommendation.prototype, "freelancerEmail", 2);
5324
5471
  __decorateClass([
5325
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_profile_picture" })
5472
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_profile_picture" })
5326
5473
  ], JobFreelancerRecommendation.prototype, "freelancerProfilePicture", 2);
5327
5474
  __decorateClass([
5328
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_is_social" })
5475
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_is_social" })
5329
5476
  ], JobFreelancerRecommendation.prototype, "freelancerIsSocial", 2);
5330
5477
  __decorateClass([
5331
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_created_at" })
5478
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_created_at" })
5332
5479
  ], JobFreelancerRecommendation.prototype, "freelancerCreatedAt", 2);
5333
5480
  __decorateClass([
5334
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_designation" })
5481
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_designation" })
5335
5482
  ], JobFreelancerRecommendation.prototype, "freelancerDesignation", 2);
5336
5483
  __decorateClass([
5337
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_experience" })
5484
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_experience" })
5338
5485
  ], JobFreelancerRecommendation.prototype, "freelancerExperience", 2);
5339
5486
  __decorateClass([
5340
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_expertshub_verified" })
5487
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_expertshub_verified" })
5341
5488
  ], JobFreelancerRecommendation.prototype, "freelancerExpertshubVerified", 2);
5342
5489
  __decorateClass([
5343
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_hourly_compensation" })
5490
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_hourly_compensation" })
5344
5491
  ], JobFreelancerRecommendation.prototype, "freelancerHourlyCompensation", 2);
5345
5492
  __decorateClass([
5346
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_country_name" })
5493
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_country_name" })
5347
5494
  ], JobFreelancerRecommendation.prototype, "freelancerCountryName", 2);
5348
5495
  __decorateClass([
5349
- (0, import_typeorm51.ViewColumn)({ name: "freelancer_country_iso_code" })
5496
+ (0, import_typeorm52.ViewColumn)({ name: "freelancer_country_iso_code" })
5350
5497
  ], JobFreelancerRecommendation.prototype, "freelancerCountryIsoCode", 2);
5351
5498
  __decorateClass([
5352
- (0, import_typeorm51.ViewColumn)({ name: "client_id" })
5499
+ (0, import_typeorm52.ViewColumn)({ name: "client_id" })
5353
5500
  ], JobFreelancerRecommendation.prototype, "clientId", 2);
5354
5501
  __decorateClass([
5355
- (0, import_typeorm51.ViewColumn)({ name: "client_uuid" })
5502
+ (0, import_typeorm52.ViewColumn)({ name: "client_uuid" })
5356
5503
  ], JobFreelancerRecommendation.prototype, "clientUuid", 2);
5357
5504
  __decorateClass([
5358
- (0, import_typeorm51.ViewColumn)({ name: "client_first_name" })
5505
+ (0, import_typeorm52.ViewColumn)({ name: "client_first_name" })
5359
5506
  ], JobFreelancerRecommendation.prototype, "clientFirstName", 2);
5360
5507
  __decorateClass([
5361
- (0, import_typeorm51.ViewColumn)({ name: "client_last_name" })
5508
+ (0, import_typeorm52.ViewColumn)({ name: "client_last_name" })
5362
5509
  ], JobFreelancerRecommendation.prototype, "clientLastName", 2);
5363
5510
  __decorateClass([
5364
- (0, import_typeorm51.ViewColumn)({ name: "client_email" })
5511
+ (0, import_typeorm52.ViewColumn)({ name: "client_email" })
5365
5512
  ], JobFreelancerRecommendation.prototype, "clientEmail", 2);
5366
5513
  __decorateClass([
5367
- (0, import_typeorm51.ViewColumn)({ name: "client_company_logo" })
5514
+ (0, import_typeorm52.ViewColumn)({ name: "client_company_logo" })
5368
5515
  ], JobFreelancerRecommendation.prototype, "clientCompanyLogo", 2);
5369
5516
  __decorateClass([
5370
- (0, import_typeorm51.ViewColumn)({ name: "client_company_name" })
5517
+ (0, import_typeorm52.ViewColumn)({ name: "client_company_name" })
5371
5518
  ], JobFreelancerRecommendation.prototype, "clientCompanyName", 2);
5372
5519
  __decorateClass([
5373
- (0, import_typeorm51.ViewColumn)({ name: "matching_skills" })
5520
+ (0, import_typeorm52.ViewColumn)({ name: "matching_skills" })
5374
5521
  ], JobFreelancerRecommendation.prototype, "matchingSkills", 2);
5375
5522
  __decorateClass([
5376
- (0, import_typeorm51.ViewColumn)({ name: "matching_skills_count" })
5523
+ (0, import_typeorm52.ViewColumn)({ name: "matching_skills_count" })
5377
5524
  ], JobFreelancerRecommendation.prototype, "matchingSkillsCount", 2);
5378
5525
  __decorateClass([
5379
- (0, import_typeorm51.ViewColumn)({ name: "required_skills" })
5526
+ (0, import_typeorm52.ViewColumn)({ name: "required_skills" })
5380
5527
  ], JobFreelancerRecommendation.prototype, "requiredSkills", 2);
5381
5528
  __decorateClass([
5382
- (0, import_typeorm51.ViewColumn)({ name: "required_skills_count" })
5529
+ (0, import_typeorm52.ViewColumn)({ name: "required_skills_count" })
5383
5530
  ], JobFreelancerRecommendation.prototype, "requiredSkillsCount", 2);
5384
5531
  JobFreelancerRecommendation = __decorateClass([
5385
- (0, import_typeorm51.ViewEntity)({
5532
+ (0, import_typeorm52.ViewEntity)({
5386
5533
  name: "job_freelancer_recommendations",
5387
5534
  materialized: true,
5388
5535
  synchronize: false
@@ -5390,75 +5537,109 @@ JobFreelancerRecommendation = __decorateClass([
5390
5537
  })
5391
5538
  ], JobFreelancerRecommendation);
5392
5539
 
5540
+ // src/entities/job-freelancer-recommendation-v2.entity.ts
5541
+ var import_typeorm53 = require("typeorm");
5542
+ var JobFreelancerRecommendationV2 = class {
5543
+ };
5544
+ __decorateClass([
5545
+ (0, import_typeorm53.ViewColumn)({ name: "job_id" })
5546
+ ], JobFreelancerRecommendationV2.prototype, "jobId", 2);
5547
+ __decorateClass([
5548
+ (0, import_typeorm53.ViewColumn)({ name: "job_owner_id" })
5549
+ ], JobFreelancerRecommendationV2.prototype, "jobOwnerId", 2);
5550
+ __decorateClass([
5551
+ (0, import_typeorm53.ViewColumn)({ name: "freelancer_id" })
5552
+ ], JobFreelancerRecommendationV2.prototype, "freelancerId", 2);
5553
+ __decorateClass([
5554
+ (0, import_typeorm53.ViewColumn)({ name: "matching_skills" })
5555
+ ], JobFreelancerRecommendationV2.prototype, "matchingSkills", 2);
5556
+ __decorateClass([
5557
+ (0, import_typeorm53.ViewColumn)({ name: "matching_skills_count" })
5558
+ ], JobFreelancerRecommendationV2.prototype, "matchingSkillsCount", 2);
5559
+ __decorateClass([
5560
+ (0, import_typeorm53.ViewColumn)({ name: "required_skills" })
5561
+ ], JobFreelancerRecommendationV2.prototype, "requiredSkills", 2);
5562
+ __decorateClass([
5563
+ (0, import_typeorm53.ViewColumn)({ name: "required_skills_count" })
5564
+ ], JobFreelancerRecommendationV2.prototype, "requiredSkillsCount", 2);
5565
+ JobFreelancerRecommendationV2 = __decorateClass([
5566
+ (0, import_typeorm53.ViewEntity)({
5567
+ name: "job_freelancer_recommendations_v2",
5568
+ materialized: true,
5569
+ synchronize: false
5570
+ // ✅ important: prevent auto-sync during migrations
5571
+ })
5572
+ ], JobFreelancerRecommendationV2);
5573
+
5393
5574
  // src/entities/client-freelancer-recommendation.entity.ts
5394
- var import_typeorm52 = require("typeorm");
5575
+ var import_typeorm54 = require("typeorm");
5395
5576
  var ClientFreelancerRecommendation = class {
5396
5577
  };
5397
5578
  __decorateClass([
5398
- (0, import_typeorm52.ViewColumn)({ name: "client_id" })
5579
+ (0, import_typeorm54.ViewColumn)({ name: "client_id" })
5399
5580
  ], ClientFreelancerRecommendation.prototype, "clientId", 2);
5400
5581
  __decorateClass([
5401
- (0, import_typeorm52.ViewColumn)({ name: "client_uuid" })
5582
+ (0, import_typeorm54.ViewColumn)({ name: "client_uuid" })
5402
5583
  ], ClientFreelancerRecommendation.prototype, "clientUuid", 2);
5403
5584
  __decorateClass([
5404
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_id" })
5585
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_id" })
5405
5586
  ], ClientFreelancerRecommendation.prototype, "freelancerId", 2);
5406
5587
  __decorateClass([
5407
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_uuid" })
5588
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_uuid" })
5408
5589
  ], ClientFreelancerRecommendation.prototype, "freelancerUuid", 2);
5409
5590
  __decorateClass([
5410
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_unique_id" })
5591
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_unique_id" })
5411
5592
  ], ClientFreelancerRecommendation.prototype, "freelancerUniqueId", 2);
5412
5593
  __decorateClass([
5413
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_first_name" })
5594
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_first_name" })
5414
5595
  ], ClientFreelancerRecommendation.prototype, "freelancerFirstName", 2);
5415
5596
  __decorateClass([
5416
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_last_name" })
5597
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_last_name" })
5417
5598
  ], ClientFreelancerRecommendation.prototype, "freelancerLastName", 2);
5418
5599
  __decorateClass([
5419
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_email" })
5600
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_email" })
5420
5601
  ], ClientFreelancerRecommendation.prototype, "freelancerEmail", 2);
5421
5602
  __decorateClass([
5422
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_profile_picture" })
5603
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_profile_picture" })
5423
5604
  ], ClientFreelancerRecommendation.prototype, "freelancerProfilePicture", 2);
5424
5605
  __decorateClass([
5425
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_is_social" })
5606
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_is_social" })
5426
5607
  ], ClientFreelancerRecommendation.prototype, "freelancerIsSocial", 2);
5427
5608
  __decorateClass([
5428
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_created_at" })
5609
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_created_at" })
5429
5610
  ], ClientFreelancerRecommendation.prototype, "freelancerCreatedAt", 2);
5430
5611
  __decorateClass([
5431
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_designation" })
5612
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_designation" })
5432
5613
  ], ClientFreelancerRecommendation.prototype, "freelancerDesignation", 2);
5433
5614
  __decorateClass([
5434
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_experience" })
5615
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_experience" })
5435
5616
  ], ClientFreelancerRecommendation.prototype, "freelancerExperience", 2);
5436
5617
  __decorateClass([
5437
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_expertshub_verified" })
5618
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_expertshub_verified" })
5438
5619
  ], ClientFreelancerRecommendation.prototype, "freelancerExpertshubVerified", 2);
5439
5620
  __decorateClass([
5440
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_hourly_compensation" })
5621
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_hourly_compensation" })
5441
5622
  ], ClientFreelancerRecommendation.prototype, "freelancerHourlyCompensation", 2);
5442
5623
  __decorateClass([
5443
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_country_name" })
5624
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_country_name" })
5444
5625
  ], ClientFreelancerRecommendation.prototype, "freelancerCountryName", 2);
5445
5626
  __decorateClass([
5446
- (0, import_typeorm52.ViewColumn)({ name: "freelancer_country_iso_code" })
5627
+ (0, import_typeorm54.ViewColumn)({ name: "freelancer_country_iso_code" })
5447
5628
  ], ClientFreelancerRecommendation.prototype, "freelancerCountryIsoCode", 2);
5448
5629
  __decorateClass([
5449
- (0, import_typeorm52.ViewColumn)({ name: "matching_skills" })
5630
+ (0, import_typeorm54.ViewColumn)({ name: "matching_skills" })
5450
5631
  ], ClientFreelancerRecommendation.prototype, "matchingSkills", 2);
5451
5632
  __decorateClass([
5452
- (0, import_typeorm52.ViewColumn)({ name: "matching_skills_count" })
5633
+ (0, import_typeorm54.ViewColumn)({ name: "matching_skills_count" })
5453
5634
  ], ClientFreelancerRecommendation.prototype, "matchingSkillsCount", 2);
5454
5635
  __decorateClass([
5455
- (0, import_typeorm52.ViewColumn)({ name: "required_skills" })
5636
+ (0, import_typeorm54.ViewColumn)({ name: "required_skills" })
5456
5637
  ], ClientFreelancerRecommendation.prototype, "requiredSkills", 2);
5457
5638
  __decorateClass([
5458
- (0, import_typeorm52.ViewColumn)({ name: "required_skills_count" })
5639
+ (0, import_typeorm54.ViewColumn)({ name: "required_skills_count" })
5459
5640
  ], ClientFreelancerRecommendation.prototype, "requiredSkillsCount", 2);
5460
5641
  ClientFreelancerRecommendation = __decorateClass([
5461
- (0, import_typeorm52.ViewEntity)({
5642
+ (0, import_typeorm54.ViewEntity)({
5462
5643
  name: "client_freelancer_recommendations",
5463
5644
  materialized: true,
5464
5645
  synchronize: false
@@ -5467,7 +5648,7 @@ ClientFreelancerRecommendation = __decorateClass([
5467
5648
  ], ClientFreelancerRecommendation);
5468
5649
 
5469
5650
  // src/entities/commission.entity.ts
5470
- var import_typeorm53 = require("typeorm");
5651
+ var import_typeorm55 = require("typeorm");
5471
5652
  var CommissionTypeEnum = /* @__PURE__ */ ((CommissionTypeEnum2) => {
5472
5653
  CommissionTypeEnum2["PERCENTAGE"] = "PERCENTAGE";
5473
5654
  CommissionTypeEnum2["FLAT"] = "FLAT";
@@ -5476,7 +5657,7 @@ var CommissionTypeEnum = /* @__PURE__ */ ((CommissionTypeEnum2) => {
5476
5657
  var Commission = class extends BaseEntity {
5477
5658
  };
5478
5659
  __decorateClass([
5479
- (0, import_typeorm53.Column)({
5660
+ (0, import_typeorm55.Column)({
5480
5661
  name: "freelancer_commission_type",
5481
5662
  type: "enum",
5482
5663
  enum: CommissionTypeEnum,
@@ -5484,10 +5665,10 @@ __decorateClass([
5484
5665
  })
5485
5666
  ], Commission.prototype, "freelancerCommissionType", 2);
5486
5667
  __decorateClass([
5487
- (0, import_typeorm53.Column)({ name: "freelancer_commission", type: "integer", default: 0 })
5668
+ (0, import_typeorm55.Column)({ name: "freelancer_commission", type: "integer", default: 0 })
5488
5669
  ], Commission.prototype, "freelancerCommission", 2);
5489
5670
  __decorateClass([
5490
- (0, import_typeorm53.Column)({
5671
+ (0, import_typeorm55.Column)({
5491
5672
  name: "client_commission_type",
5492
5673
  type: "enum",
5493
5674
  enum: CommissionTypeEnum,
@@ -5495,10 +5676,10 @@ __decorateClass([
5495
5676
  })
5496
5677
  ], Commission.prototype, "clientCommissionType", 2);
5497
5678
  __decorateClass([
5498
- (0, import_typeorm53.Column)({ name: "client_commission", type: "integer", default: 0 })
5679
+ (0, import_typeorm55.Column)({ name: "client_commission", type: "integer", default: 0 })
5499
5680
  ], Commission.prototype, "clientCommission", 2);
5500
5681
  Commission = __decorateClass([
5501
- (0, import_typeorm53.Entity)("commissions")
5682
+ (0, import_typeorm55.Entity)("commissions")
5502
5683
  ], Commission);
5503
5684
  // Annotate the CommonJS export names for ESM import in node:
5504
5685
  0 && (module.exports = {
@@ -5506,6 +5687,10 @@ Commission = __decorateClass([
5506
5687
  ADMIN_JOB_PATTERN,
5507
5688
  ADMIN_PERMISSION_PATTERN,
5508
5689
  ADMIN_ROLE_PATTERN,
5690
+ AIInterview,
5691
+ AIInterviewResultEnum,
5692
+ AIInterviewStatusEnum,
5693
+ AIInterviewTypeEnum,
5509
5694
  ASSESSMENT_QUESTION_PATTERN,
5510
5695
  AUTHENTICATION_PATTERN,
5511
5696
  AccountStatus,
@@ -5623,6 +5808,7 @@ Commission = __decorateClass([
5623
5808
  JobBasicInformationDto,
5624
5809
  JobDescriptionDto,
5625
5810
  JobFreelancerRecommendation,
5811
+ JobFreelancerRecommendationV2,
5626
5812
  JobIdParamDto,
5627
5813
  JobLocation,
5628
5814
  JobLocationEnum,