Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: ce 356 update and save hwc complaint assessment information #32

160 changes: 160 additions & 0 deletions backend/prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -142,3 +142,163 @@ model threat_level_code {
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)
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")
}

/// 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)
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)
action_type_action_xref_action_type_action_xref_action_codeToaction_code action_type_action_xref[] @relation("action_type_action_xref_action_codeToaction_code")
}

/// 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_h {
h_action_guid String @id(map: "PK_h_action") @default(dbgenerated("uuid_generate_v4()")) @db.Uuid
target_row_id String @db.Uuid
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 action_type_action_xref {
action_type_action_xref_guid String @id(map: "PK_action_type_action_xref_guid") @default(dbgenerated("uuid_generate_v4()")) @db.Uuid
action_type_code String @db.VarChar(10)
action_code String @db.VarChar(10)
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)
action_code_action_type_action_xref_action_codeToaction_code action_code @relation("action_type_action_xref_action_codeToaction_code", fields: [action_code], references: [action_code], onDelete: NoAction, onUpdate: NoAction, map: "FK_action_type_action_xref__action_code")
action_type_code_action_type_action_xref_action_type_codeToaction_type_code action_type_code @relation("action_type_action_xref_action_type_codeToaction_type_code", fields: [action_type_code], references: [action_type_code], onDelete: NoAction, onUpdate: NoAction, map: "FK_action_type_action_xref__action_type_code")
}

/// 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_type_code {
action_type_code String @id(map: "PK_action_type_code") @db.VarChar(10)
short_description String? @db.VarChar(50)
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)
action_type_action_xref_action_type_action_xref_action_type_codeToaction_type_code action_type_action_xref[] @relation("action_type_action_xref_action_type_codeToaction_type_code")
}

/// 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 agency_code {
agency_code String @id(map: "PK_agency_code") @db.VarChar(10)
short_description String? @db.VarChar(50)
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)
case_file case_file[]
inaction_reason_code_inaction_reason_code_agency_codeToagency_code inaction_reason_code[] @relation("inaction_reason_code_agency_codeToagency_code")
}

/// 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 case_code {
case_code String @id(map: "PK_case_code") @db.VarChar(10)
short_description String? @db.VarChar(50)
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)
case_file_case_file_case_codeTocase_code case_file[] @relation("case_file_case_codeTocase_code")
}

/// 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 case_file {
case_file_guid String @id(map: "PK_case_file_guid") @default(dbgenerated("uuid_generate_v4()")) @db.Uuid
case_code String @db.VarChar(10)
owned_by_agency_code String @db.VarChar(10)
inaction_reason_code String? @db.VarChar(10)
action_not_required_ind Boolean?
note_text String? @db.VarChar(4000)
review_required_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[]
case_code_case_file_case_codeTocase_code case_code @relation("case_file_case_codeTocase_code", fields: [case_code], references: [case_code], onDelete: NoAction, onUpdate: NoAction, map: "FK_case_file__case_code")
inaction_reason_code_case_file_inaction_reason_codeToinaction_reason_code inaction_reason_code? @relation("case_file_inaction_reason_codeToinaction_reason_code", fields: [inaction_reason_code], references: [inaction_reason_code], onDelete: NoAction, onUpdate: NoAction, map: "FK_case_file__inaction_reason_code")
agency_code agency_code @relation(fields: [owned_by_agency_code], references: [agency_code], onDelete: NoAction, onUpdate: NoAction, map: "FK_case_file__owned_by_agency_code")
lead lead[]
}

/// 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 case_file_h {
h_case_file_guid String @id(map: "PK_h_case_file") @default(dbgenerated("uuid_generate_v4()")) @db.Uuid
target_row_id String @db.Uuid
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 inaction_reason_code {
inaction_reason_code String @id(map: "PK_inaction_reason_code") @db.VarChar(10)
agency_code String @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)
case_file_case_file_inaction_reason_codeToinaction_reason_code case_file[] @relation("case_file_inaction_reason_codeToinaction_reason_code")
agency_code_inaction_reason_code_agency_codeToagency_code agency_code @relation("inaction_reason_code_agency_codeToagency_code", fields: [agency_code], references: [agency_code], onDelete: NoAction, onUpdate: NoAction, map: "FK_inaction_reason_code__agency_code")
}

/// 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 lead {
lead_identifier String @id(map: "PK_lead_identifier") @db.VarChar(20)
case_identifier String @db.Uuid
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_identifier], references: [case_file_guid], onDelete: NoAction, onUpdate: NoAction, map: "FK_lead__case_identifier")
}

/// 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 lead_h {
h_lead_guid String @id(map: "PK_h_lead") @default(dbgenerated("uuid_generate_v4()")) @db.Uuid
target_row_id String @db.VarChar(20)
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?
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
type ActionTypeActionXref {
action_type_code: String!
action_code: String!
display_order: Int
active_ind: Boolean
}

