Skip to content

Commit

Permalink
feat: CE-357 (#46)
Browse files Browse the repository at this point in the history
Co-authored-by: cnesmithsalus <[email protected]>
Co-authored-by: afwilcox <[email protected]>
Co-authored-by: Mike <[email protected]>
  • Loading branch information
4 people authored Apr 13, 2024
1 parent f8617d0 commit 29aa5cc
Show file tree
Hide file tree
Showing 19 changed files with 910 additions and 198 deletions.
9 changes: 9 additions & 0 deletions backend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
"apollo-server-express": "^3.13.0",
"copyfiles": "^2.4.1",
"dotenv": "^16.0.1",
"geojson": "^0.5.0",
"graphql": "^16.8.1",
"graphql-ws": "^5.14.3",
"helmet": "^7.0.0",
Expand Down
18 changes: 9 additions & 9 deletions backend/prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -333,15 +333,15 @@ model configuration_h {

/// 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?
equipment_guid String @id(map: "PK_equipment_guid") @default(dbgenerated("uuid_generate_v4()")) @db.Uuid
equipment_code String? @db.VarChar(10)
equipment_location_desc String? @db.VarChar(120)
equipment_geometry_point Unsupported("geometry")?
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)
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")
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")
}
58 changes: 58 additions & 0 deletions backend/src/case_file/case_file.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ type CaseFile {
assessmentDetails: Assessment
preventionDetails: Prevention
note: Note
equipment: [EquipmentDetails]
isReviewRequired: Boolean
reviewComplete: ReviewCompleteAction
}
Expand All @@ -27,6 +28,7 @@ type Assessment {
}

type Action{
actionGuid: String
actor: String!
date: Date!
actionCode: String!
Expand Down Expand Up @@ -143,10 +145,66 @@ type Query {
type Mutation {
createAssessment(createAssessmentInput: CreateAssessmentInput!): CaseFile!
updateAssessment(updateAssessmentInput: UpdateAssessmentInput!): CaseFile!

createPrevention(createPreventionInput: CreatePreventionInput!): CaseFile!
updatePrevention(updatePreventionInput: UpdatePreventionInput!): CaseFile!

createReview(reviewInput: ReviewInput!): CaseFile!
updateReview(reviewInput: ReviewInput!): CaseFile!

createNote(input: CreateSupplementalNoteInput!): CaseFile!
updateNote(input: UpdateSupplementalNoteInput!): CaseFile!

createEquipment(createEquipmentInput: CreateEquipmentInput!): CaseFile!
updateEquipment(updateEquipmentInput: UpdateEquipmentInput!): CaseFile!
deleteEquipment(deleteEquipmentInput: DeleteEquipmentInput!): Boolean!
}

type EquipmentDetails {
equipmentGuid: String
equipmentTypeCode: String
equipmentTypeActiveIndicator: Boolean
address: String
xCoordinate: String
yCoordinate: String
actions: [Action]
}

input CreateEquipmentInput {
leadIdentifier: String
createUserId: String
agencyCode: String
caseCode: String
equipment: [EquipmentDetailsInput]
}

input UpdateEquipmentInput {
leadIdentifier: String
createUserId: String
agencyCode: String
caseCode: String
equipment: [EquipmentDetailsInput]
}

input DeleteEquipmentInput {
equipmentGuid: String!
updateUserId: String!
}

input EquipmentDetailsInput {
equipmentGuid: String
equipmentTypeCode: String
equipmentTypeActiveIndicator: Boolean
address: String
xCoordinate: String
yCoordinate: String
actions: [EquipmentActionInput]
}

input EquipmentActionInput {
actionGuid: String
date: Date
actor: String
activeIndicator: Boolean
actionCode: String
}
23 changes: 21 additions & 2 deletions backend/src/case_file/case_file.resolver.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import { Resolver, Query, Mutation, Args } from '@nestjs/graphql';
import { CaseFileService } from './case_file.service';
import { CreateAssessmentInput, CreatePreventionInput } from './dto/create-case_file.input';
import { UpdateAssessmentInput, UpdatePreventionInput } from './dto/update-case_file.input';
import { CreateAssessmentInput, CreateEquipmentInput, CreatePreventionInput } from './dto/create-case_file.input';
import { UpdateAssessmentInput, UpdateEquipmentInput, UpdatePreventionInput } from './dto/update-case_file.input';
import { JwtRoleGuard } from "../auth/jwtrole.guard";
import { UseGuards } from "@nestjs/common";
import { Role } from "../enum/role.enum";
import { Roles } from "../auth/decorators/roles.decorator";
import { ReviewInput } from './dto/review-input';
import { CreateSupplementalNoteInput } from './dto/supplemental-note/create-supplemental-note.input';
import { UpdateSupplementalNoteInput } from './dto/supplemental-note/update-supplemental-note.input';
import { DeleteEquipmentInput } from './dto/equipment/delete-equipment.input';

@UseGuards(JwtRoleGuard)
@Resolver('CaseFile')
Expand Down Expand Up @@ -57,6 +58,24 @@ export class CaseFileResolver {
return this.caseFileService.updatePrevention(updatePreventionInput.caseIdentifier, updatePreventionInput);
}

@Mutation('createEquipment')
@Roles(Role.COS_OFFICER)
createEquipment(@Args('createEquipmentInput') createEquipmentInput: CreateEquipmentInput) {
return this.caseFileService.createEquipment(createEquipmentInput);
}

@Mutation('updateEquipment')
@Roles(Role.COS_OFFICER)
updateEquipment(@Args('updateEquipmentInput') updateEquipmentInput: UpdateEquipmentInput) {
return this.caseFileService.updateEquipment(updateEquipmentInput);
}

@Mutation('deleteEquipment')
@Roles(Role.COS_OFFICER)
deleteEquipment(@Args('deleteEquipmentInput') deleteEquipmentInput: DeleteEquipmentInput) {
return this.caseFileService.deleteEquipment(deleteEquipmentInput);
}

@Mutation('updateReview')
@Roles(Role.COS_OFFICER)
updateReview(@Args('reviewInput') reviewInput: ReviewInput) {
Expand Down
Loading

0 comments on commit 29aa5cc

Please sign in to comment.