Skip to content

Commit

Permalink
Convert generic table "id" name values
Browse files Browse the repository at this point in the history
* BHBC-1173
  - introduced survey_status view to encapsulate business rules for determining status of survey_status
  - incorporated survey status into occurrence submission, survey delete and project delete db api functions
  - chained occurrence submission, survey delete and project delete db api functions
  - introduced db api function api_user_is_administrator
  - introduced db api functions api_get_character_system_constant and api_get_numeric_system_constant
  - various data integrity checks

* BHBC-1197
  - data model changes to rename primary key from generic "id" to "table_name_id"
  - adjust all foreign keys to reflect to primary key names
  - adjust all API calls to reflect primary key names using aliases to shield front end apps

* BHBC-1197
  - data model changes to rename primary key from generic "id" to "table_name_id"
  - adjust all foreign keys to reflect to primary key names
  - adjust all API calls to reflect primary key names using aliases to shield front end apps
  - model addition of system user to permits relationship

* - model additions to add system user association with permit

* - adjusted seed to new primary key names

* - missed id fields adjusted

* - fixing more id names

* fix test

* - removing system user to permit association (push to another effort)

* fixes

* build

* - removed test users that were using security layer system roles as the security layer was pulled from the pr

Co-authored-by: charlie garrett-jones <charlie.garrettjones@bayseumcom>
Co-authored-by: Shreyas Devalapurkar <[email protected]>
  • Loading branch information
