mirror of
https://github.com/OpenSignLabs/OpenSign.git
synced 2026-08-17 21:25:54 +02:00
40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
export default async function getOrganizations(request) {
|
|
const limit = request.params.limit || 200;
|
|
const skip = request.params.skip || 0;
|
|
const extUserId = request.params.extUserId;
|
|
const activeOrgs = request.params.active;
|
|
if (!request?.user) {
|
|
throw new Parse.Error(Parse.Error.INVALID_SESSION_TOKEN, 'User is not authenticated.');
|
|
}
|
|
try {
|
|
const orgQuery = new Parse.Query('contracts_Organizations');
|
|
orgQuery.equalTo('CreatedBy', {
|
|
__type: 'Pointer',
|
|
className: '_User',
|
|
objectId: request.user.id,
|
|
});
|
|
orgQuery.equalTo('ExtUserId', {
|
|
__type: 'Pointer',
|
|
className: 'contracts_Users',
|
|
objectId: extUserId,
|
|
});
|
|
if (activeOrgs) {
|
|
orgQuery.equalTo('IsActive', true);
|
|
}
|
|
orgQuery.exclude('ExtUserId');
|
|
orgQuery.limit(limit);
|
|
orgQuery.skip(skip);
|
|
const resOrg = await orgQuery.find({ useMasterKey: true });
|
|
if (resOrg && resOrg.length > 0) {
|
|
return resOrg;
|
|
} else {
|
|
return [];
|
|
}
|
|
} catch (err) {
|
|
console.log('err in getOrganizations', err);
|
|
const code = err?.code || 400;
|
|
const msg = err?.message || 'Something went wrong.';
|
|
throw new Parse.Error(code, msg);
|
|
}
|
|
}
|