lancer-shared 1.2.0 → 1.2.1
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 +1 -0
- package/dist/schemas/organization/index.d.ts +8 -0
- package/dist/schemas/organization/organization.d.ts +22 -118
- package/package.json +1 -1
- package/dist/constants/collections.js +0 -14
- package/dist/constants/common-questions.js +0 -57
- package/dist/constants/index.js +0 -18
- package/dist/constants/job-filter-options.js +0 -265
- package/dist/constants/job-status.js +0 -21
- package/dist/constants/mappings/countryMapping.js +0 -120
- package/dist/constants/mappings/regionMapping.js +0 -240
- package/dist/constants/routes.js +0 -116
- package/dist/constants/upwork-accounts.js +0 -18
- package/dist/index.js +0 -4
- package/dist/schemas/account/account-status.js +0 -8
- package/dist/schemas/account/bidder-account.js +0 -35
- package/dist/schemas/account/index.js +0 -3
- package/dist/schemas/account/scraper-account.js +0 -34
- package/dist/schemas/ai/ai-config.d.ts +0 -36
- package/dist/schemas/ai/ai-config.js +0 -9
- package/dist/schemas/ai/index.d.ts +0 -3
- package/dist/schemas/ai/index.js +0 -3
- package/dist/schemas/ai/proposal.d.ts +0 -82
- package/dist/schemas/ai/proposal.js +0 -13
- package/dist/schemas/ai/suitability.d.ts +0 -37
- package/dist/schemas/ai/suitability.js +0 -14
- package/dist/schemas/bid/bid-result.js +0 -11
- package/dist/schemas/bid/bid.js +0 -35
- package/dist/schemas/bid/index.js +0 -2
- package/dist/schemas/campaign/campaign-ai-metrics.js +0 -6
- package/dist/schemas/campaign/campaign-analytics.js +0 -42
- package/dist/schemas/campaign/campaign-expenses.js +0 -6
- package/dist/schemas/campaign/campaign-insights.js +0 -31
- package/dist/schemas/campaign/campaign-integrations.js +0 -13
- package/dist/schemas/campaign/campaign-job-count.js +0 -3
- package/dist/schemas/campaign/campaign.js +0 -41
- package/dist/schemas/campaign/index.js +0 -7
- package/dist/schemas/chat-message/chat-message.js +0 -10
- package/dist/schemas/chat-message/index.js +0 -1
- package/dist/schemas/config/agency-config.js +0 -7
- package/dist/schemas/config/index.js +0 -1
- package/dist/schemas/event/index.d.ts +0 -58
- package/dist/schemas/index.js +0 -17
- package/dist/schemas/job/index.d.ts +0 -95
- package/dist/schemas/job-filters/index.js +0 -1
- package/dist/schemas/job-filters/job-filters.js +0 -84
- package/dist/schemas/lead/index.js +0 -173
- package/dist/schemas/lead/lead-note.js +0 -27
- package/dist/schemas/lead/lead-status.js +0 -23
- package/dist/schemas/lead/nuxt.js +0 -287
- package/dist/schemas/logger/index.js +0 -1
- package/dist/schemas/logger/log-event.js +0 -117
- package/dist/schemas/organization/index.js +0 -70
- package/dist/schemas/organization/member.js +0 -7
- package/dist/schemas/organization/organization.js +0 -16
- package/dist/schemas/organization/subscription.js +0 -17
- package/dist/schemas/proxy/index.js +0 -3
- package/dist/schemas/proxy/proxy-available-replacements.js +0 -3
- package/dist/schemas/proxy/proxy-country.js +0 -249
- package/dist/schemas/proxy/proxy.js +0 -29
- package/dist/schemas/saved-search/index.js +0 -9
- package/dist/schemas/scraper/index.js +0 -2
- package/dist/schemas/scraper/scrape-payload.js +0 -21
- package/dist/schemas/scraper/scrape-result.js +0 -23
- package/dist/schemas/shared.js +0 -19
- package/dist/schemas/time-filter/index.js +0 -6
- package/dist/schemas/transaction/index.js +0 -17
- package/dist/schemas/usage/index.js +0 -18
- package/dist/schemas/user/index.js +0 -52
- package/dist/types/account/account-status.js +0 -1
- package/dist/types/account/bidder-account.js +0 -1
- package/dist/types/account/index.js +0 -3
- package/dist/types/account/scraper-account.js +0 -1
- package/dist/types/ai/ai-config.d.ts +0 -6
- package/dist/types/ai/ai-config.js +0 -1
- package/dist/types/ai/index.d.ts +0 -3
- package/dist/types/ai/index.js +0 -3
- package/dist/types/ai/proposal.d.ts +0 -10
- package/dist/types/ai/proposal.js +0 -1
- package/dist/types/ai/suitability.d.ts +0 -6
- package/dist/types/ai/suitability.js +0 -1
- package/dist/types/bid/bid-result.js +0 -1
- package/dist/types/bid/bid.js +0 -1
- package/dist/types/bid/index.js +0 -2
- package/dist/types/campaign/campaign-analytics.js +0 -1
- package/dist/types/campaign/campaign-expenses.js +0 -1
- package/dist/types/campaign/campaign-insights.js +0 -1
- package/dist/types/campaign/campaign-integrations.js +0 -1
- package/dist/types/campaign/campaign-job-count.js +0 -1
- package/dist/types/campaign/campaign.js +0 -1
- package/dist/types/campaign/index.js +0 -6
- package/dist/types/chat-message/chat-message.js +0 -1
- package/dist/types/chat-message/index.js +0 -1
- package/dist/types/config/agency-config.js +0 -1
- package/dist/types/config/index.js +0 -1
- package/dist/types/index.js +0 -15
- package/dist/types/job/index.js +0 -3
- package/dist/types/job/job-note.js +0 -1
- package/dist/types/job/job-status.js +0 -9
- package/dist/types/job/nuxt.js +0 -1
- package/dist/types/job-filters/index.js +0 -1
- package/dist/types/job-filters/job-filters.js +0 -1
- package/dist/types/logger/index.js +0 -1
- package/dist/types/logger/log-event.js +0 -1
- package/dist/types/saved-search/index.js +0 -1
- package/dist/types/scraper/index.js +0 -2
- package/dist/types/scraper/scrape-payload.js +0 -1
- package/dist/types/scraper/scrape-result.js +0 -1
- package/dist/types/shared.js +0 -1
- package/dist/types/time-filter/index.js +0 -1
- package/dist/types/transaction/index.js +0 -1
- package/dist/types/usage/index.js +0 -1
- package/dist/types/user/index.js +0 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/try-catch.js +0 -10
package/dist/bundle.cjs.js
CHANGED
|
@@ -5733,6 +5733,7 @@ const aiConfigOldSchema = objectType({
|
|
|
5733
5733
|
const aiConfigSchema = objectType({
|
|
5734
5734
|
suitabilityRules: stringType().nullable(),
|
|
5735
5735
|
coverLetterRules: stringType().nullable(),
|
|
5736
|
+
coverLetterTemplate: stringType().nullable(),
|
|
5736
5737
|
questionRules: stringType().nullable(),
|
|
5737
5738
|
});
|
|
5738
5739
|
const knowledgeBaseSchema = objectType({
|
|
@@ -218,14 +218,17 @@ export declare const aiConfigOldSchema: z.ZodObject<{
|
|
|
218
218
|
export declare const aiConfigSchema: z.ZodObject<{
|
|
219
219
|
suitabilityRules: z.ZodNullable<z.ZodString>;
|
|
220
220
|
coverLetterRules: z.ZodNullable<z.ZodString>;
|
|
221
|
+
coverLetterTemplate: z.ZodNullable<z.ZodString>;
|
|
221
222
|
questionRules: z.ZodNullable<z.ZodString>;
|
|
222
223
|
}, "strip", z.ZodTypeAny, {
|
|
223
224
|
suitabilityRules: string | null;
|
|
224
225
|
coverLetterRules: string | null;
|
|
226
|
+
coverLetterTemplate: string | null;
|
|
225
227
|
questionRules: string | null;
|
|
226
228
|
}, {
|
|
227
229
|
suitabilityRules: string | null;
|
|
228
230
|
coverLetterRules: string | null;
|
|
231
|
+
coverLetterTemplate: string | null;
|
|
229
232
|
questionRules: string | null;
|
|
230
233
|
}>;
|
|
231
234
|
export declare const knowledgeBaseSchema: z.ZodObject<{
|
|
@@ -255,14 +258,17 @@ export declare const organizationSettingsSchema: z.ZodObject<{
|
|
|
255
258
|
aiConfig: z.ZodObject<{
|
|
256
259
|
suitabilityRules: z.ZodNullable<z.ZodString>;
|
|
257
260
|
coverLetterRules: z.ZodNullable<z.ZodString>;
|
|
261
|
+
coverLetterTemplate: z.ZodNullable<z.ZodString>;
|
|
258
262
|
questionRules: z.ZodNullable<z.ZodString>;
|
|
259
263
|
}, "strip", z.ZodTypeAny, {
|
|
260
264
|
suitabilityRules: string | null;
|
|
261
265
|
coverLetterRules: string | null;
|
|
266
|
+
coverLetterTemplate: string | null;
|
|
262
267
|
questionRules: string | null;
|
|
263
268
|
}, {
|
|
264
269
|
suitabilityRules: string | null;
|
|
265
270
|
coverLetterRules: string | null;
|
|
271
|
+
coverLetterTemplate: string | null;
|
|
266
272
|
questionRules: string | null;
|
|
267
273
|
}>;
|
|
268
274
|
knowledgeBase: z.ZodObject<{
|
|
@@ -296,6 +302,7 @@ export declare const organizationSettingsSchema: z.ZodObject<{
|
|
|
296
302
|
aiConfig: {
|
|
297
303
|
suitabilityRules: string | null;
|
|
298
304
|
coverLetterRules: string | null;
|
|
305
|
+
coverLetterTemplate: string | null;
|
|
299
306
|
questionRules: string | null;
|
|
300
307
|
};
|
|
301
308
|
notifications: {
|
|
@@ -311,6 +318,7 @@ export declare const organizationSettingsSchema: z.ZodObject<{
|
|
|
311
318
|
aiConfig: {
|
|
312
319
|
suitabilityRules: string | null;
|
|
313
320
|
coverLetterRules: string | null;
|
|
321
|
+
coverLetterTemplate: string | null;
|
|
314
322
|
questionRules: string | null;
|
|
315
323
|
};
|
|
316
324
|
notifications: {
|
|
@@ -6,13 +6,13 @@ export declare const bidConfigSchema: z.ZodObject<{
|
|
|
6
6
|
specialisedProfile: z.ZodNullable<z.ZodString>;
|
|
7
7
|
}, "strip", z.ZodTypeAny, {
|
|
8
8
|
agencyName: string | null;
|
|
9
|
-
bidderId: string | null;
|
|
10
9
|
contractorName: string | null;
|
|
10
|
+
bidderId: string | null;
|
|
11
11
|
specialisedProfile: string | null;
|
|
12
12
|
}, {
|
|
13
13
|
agencyName: string | null;
|
|
14
|
-
bidderId: string | null;
|
|
15
14
|
contractorName: string | null;
|
|
15
|
+
bidderId: string | null;
|
|
16
16
|
specialisedProfile: string | null;
|
|
17
17
|
}>;
|
|
18
18
|
export declare const organizationTypeSchema: z.ZodEnum<["agency", "freelancer"]>;
|
|
@@ -27,149 +27,54 @@ export declare const organizationSchema: z.ZodObject<{
|
|
|
27
27
|
specialisedProfile: z.ZodNullable<z.ZodString>;
|
|
28
28
|
}, "strip", z.ZodTypeAny, {
|
|
29
29
|
agencyName: string | null;
|
|
30
|
-
bidderId: string | null;
|
|
31
30
|
contractorName: string | null;
|
|
31
|
+
bidderId: string | null;
|
|
32
32
|
specialisedProfile: string | null;
|
|
33
33
|
}, {
|
|
34
34
|
agencyName: string | null;
|
|
35
|
-
bidderId: string | null;
|
|
36
35
|
contractorName: string | null;
|
|
36
|
+
bidderId: string | null;
|
|
37
37
|
specialisedProfile: string | null;
|
|
38
38
|
}>;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
limits: z.ZodNullable<z.ZodObject<{
|
|
42
|
-
monthlyCredits: z.ZodNumber;
|
|
43
|
-
usedCredits: z.ZodNumber;
|
|
44
|
-
extraCredits: z.ZodNumber;
|
|
45
|
-
}, "strip", z.ZodTypeAny, {
|
|
46
|
-
monthlyCredits: number;
|
|
47
|
-
usedCredits: number;
|
|
48
|
-
extraCredits: number;
|
|
49
|
-
}, {
|
|
50
|
-
monthlyCredits: number;
|
|
51
|
-
usedCredits: number;
|
|
52
|
-
extraCredits: number;
|
|
53
|
-
}>>;
|
|
54
|
-
billing: z.ZodNullable<z.ZodObject<{
|
|
55
|
-
stripeCustomerId: z.ZodString;
|
|
56
|
-
savedCard: z.ZodBoolean;
|
|
57
|
-
creditsRemaining: z.ZodNumber;
|
|
58
|
-
}, "strip", z.ZodTypeAny, {
|
|
59
|
-
stripeCustomerId: string;
|
|
60
|
-
savedCard: boolean;
|
|
61
|
-
creditsRemaining: number;
|
|
62
|
-
}, {
|
|
63
|
-
stripeCustomerId: string;
|
|
64
|
-
savedCard: boolean;
|
|
65
|
-
creditsRemaining: number;
|
|
66
|
-
}>>;
|
|
67
|
-
subscription: z.ZodNullable<z.ZodObject<{
|
|
68
|
-
tierId: z.ZodString;
|
|
69
|
-
status: z.ZodEnum<["active", "trialing", "cancelled", "paused"]>;
|
|
70
|
-
creditsRemaining: z.ZodNumber;
|
|
71
|
-
startedAt: z.ZodNumber;
|
|
72
|
-
currentPeriodEnd: z.ZodNumber;
|
|
73
|
-
stripeSubscriptionId: z.ZodString;
|
|
74
|
-
source: z.ZodEnum<["stripe", "manual"]>;
|
|
75
|
-
}, "strip", z.ZodTypeAny, {
|
|
76
|
-
status: "active" | "trialing" | "cancelled" | "paused";
|
|
77
|
-
creditsRemaining: number;
|
|
78
|
-
tierId: string;
|
|
79
|
-
startedAt: number;
|
|
80
|
-
currentPeriodEnd: number;
|
|
81
|
-
stripeSubscriptionId: string;
|
|
82
|
-
source: "stripe" | "manual";
|
|
83
|
-
}, {
|
|
84
|
-
status: "active" | "trialing" | "cancelled" | "paused";
|
|
85
|
-
creditsRemaining: number;
|
|
86
|
-
tierId: string;
|
|
87
|
-
startedAt: number;
|
|
88
|
-
currentPeriodEnd: number;
|
|
89
|
-
stripeSubscriptionId: string;
|
|
90
|
-
source: "stripe" | "manual";
|
|
91
|
-
}>>;
|
|
92
|
-
createdAt: z.ZodNumber;
|
|
93
|
-
updatedAt: z.ZodNumber;
|
|
39
|
+
createdAt: z.ZodDate;
|
|
40
|
+
updatedAt: z.ZodDate;
|
|
94
41
|
}, "strip", z.ZodTypeAny, {
|
|
95
|
-
type: "agency" | "freelancer";
|
|
96
42
|
id: string;
|
|
43
|
+
type: "agency" | "freelancer";
|
|
44
|
+
createdAt: Date;
|
|
45
|
+
updatedAt: Date;
|
|
97
46
|
name: string;
|
|
98
47
|
bidConfig: {
|
|
99
48
|
agencyName: string | null;
|
|
100
|
-
bidderId: string | null;
|
|
101
49
|
contractorName: string | null;
|
|
50
|
+
bidderId: string | null;
|
|
102
51
|
specialisedProfile: string | null;
|
|
103
52
|
};
|
|
104
|
-
tierId: "free" | "premium";
|
|
105
|
-
active: boolean;
|
|
106
|
-
limits: {
|
|
107
|
-
monthlyCredits: number;
|
|
108
|
-
usedCredits: number;
|
|
109
|
-
extraCredits: number;
|
|
110
|
-
} | null;
|
|
111
|
-
billing: {
|
|
112
|
-
stripeCustomerId: string;
|
|
113
|
-
savedCard: boolean;
|
|
114
|
-
creditsRemaining: number;
|
|
115
|
-
} | null;
|
|
116
|
-
subscription: {
|
|
117
|
-
status: "active" | "trialing" | "cancelled" | "paused";
|
|
118
|
-
creditsRemaining: number;
|
|
119
|
-
tierId: string;
|
|
120
|
-
startedAt: number;
|
|
121
|
-
currentPeriodEnd: number;
|
|
122
|
-
stripeSubscriptionId: string;
|
|
123
|
-
source: "stripe" | "manual";
|
|
124
|
-
} | null;
|
|
125
|
-
createdAt: number;
|
|
126
|
-
updatedAt: number;
|
|
127
53
|
}, {
|
|
128
|
-
type: "agency" | "freelancer";
|
|
129
54
|
id: string;
|
|
55
|
+
type: "agency" | "freelancer";
|
|
56
|
+
createdAt: Date;
|
|
57
|
+
updatedAt: Date;
|
|
130
58
|
name: string;
|
|
131
59
|
bidConfig: {
|
|
132
60
|
agencyName: string | null;
|
|
133
|
-
bidderId: string | null;
|
|
134
61
|
contractorName: string | null;
|
|
62
|
+
bidderId: string | null;
|
|
135
63
|
specialisedProfile: string | null;
|
|
136
64
|
};
|
|
137
|
-
tierId: "free" | "premium";
|
|
138
|
-
active: boolean;
|
|
139
|
-
limits: {
|
|
140
|
-
monthlyCredits: number;
|
|
141
|
-
usedCredits: number;
|
|
142
|
-
extraCredits: number;
|
|
143
|
-
} | null;
|
|
144
|
-
billing: {
|
|
145
|
-
stripeCustomerId: string;
|
|
146
|
-
savedCard: boolean;
|
|
147
|
-
creditsRemaining: number;
|
|
148
|
-
} | null;
|
|
149
|
-
subscription: {
|
|
150
|
-
status: "active" | "trialing" | "cancelled" | "paused";
|
|
151
|
-
creditsRemaining: number;
|
|
152
|
-
tierId: string;
|
|
153
|
-
startedAt: number;
|
|
154
|
-
currentPeriodEnd: number;
|
|
155
|
-
stripeSubscriptionId: string;
|
|
156
|
-
source: "stripe" | "manual";
|
|
157
|
-
} | null;
|
|
158
|
-
createdAt: number;
|
|
159
|
-
updatedAt: number;
|
|
160
65
|
}>;
|
|
161
66
|
export declare const aiConfigSchema: z.ZodObject<{
|
|
162
67
|
suitabilityRules: z.ZodNullable<z.ZodString>;
|
|
163
|
-
|
|
68
|
+
coverLetterRules: z.ZodNullable<z.ZodString>;
|
|
164
69
|
questionRules: z.ZodNullable<z.ZodString>;
|
|
165
70
|
}, "strip", z.ZodTypeAny, {
|
|
166
71
|
suitabilityRules: string | null;
|
|
167
|
-
proposalRules: string | null;
|
|
168
72
|
questionRules: string | null;
|
|
73
|
+
coverLetterRules: string | null;
|
|
169
74
|
}, {
|
|
170
75
|
suitabilityRules: string | null;
|
|
171
|
-
proposalRules: string | null;
|
|
172
76
|
questionRules: string | null;
|
|
77
|
+
coverLetterRules: string | null;
|
|
173
78
|
}>;
|
|
174
79
|
export declare const knowledgeBaseSchema: z.ZodObject<{
|
|
175
80
|
about: z.ZodString;
|
|
@@ -184,16 +89,16 @@ export declare const knowledgeBaseSchema: z.ZodObject<{
|
|
|
184
89
|
export declare const organizationSettingsSchema: z.ZodObject<{
|
|
185
90
|
aiConfig: z.ZodObject<{
|
|
186
91
|
suitabilityRules: z.ZodNullable<z.ZodString>;
|
|
187
|
-
|
|
92
|
+
coverLetterRules: z.ZodNullable<z.ZodString>;
|
|
188
93
|
questionRules: z.ZodNullable<z.ZodString>;
|
|
189
94
|
}, "strip", z.ZodTypeAny, {
|
|
190
95
|
suitabilityRules: string | null;
|
|
191
|
-
proposalRules: string | null;
|
|
192
96
|
questionRules: string | null;
|
|
97
|
+
coverLetterRules: string | null;
|
|
193
98
|
}, {
|
|
194
99
|
suitabilityRules: string | null;
|
|
195
|
-
proposalRules: string | null;
|
|
196
100
|
questionRules: string | null;
|
|
101
|
+
coverLetterRules: string | null;
|
|
197
102
|
}>;
|
|
198
103
|
knowledgeBase: z.ZodObject<{
|
|
199
104
|
about: z.ZodString;
|
|
@@ -208,8 +113,8 @@ export declare const organizationSettingsSchema: z.ZodObject<{
|
|
|
208
113
|
}, "strip", z.ZodTypeAny, {
|
|
209
114
|
aiConfig: {
|
|
210
115
|
suitabilityRules: string | null;
|
|
211
|
-
proposalRules: string | null;
|
|
212
116
|
questionRules: string | null;
|
|
117
|
+
coverLetterRules: string | null;
|
|
213
118
|
};
|
|
214
119
|
knowledgeBase: {
|
|
215
120
|
about: string;
|
|
@@ -218,8 +123,8 @@ export declare const organizationSettingsSchema: z.ZodObject<{
|
|
|
218
123
|
}, {
|
|
219
124
|
aiConfig: {
|
|
220
125
|
suitabilityRules: string | null;
|
|
221
|
-
proposalRules: string | null;
|
|
222
126
|
questionRules: string | null;
|
|
127
|
+
coverLetterRules: string | null;
|
|
223
128
|
};
|
|
224
129
|
knowledgeBase: {
|
|
225
130
|
about: string;
|
|
@@ -237,4 +142,3 @@ export interface OrganizationSettings extends z.infer<typeof organizationSetting
|
|
|
237
142
|
export interface BidConfig extends z.infer<typeof bidConfigSchema> {
|
|
238
143
|
}
|
|
239
144
|
export type OrganizationType = z.infer<typeof organizationTypeSchema>;
|
|
240
|
-
export * from "./subscription";
|
package/package.json
CHANGED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// Base collection names
|
|
2
|
-
export const COLLECTIONS = {
|
|
3
|
-
USERS: "users",
|
|
4
|
-
SETTINGS: "settings",
|
|
5
|
-
CAMPAIGNS: "campaigns",
|
|
6
|
-
LEADS: "leads",
|
|
7
|
-
EVENTS: "events",
|
|
8
|
-
SCRAPER_ACCOUNTS: "scrapers",
|
|
9
|
-
BIDDER_ACCOUNTS: "bidders",
|
|
10
|
-
CAMPAIGN_ACTIVITIES: (userId, campaignId) => `users/${userId}/campaigns/${campaignId}/activities`,
|
|
11
|
-
ORGANIZATIONS: "organizations",
|
|
12
|
-
PROXIES: "proxies",
|
|
13
|
-
TRANSACTIONS: "transactions",
|
|
14
|
-
};
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
export const commonQuestions = [
|
|
2
|
-
{
|
|
3
|
-
id: 'similar_experience',
|
|
4
|
-
question: 'Describe your recent experience with similar projects',
|
|
5
|
-
placeholder: 'ex: [Answer the question based on case studies, if not certain ask to discuss in DMs]',
|
|
6
|
-
},
|
|
7
|
-
{
|
|
8
|
-
id: 'profile_links',
|
|
9
|
-
question: 'Include a link to your GitHub profile and/or website',
|
|
10
|
-
placeholder: 'ex: [https://github.com/yourusername or https://yourwebsite.com]',
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
id: 'frameworks',
|
|
14
|
-
question: 'What frameworks have you worked with?',
|
|
15
|
-
placeholder: 'ex: [NextJS, React, TailwindCSS, etc...]',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
id: 'testing_approach',
|
|
19
|
-
question: 'Describe your approach to testing and improving QA',
|
|
20
|
-
placeholder: 'ex: [We are using test-driven development, and we are using Jest for testing]',
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
id: 'certifications',
|
|
24
|
-
question: 'Please list any certifications related to this project',
|
|
25
|
-
placeholder: 'ex: [Certification in React, Certification in NextJS, etc...]',
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
id: 'similar_project',
|
|
29
|
-
question: 'What past project or job have you had that is most like this one and why?',
|
|
30
|
-
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]",
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
id: 'project_fit',
|
|
34
|
-
question: 'Why do you think you are a good fit for this particular project?',
|
|
35
|
-
placeholder: 'ex: [Explain how your skills and experience match the project requirements...]',
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
id: 'job_questions',
|
|
39
|
-
question: 'Do you have any questions about the job description?',
|
|
40
|
-
placeholder: 'ex: [Ask for any clarifications needed about the role or requirements...]',
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
id: 'project_questions',
|
|
44
|
-
question: 'What questions do you have about the project?',
|
|
45
|
-
placeholder: 'ex: [Ask about project scope, timeline, team structure...]',
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
id: 'project_suggestions',
|
|
49
|
-
question: 'Do you have suggestions to make this project run successfully?',
|
|
50
|
-
placeholder: 'ex: [Ask to discuss in DMs]',
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
id: 'company_info',
|
|
54
|
-
question: 'What is your company website URL? . . . Company size?',
|
|
55
|
-
placeholder: 'ex: [https://company.com | Number of employees: ...]',
|
|
56
|
-
},
|
|
57
|
-
];
|
package/dist/constants/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export const paths = {
|
|
2
|
-
auth: {
|
|
3
|
-
register: `auth/register`,
|
|
4
|
-
},
|
|
5
|
-
users: {
|
|
6
|
-
root: 'users',
|
|
7
|
-
details: (id) => `users/${id}`,
|
|
8
|
-
},
|
|
9
|
-
};
|
|
10
|
-
export * from './job-filter-options';
|
|
11
|
-
export { default as countryMapping } from './mappings/countryMapping';
|
|
12
|
-
export { default as regionMapping } from './mappings/regionMapping';
|
|
13
|
-
export * from './job-filter-options';
|
|
14
|
-
export * from './common-questions';
|
|
15
|
-
export * from './job-status';
|
|
16
|
-
export * from './routes';
|
|
17
|
-
export * from './collections';
|
|
18
|
-
export * from './upwork-accounts';
|
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
export const JOB_FILTER_OPTIONS = {
|
|
2
|
-
REGIONS: ["Worldwide", "UKOnly", "USOnly"],
|
|
3
|
-
PROJECT_DURATION: [
|
|
4
|
-
"Less than 1 month",
|
|
5
|
-
"1 to 3 months",
|
|
6
|
-
"3 to 6 months",
|
|
7
|
-
"More than 6 months",
|
|
8
|
-
"Unspecified",
|
|
9
|
-
],
|
|
10
|
-
ENGAGEMENT_TYPE: [
|
|
11
|
-
"Less than 30 hrs/week",
|
|
12
|
-
"More than 30 hrs/week",
|
|
13
|
-
"Unspecified",
|
|
14
|
-
],
|
|
15
|
-
VENDOR_TYPE: ["Independent", "Agency", "Unspecified"],
|
|
16
|
-
PAYMENT_TYPE: ["Fixed-price", "Hourly", "Unspecified"],
|
|
17
|
-
TALENT_TYPE: ["Agency", "Independent", "Unspecified"],
|
|
18
|
-
ENGLISH_LEVELS: [
|
|
19
|
-
"Fluent",
|
|
20
|
-
"Conversational",
|
|
21
|
-
"Native or Bilingual",
|
|
22
|
-
"Unspecified",
|
|
23
|
-
],
|
|
24
|
-
EXPERIENCE_LEVELS: ["Entry level", "Intermediate", "Expert"],
|
|
25
|
-
REQUIRED_EARNINGS: [100, 1000, 10000],
|
|
26
|
-
REQUIRED_JSS: [">80%", ">90%", "100%", "RT"],
|
|
27
|
-
HIERARCHICAL_CATEGORIES: [
|
|
28
|
-
{
|
|
29
|
-
label: "Accounting & Consulting",
|
|
30
|
-
value: "accounting-consulting",
|
|
31
|
-
children: [
|
|
32
|
-
"Accounting & Bookkeeping",
|
|
33
|
-
"Financial Planning",
|
|
34
|
-
"Management Consulting & Analysis",
|
|
35
|
-
"Other - Accounting & Consulting",
|
|
36
|
-
"Personal & Professional Coaching",
|
|
37
|
-
"Recruiting & Human Resources",
|
|
38
|
-
],
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
label: "Admin Support",
|
|
42
|
-
value: "admin-support",
|
|
43
|
-
children: [
|
|
44
|
-
"Data Entry & Transcription Services",
|
|
45
|
-
"Market Research & Product Reviews",
|
|
46
|
-
"Project Management",
|
|
47
|
-
"Virtual Assistance",
|
|
48
|
-
],
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
label: "Customer Service",
|
|
52
|
-
value: "customer-service",
|
|
53
|
-
children: [
|
|
54
|
-
"Community Management & Tagging",
|
|
55
|
-
"Customer Service & Tech Support",
|
|
56
|
-
],
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
label: "Data Science & Analytics",
|
|
60
|
-
value: "data-science-analytics",
|
|
61
|
-
children: [
|
|
62
|
-
"AI & Machine Learning",
|
|
63
|
-
"Data Analysis & Testing",
|
|
64
|
-
"Data Extraction/ETL",
|
|
65
|
-
"Data Mining & Management",
|
|
66
|
-
],
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
label: "Design & Creative",
|
|
70
|
-
value: "design-creative",
|
|
71
|
-
children: [
|
|
72
|
-
"Art & Illustration",
|
|
73
|
-
"Audio & Music Production",
|
|
74
|
-
"Branding & Logo Design",
|
|
75
|
-
"Graphic, Editorial & Presentation Design",
|
|
76
|
-
"NFT, AR/VR & Game Art",
|
|
77
|
-
"Performing Arts",
|
|
78
|
-
"Photography",
|
|
79
|
-
"Product Design",
|
|
80
|
-
"Video & Animation",
|
|
81
|
-
],
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
label: "Engineering & Architecture",
|
|
85
|
-
value: "engineering-architecture",
|
|
86
|
-
children: [
|
|
87
|
-
"3D Modeling & CAD",
|
|
88
|
-
"Building & Landscape Architecture",
|
|
89
|
-
"Chemical Engineering",
|
|
90
|
-
"Civil & Structural Engineering",
|
|
91
|
-
"Contract Manufacturing",
|
|
92
|
-
"Electrical & Electronic Engineering",
|
|
93
|
-
"Energy & Mechanical Engineering",
|
|
94
|
-
],
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
label: "IT & Networking",
|
|
98
|
-
value: "it-networking",
|
|
99
|
-
children: [
|
|
100
|
-
"Database Management & Administration",
|
|
101
|
-
"DevOps & Solution Architecture",
|
|
102
|
-
"ERP/CRM Software",
|
|
103
|
-
"Information Security & Compliance",
|
|
104
|
-
"Network & System Administration",
|
|
105
|
-
],
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
label: "Legal",
|
|
109
|
-
value: "legal",
|
|
110
|
-
children: [
|
|
111
|
-
"Corporate & Contract Law",
|
|
112
|
-
"Finance & Tax Law",
|
|
113
|
-
"International & Immigration Law",
|
|
114
|
-
"Public Law",
|
|
115
|
-
],
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
label: "Sales & Marketing",
|
|
119
|
-
value: "sales-marketing",
|
|
120
|
-
children: [
|
|
121
|
-
"Digital Marketing",
|
|
122
|
-
"Lead Generation & Telemarketing",
|
|
123
|
-
"Marketing, PR & Brand Strategy",
|
|
124
|
-
],
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
label: "Translation",
|
|
128
|
-
value: "translation",
|
|
129
|
-
children: [
|
|
130
|
-
"Language Tutoring & Interpretation",
|
|
131
|
-
"Translation & Localization Services",
|
|
132
|
-
],
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
label: "Software Development",
|
|
136
|
-
value: "software-development",
|
|
137
|
-
children: [
|
|
138
|
-
"AI Apps & Integration",
|
|
139
|
-
"Blockchain, NFT & Cryptocurrency",
|
|
140
|
-
"Desktop Application Development",
|
|
141
|
-
"Ecommerce Development",
|
|
142
|
-
"Game Design & Development",
|
|
143
|
-
"Mobile Development",
|
|
144
|
-
"Other - Software Development",
|
|
145
|
-
"Product Management & Scrum",
|
|
146
|
-
"QA Testing",
|
|
147
|
-
"Scripts & Utilities",
|
|
148
|
-
"Web & Mobile Design",
|
|
149
|
-
"Web Development",
|
|
150
|
-
],
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
label: "Writing",
|
|
154
|
-
value: "writing",
|
|
155
|
-
children: [
|
|
156
|
-
"Content Writing",
|
|
157
|
-
"Editing & Proofreading Services",
|
|
158
|
-
"Professional & Business Writing",
|
|
159
|
-
"Sales & Marketing Copywriting",
|
|
160
|
-
],
|
|
161
|
-
},
|
|
162
|
-
],
|
|
163
|
-
CATEGORIES: [
|
|
164
|
-
"Personal & Professional Coaching",
|
|
165
|
-
"Accounting & Bookkeeping",
|
|
166
|
-
"Financial Planning",
|
|
167
|
-
"Recruiting & Human Resources",
|
|
168
|
-
"Management Consulting & Analysis",
|
|
169
|
-
"Other - Accounting & Consulting",
|
|
170
|
-
"Data Entry & Transcription Services",
|
|
171
|
-
"Virtual Assistance",
|
|
172
|
-
"Project Management",
|
|
173
|
-
"Market Research & Product Reviews",
|
|
174
|
-
"Community Management & Tagging",
|
|
175
|
-
"Customer Service & Tech Support",
|
|
176
|
-
"Data Analysis & Testing",
|
|
177
|
-
"Data Extraction/ETL",
|
|
178
|
-
"Data Mining & Management",
|
|
179
|
-
"AI & Machine Learning",
|
|
180
|
-
"Art & Illustration",
|
|
181
|
-
"Audio & Music Production",
|
|
182
|
-
"Branding & Logo Design",
|
|
183
|
-
"NFT, AR/VR & Game Art",
|
|
184
|
-
"Graphic, Editorial & Presentation Design",
|
|
185
|
-
"Performing Arts",
|
|
186
|
-
"Photography",
|
|
187
|
-
"Product Design",
|
|
188
|
-
"Video & Animation",
|
|
189
|
-
"Building & Landscape Architecture",
|
|
190
|
-
"Chemical Engineering",
|
|
191
|
-
"Civil & Structural Engineering",
|
|
192
|
-
"Contract Manufacturing",
|
|
193
|
-
"Electrical & Electronic Engineering",
|
|
194
|
-
"Energy & Mechanical Engineering",
|
|
195
|
-
"3D Modeling & CAD",
|
|
196
|
-
"Database Management & Administration",
|
|
197
|
-
"ERP/CRM Software",
|
|
198
|
-
"Information Security & Compliance",
|
|
199
|
-
"Network & System Administration",
|
|
200
|
-
"DevOps & Solution Architecture",
|
|
201
|
-
"Corporate & Contract Law",
|
|
202
|
-
"International & Immigration Law",
|
|
203
|
-
"Finance & Tax Law",
|
|
204
|
-
"Public Law",
|
|
205
|
-
"Digital Marketing",
|
|
206
|
-
"Lead Generation & Telemarketing",
|
|
207
|
-
"Marketing, PR & Brand Strategy",
|
|
208
|
-
"Language Tutoring & Interpretation",
|
|
209
|
-
"Translation & Localization Services",
|
|
210
|
-
"Blockchain, NFT & Cryptocurrency",
|
|
211
|
-
"AI Apps & Integration",
|
|
212
|
-
"Desktop Application Development",
|
|
213
|
-
"Ecommerce Development",
|
|
214
|
-
"Game Design & Development",
|
|
215
|
-
"Mobile Development",
|
|
216
|
-
"Other - Software Development",
|
|
217
|
-
"Product Management & Scrum",
|
|
218
|
-
"QA Testing",
|
|
219
|
-
"Scripts & Utilities",
|
|
220
|
-
"Web & Mobile Design",
|
|
221
|
-
"Web Development",
|
|
222
|
-
"Sales & Marketing Copywriting",
|
|
223
|
-
"Content Writing",
|
|
224
|
-
"Editing & Proofreading Services",
|
|
225
|
-
"Professional & Business Writing",
|
|
226
|
-
],
|
|
227
|
-
CLIENT_INDUSTRY: [
|
|
228
|
-
"Aerospace",
|
|
229
|
-
"Agriculture & Forestry",
|
|
230
|
-
"Art & Design",
|
|
231
|
-
"Automotive",
|
|
232
|
-
"Aviation",
|
|
233
|
-
"Education",
|
|
234
|
-
"Energy & Utilities",
|
|
235
|
-
"Engineering & Architecture",
|
|
236
|
-
"Fashion & Beauty",
|
|
237
|
-
"Finance & Accounting",
|
|
238
|
-
"Food & Beverage",
|
|
239
|
-
"Government & Public Sector",
|
|
240
|
-
"Health & Fitness",
|
|
241
|
-
"HR & Business Services",
|
|
242
|
-
"Legal",
|
|
243
|
-
"Manufacturing & Construction",
|
|
244
|
-
"Media & Entertainment",
|
|
245
|
-
"Military & Defense",
|
|
246
|
-
"Mining",
|
|
247
|
-
"Real Estate",
|
|
248
|
-
"Retail & Consumer Goods",
|
|
249
|
-
"Sales & Marketing",
|
|
250
|
-
"Science & Medicine",
|
|
251
|
-
"Sports & Recreation",
|
|
252
|
-
"Supply Chain & Logistics",
|
|
253
|
-
"Tech & IT",
|
|
254
|
-
"Transportation & Warehousing",
|
|
255
|
-
"Travel & Hospitality",
|
|
256
|
-
],
|
|
257
|
-
CLIENT_SIZE: [
|
|
258
|
-
"Individual client",
|
|
259
|
-
"Small company (2-9 people)",
|
|
260
|
-
"Mid-sized company (10-99 people)",
|
|
261
|
-
"Large company (100-1,000 people)",
|
|
262
|
-
"Large company (1,000+ people)",
|
|
263
|
-
"Unspecified",
|
|
264
|
-
],
|
|
265
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export const jobStatusOrder = [
|
|
2
|
-
"leads",
|
|
3
|
-
"contacted",
|
|
4
|
-
"viewed",
|
|
5
|
-
"replied",
|
|
6
|
-
"negotiations",
|
|
7
|
-
"won",
|
|
8
|
-
"lost",
|
|
9
|
-
];
|
|
10
|
-
export const getPreviousStatus = (status) => {
|
|
11
|
-
if (status === "won")
|
|
12
|
-
return "negotiations";
|
|
13
|
-
if (status === "lost")
|
|
14
|
-
return "negotiations";
|
|
15
|
-
const index = jobStatusOrder.indexOf(status);
|
|
16
|
-
return index > 0 ? jobStatusOrder[index - 1] : null;
|
|
17
|
-
};
|
|
18
|
-
export const getNextStatus = (status) => {
|
|
19
|
-
const index = jobStatusOrder.indexOf(status);
|
|
20
|
-
return index < jobStatusOrder.length - 1 ? jobStatusOrder[index + 1] : null;
|
|
21
|
-
};
|