3 people authored Jul 15, 2021
1 parent abf97dd commit d5de78b
Show file tree
Hide file tree
Showing 83 changed files with 1,696 additions and 2,689 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ export const getAdministrativeActivitiesSQL = (

const sqlStatement = SQL`
SELECT
aa.id as id,
aat.id as type,
aa.administrative_activity_id as id,
aat.administrative_activity_type_id as type,
aat.name as type_name,
aast.id as status,
aast.administrative_activity_status_type_id as status,
aast.name as status_name,
aa.description,
aa.data,
Expand All @@ -36,11 +36,11 @@ export const getAdministrativeActivitiesSQL = (
LEFT OUTER JOIN
administrative_activity_status_type aast
ON
aa.aast_id = aast.id
aa.administrative_activity_status_type_id = aast.administrative_activity_status_type_id
LEFT OUTER JOIN
administrative_activity_type aat
ON
aa.aat_id = aat.id
aa.administrative_activity_type_id = aat.administrative_activity_type_id
WHERE
1 = 1
`;
Expand Down Expand Up @@ -102,9 +102,9 @@ export const postAdministrativeActivitySQL = (systemUserId: number, data: unknow

const sqlStatement: SQLStatement = SQL`
INSERT INTO administrative_activity (
reported_su_id,
aat_id,
aast_id,
reported_system_user_id,
administrative_activity_type_id,
administrative_activity_status_type_id,
data
) VALUES (
${systemUserId},
Expand All @@ -113,7 +113,7 @@ export const postAdministrativeActivitySQL = (systemUserId: number, data: unknow
${data}
)
RETURNING
id,
administrative_activity_id as id,
create_date::timestamptz
`;

Expand Down Expand Up @@ -147,7 +147,7 @@ export const countPendingAdministrativeActivitiesSQL = (userIdentifier: string):
LEFT OUTER JOIN
administrative_activity_status_type aast
ON
aa.aast_id = aast.id
aa.administrative_activity_status_type_id = aast.administrative_activity_status_type_id
WHERE
(aa.data -> 'username')::text = '"' || ${userIdentifier} || '"'
AND aast.name = 'Pending';
Expand Down Expand Up @@ -189,11 +189,11 @@ export const putAdministrativeActivitySQL = (
UPDATE
administrative_activity
SET
aast_id = ${administrativeActivityStatusTypeId}
administrative_activity_status_type_id = ${administrativeActivityStatusTypeId}
WHERE
id = ${administrativeActivityId}
administrative_activity_id = ${administrativeActivityId}
RETURNING
id;
administrative_activity_id as id;
`;

defaultLog.debug({
Expand Down
28 changes: 15 additions & 13 deletions api/src/queries/codes/code-queries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,89 +5,91 @@ import { SQL, SQLStatement } from 'sql-template-strings';
*
* @returns {SQLStatement} sql query object
*/
export const getManagementActionTypeSQL = (): SQLStatement => SQL`SELECT id, name from management_action_type;`;
export const getManagementActionTypeSQL = (): SQLStatement =>
SQL`SELECT management_action_type_id as id, name from management_action_type;`;

/**
* SQL query to fetch first nation codes.
*
* @returns {SQLStatement} sql query object
*/
export const getFirstNationsSQL = (): SQLStatement => SQL`SELECT id, name from first_nations;`;
export const getFirstNationsSQL = (): SQLStatement => SQL`SELECT first_nations_id as id, name from first_nations;`;

/**
* SQL query to fetch funding source codes.
*
* @returns {SQLStatement} sql query object
*/
export const getFundingSourceSQL = (): SQLStatement => SQL`SELECT id, name from funding_source;`;
export const getFundingSourceSQL = (): SQLStatement => SQL`SELECT funding_source_id as id, name from funding_source;`;

/**
* SQL query to fetch proprietor type codes.
*
* @returns {SQLStatement} sql query object
*/
export const getProprietorTypeSQL = (): SQLStatement => SQL`SELECT id, name from proprietor_type;`;
export const getProprietorTypeSQL = (): SQLStatement =>
SQL`SELECT proprietor_type_id as id, name from proprietor_type;`;

/**
* SQL query to fetch activity codes.
*
* @returns {SQLStatement} sql query object
*/
export const getActivitySQL = (): SQLStatement => SQL`SELECT id, name from activity;`;
export const getActivitySQL = (): SQLStatement => SQL`SELECT activity_id as id, name from activity;`;

/**
* SQL query to fetch project type codes.
*
* @returns {SQLStatement} sql query object
*/
export const getProjectTypeSQL = (): SQLStatement => SQL`SELECT id, name from project_type;`;
export const getProjectTypeSQL = (): SQLStatement => SQL`SELECT project_type_id as id, name from project_type;`;

/**
* SQL query to fetch investment action category codes.
*
* @returns {SQLStatement} sql query object
*/
export const getInvestmentActionCategorySQL = (): SQLStatement =>
SQL`SELECT id, fs_id, name from investment_action_category;`;
SQL`SELECT investment_action_category_id as id, funding_source_id as fs_id, name from investment_action_category;`;

/**
* SQL query to fetch IUCN conservation action level 1 classification codes.
*
* @returns {SQLStatement} sql query object
*/
export const getIUCNConservationActionLevel1ClassificationSQL = (): SQLStatement =>
SQL`SELECT id, name from iucn_conservation_action_level_1_classification;`;
SQL`SELECT iucn_conservation_action_level_1_classification_id as id, name from iucn_conservation_action_level_1_classification;`;

/**
* SQL query to fetch IUCN conservation action level 2 sub-classification codes.
*
* @returns {SQLStatement} sql query object
*/
export const getIUCNConservationActionLevel2SubclassificationSQL = (): SQLStatement =>
SQL`SELECT id, iucn1_id, name from iucn_conservation_action_level_2_subclassification;`;
SQL`SELECT iucn_conservation_action_level_2_subclassification_id as id, iucn_conservation_action_level_1_classification_id as iucn1_id, name from iucn_conservation_action_level_2_subclassification;`;

/**
* SQL query to fetch IUCN conservation action level 3 sub-classification codes.
*
* @returns {SQLStatement} sql query object
*/
export const getIUCNConservationActionLevel3SubclassificationSQL = (): SQLStatement =>
SQL`SELECT id, iucn2_id, name from iucn_conservation_action_level_3_subclassification;`;
SQL`SELECT iucn_conservation_action_level_3_subclassification_id as id, iucn_conservation_action_level_2_subclassification_id as iucn2_id, name from iucn_conservation_action_level_3_subclassification;`;

/**
* SQL query to fetch system role codes.
*
* @returns {SQLStatement} sql query object
*/
export const getSystemRolesSQL = (): SQLStatement => SQL`SELECT id, name from system_role;`;
export const getSystemRolesSQL = (): SQLStatement => SQL`SELECT system_role_id as id, name from system_role;`;

/**
* SQL query to fetch administrative activity status type codes.
*
* @returns {SQLStatement} sql query object
*/
export const getAdministrativeActivityStatusTypeSQL = (): SQLStatement =>
SQL`SELECT id, name FROM administrative_activity_status_type;`;
SQL`SELECT administrative_activity_status_type_id as id, name FROM administrative_activity_status_type;`;

/**
* SQL query to fetch taxon codes.
Expand All @@ -97,7 +99,7 @@ export const getAdministrativeActivityStatusTypeSQL = (): SQLStatement =>
export const getTaxonsSQL = (): SQLStatement =>
SQL`
SELECT
id,
wldtaxonomic_units_id as id,
CASE
WHEN english_name IS NULL THEN unit_name2
ELSE CONCAT(english_name, ' - ', unit_name2)
Expand Down
18 changes: 9 additions & 9 deletions api/src/queries/draft-queries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export const postDraftSQL = (systemUserId: number, name: string, data: unknown):

const sqlStatement: SQLStatement = SQL`
INSERT INTO webform_draft (
su_id,
system_user_id,
name,
data
) VALUES (
Expand All @@ -29,7 +29,7 @@ export const postDraftSQL = (systemUserId: number, name: string, data: unknown):
${data}
)
RETURNING
id,
webform_draft_id as id,
create_date::timestamptz,
update_date::timestamptz;
`;
Expand Down Expand Up @@ -66,9 +66,9 @@ export const putDraftSQL = (id: number, name: string, data: unknown): SQLStateme
name = ${name},
data = ${data}
WHERE
id = ${id}
webform_draft_id = ${id}
RETURNING
id,
webform_draft_id as id,
create_date::timestamptz,
update_date::timestamptz;
`;
Expand Down Expand Up @@ -98,12 +98,12 @@ export const getDraftsSQL = (systemUserId: number): SQLStatement | null => {

const sqlStatement: SQLStatement = SQL`
SELECT
id,
webform_draft_id as id,
name
FROM
webform_draft
WHERE
su_id = ${systemUserId};
system_user_id = ${systemUserId};
`;

defaultLog.debug({
Expand Down Expand Up @@ -131,13 +131,13 @@ export const getDraftSQL = (draftId: number): SQLStatement | null => {

const sqlStatement: SQLStatement = SQL`
SELECT
id,
webform_draft_id as id,
name,
data
FROM
webform_draft
WHERE
id = ${draftId};
webform_draft_id = ${draftId};
`;

defaultLog.debug({
Expand Down Expand Up @@ -165,7 +165,7 @@ export const deleteDraftSQL = (draftId: number): SQLStatement | null => {

const sqlStatement: SQLStatement = SQL`
DELETE from webform_draft
WHERE id = ${draftId};
WHERE webform_draft_id = ${draftId};
`;

defaultLog.debug({
Expand Down
4 changes: 2 additions & 2 deletions api/src/queries/observation/observation-create-queries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export const postBlockObservationSQL = (
const sqlStatement: SQLStatement = SQL`
INSERT INTO block_observation (
b_id,
s_id,
survey_id,
start_datetime,
end_datetime,
observation_cnt,
Expand All @@ -38,7 +38,7 @@ export const postBlockObservationSQL = (
${observationPostData.observation_data}
)
RETURNING
id
block_observation_id
`;

defaultLog.debug({
Expand Down
6 changes: 3 additions & 3 deletions api/src/queries/observation/observation-update-queries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ export const getBlockObservationSQL = (observationId: number): SQLStatement | nu

const sqlStatement = SQL`
SELECT
id,
block_observation_id,
data,
revision_count
FROM
block_observation
WHERE
id = ${observationId};
block_observation_id = ${observationId};
`;

defaultLog.debug({
Expand Down Expand Up @@ -70,7 +70,7 @@ export const updateBlockObservationSQL = (observationId: number, observationData
observation_cnt = ${observationData.observation_count},
data = ${observationData.observation_data}
WHERE
id = ${observationId}
block_observation_id = ${observationId}
AND
revision_count = ${observationData.revision_count}
`;
Expand Down
4 changes: 2 additions & 2 deletions api/src/queries/observation/observation-view-queries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ export const getBlockObservationListSQL = (surveyId: number): SQLStatement | nul

const sqlStatement = SQL`
SELECT
id,
block_observation_id,
b_id,
observation_cnt,
start_datetime,
end_datetime
FROM
block_observation
WHERE
s_id = ${surveyId};
survey_id = ${surveyId};
`;

defaultLog.debug({
Expand Down
6 changes: 3 additions & 3 deletions api/src/queries/occurrence/occurrence-create-queries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@ export const postOccurrenceSubmissionSQL = (surveyId: number): SQLStatement | nu

const sqlStatement: SQLStatement = SQL`
INSERT INTO occurrence_submission (
s_id,
survey_id,
source,
event_timestamp
) VALUES (
${surveyId},
${source},
now()
) returning id;
) returning occurrence_submission_id as id;
`;

defaultLog.debug({
Expand All @@ -54,7 +54,7 @@ export const postOccurrenceSQL = (occurrenceSubmissionId: number, occurrence: Po

const sqlStatement: SQLStatement = SQL`
INSERT INTO occurrence (
os_id,
occurrence_submission_id,
associatedtaxa,
lifestage,
data,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export const postPermitNoSamplingSQL = (
${noSamplePermit.coordinator_agency}
)
RETURNING
id;
permit_id as id;
`;

defaultLog.debug({
Expand Down
Loading

0 comments on commit d5de78b

Please sign in to comment.