69 lines
3.2 KiB
JavaScript
69 lines
3.2 KiB
JavaScript
const nodePath = require('path')
|
|
|
|
let appLoc = nodePath.join(..._program.split('services')[0].split('/'))
|
|
const sasjsRoot = nodePath.resolve(weboutPath, '..', '..', '..')
|
|
const driveRoot = nodePath.resolve(sasjsRoot, 'drive')
|
|
const dcLibref = 'DC_JSLIB'
|
|
const dataDir = nodePath.resolve(driveRoot, 'files', appLoc, 'data', dcLibref)
|
|
|
|
eval(fs.readFileSync(nodePath.resolve(driveRoot, 'files', appLoc, 'services', 'dcMockUtils.js'), 'utf8'))
|
|
const loadTableData = makeTableLoader(dataDir)
|
|
|
|
// ─── Parse input: frontend sends SASControlTable with TABLE column ───────────
|
|
|
|
const _sctRow = fetchTable('SASControlTable')[0] || {}
|
|
const tableId = _sctRow.TABLE || _sctRow.table || ''
|
|
|
|
// ─── Load submit info from MPE_SUBMIT ────────────────────────────────────────
|
|
|
|
let jsparams = []
|
|
if (tableId) {
|
|
const submitData = loadTableData('MPE_SUBMIT')
|
|
if (submitData && submitData.rows) {
|
|
const row = submitData.rows.find(r => r.TABLE_ID === tableId)
|
|
if (row) {
|
|
const baseTable = row.BASE_LIB + '.' + row.BASE_DS
|
|
const submittedOn = new Date(row.SUBMITTED_ON_DTTM * 1000)
|
|
const pad = n => String(n).padStart(2, '0')
|
|
const submittedOnStr = submittedOn.getFullYear() + '-' + pad(submittedOn.getMonth()+1) + '-' + pad(submittedOn.getDate()) + ' ' +
|
|
pad(submittedOn.getHours()) + ':' + pad(submittedOn.getMinutes()) + ':' + pad(submittedOn.getSeconds())
|
|
|
|
jsparams = [{
|
|
TABLE_ID: row.TABLE_ID,
|
|
REVIEW_STATUS_ID: row.SUBMIT_STATUS_CD,
|
|
BASE_LIB: row.BASE_LIB,
|
|
BASE_DS: row.BASE_DS,
|
|
SUBMITTED_BY_NM: row.SUBMITTED_BY_NM,
|
|
SUBMITTED_ON: row.SUBMITTED_ON_DTTM,
|
|
SUBMITTED_REASON_TXT: row.SUBMITTED_REASON_TXT || '',
|
|
INPUT_OBS: row.INPUT_OBS,
|
|
INPUT_VARS: row.INPUT_VARS,
|
|
NUM_OF_APPROVALS_REQUIRED: row.NUM_OF_APPROVALS_REQUIRED,
|
|
NUM_OF_APPROVALS_REMAINING: row.NUM_OF_APPROVALS_REMAINING,
|
|
REVIEWED_BY_NM: row.REVIEWED_BY_NM || '',
|
|
REVIEWED_ON: row.REVIEWED_ON_DTTM,
|
|
TABLE_NM: baseTable,
|
|
BASE_TABLE: baseTable,
|
|
REVIEWED_ON_DTTM: row.REVIEWED_ON_DTTM
|
|
? new Date(row.REVIEWED_ON_DTTM * 1000).toISOString().replace('T',' ').replace(/\.\d+Z$/, '')
|
|
: '.',
|
|
SUBMITTED_ON_DTTM: submittedOnStr,
|
|
LIB_ENGINE: 'V9',
|
|
ALLOW_RESTORE: 'NO'
|
|
}]
|
|
}
|
|
}
|
|
}
|
|
|
|
_webout = JSON.stringify({
|
|
SYSDATE: '26SEP22', SYSTIME: '08:43', jsparams,
|
|
_DEBUG: '', _METAUSER: 'sasdemo@SAS', _METAPERSON: 'sasdemo',
|
|
_PROGRAM: _program, AUTOEXEC: '', MF_GETUSER: 'sasdemo',
|
|
SYSCC: '0', SYSENCODING: 'utf-8', SYSERRORTEXT: '',
|
|
SYSHOSTNAME: 'sasjs-server', SYSPROCESSID: '0',
|
|
SYSPROCESSMODE: 'Stored Program', SYSPROCESSNAME: '',
|
|
SYSJOBID: '0', SYSSCPL: 'LINUX', SYSSITE: '123',
|
|
SYSUSERID: 'sasdemo', SYSVLONG: '9.04.01M7P080520',
|
|
SYSWARNINGTEXT: '', END_DTTM: new Date().toISOString(), MEMSIZE: '0KB'
|
|
})
|