-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Split charging data job; rtns, mod logs and other (#1018)
https://eaflood.atlassian.net/browse/WATER-4654 > Part of the work to migrate management of return requirements from NALD to WRLS For reasons detailed in [Add return requirements clean up step to import](#1017), we need to add a new step to the existing 'charging-data' job. But the job itself is already a bit of a mess. - it is called 'charging-data' but doesn't do that any more - it brings in fixed reference data, return versions and mod logs all in one go We know this will soon be ditched, but it is a right-old mess. We could stop some of the stuff right now and split out the rest to make it clearer which bit is doing what. This wouldn't be much more effort than slotting a new step into the mess. So, in this change, we perform some much-needed tidying up of the 'charging-data job'. This should make the change in PR #1017 much easier!
- Loading branch information
1 parent
a8ccfde
commit 74009d8
Showing
18 changed files
with
224 additions
and
69 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
'use strict' | ||
|
||
const ImportJob = require('./jobs/import.js') | ||
|
||
async function importModLogs (request, h) { | ||
await request.messageQueue.deleteQueue(ImportJob.JOB_NAME) | ||
await request.messageQueue.publish(ImportJob.createMessage()) | ||
|
||
return h.response().code(204) | ||
} | ||
|
||
module.exports = { | ||
importModLogs | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
'use strict' | ||
|
||
const { pool } = require('../../../lib/connectors/db.js') | ||
const Queries = require('../lib/queries.js') | ||
|
||
const JOB_NAME = 'mod-logs.import' | ||
|
||
function createMessage () { | ||
return { | ||
name: JOB_NAME, | ||
options: { | ||
singletonKey: JOB_NAME | ||
} | ||
} | ||
} | ||
|
||
async function handler () { | ||
try { | ||
global.GlobalNotifier.omg(`${JOB_NAME}: started`) | ||
|
||
await pool.query(Queries.importModLogs) | ||
await pool.query(Queries.linkLicencesToModLogs) | ||
await pool.query(Queries.linkChargeVersionsToModLogs) | ||
await pool.query(Queries.linkLicenceVersionsToModLogs) | ||
await pool.query(Queries.linkReturnVersionsToModLogs) | ||
await pool.query(Queries.updateReturnVersionReasons) | ||
} catch (error) { | ||
global.GlobalNotifier.omfg(`${JOB_NAME}: errored`, error) | ||
throw error | ||
} | ||
} | ||
|
||
async function onComplete (job) { | ||
if (!job.failed) { | ||
global.GlobalNotifier.omg(`${JOB_NAME}: finished`) | ||
} else { | ||
global.GlobalNotifier.omg(`${JOB_NAME}: failed`) | ||
} | ||
} | ||
|
||
module.exports = { | ||
JOB_NAME, | ||
createMessage, | ||
handler, | ||
onComplete | ||
} |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
'use strict' | ||
|
||
const cron = require('node-cron') | ||
|
||
const ImportJob = require('./jobs/import.js') | ||
|
||
const config = require('../../../config') | ||
|
||
async function register (server, _options) { | ||
// Register import mod logs job | ||
await server.messageQueue.subscribe(ImportJob.JOB_NAME, ImportJob.handler) | ||
await server.messageQueue.onComplete(ImportJob.JOB_NAME, (executedJob) => { | ||
return ImportJob.onComplete(executedJob) | ||
}) | ||
|
||
// Set up import on cron job | ||
cron.schedule(config.import.modLogs.schedule, async () => { | ||
await server.messageQueue.publish(ImportJob.createMessage()) | ||
}) | ||
} | ||
|
||
module.exports = { | ||
plugin: { | ||
name: 'importModLogs', | ||
dependencies: ['pgBoss'], | ||
register | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
'use strict' | ||
|
||
const controller = require('./controller') | ||
|
||
const routes = [ | ||
{ | ||
method: 'post', | ||
handler: controller.importModLogs, | ||
path: '/import/mod-logs' | ||
} | ||
] | ||
|
||
module.exports = routes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
'use strict' | ||
|
||
const ImportJob = require('./jobs/import.js') | ||
|
||
async function importReturnVersions (request, h) { | ||
await request.messageQueue.deleteQueue(ImportJob.JOB_NAME) | ||
await request.messageQueue.publish(ImportJob.createMessage()) | ||
|
||
return h.response().code(204) | ||
} | ||
|
||
module.exports = { | ||
importReturnVersions | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
'use strict' | ||
|
||
const { pool } = require('../../../lib/connectors/db.js') | ||
const Queries = require('../lib/queries.js') | ||
|
||
const JOB_NAME = 'return-versions.import' | ||
|
||
function createMessage () { | ||
return { | ||
name: JOB_NAME, | ||
options: { | ||
singletonKey: JOB_NAME | ||
} | ||
} | ||
} | ||
|
||
async function handler () { | ||
try { | ||
global.GlobalNotifier.omg(`${JOB_NAME}: started`) | ||
|
||
await pool.query(Queries.importReturnVersions) | ||
await pool.query(Queries.importReturnRequirements) | ||
await pool.query(Queries.importReturnRequirementPoints) | ||
await pool.query(Queries.importReturnRequirementPurposes) | ||
await pool.query(Queries.importReturnVersionsMultipleUpload) | ||
await pool.query(Queries.importReturnVersionsCreateNotesFromDescriptions) | ||
await pool.query(Queries.importReturnVersionsCorrectStatusForWrls) | ||
await pool.query(Queries.importReturnVersionsSetToDraftMissingReturnRequirements) | ||
await pool.query(Queries.importReturnVersionsAddMissingReturnVersionEndDates) | ||
} catch (error) { | ||
global.GlobalNotifier.omfg(`${JOB_NAME}: errored`, error) | ||
throw error | ||
} | ||
} | ||
|
||
async function onComplete (job) { | ||
if (!job.failed) { | ||
global.GlobalNotifier.omg(`${JOB_NAME}: finished`) | ||
} else { | ||
global.GlobalNotifier.omg(`${JOB_NAME}: failed`) | ||
} | ||
} | ||
|
||
module.exports = { | ||
JOB_NAME, | ||
createMessage, | ||
handler, | ||
onComplete | ||
} |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
'use strict' | ||
|
||
const cron = require('node-cron') | ||
|
||
const ImportJob = require('./jobs/import.js') | ||
|
||
const config = require('../../../config') | ||
|
||
async function register (server, _options) { | ||
// Register import return versions job | ||
await server.messageQueue.subscribe(ImportJob.JOB_NAME, ImportJob.handler) | ||
await server.messageQueue.onComplete(ImportJob.JOB_NAME, (executedJob) => { | ||
return ImportJob.onComplete(executedJob) | ||
}) | ||
|
||
// Set up import on cron job | ||
cron.schedule(config.import.returnVersions.schedule, async () => { | ||
await server.messageQueue.publish(ImportJob.createMessage()) | ||
}) | ||
} | ||
|
||
module.exports = { | ||
plugin: { | ||
name: 'importReturnVersions', | ||
dependencies: ['pgBoss'], | ||
register | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
'use strict' | ||
|
||
const controller = require('./controller') | ||
|
||
const routes = [ | ||
{ | ||
method: 'post', | ||
handler: controller.importReturnVersions, | ||
path: '/import/return-versions' | ||
} | ||
] | ||
|
||
module.exports = routes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.