export type ComplianceLoginId = {providerId: string, id: string}; export type ComplianceUser = {id: string, alias: string, publicKey?: string | undefined, roles: Array, lockStatus: 'Locked' | 'Unlocked' | 'Archived', loginIds?: Array | undefined}; export type ComplianceDomainPayloadRequest = {domainName: string, domainType: 'COMPLIANCE' | 'BUSINESS', users?: Array | undefined, permissions: Record, childrenDomainIds?: Array | undefined, additionalPolicies?: (Array<'ADD_POLICY_FOR_OUTGOING_ORDERS' | 'ADD_POLICY_FOR_AUTOMATIC_RELEASE_QUARANTINED_TRANSFERS'>) | undefined}; export type CreateApiV1DomainsDomainIdComplianceDomainArgs = {domainId: string, body: ComplianceDomainPayloadRequest}; export type CreateApiV1DomainsDomainIdComplianceDomainOptions = {baseUrl: string, httpAuth?: string | undefined, fetch?: typeof fetch | undefined}; /** * Creates Domain payload * * POST /v1/domains/{domainId}/compliance/domain */ export const createApiV1DomainsDomainIdComplianceDomain = async (args: CreateApiV1DomainsDomainIdComplianceDomainArgs, options: CreateApiV1DomainsDomainIdComplianceDomainOptions) => { const {baseUrl, fetch: fetchFn = fetch, httpAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "*/*") if (httpAuth !== undefined) headers.set('authorization', `Bearer ${httpAuth}`) const url = `${baseUrl.replace(/\/+$/, '')}/v1/domains/${encodeURIComponent(String(args.domainId))}/compliance/domain${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return res.blob() };