lancer-shared 1.2.34 → 1.2.35
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/bundle.cjs.js +51 -19
- package/dist/constants/account-status.d.ts +3 -0
- package/dist/constants/account-status.js +17 -0
- package/dist/constants/collections.d.ts +13 -0
- package/dist/constants/collections.js +16 -0
- package/dist/constants/common-questions.js +60 -0
- package/dist/constants/index.js +40 -0
- package/dist/constants/job-filter-options.js +268 -0
- package/dist/constants/job-status.js +26 -0
- package/dist/constants/mappings/countryMapping.js +122 -0
- package/dist/constants/mappings/regionMapping.js +242 -0
- package/dist/constants/organization.d.ts +2 -0
- package/dist/constants/routes.js +108 -0
- package/dist/constants/upwork-accounts.js +21 -0
- package/dist/index.js +20 -0
- package/dist/schemas/account/account-status.js +11 -0
- package/dist/schemas/account/bidder-account.js +37 -0
- package/dist/schemas/account/index.js +19 -0
- package/dist/schemas/account/manager-account.d.ts +116 -0
- package/dist/schemas/account/manager-account.js +38 -0
- package/dist/schemas/account/scraper-account.js +37 -0
- package/dist/schemas/agent/index.d.ts +20 -10
- package/dist/schemas/ai/ai-config.d.ts +36 -0
- package/dist/schemas/ai/ai-config.js +12 -0
- package/dist/schemas/ai/index.d.ts +3 -0
- package/dist/schemas/ai/index.js +19 -0
- package/dist/schemas/ai/proposal.d.ts +82 -0
- package/dist/schemas/ai/proposal.js +16 -0
- package/dist/schemas/ai/suitability.d.ts +37 -0
- package/dist/schemas/ai/suitability.js +17 -0
- package/dist/schemas/bid/bid-result.js +15 -0
- package/dist/schemas/bid/bid.js +36 -0
- package/dist/schemas/bid/index.js +18 -0
- package/dist/schemas/bidding/index.d.ts +1 -0
- package/dist/schemas/bidding/index.js +17 -0
- package/dist/schemas/bidding/proposal-bidding-status.d.ts +26 -0
- package/dist/schemas/bidding/proposal-bidding-status.js +18 -0
- package/dist/schemas/campaign/campaign-ai-metrics.js +9 -0
- package/dist/schemas/campaign/campaign-analytics.d.ts +3975 -206
- package/dist/schemas/campaign/campaign-analytics.js +41 -0
- package/dist/schemas/campaign/campaign-expenses.js +9 -0
- package/dist/schemas/campaign/campaign-insights.js +31 -0
- package/dist/schemas/campaign/campaign-integrations.d.ts +87 -0
- package/dist/schemas/campaign/campaign-integrations.js +16 -0
- package/dist/schemas/campaign/campaign-job-count.d.ts +2 -0
- package/dist/schemas/campaign/campaign-job-count.js +6 -0
- package/dist/schemas/campaign/campaign.d.ts +9 -9
- package/dist/schemas/campaign/campaign.js +44 -0
- package/dist/schemas/campaign/index.js +23 -0
- package/dist/schemas/chat-message/chat-message.d.ts +31 -0
- package/dist/schemas/chat-message/chat-message.js +13 -0
- package/dist/schemas/chat-message/index.d.ts +1 -0
- package/dist/schemas/chat-message/index.js +17 -0
- package/dist/schemas/config/agency-config.d.ts +17 -0
- package/dist/schemas/config/agency-config.js +10 -0
- package/dist/schemas/config/index.d.ts +1 -0
- package/dist/schemas/config/index.js +17 -0
- package/dist/schemas/dashboard/index.d.ts +0 -20
- package/dist/schemas/index.d.ts +0 -1
- package/dist/schemas/index.js +32 -0
- package/dist/schemas/job/index.js +19 -0
- package/dist/schemas/job/job-details.d.ts +335 -0
- package/dist/schemas/job/job-details.js +29 -0
- package/dist/schemas/job/job-note.d.ts +83 -0
- package/dist/schemas/job/job-note.js +30 -0
- package/dist/schemas/job/job-status.d.ts +3 -0
- package/dist/schemas/job/job-status.js +27 -0
- package/dist/schemas/job/job.d.ts +1160 -0
- package/dist/schemas/job/job.js +90 -0
- package/dist/schemas/job/pipeline-job.d.ts +602 -0
- package/dist/schemas/job/pipeline-job.js +42 -0
- package/dist/schemas/job/upwork-job.d.ts +334 -0
- package/dist/schemas/job/upwork-job.js +60 -0
- package/dist/schemas/job-filters/index.d.ts +1 -0
- package/dist/schemas/job-filters/index.js +17 -0
- package/dist/schemas/job-filters/job-filters.d.ts +241 -0
- package/dist/schemas/job-filters/job-filters.js +87 -0
- package/dist/schemas/lead/index.d.ts +856 -14
- package/dist/schemas/lead/index.js +19 -0
- package/dist/schemas/lead/lead-note.d.ts +83 -0
- package/dist/schemas/lead/lead-note.js +30 -0
- package/dist/schemas/lead/lead-status.d.ts +10 -7
- package/dist/schemas/lead/lead-status.js +26 -0
- package/dist/schemas/lead/lead.d.ts +1897 -0
- package/dist/schemas/lead/lead.js +143 -0
- package/dist/schemas/lead/nuxt.d.ts +1664 -0
- package/dist/schemas/logger/index.js +17 -0
- package/dist/schemas/logger/log-event.d.ts +5 -5
- package/dist/schemas/logger/log-event.js +66 -0
- package/dist/schemas/organization/index.js +17 -0
- package/dist/schemas/organization/organization.d.ts +70 -0
- package/dist/schemas/organization/organization.js +19 -0
- package/dist/schemas/proxy/index.js +17 -0
- package/dist/schemas/proxy/proxy.js +21 -0
- package/dist/schemas/saved-search/index.js +12 -0
- package/dist/schemas/scraper/index.js +18 -0
- package/dist/schemas/scraper/scrape-payload.d.ts +15 -10
- package/dist/schemas/scraper/scrape-payload.js +16 -0
- package/dist/schemas/scraper/scrape-result.js +23 -0
- package/dist/schemas/shared.d.ts +20 -0
- package/dist/schemas/shared.js +16 -0
- package/dist/schemas/time-filter/index.js +9 -0
- package/dist/schemas/upwork-account/index.d.ts +3 -0
- package/dist/schemas/upwork-account/index.js +19 -0
- package/dist/schemas/upwork-account/upwork-account-status.d.ts +2 -0
- package/dist/schemas/upwork-account/upwork-account-status.js +11 -0
- package/dist/schemas/upwork-account/upwork-business-manager-account.d.ts +95 -0
- package/dist/schemas/upwork-account/upwork-business-manager-account.js +35 -0
- package/dist/schemas/upwork-account/upwork-scraping-account.d.ts +90 -0
- package/dist/schemas/upwork-account/upwork-scraping-account.js +29 -0
- package/dist/schemas/user/index.js +55 -0
- package/dist/types/account/account-status.d.ts +3 -0
- package/dist/types/account/account-status.js +2 -0
- package/dist/types/account/bidder-account.d.ts +7 -0
- package/dist/types/account/bidder-account.js +2 -0
- package/dist/types/account/index.d.ts +3 -0
- package/dist/types/account/index.js +19 -0
- package/dist/types/account/manager-account.d.ts +7 -0
- package/dist/types/account/manager-account.js +2 -0
- package/dist/types/account/scraper-account.d.ts +5 -0
- package/dist/types/account/scraper-account.js +2 -0
- package/dist/types/ai/ai-config.d.ts +6 -0
- package/dist/types/ai/ai-config.js +2 -0
- package/dist/types/ai/index.d.ts +3 -0
- package/dist/types/ai/index.js +19 -0
- package/dist/types/ai/proposal.d.ts +10 -0
- package/dist/types/ai/proposal.js +2 -0
- package/dist/types/ai/suitability.d.ts +6 -0
- package/dist/types/ai/suitability.js +2 -0
- package/dist/types/bid/bid-result.d.ts +5 -0
- package/dist/types/bid/bid-result.js +2 -0
- package/dist/types/bid/bid.d.ts +9 -0
- package/dist/types/bid/bid.js +2 -0
- package/dist/types/bid/index.d.ts +2 -0
- package/dist/types/bid/index.js +18 -0
- package/dist/types/bidding/index.d.ts +1 -0
- package/dist/types/bidding/index.js +17 -0
- package/dist/types/bidding/proposal-bidding-status.d.ts +3 -0
- package/dist/types/bidding/proposal-bidding-status.js +2 -0
- package/dist/types/campaign/campaign-analytics.d.ts +7 -0
- package/dist/types/campaign/campaign-analytics.js +2 -0
- package/dist/types/campaign/campaign-expenses.d.ts +3 -0
- package/dist/types/campaign/campaign-expenses.js +2 -0
- package/dist/types/campaign/campaign-insights.js +2 -0
- package/dist/types/campaign/campaign-integrations.d.ts +6 -0
- package/dist/types/campaign/campaign-integrations.js +2 -0
- package/dist/types/campaign/campaign-job-count.d.ts +4 -0
- package/dist/types/campaign/campaign-job-count.js +2 -0
- package/dist/types/campaign/campaign.js +2 -0
- package/dist/types/campaign/index.js +22 -0
- package/dist/types/chat-message/chat-message.d.ts +4 -0
- package/dist/types/chat-message/chat-message.js +2 -0
- package/dist/types/chat-message/index.d.ts +1 -0
- package/dist/types/chat-message/index.js +17 -0
- package/dist/types/config/agency-config.d.ts +4 -0
- package/dist/types/config/agency-config.js +2 -0
- package/dist/types/config/index.d.ts +1 -0
- package/dist/types/config/index.js +17 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.js +29 -0
- package/dist/types/job/index.d.ts +48 -0
- package/dist/types/job/index.js +19 -0
- package/dist/types/job/job-details.d.ts +36 -0
- package/dist/types/job/job-details.js +2 -0
- package/dist/types/job/job-note.d.ts +10 -0
- package/dist/types/job/job-note.js +2 -0
- package/dist/types/job/job-status.d.ts +5 -0
- package/dist/types/job/job-status.js +12 -0
- package/dist/types/job/job.d.ts +36 -0
- package/dist/types/job/job.js +2 -0
- package/dist/types/job/nuxt.d.ts +4 -0
- package/dist/types/job-filters/index.d.ts +1 -0
- package/dist/types/job-filters/index.js +17 -0
- package/dist/types/job-filters/job-filters.d.ts +4 -0
- package/dist/types/job-filters/job-filters.js +2 -0
- package/dist/types/logger/index.d.ts +1 -0
- package/dist/types/logger/index.js +17 -0
- package/dist/types/logger/log-event.js +2 -0
- package/dist/types/saved-search/index.d.ts +6 -0
- package/dist/types/saved-search/index.js +2 -0
- package/dist/types/scraper/index.d.ts +2 -0
- package/dist/types/scraper/index.js +18 -0
- package/dist/types/scraper/scrape-payload.d.ts +10 -0
- package/dist/types/scraper/scrape-payload.js +2 -0
- package/dist/types/scraper/scrape-result.d.ts +8 -0
- package/dist/types/scraper/scrape-result.js +2 -0
- package/dist/types/shared.d.ts +8 -0
- package/dist/types/time-filter/index.d.ts +3 -0
- package/dist/types/time-filter/index.js +2 -0
- package/dist/types/transaction/index.d.ts +4 -0
- package/dist/types/upwork-account/index.d.ts +3 -0
- package/dist/types/upwork-account/index.js +19 -0
- package/dist/types/upwork-account/upwork-account-status.d.ts +3 -0
- package/dist/types/upwork-account/upwork-account-status.js +2 -0
- package/dist/types/upwork-account/upwork-business-manager-account.d.ts +7 -0
- package/dist/types/upwork-account/upwork-business-manager-account.js +2 -0
- package/dist/types/upwork-account/upwork-scraping-account.d.ts +5 -0
- package/dist/types/upwork-account/upwork-scraping-account.js +2 -0
- package/dist/types/usage/index.d.ts +6 -0
- package/dist/types/user/index.d.ts +15 -0
- package/dist/types/user/index.js +2 -0
- package/dist/utils/index.js +17 -0
- package/dist/utils/try-catch.js +25 -0
- package/package.json +1 -1
package/dist/bundle.cjs.js
CHANGED
|
@@ -336,15 +336,14 @@ const jobStatusOrder = [
|
|
|
336
336
|
"contacted",
|
|
337
337
|
"viewed",
|
|
338
338
|
"replied",
|
|
339
|
-
"interview",
|
|
340
339
|
"won",
|
|
341
340
|
"lost",
|
|
342
341
|
];
|
|
343
342
|
const getPreviousStatus = (status) => {
|
|
344
343
|
if (status === "won")
|
|
345
|
-
return "
|
|
344
|
+
return "replied";
|
|
346
345
|
if (status === "lost")
|
|
347
|
-
return "
|
|
346
|
+
return "replied";
|
|
348
347
|
const index = jobStatusOrder.indexOf(status);
|
|
349
348
|
return index > 0 ? jobStatusOrder[index - 1] : null;
|
|
350
349
|
};
|
|
@@ -11448,9 +11447,6 @@ const noGoogleOAuthTokensFoundException = (message) => new NoGoogleOAuthTokensFo
|
|
|
11448
11447
|
const booleanSchema = z
|
|
11449
11448
|
.union([z.boolean(), z.literal("true"), z.literal("false")])
|
|
11450
11449
|
.transform((value) => value === true || value === "true");
|
|
11451
|
-
const dateSchema = (params = {}) => coerce.date({
|
|
11452
|
-
...params,
|
|
11453
|
-
});
|
|
11454
11450
|
const passwordSchema = stringType()
|
|
11455
11451
|
.min(8, "Password must be at least 8 characters long.")
|
|
11456
11452
|
.max(255, "Password must be at most 255 characters long.")
|
|
@@ -11463,6 +11459,14 @@ const regionSchema = z.union([
|
|
|
11463
11459
|
z.literal("UKOnly"),
|
|
11464
11460
|
z.literal("Worldwide"),
|
|
11465
11461
|
]);
|
|
11462
|
+
z.object({
|
|
11463
|
+
id: z.string(),
|
|
11464
|
+
name: z.string(),
|
|
11465
|
+
});
|
|
11466
|
+
z.object({
|
|
11467
|
+
id: z.string(),
|
|
11468
|
+
name: z.string(),
|
|
11469
|
+
});
|
|
11466
11470
|
|
|
11467
11471
|
const segmentationDataSchema = objectType({
|
|
11468
11472
|
customValue: stringType().nullable(),
|
|
@@ -12026,7 +12030,6 @@ const leadStatusSchema = z.enum([
|
|
|
12026
12030
|
"contacted",
|
|
12027
12031
|
"viewed",
|
|
12028
12032
|
"replied",
|
|
12029
|
-
"interview",
|
|
12030
12033
|
"won",
|
|
12031
12034
|
"lost",
|
|
12032
12035
|
]);
|
|
@@ -12036,7 +12039,8 @@ const updateLeadStatusSchema = z.object({
|
|
|
12036
12039
|
campaignId: z.string(),
|
|
12037
12040
|
status: leadStatusSchema,
|
|
12038
12041
|
proposalId: z.string().optional(),
|
|
12039
|
-
userId: z.string(),
|
|
12042
|
+
userId: z.string().optional(),
|
|
12043
|
+
wonAmount: z.number().optional(),
|
|
12040
12044
|
});
|
|
12041
12045
|
|
|
12042
12046
|
const questionAnswerPairSchema = z.object({
|
|
@@ -12059,6 +12063,7 @@ const leadSchema = upworkJobSchema
|
|
|
12059
12063
|
boostingAmount: numberType().nullable(),
|
|
12060
12064
|
biddingTaskScheduled: booleanType().nullable(),
|
|
12061
12065
|
scheduledBiddingTime: numberType().nullable(),
|
|
12066
|
+
wonAmount: numberType().optional(),
|
|
12062
12067
|
})
|
|
12063
12068
|
.omit({
|
|
12064
12069
|
processed: true,
|
|
@@ -12080,7 +12085,7 @@ const findLeadsRequestSchema = z.object({
|
|
|
12080
12085
|
// Lead Search Response Schema
|
|
12081
12086
|
const findLeadsResponseSchema = z.object({
|
|
12082
12087
|
total: z.number(),
|
|
12083
|
-
|
|
12088
|
+
data: z.array(upworkJobSchema.or(leadSchema)),
|
|
12084
12089
|
lastMonthTotal: z.number().optional(),
|
|
12085
12090
|
error: z.string().optional(),
|
|
12086
12091
|
});
|
|
@@ -12820,11 +12825,13 @@ const campaignAnalyticsSchema = z.object({
|
|
|
12820
12825
|
contacted: z.number().optional(),
|
|
12821
12826
|
viewed: z.number().optional(),
|
|
12822
12827
|
replied: z.number().optional(),
|
|
12823
|
-
interview: z.number().optional(),
|
|
12824
12828
|
won: z.number().optional(),
|
|
12825
12829
|
proposalsGenerated: z.number().optional(),
|
|
12826
12830
|
leadsAnalyzed: z.number().optional(),
|
|
12827
12831
|
leadsFailed: z.number().optional(),
|
|
12832
|
+
suitableJobs: z.number().optional(),
|
|
12833
|
+
unsuitableJobs: z.number().optional(),
|
|
12834
|
+
wonAmount: z.number().optional(),
|
|
12828
12835
|
});
|
|
12829
12836
|
const campaignAnalyticsStatsSchema = z.object({
|
|
12830
12837
|
totalStats: campaignAnalyticsSchema,
|
|
@@ -12833,7 +12840,6 @@ const campaignAnalyticsStatsSchema = z.object({
|
|
|
12833
12840
|
contacted: z.number(),
|
|
12834
12841
|
viewed: z.number(),
|
|
12835
12842
|
replied: z.number(),
|
|
12836
|
-
interview: z.number(),
|
|
12837
12843
|
won: z.number(),
|
|
12838
12844
|
leadsAnalyzed: z.number(),
|
|
12839
12845
|
})),
|
|
@@ -12843,7 +12849,6 @@ const campaignAnalyticsResponseSchema = z.object({
|
|
|
12843
12849
|
contacted: z.number(),
|
|
12844
12850
|
viewed: z.number(),
|
|
12845
12851
|
replied: z.number(),
|
|
12846
|
-
interview: z.number(),
|
|
12847
12852
|
won: z.number(),
|
|
12848
12853
|
});
|
|
12849
12854
|
const campaignActivityTypeSchema = z.enum([
|
|
@@ -12855,7 +12860,15 @@ const campaignActivityTypeSchema = z.enum([
|
|
|
12855
12860
|
const campaignStatusActivitySchema = z.object({
|
|
12856
12861
|
type: z.literal("campaign_status"),
|
|
12857
12862
|
createdAt: z.number(),
|
|
12858
|
-
status: z.enum(["started", "paused"]),
|
|
12863
|
+
status: z.enum(["started", "paused", "created", "error"]),
|
|
12864
|
+
organization: organizationSchema.pick({
|
|
12865
|
+
id: true,
|
|
12866
|
+
name: true,
|
|
12867
|
+
}),
|
|
12868
|
+
campaign: campaignSchema.pick({
|
|
12869
|
+
id: true,
|
|
12870
|
+
name: true,
|
|
12871
|
+
}),
|
|
12859
12872
|
});
|
|
12860
12873
|
const leadAnalysisActivitySchema = z.object({
|
|
12861
12874
|
type: z.literal("lead_analysis"),
|
|
@@ -12867,6 +12880,14 @@ const leadAnalysisActivitySchema = z.object({
|
|
|
12867
12880
|
jobUrl: true,
|
|
12868
12881
|
}),
|
|
12869
12882
|
suitabilityRating: z.number().min(0).max(100),
|
|
12883
|
+
organization: organizationSchema.pick({
|
|
12884
|
+
id: true,
|
|
12885
|
+
name: true,
|
|
12886
|
+
}),
|
|
12887
|
+
campaign: campaignSchema.pick({
|
|
12888
|
+
id: true,
|
|
12889
|
+
name: true,
|
|
12890
|
+
}),
|
|
12870
12891
|
});
|
|
12871
12892
|
const leadStatusActivitySchema = z.object({
|
|
12872
12893
|
type: z.literal("lead_status"),
|
|
@@ -12878,6 +12899,14 @@ const leadStatusActivitySchema = z.object({
|
|
|
12878
12899
|
datetime: true,
|
|
12879
12900
|
jobUrl: true,
|
|
12880
12901
|
}),
|
|
12902
|
+
organization: organizationSchema.pick({
|
|
12903
|
+
id: true,
|
|
12904
|
+
name: true,
|
|
12905
|
+
}),
|
|
12906
|
+
campaign: campaignSchema.pick({
|
|
12907
|
+
id: true,
|
|
12908
|
+
name: true,
|
|
12909
|
+
}),
|
|
12881
12910
|
});
|
|
12882
12911
|
const proposalSentActivitySchema = z.object({
|
|
12883
12912
|
type: z.literal("proposal_sent"),
|
|
@@ -12888,6 +12917,14 @@ const proposalSentActivitySchema = z.object({
|
|
|
12888
12917
|
datetime: true,
|
|
12889
12918
|
jobUrl: true,
|
|
12890
12919
|
}),
|
|
12920
|
+
organization: organizationSchema.pick({
|
|
12921
|
+
id: true,
|
|
12922
|
+
name: true,
|
|
12923
|
+
}),
|
|
12924
|
+
campaign: campaignSchema.pick({
|
|
12925
|
+
id: true,
|
|
12926
|
+
name: true,
|
|
12927
|
+
}),
|
|
12891
12928
|
});
|
|
12892
12929
|
const campaignActivitySchema = z.discriminatedUnion("type", [
|
|
12893
12930
|
campaignStatusActivitySchema,
|
|
@@ -12898,7 +12935,7 @@ const campaignActivitySchema = z.discriminatedUnion("type", [
|
|
|
12898
12935
|
const campaignActivityCreateSchema = z.discriminatedUnion("type", [
|
|
12899
12936
|
z.object({
|
|
12900
12937
|
type: z.literal("campaign_status"),
|
|
12901
|
-
status: z.enum(["started", "paused"]),
|
|
12938
|
+
status: z.enum(["started", "paused", "created", "error"]),
|
|
12902
12939
|
}),
|
|
12903
12940
|
z.object({
|
|
12904
12941
|
type: z.literal("lead_analysis"),
|
|
@@ -13179,7 +13216,6 @@ const campaignStatsSchema = z.object({
|
|
|
13179
13216
|
contacted: z.number(),
|
|
13180
13217
|
viewed: z.number(),
|
|
13181
13218
|
replied: z.number(),
|
|
13182
|
-
interview: z.number(),
|
|
13183
13219
|
won: z.number(),
|
|
13184
13220
|
proposalsGenerated: z.number(),
|
|
13185
13221
|
leadsAnalyzed: z.number(),
|
|
@@ -13628,7 +13664,6 @@ exports.bidderAccountProviderDisplayMap = bidderAccountProviderDisplayMap;
|
|
|
13628
13664
|
exports.bidderAccountSchema = bidderAccountSchema;
|
|
13629
13665
|
exports.biddingCompletedEventMetadata = biddingCompletedEventMetadata;
|
|
13630
13666
|
exports.biddingFailedEventMetadata = biddingFailedEventMetadata;
|
|
13631
|
-
exports.booleanSchema = booleanSchema;
|
|
13632
13667
|
exports.buildRoute = buildRoute;
|
|
13633
13668
|
exports.campaignAIMetricsSchema = campaignAIMetricsSchema;
|
|
13634
13669
|
exports.campaignActivityCreateSchema = campaignActivityCreateSchema;
|
|
@@ -13663,7 +13698,6 @@ exports.createCoverLetterSchema = createCoverLetterSchema;
|
|
|
13663
13698
|
exports.createOrganizationSchema = createOrganizationSchema;
|
|
13664
13699
|
exports.createScraperAccountSchema = createScraperAccountSchema;
|
|
13665
13700
|
exports.dailyUsageSchema = dailyUsageSchema;
|
|
13666
|
-
exports.dateSchema = dateSchema;
|
|
13667
13701
|
exports.deleteMultiloginProfileException = deleteMultiloginProfileException;
|
|
13668
13702
|
exports.dropdownOptionNotPresentException = dropdownOptionNotPresentException;
|
|
13669
13703
|
exports.elementNotClickableException = elementNotClickableException;
|
|
@@ -13745,7 +13779,6 @@ exports.organizationSettingsSchema = organizationSettingsSchema;
|
|
|
13745
13779
|
exports.organizationTierEnum = organizationTierEnum;
|
|
13746
13780
|
exports.organizationTypeSchema = organizationTypeSchema;
|
|
13747
13781
|
exports.parseConnectsException = parseConnectsException;
|
|
13748
|
-
exports.passwordSchema = passwordSchema;
|
|
13749
13782
|
exports.paymentTypeEnum = paymentTypeEnum;
|
|
13750
13783
|
exports.periodUsageSchema = periodUsageSchema;
|
|
13751
13784
|
exports.planFeatureSchema = planFeatureSchema;
|
|
@@ -13769,7 +13802,6 @@ exports.questionPairNotMatchingException = questionPairNotMatchingException;
|
|
|
13769
13802
|
exports.questionRulesSchema = questionRulesSchema;
|
|
13770
13803
|
exports.regionEnum = regionEnum;
|
|
13771
13804
|
exports.regionMapping = regionMapping;
|
|
13772
|
-
exports.regionSchema = regionSchema;
|
|
13773
13805
|
exports.registerSchema = registerSchema;
|
|
13774
13806
|
exports.requiredEarningsEnum = requiredEarningsEnum;
|
|
13775
13807
|
exports.requiredJSSEnum = requiredJSSEnum;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.accountStatusDisplayMap = exports.accountStatusOrder = void 0;
|
|
4
|
+
exports.accountStatusOrder = [
|
|
5
|
+
'verification_required',
|
|
6
|
+
'shadow_banned',
|
|
7
|
+
'healthy',
|
|
8
|
+
'banned',
|
|
9
|
+
'suspended',
|
|
10
|
+
];
|
|
11
|
+
exports.accountStatusDisplayMap = {
|
|
12
|
+
verification_required: 'Verification Required',
|
|
13
|
+
shadow_banned: 'Shadow Banned',
|
|
14
|
+
healthy: 'Healthy',
|
|
15
|
+
banned: 'Banned',
|
|
16
|
+
suspended: 'Suspended',
|
|
17
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const COLLECTIONS: {
|
|
2
|
+
readonly USERS: "users";
|
|
3
|
+
readonly SETTINGS: "settings";
|
|
4
|
+
readonly CAMPAIGNS: "campaigns";
|
|
5
|
+
readonly LEADS: "leads";
|
|
6
|
+
readonly EVENTS: "events";
|
|
7
|
+
readonly SCRAPER_ACCOUNTS: "scrapers";
|
|
8
|
+
readonly BIDDER_ACCOUNTS: "bidders";
|
|
9
|
+
readonly CAMPAIGN_ACTIVITIES: (userId: string, campaignId: string) => string;
|
|
10
|
+
readonly ORGANIZATIONS: "organizations";
|
|
11
|
+
readonly PROXIES: "proxies";
|
|
12
|
+
readonly TRANSACTIONS: "transactions";
|
|
13
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.COLLECTIONS = void 0;
|
|
4
|
+
// Base collection names
|
|
5
|
+
exports.COLLECTIONS = {
|
|
6
|
+
USERS: 'users',
|
|
7
|
+
SETTINGS: 'settings',
|
|
8
|
+
CAMPAIGNS: 'campaigns',
|
|
9
|
+
LEADS: 'leads',
|
|
10
|
+
EVENTS: 'events',
|
|
11
|
+
SCRAPER_ACCOUNTS: 'scrapers',
|
|
12
|
+
BIDDER_ACCOUNTS: 'bidders',
|
|
13
|
+
CAMPAIGN_ACTIVITIES: (userId, campaignId) => `users/${userId}/campaigns/${campaignId}/activities`,
|
|
14
|
+
ORGANIZATIONS: 'organizations',
|
|
15
|
+
PROXIES: 'proxies',
|
|
16
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.commonQuestions = void 0;
|
|
4
|
+
exports.commonQuestions = [
|
|
5
|
+
{
|
|
6
|
+
id: 'similar_experience',
|
|
7
|
+
question: 'Describe your recent experience with similar projects',
|
|
8
|
+
placeholder: 'ex: [Answer the question based on case studies, if not certain ask to discuss in DMs]',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
id: 'profile_links',
|
|
12
|
+
question: 'Include a link to your GitHub profile and/or website',
|
|
13
|
+
placeholder: 'ex: [https://github.com/yourusername or https://yourwebsite.com]',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
id: 'frameworks',
|
|
17
|
+
question: 'What frameworks have you worked with?',
|
|
18
|
+
placeholder: 'ex: [NextJS, React, TailwindCSS, etc...]',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: 'testing_approach',
|
|
22
|
+
question: 'Describe your approach to testing and improving QA',
|
|
23
|
+
placeholder: 'ex: [We are using test-driven development, and we are using Jest for testing]',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: 'certifications',
|
|
27
|
+
question: 'Please list any certifications related to this project',
|
|
28
|
+
placeholder: 'ex: [Certification in React, Certification in NextJS, etc...]',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 'similar_project',
|
|
32
|
+
question: 'What past project or job have you had that is most like this one and why?',
|
|
33
|
+
placeholder: "ex: [Describe a similar project and explain the key similarities... If you can't answer based on the case studies, ask to discuss in DMs]",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: 'project_fit',
|
|
37
|
+
question: 'Why do you think you are a good fit for this particular project?',
|
|
38
|
+
placeholder: 'ex: [Explain how your skills and experience match the project requirements...]',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: 'job_questions',
|
|
42
|
+
question: 'Do you have any questions about the job description?',
|
|
43
|
+
placeholder: 'ex: [Ask for any clarifications needed about the role or requirements...]',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: 'project_questions',
|
|
47
|
+
question: 'What questions do you have about the project?',
|
|
48
|
+
placeholder: 'ex: [Ask about project scope, timeline, team structure...]',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: 'project_suggestions',
|
|
52
|
+
question: 'Do you have suggestions to make this project run successfully?',
|
|
53
|
+
placeholder: 'ex: [Ask to discuss in DMs]',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: 'company_info',
|
|
57
|
+
question: 'What is your company website URL? . . . Company size?',
|
|
58
|
+
placeholder: 'ex: [https://company.com | Number of employees: ...]',
|
|
59
|
+
},
|
|
60
|
+
];
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.regionMapping = exports.countryMapping = exports.paths = void 0;
|
|
21
|
+
exports.paths = {
|
|
22
|
+
auth: {
|
|
23
|
+
register: `auth/register`,
|
|
24
|
+
},
|
|
25
|
+
users: {
|
|
26
|
+
root: 'users',
|
|
27
|
+
details: (id) => `users/${id}`,
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
__exportStar(require("./job-filter-options"), exports);
|
|
31
|
+
var countryMapping_1 = require("./mappings/countryMapping");
|
|
32
|
+
Object.defineProperty(exports, "countryMapping", { enumerable: true, get: function () { return __importDefault(countryMapping_1).default; } });
|
|
33
|
+
var regionMapping_1 = require("./mappings/regionMapping");
|
|
34
|
+
Object.defineProperty(exports, "regionMapping", { enumerable: true, get: function () { return __importDefault(regionMapping_1).default; } });
|
|
35
|
+
__exportStar(require("./job-filter-options"), exports);
|
|
36
|
+
__exportStar(require("./common-questions"), exports);
|
|
37
|
+
__exportStar(require("./job-status"), exports);
|
|
38
|
+
__exportStar(require("./routes"), exports);
|
|
39
|
+
__exportStar(require("./collections"), exports);
|
|
40
|
+
__exportStar(require("./upwork-accounts"), exports);
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JOB_FILTER_OPTIONS = void 0;
|
|
4
|
+
exports.JOB_FILTER_OPTIONS = {
|
|
5
|
+
REGIONS: ["Worldwide", "UKOnly", "USOnly"],
|
|
6
|
+
PROJECT_DURATION: [
|
|
7
|
+
"Less than 1 month",
|
|
8
|
+
"1 to 3 months",
|
|
9
|
+
"3 to 6 months",
|
|
10
|
+
"More than 6 months",
|
|
11
|
+
"Unspecified",
|
|
12
|
+
],
|
|
13
|
+
ENGAGEMENT_TYPE: [
|
|
14
|
+
"Less than 30 hrs/week",
|
|
15
|
+
"More than 30 hrs/week",
|
|
16
|
+
"Unspecified",
|
|
17
|
+
],
|
|
18
|
+
VENDOR_TYPE: ["Independent", "Agency", "Unspecified"],
|
|
19
|
+
PAYMENT_TYPE: ["Fixed-price", "Hourly", "Unspecified"],
|
|
20
|
+
TALENT_TYPE: ["Agency", "Independent", "Unspecified"],
|
|
21
|
+
ENGLISH_LEVELS: [
|
|
22
|
+
"Fluent",
|
|
23
|
+
"Conversational",
|
|
24
|
+
"Native or Bilingual",
|
|
25
|
+
"Unspecified",
|
|
26
|
+
],
|
|
27
|
+
EXPERIENCE_LEVELS: ["Entry level", "Intermediate", "Expert"],
|
|
28
|
+
REQUIRED_EARNINGS: [100, 1000, 10000],
|
|
29
|
+
REQUIRED_JSS: [">80%", ">90%", "100%", "RT"],
|
|
30
|
+
HIERARCHICAL_CATEGORIES: [
|
|
31
|
+
{
|
|
32
|
+
label: "Accounting & Consulting",
|
|
33
|
+
value: "accounting-consulting",
|
|
34
|
+
children: [
|
|
35
|
+
"Accounting & Bookkeeping",
|
|
36
|
+
"Financial Planning",
|
|
37
|
+
"Management Consulting & Analysis",
|
|
38
|
+
"Other - Accounting & Consulting",
|
|
39
|
+
"Personal & Professional Coaching",
|
|
40
|
+
"Recruiting & Human Resources",
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
label: "Admin Support",
|
|
45
|
+
value: "admin-support",
|
|
46
|
+
children: [
|
|
47
|
+
"Data Entry & Transcription Services",
|
|
48
|
+
"Market Research & Product Reviews",
|
|
49
|
+
"Project Management",
|
|
50
|
+
"Virtual Assistance",
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
label: "Customer Service",
|
|
55
|
+
value: "customer-service",
|
|
56
|
+
children: [
|
|
57
|
+
"Community Management & Tagging",
|
|
58
|
+
"Customer Service & Tech Support",
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
label: "Data Science & Analytics",
|
|
63
|
+
value: "data-science-analytics",
|
|
64
|
+
children: [
|
|
65
|
+
"AI & Machine Learning",
|
|
66
|
+
"Data Analysis & Testing",
|
|
67
|
+
"Data Extraction/ETL",
|
|
68
|
+
"Data Mining & Management",
|
|
69
|
+
],
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
label: "Design & Creative",
|
|
73
|
+
value: "design-creative",
|
|
74
|
+
children: [
|
|
75
|
+
"Art & Illustration",
|
|
76
|
+
"Audio & Music Production",
|
|
77
|
+
"Branding & Logo Design",
|
|
78
|
+
"Graphic, Editorial & Presentation Design",
|
|
79
|
+
"NFT, AR/VR & Game Art",
|
|
80
|
+
"Performing Arts",
|
|
81
|
+
"Photography",
|
|
82
|
+
"Product Design",
|
|
83
|
+
"Video & Animation",
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
label: "Engineering & Architecture",
|
|
88
|
+
value: "engineering-architecture",
|
|
89
|
+
children: [
|
|
90
|
+
"3D Modeling & CAD",
|
|
91
|
+
"Building & Landscape Architecture",
|
|
92
|
+
"Chemical Engineering",
|
|
93
|
+
"Civil & Structural Engineering",
|
|
94
|
+
"Contract Manufacturing",
|
|
95
|
+
"Electrical & Electronic Engineering",
|
|
96
|
+
"Energy & Mechanical Engineering",
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
label: "IT & Networking",
|
|
101
|
+
value: "it-networking",
|
|
102
|
+
children: [
|
|
103
|
+
"Database Management & Administration",
|
|
104
|
+
"DevOps & Solution Architecture",
|
|
105
|
+
"ERP/CRM Software",
|
|
106
|
+
"Information Security & Compliance",
|
|
107
|
+
"Network & System Administration",
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
label: "Legal",
|
|
112
|
+
value: "legal",
|
|
113
|
+
children: [
|
|
114
|
+
"Corporate & Contract Law",
|
|
115
|
+
"Finance & Tax Law",
|
|
116
|
+
"International & Immigration Law",
|
|
117
|
+
"Public Law",
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
label: "Sales & Marketing",
|
|
122
|
+
value: "sales-marketing",
|
|
123
|
+
children: [
|
|
124
|
+
"Digital Marketing",
|
|
125
|
+
"Lead Generation & Telemarketing",
|
|
126
|
+
"Marketing, PR & Brand Strategy",
|
|
127
|
+
],
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
label: "Translation",
|
|
131
|
+
value: "translation",
|
|
132
|
+
children: [
|
|
133
|
+
"Language Tutoring & Interpretation",
|
|
134
|
+
"Translation & Localization Services",
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
label: "Software Development",
|
|
139
|
+
value: "software-development",
|
|
140
|
+
children: [
|
|
141
|
+
"AI Apps & Integration",
|
|
142
|
+
"Blockchain, NFT & Cryptocurrency",
|
|
143
|
+
"Desktop Application Development",
|
|
144
|
+
"Ecommerce Development",
|
|
145
|
+
"Game Design & Development",
|
|
146
|
+
"Mobile Development",
|
|
147
|
+
"Other - Software Development",
|
|
148
|
+
"Product Management & Scrum",
|
|
149
|
+
"QA Testing",
|
|
150
|
+
"Scripts & Utilities",
|
|
151
|
+
"Web & Mobile Design",
|
|
152
|
+
"Web Development",
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
label: "Writing",
|
|
157
|
+
value: "writing",
|
|
158
|
+
children: [
|
|
159
|
+
"Content Writing",
|
|
160
|
+
"Editing & Proofreading Services",
|
|
161
|
+
"Professional & Business Writing",
|
|
162
|
+
"Sales & Marketing Copywriting",
|
|
163
|
+
],
|
|
164
|
+
},
|
|
165
|
+
],
|
|
166
|
+
CATEGORIES: [
|
|
167
|
+
"Personal & Professional Coaching",
|
|
168
|
+
"Accounting & Bookkeeping",
|
|
169
|
+
"Financial Planning",
|
|
170
|
+
"Recruiting & Human Resources",
|
|
171
|
+
"Management Consulting & Analysis",
|
|
172
|
+
"Other - Accounting & Consulting",
|
|
173
|
+
"Data Entry & Transcription Services",
|
|
174
|
+
"Virtual Assistance",
|
|
175
|
+
"Project Management",
|
|
176
|
+
"Market Research & Product Reviews",
|
|
177
|
+
"Community Management & Tagging",
|
|
178
|
+
"Customer Service & Tech Support",
|
|
179
|
+
"Data Analysis & Testing",
|
|
180
|
+
"Data Extraction/ETL",
|
|
181
|
+
"Data Mining & Management",
|
|
182
|
+
"AI & Machine Learning",
|
|
183
|
+
"Art & Illustration",
|
|
184
|
+
"Audio & Music Production",
|
|
185
|
+
"Branding & Logo Design",
|
|
186
|
+
"NFT, AR/VR & Game Art",
|
|
187
|
+
"Graphic, Editorial & Presentation Design",
|
|
188
|
+
"Performing Arts",
|
|
189
|
+
"Photography",
|
|
190
|
+
"Product Design",
|
|
191
|
+
"Video & Animation",
|
|
192
|
+
"Building & Landscape Architecture",
|
|
193
|
+
"Chemical Engineering",
|
|
194
|
+
"Civil & Structural Engineering",
|
|
195
|
+
"Contract Manufacturing",
|
|
196
|
+
"Electrical & Electronic Engineering",
|
|
197
|
+
"Energy & Mechanical Engineering",
|
|
198
|
+
"3D Modeling & CAD",
|
|
199
|
+
"Database Management & Administration",
|
|
200
|
+
"ERP/CRM Software",
|
|
201
|
+
"Information Security & Compliance",
|
|
202
|
+
"Network & System Administration",
|
|
203
|
+
"DevOps & Solution Architecture",
|
|
204
|
+
"Corporate & Contract Law",
|
|
205
|
+
"International & Immigration Law",
|
|
206
|
+
"Finance & Tax Law",
|
|
207
|
+
"Public Law",
|
|
208
|
+
"Digital Marketing",
|
|
209
|
+
"Lead Generation & Telemarketing",
|
|
210
|
+
"Marketing, PR & Brand Strategy",
|
|
211
|
+
"Language Tutoring & Interpretation",
|
|
212
|
+
"Translation & Localization Services",
|
|
213
|
+
"Blockchain, NFT & Cryptocurrency",
|
|
214
|
+
"AI Apps & Integration",
|
|
215
|
+
"Desktop Application Development",
|
|
216
|
+
"Ecommerce Development",
|
|
217
|
+
"Game Design & Development",
|
|
218
|
+
"Mobile Development",
|
|
219
|
+
"Other - Software Development",
|
|
220
|
+
"Product Management & Scrum",
|
|
221
|
+
"QA Testing",
|
|
222
|
+
"Scripts & Utilities",
|
|
223
|
+
"Web & Mobile Design",
|
|
224
|
+
"Web Development",
|
|
225
|
+
"Sales & Marketing Copywriting",
|
|
226
|
+
"Content Writing",
|
|
227
|
+
"Editing & Proofreading Services",
|
|
228
|
+
"Professional & Business Writing",
|
|
229
|
+
],
|
|
230
|
+
CLIENT_INDUSTRY: [
|
|
231
|
+
"Aerospace",
|
|
232
|
+
"Agriculture & Forestry",
|
|
233
|
+
"Art & Design",
|
|
234
|
+
"Automotive",
|
|
235
|
+
"Aviation",
|
|
236
|
+
"Education",
|
|
237
|
+
"Energy & Utilities",
|
|
238
|
+
"Engineering & Architecture",
|
|
239
|
+
"Fashion & Beauty",
|
|
240
|
+
"Finance & Accounting",
|
|
241
|
+
"Food & Beverage",
|
|
242
|
+
"Government & Public Sector",
|
|
243
|
+
"Health & Fitness",
|
|
244
|
+
"HR & Business Services",
|
|
245
|
+
"Legal",
|
|
246
|
+
"Manufacturing & Construction",
|
|
247
|
+
"Media & Entertainment",
|
|
248
|
+
"Military & Defense",
|
|
249
|
+
"Mining",
|
|
250
|
+
"Real Estate",
|
|
251
|
+
"Retail & Consumer Goods",
|
|
252
|
+
"Sales & Marketing",
|
|
253
|
+
"Science & Medicine",
|
|
254
|
+
"Sports & Recreation",
|
|
255
|
+
"Supply Chain & Logistics",
|
|
256
|
+
"Tech & IT",
|
|
257
|
+
"Transportation & Warehousing",
|
|
258
|
+
"Travel & Hospitality",
|
|
259
|
+
],
|
|
260
|
+
CLIENT_SIZE: [
|
|
261
|
+
"Individual client",
|
|
262
|
+
"Small company (2-9 people)",
|
|
263
|
+
"Mid-sized company (10-99 people)",
|
|
264
|
+
"Large company (100-1,000 people)",
|
|
265
|
+
"Large company (1,000+ people)",
|
|
266
|
+
"Unspecified",
|
|
267
|
+
],
|
|
268
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getNextStatus = exports.getPreviousStatus = exports.jobStatusOrder = void 0;
|
|
4
|
+
exports.jobStatusOrder = [
|
|
5
|
+
"leads",
|
|
6
|
+
"contacted",
|
|
7
|
+
"viewed",
|
|
8
|
+
"replied",
|
|
9
|
+
"negotiations",
|
|
10
|
+
"won",
|
|
11
|
+
"lost",
|
|
12
|
+
];
|
|
13
|
+
const getPreviousStatus = (status) => {
|
|
14
|
+
if (status === "won")
|
|
15
|
+
return "negotiations";
|
|
16
|
+
if (status === "lost")
|
|
17
|
+
return "negotiations";
|
|
18
|
+
const index = exports.jobStatusOrder.indexOf(status);
|
|
19
|
+
return index > 0 ? exports.jobStatusOrder[index - 1] : null;
|
|
20
|
+
};
|
|
21
|
+
exports.getPreviousStatus = getPreviousStatus;
|
|
22
|
+
const getNextStatus = (status) => {
|
|
23
|
+
const index = exports.jobStatusOrder.indexOf(status);
|
|
24
|
+
return index < exports.jobStatusOrder.length - 1 ? exports.jobStatusOrder[index + 1] : null;
|
|
25
|
+
};
|
|
26
|
+
exports.getNextStatus = getNextStatus;
|