@defra-fish/dynamics-lib
Version:
Framework to support integration with dynamics
29 lines (25 loc) • 1.26 kB
JavaScript
import { PredefinedQuery } from './predefined-query.js'
import { Permission } from '../entities/permission.entity.js'
import { escapeODataStringValue } from '../client/util.js'
import { ConcessionProof } from '../entities/concession-proof.entity.js'
export const permissionForFullReferenceNumber = permissionReferenceNumber => {
const { licensee, permit, concessionProofs } = Permission.definition.relationships
const filter = `${Permission.definition.mappings.referenceNumber.field} eq '${escapeODataStringValue(permissionReferenceNumber)}' and ${
Permission.definition.defaultFilter
}`
return new PredefinedQuery({
root: Permission,
filter: filter,
expand: [licensee, permit, { ...concessionProofs, expand: [ConcessionProof.definition.relationships.concession] }]
})
}
export const permissionForContacts = contactIds => {
const { licensee, permit, concessionProofs } = Permission.definition.relationships
const formattedContactIds = contactIds.map(id => `defra_ContactId/contactid eq '${id}'`).join(' or ')
const filter = `(${formattedContactIds}) and ${Permission.definition.defaultFilter}`
return new PredefinedQuery({
root: Permission,
filter: filter,
expand: [licensee, permit, concessionProofs]
})
}