automatic apply on church jobs
This commit is contained in:
@@ -1836,6 +1836,62 @@ pub const QUERY_REJECT_CHURCH_APPLICATION: &str = r#"
|
||||
RETURNING id;
|
||||
"#;
|
||||
|
||||
pub const QUERY_GET_OLD_PENDING_CHURCH_APPLICATIONS: &str = r#"
|
||||
SELECT
|
||||
ca.id AS application_id,
|
||||
ca.office_type_id,
|
||||
ca.character_id,
|
||||
ca.region_id,
|
||||
ca.supervisor_id
|
||||
FROM falukant_data.church_application ca
|
||||
WHERE ca.status = 'pending'
|
||||
AND ca.created_at <= NOW() - INTERVAL '36 hours'
|
||||
ORDER BY ca.created_at ASC;
|
||||
"#;
|
||||
|
||||
pub const QUERY_AUTO_APPROVE_CHURCH_APPLICATION: &str = r#"
|
||||
WITH updated_application AS (
|
||||
UPDATE falukant_data.church_application
|
||||
SET status = 'approved',
|
||||
decision_date = NOW(),
|
||||
updated_at = NOW()
|
||||
WHERE id = $1
|
||||
AND status = 'pending'
|
||||
AND created_at <= NOW() - INTERVAL '36 hours'
|
||||
RETURNING
|
||||
office_type_id,
|
||||
character_id,
|
||||
region_id,
|
||||
supervisor_id
|
||||
),
|
||||
inserted_office AS (
|
||||
INSERT INTO falukant_data.church_office
|
||||
(office_type_id, character_id, region_id, supervisor_id, created_at, updated_at)
|
||||
SELECT
|
||||
office_type_id,
|
||||
character_id,
|
||||
region_id,
|
||||
supervisor_id,
|
||||
NOW(),
|
||||
NOW()
|
||||
FROM updated_application
|
||||
WHERE NOT EXISTS(
|
||||
SELECT 1
|
||||
FROM falukant_data.church_office co
|
||||
WHERE co.office_type_id = updated_application.office_type_id
|
||||
AND co.region_id = updated_application.region_id
|
||||
AND co.character_id = updated_application.character_id
|
||||
)
|
||||
RETURNING id, office_type_id, character_id, region_id
|
||||
)
|
||||
SELECT
|
||||
id AS office_id,
|
||||
office_type_id,
|
||||
character_id,
|
||||
region_id
|
||||
FROM inserted_office;
|
||||
"#;
|
||||
|
||||
pub const QUERY_CREATE_CHURCH_APPLICATION_JOB: &str = r#"
|
||||
INSERT INTO falukant_data.church_application
|
||||
(office_type_id, character_id, region_id, supervisor_id, status, created_at, updated_at)
|
||||
|
||||
Reference in New Issue
Block a user