oak-general-business/lib/aspects/applicationPassport.js

60 lines
1.7 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getApplicationPassports = getApplicationPassports;
exports.removeApplicationPassportsByPIds = removeApplicationPassportsByPIds;
const uuid_1 = require("oak-domain/lib/utils/uuid");
async function getApplicationPassports(params, context) {
const { applicationId } = params;
const closeRoot = context.openRootMode();
const applicationPassports = await context.select('applicationPassport', {
data: {
id: 1,
passportId: 1,
passport: {
id: 1,
type: 1,
config: 1,
},
isDefault: 1,
allowPwd: 1,
},
filter: {
applicationId,
passport: {
type: {
$ne: 'password',
}
}
}
}, {});
closeRoot();
return applicationPassports;
}
async function removeApplicationPassportsByPIds(params, context) {
const { passportIds } = params;
const applicationPassports = await context.select('applicationPassport', {
data: {
id: 1,
passportId: 1,
},
filter: {
passportId: {
$in: passportIds,
},
}
}, {});
if (applicationPassports && applicationPassports.length) {
const ids = applicationPassports.map((ele) => ele.id);
await context.operate('applicationPassport', {
id: await (0, uuid_1.generateNewIdAsync)(),
action: 'remove',
data: {},
filter: {
id: {
$in: ids,
}
},
}, {});
}
}