type Query {
getActionTypeActionXrefs (action_type_code: String): [ActionTypeActionXref]!
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { Module } from '@nestjs/common';
import { ActionTypeActionXrefService } from './action_type_action_xref.service';
import { ActionTypeActionXrefResolver } from './action_type_action_xref.resolver';
import { PrismaModule } from 'nestjs-prisma';

@Module({
imports: [PrismaModule],
providers: [ActionTypeActionXrefResolver, ActionTypeActionXrefService],
})
export class ActionTypeActionXrefModule {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { Test, TestingModule } from '@nestjs/testing';
import { ActionTypeActionXrefResolver } from './action_type_action_xref.resolver';
import { ActionTypeActionXrefService } from './action_type_action_xref.service';
import { PrismaModule } from 'nestjs-prisma';

describe('ActionTypeActionXrefResolver', () => {
let resolver: ActionTypeActionXrefResolver;

beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
imports: [PrismaModule],
providers: [ActionTypeActionXrefResolver, ActionTypeActionXrefService],
}).compile();

resolver = module.get<ActionTypeActionXrefResolver>(ActionTypeActionXrefResolver);
});

it('should be defined', () => {
expect(resolver).toBeDefined();
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { Resolver, Query, Mutation, Args } from '@nestjs/graphql';
import { ActionTypeActionXrefService } from './action_type_action_xref.service';
import { JwtRoleGuard } from "../auth/jwtrole.guard";
import { UseGuards } from "@nestjs/common";
import { Role } from "../enum/role.enum";
import { Roles } from "../auth/decorators/roles.decorator";

@UseGuards(JwtRoleGuard)
@Resolver('ActionTypeActionXref')
export class ActionTypeActionXrefResolver {
constructor(private readonly actionTypeActionXrefService: ActionTypeActionXrefService) {}

@Query('getActionTypeActionXrefs')
@Roles(Role.COS_OFFICER)
find(@Args('action_type_code') action_type_code ?: string) {
return this.actionTypeActionXrefService.find(action_type_code);
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { Test, TestingModule } from '@nestjs/testing';
import { ActionTypeActionXrefService } from './action_type_action_xref.service';
import { PrismaModule } from 'nestjs-prisma';

describe('ActionTypeActionXrefService', () => {
let service: ActionTypeActionXrefService;

beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
imports: [PrismaModule],
providers: [ActionTypeActionXrefService],
}).compile();

service = module.get<ActionTypeActionXrefService>(ActionTypeActionXrefService);
});

it('should be defined', () => {
expect(service).toBeDefined();
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { Injectable } from '@nestjs/common';
import { PrismaService } from "nestjs-prisma";

@Injectable()
export class ActionTypeActionXrefService {
constructor(private prisma: PrismaService) {}

find(action_type_code? : string) {
const dataContext = this.prisma.action_type_action_xref;
return action_type_code ? dataContext.findMany( { where: { action_type_code: action_type_code } })
: dataContext.findMany() ;

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export class CreateActionTypeActionXrefInput {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { CreateActionTypeActionXrefInput } from './create-action_type_action_xref.input';
import { PartialType } from '@nestjs/mapped-types';

export class UpdateActionTypeActionXrefInput extends PartialType(CreateActionTypeActionXrefInput) {
id: number;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export class ActionTypeActionXref {}
9 changes: 8 additions & 1 deletion backend/src/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ import { DrugCodeModule } from './drug_code/drug_code.module';
import { DrugMethodCodeModule } from './drug_method_code/drug_method_code.module';
import { DrugRemainingOutcomeCodeModule } from './drug_remaining_outcome_code/drug_remaining_outcome_code.module';
import { HwcrOutcomeCodeModule } from './hwcr_outcome_code/hwcr_outcome_code.module';
import { ActionTypeActionXrefModule } from "./action_type_action_xref/action_type_action_xref.module";
import { CaseFileModule } from "./case_file/case_file.module";
import { InactionReasonCodeModule } from "./inaction_reason_code/inaction_reason_code.module";
import { DateScalar } from "./common/custom_scalars";

@Module({
imports: [
Expand All @@ -38,9 +42,12 @@ import { HwcrOutcomeCodeModule } from './hwcr_outcome_code/hwcr_outcome_code.mod
DrugMethodCodeModule,
DrugRemainingOutcomeCodeModule,
HwcrOutcomeCodeModule,
ActionTypeActionXrefModule,
CaseFileModule,
InactionReasonCodeModule
],
controllers: [AppController],
providers: [AppService],
providers: [AppService, DateScalar],
})
export class AppModule { // let's add a middleware on all routes
configure(consumer: MiddlewareConsumer) {
Expand Down
Loading