Skip to content

Commit

Permalink
feat: CE-365 (#36)
Browse files Browse the repository at this point in the history
Co-authored-by: cnesmithsalus <[email protected]>
Co-authored-by: afwilcox <[email protected]>
  • Loading branch information
3 people authored Mar 25, 2024
1 parent 778f07b commit ee16eb2
Show file tree
Hide file tree
Showing 28 changed files with 726 additions and 120 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -119,4 +119,5 @@ test-report.xml
.vscode/

# Mac
.DS_Store
.DS_Store
backend/nr-compliance-enforcement-cm.code-workspace
82 changes: 55 additions & 27 deletions backend/prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -120,15 +120,16 @@ model sex_code {
}

model equipment_code {
equipment_code String @id(map: "PK_equipmntcd") @db.VarChar(10)
short_description String @db.VarChar(50)
long_description String? @db.VarChar(250)
display_order Int
active_ind Boolean
create_user_id String @db.VarChar(32)
create_utc_timestamp DateTime @db.Timestamp(6)
update_user_id String @db.VarChar(32)
update_utc_timestamp DateTime @db.Timestamp(6)
equipment_code String @id(map: "PK_equipmntcd") @db.VarChar(10)
short_description String @db.VarChar(50)
long_description String? @db.VarChar(250)
display_order Int
active_ind Boolean
create_user_id String @db.VarChar(32)
create_utc_timestamp DateTime @db.Timestamp(6)
update_user_id String @db.VarChar(32)
update_utc_timestamp DateTime @db.Timestamp(6)
equipment_equipment_equipment_codeToequipment_code equipment[] @relation("equipment_equipment_codeToequipment_code")
}

model threat_level_code {
Expand All @@ -144,35 +145,37 @@ model threat_level_code {
}

model configuration {
configuration_code String @id(map: "PK_configcode") @db.VarChar(10)
configuration_value String @db.VarChar(250)
long_description String? @db.VarChar(250)
configuration_code String @id(map: "configuration_pk") @db.VarChar(10)
configuration_value String @db.VarChar(250)
long_description String @db.VarChar(250)
active_ind Boolean
create_user_id String @db.VarChar(32)
create_utc_timestamp DateTime @db.Timestamp(6)
update_user_id String @db.VarChar(32)
update_utc_timestamp DateTime @db.Timestamp(6)
create_user_id String @db.VarChar(32)
create_utc_timestamp DateTime @db.Timestamp(6)
update_user_id String @db.VarChar(32)
update_utc_timestamp DateTime? @db.Timestamp(6)
}

/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
model action {
action_guid String @id(map: "PK_action_guid") @default(dbgenerated("uuid_generate_v4()")) @db.Uuid
case_guid String @db.Uuid
action_type_action_xref_guid String @db.Uuid
actor_guid String @db.Uuid
action_date DateTime @db.Timestamp(6)
action_guid String @id(map: "PK_action_guid") @default(dbgenerated("uuid_generate_v4()")) @db.Uuid
case_guid String @db.Uuid
action_type_action_xref_guid String @db.Uuid
actor_guid String @db.Uuid
action_date DateTime @db.Timestamp(6)
active_ind Boolean?
create_user_id String @db.VarChar(32)
create_utc_timestamp DateTime @db.Timestamp(6)
update_user_id String? @db.VarChar(32)
update_utc_timestamp DateTime? @db.Timestamp(6)
case_file case_file @relation(fields: [case_guid], references: [case_file_guid], onDelete: NoAction, onUpdate: NoAction, map: "FK_action__case_guid")
create_user_id String @db.VarChar(32)
create_utc_timestamp DateTime @db.Timestamp(6)
update_user_id String? @db.VarChar(32)
update_utc_timestamp DateTime? @db.Timestamp(6)
equipment_guid String? @db.Uuid
case_file case_file @relation(fields: [case_guid], references: [case_file_guid], onDelete: NoAction, onUpdate: NoAction, map: "FK_action__case_guid")
equipment equipment? @relation(fields: [equipment_guid], references: [equipment_guid], onDelete: NoAction, onUpdate: NoAction, map: "fk_action__equipment_guid")
}

/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
model action_code {
action_code String @id(map: "PK_action_code") @db.VarChar(10)
short_description String? @db.VarChar(50)
short_description String? @db.VarChar(250)
long_description String? @db.VarChar(250)
active_ind Boolean?
create_user_id String @db.VarChar(32)
Expand Down Expand Up @@ -313,3 +316,28 @@ model lead_h {
operation_executed_at DateTime @default(now()) @db.Timestamp(6)
data_after_executed_operation Json?
}

/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
model configuration_h {
h_configuration_guid String @id(map: "PK_h_configuration") @default(dbgenerated("uuid_generate_v4()")) @db.Uuid
target_row_id String @db.VarChar(10)
operation_type String @db.Char(1)
operation_user_id String @default(dbgenerated("CURRENT_USER")) @db.VarChar(32)
operation_executed_at DateTime @default(now()) @db.Timestamp(6)
data_after_executed_operation Json?
}

/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
model equipment {
equipment_guid String @id(map: "PK_equipment_guid") @db.Uuid
equipment_code String? @db.VarChar(10)
equipment_location_desc String? @db.VarChar(120)
equipment_geometry_point String?
active_ind Boolean
create_user_id String @db.VarChar(32)
create_utc_timestamp DateTime @db.Timestamp(6)
update_user_id String @db.VarChar(32)
update_utc_timestamp DateTime @db.Timestamp(6)
action action[]
equipment_code_equipment_equipment_codeToequipment_code equipment_code? @relation("equipment_equipment_codeToequipment_code", fields: [equipment_code], references: [equipment_code], onDelete: NoAction, onUpdate: NoAction, map: "fk_equipment__equipment_code")
}
2 changes: 2 additions & 0 deletions backend/src/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import { HWCRAssessmentActionModule } from "./hwcr_assessment_action/hwcr_assess
import { CaseFileModule } from "./case_file/case_file.module";
import { InactionJustificationTypeModule } from "./inaction_justification_type/inaction_justification_type.module";
import { DateScalar } from "./common/custom_scalars";
import { HWCRPreventionActionModule } from "./hwcr_prevention_action/hwcr_prevention_action.module";

@Module({
imports: [
Expand All @@ -45,6 +46,7 @@ import { DateScalar } from "./common/custom_scalars";
HwcrOutcomeCodeModule,
ConfigurationModule,
HWCRAssessmentActionModule,
HWCRPreventionActionModule,
CaseFileModule,
InactionJustificationTypeModule
],
Expand Down
4 changes: 0 additions & 4 deletions backend/src/auth/jwtauth.guard.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,6 @@ export class JwtAuthGuard extends AuthGuard('jwt') {
context.getClass,
]);

// Log controller/route information before the isPublic check
this.logger.debug(`Executing ${className}.${handler.name}`);
this.logger.debug(`isPublic? ${isPublic}`);

if (isPublic) {
return true;
} else {
Expand Down
45 changes: 45 additions & 0 deletions backend/src/case_file/case_file.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ type CaseFile {
caseIdentifier : String
leadIdentifier: String
assessmentDetails: Assessment
preventionDetails: Prevention
}

type Assessment {
Expand Down Expand Up @@ -54,6 +55,47 @@ input UpdateAssessmentInput {
updateUserId: String!
}

type Prevention {
actions: [PreventionAction]
}

type PreventionAction{
actor: String!
date: Date!
actionCode: String!
shortDescription: String
longDescription: String
activeIndicator: Boolean
}

input CreatePreventionInput {
leadIdentifier: String
preventionDetails: PreventionDetailsInput!
agencyCode: String!
caseCode: String!
createUserId: String!
}

input PreventionDetailsInput {
actions: [PreventionActionInput]!
}

input PreventionActionInput{
actor: String!
date: Date!
actionCode: String!
activeIndicator: Boolean!
}

input UpdatePreventionInput {
caseIdentifier: String!
leadIdentifier: String
preventionDetails: PreventionDetailsInput!
agencyCode: String!
caseCode: String!
updateUserId: String!
}

type Query {
getCaseFile( caseIdentifier: String!): CaseFile
getCaseFileByLeadId( leadIdentifier: String!): CaseFile
Expand All @@ -62,4 +104,7 @@ type Query {
type Mutation {
createAssessment(createAssessmentInput: CreateAssessmentInput!): CaseFile!
updateAssessment(updateAssessmentInput: UpdateAssessmentInput!): CaseFile!

createPrevention(createPreventionInput: CreatePreventionInput!): CaseFile!
updatePrevention(updatePreventionInput: UpdatePreventionInput!): CaseFile!
}
24 changes: 18 additions & 6 deletions backend/src/case_file/case_file.resolver.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Resolver, Query, Mutation, Args } from '@nestjs/graphql';
import { CaseFileService } from './case_file.service';
import { CreateAssessmentInput } from './dto/create-case_file.input';
import { UpdateAssessmentInput } from './dto/update-case_file.input';
import { CreateAssessmentInput, CreatePreventionInput } from './dto/create-case_file.input';
import { UpdateAssessmentInput, UpdatePreventionInput } from './dto/update-case_file.input';
import { JwtRoleGuard } from "../auth/jwtrole.guard";
import { UseGuards } from "@nestjs/common";
import { Role } from "../enum/role.enum";
Expand All @@ -14,8 +14,14 @@ export class CaseFileResolver {

@Mutation('createAssessment')
@Roles(Role.COS_OFFICER)
create(@Args('createAssessmentInput') createAssessmentInput: CreateAssessmentInput) {
return this.caseFileService.create(createAssessmentInput);
createAssessment(@Args('createAssessmentInput') createAssessmentInput: CreateAssessmentInput) {
return this.caseFileService.createAssessment(createAssessmentInput);
}

@Mutation('createPrevention')
@Roles(Role.COS_OFFICER)
createPrevention(@Args('createPreventionInput') createPreventionInput: CreatePreventionInput) {
return this.caseFileService.createPrevention(createPreventionInput);
}

@Query('getCaseFile')
Expand All @@ -32,8 +38,14 @@ export class CaseFileResolver {

@Mutation('updateAssessment')
@Roles(Role.COS_OFFICER)
update(@Args('updateAssessmentInput') updateAssessmentInput: UpdateAssessmentInput) {
return this.caseFileService.update(updateAssessmentInput.caseIdentifier, updateAssessmentInput);
updateAssessment(@Args('updateAssessmentInput') updateAssessmentInput: UpdateAssessmentInput) {
return this.caseFileService.updateAssessment(updateAssessmentInput.caseIdentifier, updateAssessmentInput);
}

@Mutation('updatePrevention')
@Roles(Role.COS_OFFICER)
updatePrevention(@Args('updatePreventionInput') updatePreventionInput: UpdatePreventionInput) {
return this.caseFileService.updatePrevention(updatePreventionInput.caseIdentifier, updatePreventionInput);
}

}
Loading

0 comments on commit ee16eb2

Please sign in to comment.