Skip to content

Commit

Permalink
New code table and validation rule for sampling agency
Browse files Browse the repository at this point in the history
  • Loading branch information
vmanawat committed Jan 9, 2025
1 parent 2108f64 commit 39d3a82
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 7 deletions.
9 changes: 9 additions & 0 deletions backend/prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -305,3 +305,12 @@ model aqi_tissue_types {
update_user_id String @db.VarChar(200)
update_utc_timestamp DateTime @db.Timestamp(6)
}

model aqi_sampling_agency {
aqi_sampling_agency_id String @id @db.Uuid
custom_id String @db.VarChar(200)
create_user_id String @db.VarChar(200)
create_utc_timestamp DateTime @db.Timestamp(6)
update_user_id String @db.VarChar(200)
update_utc_timestamp DateTime @db.Timestamp(6)
}
33 changes: 30 additions & 3 deletions backend/src/cron-job/cron-job.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ export class CronJobService {
["aqi_result_status", this.prisma.aqi_result_status],
["aqi_result_grade", this.prisma.aqi_result_grade],
["aqi_tissue_types", this.prisma.aqi_tissue_types],
["aqi_sampling_agency", this.prisma.aqi_sampling_agency],
["aqi_locations", this.prisma.aqi_locations],
["aqi_field_visits", this.prisma.aqi_field_visits],
["aqi_field_activities", this.prisma.aqi_field_activities],
Expand Down Expand Up @@ -117,6 +118,12 @@ export class CronJobService {
dbTable: "aqi_tissue_types",
paramsEnabled: false,
},
{
endpoint: "/v1/extendedattributes/65d94fac-aac5-498f-bc73-b63a322ce350/dropdownlistitems",
method: "GET",
dbTable: "aqi_sampling_agency",
paramsEnabled: false,
},
{
endpoint: "/v1/samplinglocations",
method: "GET",
Expand Down Expand Up @@ -193,6 +200,15 @@ export class CronJobService {
update_user_id: "EnMoDS",
update_utc_timestamp: new Date(),
};
case "aqi_sampling_agency":
return {
aqi_sampling_agency_id: record.id,
custom_id: record.customId,
create_user_id: "EnMoDS",
create_utc_timestamp: new Date(),
update_user_id: "EnMoDS",
update_utc_timestamp: new Date(),
};
case "aqi_field_visits":
return {
aqi_field_visit_start_time: new Date(record.startTime),
Expand Down Expand Up @@ -264,6 +280,15 @@ export class CronJobService {
update_user_id: "EnMoDS",
update_utc_timestamp: new Date(),
};
case "aqi_sampling_agency":
return {
aqi_sampling_agency_id: record.id,
custom_id: record.customId,
create_user_id: "EnMoDS",
create_utc_timestamp: new Date(),
update_user_id: "EnMoDS",
update_utc_timestamp: new Date(),
};
case "aqi_field_visits":
return {
[`${dbTable}_id`]: record.id,
Expand Down Expand Up @@ -501,7 +526,7 @@ export class CronJobService {
modificationTime,
};
};
const filterTissueTypes = (obj: any): any => {
const filterEELists = (obj: any): any => {
const { id, customId } = obj;
const create_user_id = "EnMoDs";
const create_utc_timestamp = new Date().toISOString();
Expand Down Expand Up @@ -531,9 +556,11 @@ export class CronJobService {
return array.map(filerAnalysisMethodAttributes);
} else if (
endpoint ==
"/v1/extendedattributes/6f7d5be0-f91a-4353-9d31-13983205cbe0/dropdownlistitems"
"/v1/extendedattributes/6f7d5be0-f91a-4353-9d31-13983205cbe0/dropdownlistitems" ||
endpoint ==
"/v1/extendedattributes/65d94fac-aac5-498f-bc73-b63a322ce350/dropdownlistitems"
) {
return array.map(filterTissueTypes);
return array.map(filterEELists);
} else {
return array.map(filterAttributes);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -870,12 +870,12 @@ export class FileParseValidateService {
let errorLog = `{"rowNum": ${index + 2}, "type": "ERROR", "message": {"Sampling Agency": "Cannot be empty"}}`;
errorLogs.push(JSON.parse(errorLog));
} else {
const present = await this.queryCodeTables("EXTENDED_ATTRIB", [
"Sampling Agency",
const present = await this.aqiService.databaseLookup(
"aqi_sampling_agency",
record.SamplingAgency,
]);
);
if (!present) {
let errorLog = `{"rowNum": ${index + 2}, "type": "ERROR", "message": {"Sampling Agency": "${record.SamplingAgency} not found in Sampling Agency Code Table"}}`;
let errorLog = `{"rowNum": ${index + 2}, "type": "ERROR", "message": {"Sampling Agency": "${record.SamplingAgency} not found in EnMoDS Sampling Agency"}}`;
errorLogs.push(JSON.parse(errorLog));
}
}
Expand Down
8 changes: 8 additions & 0 deletions migrations/sql/V1.0.3__create_code_tables.sql
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,14 @@ CREATE TABLE IF NOT EXISTS enmods.aqi_tissue_types(
update_user_id varchar(200) NOT NULL,
update_utc_timestamp timestamp NOT NULL
);
CREATE TABLE IF NOT EXISTS enmods.aqi_sampling_agency(
aqi_sampling_agency_id UUID PRIMARY KEY NOT NULL,
custom_id varchar(200) NOT NULL,
create_user_id varchar(200) NOT NULL,
create_utc_timestamp timestamp NOT NULL,
update_user_id varchar(200) NOT NULL,
update_utc_timestamp timestamp NOT NULL
);
CREATE TABLE IF NOT EXISTS enmods.aqi_field_visits(
aqi_field_visits_id UUID PRIMARY KEY NOT NULL,
aqi_field_visit_start_time timestamptz NOT NULL,
Expand Down

0 comments on commit 39d3a82

Please sign in to comment.