refs #6184 saveCmr #1788
|
@ -37,7 +37,6 @@ module.exports = Self => {
|
||||||
Self.downloadCmrsZip = async function(ctx, ids, options) {
|
Self.downloadCmrsZip = async function(ctx, ids, options) {
|
||||||
const models = Self.app.models;
|
const models = Self.app.models;
|
||||||
const myOptions = {};
|
const myOptions = {};
|
||||||
const token = ctx.req.accessToken;
|
|
||||||
const zip = new JSZip();
|
const zip = new JSZip();
|
||||||
|
|
||||||
if (typeof options == 'object')
|
if (typeof options == 'object')
|
||||||
|
@ -47,18 +46,20 @@ module.exports = Self => {
|
||||||
let totalSize = 0;
|
let totalSize = 0;
|
||||||
ids = ids.split(',');
|
ids = ids.split(',');
|
||||||
try {
|
try {
|
||||||
for (let id of ids) {
|
const baseUrl = (await Self.app.models.Url.getUrl()).replace('#!', 'api');
|
||||||
|
|
||||||
|
for (const id of ids) {
|
||||||
if (zipConfig && totalSize > zipConfig.maxSize) throw new UserError('Files are too large');
|
if (zipConfig && totalSize > zipConfig.maxSize) throw new UserError('Files are too large');
|
||||||
|
|
||||||
const baseUrl = (ctx.req.headers.origin)
|
|
||||||
? `${ctx.req.headers.origin}/api`
|
|
||||||
: `${ctx.req.headers.referer}api`
|
|
||||||
const response = await axios.get(
|
const response = await axios.get(
|
||||||
`${baseUrl}/Routes/${id}/cmr?access_token=${token.id}`, {
|
`${baseUrl}Routes/${id}/cmr`, {
|
||||||
...myOptions,
|
...myOptions,
|
||||||
|
headers: {
|
||||||
|
Authorization: ctx.req.accessToken.id
|
||||||
|
},
|
||||||
responseType: 'arraybuffer',
|
responseType: 'arraybuffer',
|
||||||
});
|
});
|
||||||
|
|
||||||
if (response.headers['content-type'] !== 'application/pdf')
|
if (response.headers['content-type'] !== 'application/pdf')
|
||||||
throw new UserError(`The response is not a PDF`);
|
throw new UserError(`The response is not a PDF`);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue