Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ workflows:
only:
- develop
- PM-4669_payment-cycles
- v9-engagements

# Production builds are exectuted only on tagged commits to the
# master branch.
Expand Down
11 changes: 10 additions & 1 deletion packages/engagements-prisma-client/edge.js

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions packages/engagements-prisma-client/index-browser.js
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,7 @@ exports.Workload = exports.$Enums.Workload = {
exports.ApplicationStatus = exports.$Enums.ApplicationStatus = {
SUBMITTED: 'SUBMITTED',
UNDER_REVIEW: 'UNDER_REVIEW',
SHORTLISTED: 'SHORTLISTED',
SELECTED: 'SELECTED',
ACCEPTED: 'ACCEPTED',
REJECTED: 'REJECTED'
Expand All @@ -269,6 +270,14 @@ exports.PaymentCycle = exports.$Enums.PaymentCycle = {
MONTHLY: 'MONTHLY'
};

exports.AssignmentSource = exports.$Enums.AssignmentSource = {
DIRECT: 'DIRECT',
VENDOR: 'VENDOR',
WIPRO_REFERRAL: 'WIPRO_REFERRAL',
CUSTOMER_REFERRAL: 'CUSTOMER_REFERRAL',
TOPCODER_COMMUNITY: 'TOPCODER_COMMUNITY'
};

exports.Prisma.ModelName = {
Engagement: 'Engagement',
EngagementApplication: 'EngagementApplication',
Expand Down
12 changes: 12 additions & 0 deletions packages/engagements-prisma-client/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ export type EngagementStatus = (typeof EngagementStatus)[keyof typeof Engagement
export const ApplicationStatus: {
SUBMITTED: 'SUBMITTED',
UNDER_REVIEW: 'UNDER_REVIEW',
SHORTLISTED: 'SHORTLISTED',
SELECTED: 'SELECTED',
ACCEPTED: 'ACCEPTED',
REJECTED: 'REJECTED'
Expand Down Expand Up @@ -85,6 +86,17 @@ export const PaymentCycle: {
export type PaymentCycle = (typeof PaymentCycle)[keyof typeof PaymentCycle]


export const AssignmentSource: {
DIRECT: 'DIRECT',
VENDOR: 'VENDOR',
WIPRO_REFERRAL: 'WIPRO_REFERRAL',
CUSTOMER_REFERRAL: 'CUSTOMER_REFERRAL',
TOPCODER_COMMUNITY: 'TOPCODER_COMMUNITY'
};

export type AssignmentSource = (typeof AssignmentSource)[keyof typeof AssignmentSource]


export const Role: {
DESIGNER: 'DESIGNER',
SOFTWARE_DEVELOPER: 'SOFTWARE_DEVELOPER',
Expand Down
11 changes: 10 additions & 1 deletion packages/engagements-prisma-client/index.js

Large diffs are not rendered by default.

22 changes: 17 additions & 5 deletions packages/engagements-prisma-client/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ enum EngagementStatus {
enum ApplicationStatus {
SUBMITTED
UNDER_REVIEW
SHORTLISTED
SELECTED
ACCEPTED
REJECTED
Expand All @@ -42,6 +43,14 @@ enum PaymentCycle {
MONTHLY
}

enum AssignmentSource {
DIRECT
VENDOR
WIPRO_REFERRAL
CUSTOMER_REFERRAL
TOPCODER_COMMUNITY
}

enum Role {
DESIGNER
SOFTWARE_DEVELOPER
Expand Down Expand Up @@ -121,14 +130,14 @@ model EngagementApplication {
}

model EngagementAssignment {
id String @id @default(uuid())
id String @id @default(uuid())
engagementId String
memberId String
memberHandle String
status AssignmentStatus @default(SELECTED)
status AssignmentStatus @default(SELECTED)
agreementRate String?
ratePerHour String?
paymentCycle PaymentCycle @default(WEEKLY)
paymentCycle PaymentCycle @default(WEEKLY)
standardHoursPerDay Float?
/// @deprecated Use standardHoursPerDay instead.
standardHoursPerWeek Float?
Expand All @@ -137,8 +146,11 @@ model EngagementAssignment {
terminationReason String?
startDate DateTime?
endDate DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
wiproIdEndDate DateTime?
candidateWiproId String?
source AssignmentSource?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt

engagement Engagement @relation(fields: [engagementId], references: [id], onDelete: Restrict)
feedback EngagementFeedback[]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
-- CreateEnum
CREATE TYPE "RoleLevel" AS ENUM ('JUNIOR', 'MID', 'SENIOR');

-- AlterTable
ALTER TABLE "Engagement" ADD COLUMN "account" TEXT,
ADD COLUMN "receivedDateFromAccount" TIMESTAMP(3),
ADD COLUMN "roleLevel" "RoleLevel",
ADD COLUMN "smu" TEXT,
ADD COLUMN "spoc" TEXT;
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-- AlterEnum
ALTER TYPE "ApplicationStatus" ADD VALUE 'SHORTLISTED';
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
-- CreateEnum
CREATE TYPE "AssignmentSource" AS ENUM (
'DIRECT',
'VENDOR',
'WIPRO_REFERRAL',
'CUSTOMER_REFERRAL',
'TOPCODER_COMMUNITY'
);

-- AlterTable
ALTER TABLE "EngagementAssignment"
ADD COLUMN "wiproIdEndDate" TIMESTAMP(3),
ADD COLUMN "candidateWiproId" TEXT,
ADD COLUMN "source" "AssignmentSource";
77 changes: 50 additions & 27 deletions prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ enum EngagementStatus {
enum ApplicationStatus {
SUBMITTED
UNDER_REVIEW
SHORTLISTED
SELECTED
ACCEPTED
REJECTED
Expand All @@ -42,6 +43,14 @@ enum PaymentCycle {
MONTHLY
}

enum AssignmentSource {
DIRECT
VENDOR
WIPRO_REFERRAL
CUSTOMER_REFERRAL
TOPCODER_COMMUNITY
}

enum Role {
DESIGNER
SOFTWARE_DEVELOPER
Expand All @@ -60,29 +69,40 @@ enum AnticipatedStart {
FEW_WEEKS
}

enum RoleLevel {
JUNIOR
MID
SENIOR
}

model Engagement {
id String @id @default(uuid())
projectId String
title String
description String
durationStartDate DateTime?
durationEndDate DateTime?
durationWeeks Int?
durationMonths Int?
timeZones String[]
countries String[]
requiredSkills String[]
anticipatedStart AnticipatedStart
status EngagementStatus @default(OPEN)
isPrivate Boolean @default(false)
requiredMemberCount Int?
role Role?
workload Workload?
compensationRange String?
createdAt DateTime @default(now())
createdBy String
updatedAt DateTime @updatedAt
updatedBy String?
id String @id @default(uuid())
projectId String
title String
description String
durationStartDate DateTime?
durationEndDate DateTime?
durationWeeks Int?
durationMonths Int?
timeZones String[]
countries String[]
requiredSkills String[]
anticipatedStart AnticipatedStart
status EngagementStatus @default(OPEN)
isPrivate Boolean @default(false)
requiredMemberCount Int?
role Role?
roleLevel RoleLevel?
workload Workload?
compensationRange String?
receivedDateFromAccount DateTime?
account String?
smu String?
spoc String?
createdAt DateTime @default(now())
createdBy String
updatedAt DateTime @updatedAt
updatedBy String?

applications EngagementApplication[]
assignments EngagementAssignment[]
Expand Down Expand Up @@ -121,14 +141,14 @@ model EngagementApplication {
}

model EngagementAssignment {
id String @id @default(uuid())
id String @id @default(uuid())
engagementId String
memberId String
memberHandle String
status AssignmentStatus @default(SELECTED)
status AssignmentStatus @default(SELECTED)
agreementRate String?
ratePerHour String?
paymentCycle PaymentCycle @default(WEEKLY)
paymentCycle PaymentCycle @default(WEEKLY)
standardHoursPerDay Float?
/// @deprecated Use standardHoursPerDay instead.
standardHoursPerWeek Float?
Expand All @@ -137,8 +157,11 @@ model EngagementAssignment {
terminationReason String?
startDate DateTime?
endDate DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
wiproIdEndDate DateTime?
candidateWiproId String?
source AssignmentSource?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt

engagement Engagement @relation(fields: [engagementId], references: [id], onDelete: Restrict)
feedback EngagementFeedback[]
Expand Down
Loading