Skip to content

Commit 44aab1b

Browse files
authored
feat(con): add new profile status (#845)
* Add SUBMITTED_FOR_REVIEW status for CON profile * Rename PENDING status to DRAFTING_PROFILE for ConnectProfileStatus
1 parent 5fa596e commit 44aab1b

File tree

7 files changed

+31
-21
lines changed

7 files changed

+31
-21
lines changed

apps/nestjs-api/src/con-profiles/con-profiles-salesforce-event-handler.service.ts

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
import { Injectable } from '@nestjs/common'
22
import { OnEvent } from '@nestjs/event-emitter'
3-
import { ConnectProfileStatus, ConProfileEntity, UserType } from '@talent-connect/common-types'
3+
import {
4+
ConnectProfileStatus,
5+
ConProfileEntity,
6+
UserType,
7+
} from '@talent-connect/common-types'
48
import {
59
ConProfileCreatedInternalEventDto,
610
ConProfileStatusChangedInternalEventDto,
7-
SalesforceRecordEvents
11+
SalesforceRecordEvents,
812
} from '@talent-connect/salesforce-record-events'
913
import { EmailService } from '../email/email.service'
1014
import { ConProfilesService } from './con-profiles.service'
@@ -25,14 +29,14 @@ export class ConProfilesSalesforceEventHandlerService {
2529
payload.conProfileId
2630
)
2731

28-
const isStatusPendingToApproved =
29-
payload.oldStatus === ConnectProfileStatus.PENDING &&
32+
const isStatusDraftingToApproved =
33+
payload.oldStatus === ConnectProfileStatus.DRAFTING_PROFILE &&
3034
payload.newStatus === ConnectProfileStatus.APPROVED
31-
const isStatusPendingToRejected =
32-
payload.oldStatus === ConnectProfileStatus.PENDING &&
35+
const isStatusDraftingToRejected =
36+
payload.oldStatus === ConnectProfileStatus.DRAFTING_PROFILE &&
3337
payload.newStatus === ConnectProfileStatus.REJECTED
3438

35-
if (isStatusPendingToApproved) {
39+
if (isStatusDraftingToApproved) {
3640
const conProfile = await this.service.findOneById(payload.conProfileId)
3741
const updatedConProfileProps = Object.assign({}, conProfile.props, {
3842
userActivatedAt: new Date().toISOString(),
@@ -43,13 +47,13 @@ export class ConProfilesSalesforceEventHandlerService {
4347
const conProfile = await this.service.findOneById(payload.conProfileId)
4448
switch (conProfile.props.userType) {
4549
case UserType.MENTEE:
46-
if (isStatusPendingToApproved)
50+
if (isStatusDraftingToApproved)
4751
this.emailService.sendMenteePendingReviewAcceptedEmail({
4852
recipient: conProfile.props.email,
4953
firstName: conProfile.props.firstName,
5054
rediLocation: conProfile.props.rediLocation,
5155
})
52-
if (isStatusPendingToRejected)
56+
if (isStatusDraftingToRejected)
5357
this.emailService.sendPendingReviewDeclinedEmail({
5458
recipient: conProfile.props.email,
5559
firstName: conProfile.props.firstName,
@@ -58,13 +62,13 @@ export class ConProfilesSalesforceEventHandlerService {
5862
break
5963

6064
case UserType.MENTOR:
61-
if (isStatusPendingToApproved)
65+
if (isStatusDraftingToApproved)
6266
this.emailService.sendMentorPendingReviewAcceptedEmail({
6367
recipient: conProfile.props.email,
6468
firstName: conProfile.props.firstName,
6569
rediLocation: conProfile.props.rediLocation,
6670
})
67-
if (isStatusPendingToRejected)
71+
if (isStatusDraftingToRejected)
6872
this.emailService.sendPendingReviewDeclinedEmail({
6973
recipient: conProfile.props.email,
7074
firstName: conProfile.props.firstName,
@@ -87,7 +91,7 @@ export class ConProfilesSalesforceEventHandlerService {
8791
this.emailService.sendMenteeSignupCompleteEmail({
8892
recipient: conProfile.props.email,
8993
firstName: conProfile.props.firstName,
90-
rediLocation: conProfile.props.rediLocation
94+
rediLocation: conProfile.props.rediLocation,
9195
})
9296
break
9397

apps/nestjs-api/src/con-profiles/con-profiles.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { Injectable, NotFoundException } from '@nestjs/common'
22
import {
3-
ConnectProfileStatus,
43
ConProfileEntity,
54
ConProfileMapper,
5+
ConnectProfileStatus,
66
UserType,
77
} from '@talent-connect/common-types'
88
import { deleteUndefinedProperties } from '@talent-connect/shared-utils'
@@ -26,7 +26,7 @@ export class ConProfilesService {
2626
return await this.api.createConProfileForSignUp({
2727
userId: user.userId,
2828
loopbackUserId: user.loopbackUserId,
29-
profileStatus: ConnectProfileStatus.PENDING,
29+
profileStatus: ConnectProfileStatus.DRAFTING_PROFILE,
3030
rediLocation: input.rediLocation,
3131
userType: input.userType,
3232
menteeCountCapacity: input.userType === UserType.MENTOR ? 1 : 0,

apps/redi-connect/src/components/organisms/SideMenu.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ const SideMenu = () => {
3838
const isMentee = profile?.userType === UserType.Mentee
3939

4040
const isActivated = profile?.profileStatus === ConnectProfileStatus.Approved
41-
const isNotPending = profile?.profileStatus !== ConnectProfileStatus.Pending
41+
const isNotDrafting =
42+
profile?.profileStatus !== ConnectProfileStatus.DraftingProfile
4243

4344
const isActivatedMentor = isMentor && isActivated
4445

apps/redi-connect/src/components/templates/LoggedIn.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,13 +98,15 @@ function LoggedIn({ children }: Props) {
9898
className="column--main-content"
9999
>
100100
{profile?.userType === 'MENTEE' &&
101-
profile?.profileStatus === ConnectProfileStatus.Pending && (
101+
profile?.profileStatus ===
102+
ConnectProfileStatus.DraftingProfile && (
102103
<RediNotification>
103104
{t('loggedInArea.profile.notification.pendingMentee')}
104105
</RediNotification>
105106
)}
106107
{profile?.userType === 'MENTOR' &&
107-
profile?.profileStatus === ConnectProfileStatus.Pending && (
108+
profile?.profileStatus ===
109+
ConnectProfileStatus.DraftingProfile && (
108110
<RediNotification>
109111
{t('loggedInArea.profile.notification.pendingMentor')}
110112
</RediNotification>

libs/common-types/src/lib/con-profile/enums/connect-profile-status.enum.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { registerEnumType } from '@nestjs/graphql'
22

33
export enum ConnectProfileStatus {
4-
PENDING = 'PENDING',
4+
DRAFTING_PROFILE = 'DRAFTING_PROFILE',
5+
SUBMITTED_FOR_REVIEW = 'SUBMITTED_FOR_REVIEW',
56
APPROVED = 'APPROVED',
67
REJECTED = 'REJECTED',
78
DEACTIVATED = 'DEACTIVATED',

libs/data-access/src/lib/types/types.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,9 @@ export type ConProfileSignUpInput = {
185185
export enum ConnectProfileStatus {
186186
Approved = 'APPROVED',
187187
Deactivated = 'DEACTIVATED',
188-
Pending = 'PENDING',
189-
Rejected = 'REJECTED'
188+
DraftingProfile = 'DRAFTING_PROFILE',
189+
Rejected = 'REJECTED',
190+
SubmittedForReview = 'SUBMITTED_FOR_REVIEW'
190191
}
191192

192193
export type CreateConMentoringSessionInput = {

schema.graphql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,9 @@ input ConProfileSignUpInput {
158158
enum ConnectProfileStatus {
159159
APPROVED
160160
DEACTIVATED
161-
PENDING
161+
DRAFTING_PROFILE
162162
REJECTED
163+
SUBMITTED_FOR_REVIEW
163164
}
164165

165166
input CreateConMentoringSessionInput {

0 commit comments

Comments
 (0)