@cognigy/rest-api-client
Version:
Cognigy REST-Client
139 lines • 5.81 kB
JavaScript
/* Custom Modules */
import { createQuerySchema } from "../helper/createQuerySchema";
import { organisationProactiveSettingsSchema } from "./resources/settings/IOrganisationProactiveSettings";
export const organisationDataPrivacySettingsSchema = {
title: "organisationDataPrivacySettingsSchema",
type: "object",
additionalProperties: false,
properties: {
enabled: { type: "boolean" },
useAnalytics: { type: "boolean" },
storeDataPayload: { type: "boolean" },
useContactProfiles: { type: "boolean" },
useConversations: { type: "boolean" },
maskIPAddress: { type: "boolean" },
maskAnalytics: { type: "boolean" },
maskLogging: { type: "boolean" },
ignoreList: {
type: "array",
items: { type: "string" },
additionalItems: false,
minItems: 0
}
}
};
export const niceProvidedSpeechEntitlementSchema = {
title: "niceProvidedSpeechEntitlementSchema",
type: "object",
additionalProperties: false,
required: ["vendor", "stt", "tts"],
properties: {
vendor: { type: "string" },
stt: { type: "boolean" },
tts: { type: "boolean" },
},
};
export const organisationVoiceConfigurationSchema = {
title: "organisationVoiceConfigurationSchema",
type: "object",
additionalProperties: false,
properties: {
enableNiceSharedProviders: { type: "boolean" },
orgVoiceGatewayEnabled: { type: "boolean" },
niceProvidedSpeechEntitlements: {
type: "array",
items: niceProvidedSpeechEntitlementSchema,
},
}
};
export const organisationSimulatorSchema = {
title: "organisationSimulatorSchema",
type: "object",
additionalProperties: false,
properties: {
paidTier: { type: "boolean" },
runsMonthlyQuota: { type: "integer", minimum: 0 }
}
};
export const organisationPasswordPolicySchema = {
title: "organisationPasswordPolicySchema",
type: "object",
additionalProperties: false,
properties: {
maxAmountIdenticalCharacters: {
type: "integer",
minimum: 0,
maximum: 999
},
maxLength: { type: "integer", minimum: 0, maximum: 999 },
minAmountFailedAttemptsAutoDisable: {
type: "integer",
minimum: 0,
maximum: 999
},
minAmountLowerCase: { type: "integer", minimum: 0, maximum: 999 },
minAmountNumbers: { type: "integer", minimum: 0, maximum: 999 },
minAmountSpecialCharacters: { type: "integer", minimum: 0, maximum: 999 },
minAmountUpperCase: { type: "integer", minimum: 0, maximum: 999 },
minLength: { type: "integer", minimum: 0, maximum: 999 }
}
};
export const organisationDataSchema = {
title: "organisationDataSchema",
type: "object",
additionalProperties: false,
properties: {
contactProfileTTLInMinutes: { type: "integer", minimum: 0 },
conversationTTLInMinutes: { type: "integer", minimum: 0 },
analyticsTTLInMinutes: { type: "integer", minimum: 0 },
sessionsTTLInMinutes: { type: "integer", minimum: 0 },
stepEventsTTLInMinutes: { type: "integer", minimum: 0 },
disabled: { type: "boolean" },
name: { type: "string", minLength: 1, format: "resource-name" },
businessUnitId: { type: "string", maxLength: 64 },
tenantId: {
oneOf: [
{ type: "string", enum: [""] },
{ type: "string", format: "uuid" }
]
},
passwordPolicy: organisationPasswordPolicySchema,
quotaMaxChannelsPerProject: { type: "integer", minimum: 0 },
quotaMaxMessagesPerDay: { type: "integer", minimum: 0 },
quotaMaxProjects: { type: "integer", minimum: 0 },
quotaMaxUsers: { type: "integer", minimum: 0 },
quotaMaxKnowledgeChunks: { type: "integer", minimum: 0 },
aiOpsCenterEnabled: { type: "boolean" },
proactiveProductEnabled: { type: "boolean" },
orgInPlatformLlmEnabled: { type: "boolean" },
sessionStateTTLInMinutes: { type: "integer", minimum: 0 },
billingTimezone: { type: "string", format: "timezone" },
dataPrivacySettings: organisationDataPrivacySettingsSchema,
voiceConfigurations: organisationVoiceConfigurationSchema,
proactiveSettings: organisationProactiveSettingsSchema,
simulator: organisationSimulatorSchema,
quotaMaxResourceUsage: { type: ["integer", "null"], minimum: 0 },
resourceUsagePaidTier: { type: "boolean" },
resourceUsageCurrency: { type: "string", enum: ["USD"] },
voiceGatewayApiKey: { type: "string" },
maxTTLValues: {
type: "object",
properties: {
contactProfileTTLInMinutes: { type: "integer", minimum: 0 },
conversationTTLInMinutes: { type: "integer", minimum: 0 },
analyticsTTLInMinutes: { type: "integer", minimum: 0 },
sessionsTTLInMinutes: { type: "integer", minimum: 0 },
stepEventsTTLInMinutes: { type: "integer", minimum: 0 },
sessionStateTTLInMinutes: { type: "integer", minimum: 0 }
}
}
}
};
export const organisationSchema = {
title: "organisationSchema",
type: "object",
additionalProperties: false,
properties: Object.assign(Object.assign({ _id: { format: "mongo-id" } }, organisationDataSchema.properties), { liveAgentAccount: { type: "number" }, voiceGatewayAccount: { type: "string" }, voiceGatewayApiKey: { type: "string" } })
};
export const organisationQuerySchema = createQuerySchema("organisationQuerySchema", organisationSchema);
//# sourceMappingURL=IOrganisation.js.map