@erpsquad/common 1.10.29 → 1.10.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{ERPUIProvider-CLg_Yo12.esm.js → ERPUIProvider-CIzXMsuV.esm.js} +8 -8
- package/dist/chunks/{ERPUIProvider-CLg_Yo12.esm.js.map → ERPUIProvider-CIzXMsuV.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-C8cLIOap.esm.js → actionCreator-BzPZv2rR.esm.js} +2 -2
- package/dist/chunks/{actionCreator-C8cLIOap.esm.js.map → actionCreator-BzPZv2rR.esm.js.map} +1 -1
- package/dist/chunks/{android-12-switch-DM9s0XTb.js → android-12-switch-BILQvv4G.js} +170 -5
- package/dist/chunks/android-12-switch-BILQvv4G.js.map +1 -0
- package/dist/chunks/{android-12-switch-eTZOAHAa.esm.js → android-12-switch-DpJE56Wi.esm.js} +212 -47
- package/dist/chunks/android-12-switch-DpJE56Wi.esm.js.map +1 -0
- package/dist/chunks/{appbar-DtROOKgm.esm.js → appbar-5rP5iXcS.esm.js} +4 -4
- package/dist/chunks/{appbar-DtROOKgm.esm.js.map → appbar-5rP5iXcS.esm.js.map} +1 -1
- package/dist/chunks/{common-Nn4SUfK7.esm.js → common-D59u5rE6.esm.js} +2 -2
- package/dist/chunks/{common-Nn4SUfK7.esm.js.map → common-D59u5rE6.esm.js.map} +1 -1
- package/dist/chunks/{custom-editor-B-mleFzm.esm.js → custom-editor-UhZu0Svw.esm.js} +2 -2
- package/dist/chunks/{custom-editor-B-mleFzm.esm.js.map → custom-editor-UhZu0Svw.esm.js.map} +1 -1
- package/dist/chunks/{default-data-BjzCfuoR.js → default-data-B2-JPE4u.js} +9 -11
- package/dist/chunks/{default-data-BjzCfuoR.js.map → default-data-B2-JPE4u.js.map} +1 -1
- package/dist/chunks/{default-data-C8B-fYa8.esm.js → default-data-DLCnpyaM.esm.js} +19 -21
- package/dist/chunks/{default-data-C8B-fYa8.esm.js.map → default-data-DLCnpyaM.esm.js.map} +1 -1
- package/dist/chunks/{form-builder-conversion-yi03Elpa.esm.js → form-builder-conversion-gLJCNqSQ.esm.js} +2 -2
- package/dist/chunks/{form-builder-conversion-yi03Elpa.esm.js.map → form-builder-conversion-gLJCNqSQ.esm.js.map} +1 -1
- package/dist/chunks/{form-builder-deconversion-CFtHF1hm.esm.js → form-builder-deconversion-DNGMsAEj.esm.js} +3 -3
- package/dist/chunks/{form-builder-deconversion-CFtHF1hm.esm.js.map → form-builder-deconversion-DNGMsAEj.esm.js.map} +1 -1
- package/dist/chunks/{fullScreen-Xv8AR914.esm.js → fullScreen-C8Qnoyrr.esm.js} +2 -2
- package/dist/chunks/{fullScreen-Xv8AR914.esm.js.map → fullScreen-C8Qnoyrr.esm.js.map} +1 -1
- package/dist/chunks/{languageContext-cweJTzn0.esm.js → languageContext-ffrxXJkr.esm.js} +3 -3
- package/dist/chunks/{languageContext-cweJTzn0.esm.js.map → languageContext-ffrxXJkr.esm.js.map} +1 -1
- package/dist/chunks/{migration-utils-llqrdBh8.esm.js → migration-utils-BJsX1G2n.esm.js} +2 -2
- package/dist/chunks/{migration-utils-llqrdBh8.esm.js.map → migration-utils-BJsX1G2n.esm.js.map} +1 -1
- package/dist/chunks/{page-context-BbQNncGA.esm.js → page-context-BlGcwtdZ.esm.js} +3 -3
- package/dist/chunks/{page-context-BbQNncGA.esm.js.map → page-context-BlGcwtdZ.esm.js.map} +1 -1
- package/dist/chunks/{reducer-DRkUwBHb.esm.js → reducer-D6_f0R4C.esm.js} +2 -2
- package/dist/chunks/{reducer-DRkUwBHb.esm.js.map → reducer-D6_f0R4C.esm.js.map} +1 -1
- package/dist/chunks/{shareSlice-H0nwzQZv.esm.js → shareSlice-Bxrgfv7o.esm.js} +2 -2
- package/dist/chunks/{shareSlice-H0nwzQZv.esm.js.map → shareSlice-Bxrgfv7o.esm.js.map} +1 -1
- package/dist/chunks/{sidebar-CdhW0PKj.esm.js → sidebar-n5_ky6G7.esm.js} +4 -4
- package/dist/chunks/{sidebar-CdhW0PKj.esm.js.map → sidebar-n5_ky6G7.esm.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-DbfP32Xx.esm.js → sidebarScreen-BwkiIBud.esm.js} +5 -6
- package/dist/chunks/sidebarScreen-BwkiIBud.esm.js.map +1 -0
- package/dist/chunks/{sidebarScreen-figZp_Ln.js → sidebarScreen-Cm763s1P.js} +1 -2
- package/dist/chunks/sidebarScreen-Cm763s1P.js.map +1 -0
- package/dist/chunks/{store-C2XaFCA_.esm.js → store-OqHSsVaz.esm.js} +3 -3
- package/dist/chunks/{store-C2XaFCA_.esm.js.map → store-OqHSsVaz.esm.js.map} +1 -1
- package/dist/chunks/{translations-DJZgOpfH.esm.js → translations-GFvlFdi5.esm.js} +2 -2
- package/dist/chunks/{translations-DJZgOpfH.esm.js.map → translations-GFvlFdi5.esm.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-DKN31prP.esm.js → uom-field-wrapper-CgYTONsG.esm.js} +33 -158
- package/dist/chunks/uom-field-wrapper-CgYTONsG.esm.js.map +1 -0
- package/dist/chunks/{uom-field-wrapper-NNhtGgqI.js → uom-field-wrapper-DoyshtE9.js} +2 -127
- package/dist/chunks/uom-field-wrapper-DoyshtE9.js.map +1 -0
- package/dist/chunks/{useAccountSetting-CAUDy8rg.esm.js → useAccountSetting-D1Ze8r-T.esm.js} +3 -3
- package/dist/chunks/{useAccountSetting-CAUDy8rg.esm.js.map → useAccountSetting-D1Ze8r-T.esm.js.map} +1 -1
- package/dist/chunks/{useAdditionalDiscountAutoCalc-DbyTG80U.esm.js → useAdditionalDiscountAutoCalc-PhSfzd5X.esm.js} +5 -5
- package/dist/chunks/{useAdditionalDiscountAutoCalc-DbyTG80U.esm.js.map → useAdditionalDiscountAutoCalc-PhSfzd5X.esm.js.map} +1 -1
- package/dist/chunks/{useAuth-BaUSGWbL.esm.js → useAuth-DhzbULWV.esm.js} +2 -2
- package/dist/chunks/{useAuth-BaUSGWbL.esm.js.map → useAuth-DhzbULWV.esm.js.map} +1 -1
- package/dist/chunks/{useLangauge-BUF4epYu.esm.js → useLangauge-CbMaEsdS.esm.js} +2 -2
- package/dist/chunks/{useLangauge-BUF4epYu.esm.js.map → useLangauge-CbMaEsdS.esm.js.map} +1 -1
- package/dist/components/index.esm.js +53 -53
- package/dist/components/index.js +4 -4
- package/dist/contexts/index.esm.js +3 -3
- package/dist/hooks/index.esm.js +5 -5
- package/dist/index.esm.js +90 -90
- package/dist/index.js +6 -6
- package/dist/layout/index.esm.js +2 -2
- package/dist/layout/index.js +1 -1
- package/dist/redux/index.esm.js +4 -4
- package/dist/utils/index.esm.js +7 -7
- package/dist/views/index.esm.js +9 -9
- package/dist/views/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunks/android-12-switch-DM9s0XTb.js.map +0 -1
- package/dist/chunks/android-12-switch-eTZOAHAa.esm.js.map +0 -1
- package/dist/chunks/sidebarScreen-DbfP32Xx.esm.js.map +0 -1
- package/dist/chunks/sidebarScreen-figZp_Ln.js.map +0 -1
- package/dist/chunks/uom-field-wrapper-DKN31prP.esm.js.map +0 -1
- package/dist/chunks/uom-field-wrapper-NNhtGgqI.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-Nn4SUfK7.esm.js","sources":["../../src/api-client/api.workflow-automation/api.ts","../../src/api-client/api.hrms/api.ts","../../src/api-client/api.pms/api.ts","../../src/utils/api.ts","../../src/utils/format-text.ts","../../node_modules/dayjs/plugin/utc.js","../../src/utils/dateFormat.ts","../../src/utils/export-filters.ts","../../src/utils/constant.ts","../../src/utils/common.ts"],"sourcesContent":["// This client was generated by Platformatic from an OpenAPI specification.\n\nimport type { Api } from './api-types'\nimport type * as Types from './api-types'\n\n// The base URL for the API. This can be overridden by calling `setBaseUrl`.\nlet baseUrl = ''\n// The default headers to send within each request. This can be overridden by calling `setDefaultHeaders`.\nlet defaultHeaders = {}\n\nfunction sanitizeUrl(url: string) : string {\n if (url.endsWith('/')) { return url.slice(0, -1) } else { return url }\n}\nexport const setBaseUrl = (newUrl: string) : void => { baseUrl = sanitizeUrl(newUrl) }\n\nexport const setDefaultHeaders = (headers: Object): void => { defaultHeaders = headers }\n\ntype JSON = Record<string, unknown>\n/* @ts-ignore */\nfunction headersToJSON(headers: Headers): JSON {\n const output: JSON = {}\n headers.forEach((value, key) => {\n output[key] = value\n })\n return output\n}\n\nconst _getV1WorkflowReferences = async (url: string, request: Types.GetV1WorkflowReferencesRequest): Promise<Types.GetV1WorkflowReferencesResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowReferences: Api['getV1WorkflowReferences'] = async (request: Types.GetV1WorkflowReferencesRequest): Promise<Types.GetV1WorkflowReferencesResponses> => {\n return await _getV1WorkflowReferences(baseUrl, request)\n}\nconst _getV1WorkflowReferencesType = async (url: string, request: Types.GetV1WorkflowReferencesTypeRequest): Promise<Types.GetV1WorkflowReferencesTypeResponses> => {\n const queryParameters: (keyof Types.GetV1WorkflowReferencesTypeRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/${request['type']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowReferencesType: Api['getV1WorkflowReferencesType'] = async (request: Types.GetV1WorkflowReferencesTypeRequest): Promise<Types.GetV1WorkflowReferencesTypeResponses> => {\n return await _getV1WorkflowReferencesType(baseUrl, request)\n}\nconst _putV1WorkflowReferencesType = async (url: string, request: Types.PutV1WorkflowReferencesTypeRequest): Promise<Types.PutV1WorkflowReferencesTypeResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/${request['type']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1WorkflowReferencesType: Api['putV1WorkflowReferencesType'] = async (request: Types.PutV1WorkflowReferencesTypeRequest): Promise<Types.PutV1WorkflowReferencesTypeResponses> => {\n return await _putV1WorkflowReferencesType(baseUrl, request)\n}\nconst _getV1WorkflowReferencesHierarchicalType = async (url: string, request: Types.GetV1WorkflowReferencesHierarchicalTypeRequest): Promise<Types.GetV1WorkflowReferencesHierarchicalTypeResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/hierarchical/${request['type']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowReferencesHierarchicalType: Api['getV1WorkflowReferencesHierarchicalType'] = async (request: Types.GetV1WorkflowReferencesHierarchicalTypeRequest): Promise<Types.GetV1WorkflowReferencesHierarchicalTypeResponses> => {\n return await _getV1WorkflowReferencesHierarchicalType(baseUrl, request)\n}\nconst _postV1WorkflowReferencesTypeItems = async (url: string, request: Types.PostV1WorkflowReferencesTypeItemsRequest): Promise<Types.PostV1WorkflowReferencesTypeItemsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/${request['type']}/items`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1WorkflowReferencesTypeItems: Api['postV1WorkflowReferencesTypeItems'] = async (request: Types.PostV1WorkflowReferencesTypeItemsRequest): Promise<Types.PostV1WorkflowReferencesTypeItemsResponses> => {\n return await _postV1WorkflowReferencesTypeItems(baseUrl, request)\n}\nconst _deleteV1WorkflowReferencesTypeItemsValue = async (url: string, request: Types.DeleteV1WorkflowReferencesTypeItemsValueRequest): Promise<Types.DeleteV1WorkflowReferencesTypeItemsValueResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/${request['type']}/items/${request['value']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1WorkflowReferencesTypeItemsValue: Api['deleteV1WorkflowReferencesTypeItemsValue'] = async (request: Types.DeleteV1WorkflowReferencesTypeItemsValueRequest): Promise<Types.DeleteV1WorkflowReferencesTypeItemsValueResponses> => {\n return await _deleteV1WorkflowReferencesTypeItemsValue(baseUrl, request)\n}\nconst _getV1WorkflowReferencesFieldsEntityType = async (url: string, request: Types.GetV1WorkflowReferencesFieldsEntityTypeRequest): Promise<Types.GetV1WorkflowReferencesFieldsEntityTypeResponses> => {\n const queryParameters: (keyof Types.GetV1WorkflowReferencesFieldsEntityTypeRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/fields/${request['entity_type']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowReferencesFieldsEntityType: Api['getV1WorkflowReferencesFieldsEntityType'] = async (request: Types.GetV1WorkflowReferencesFieldsEntityTypeRequest): Promise<Types.GetV1WorkflowReferencesFieldsEntityTypeResponses> => {\n return await _getV1WorkflowReferencesFieldsEntityType(baseUrl, request)\n}\nconst _getV1WorkflowReferencesOperatorsEntityTypeFieldName = async (url: string, request: Types.GetV1WorkflowReferencesOperatorsEntityTypeFieldNameRequest): Promise<Types.GetV1WorkflowReferencesOperatorsEntityTypeFieldNameResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/operators/${request['entity_type']}/${request['field_name']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowReferencesOperatorsEntityTypeFieldName: Api['getV1WorkflowReferencesOperatorsEntityTypeFieldName'] = async (request: Types.GetV1WorkflowReferencesOperatorsEntityTypeFieldNameRequest): Promise<Types.GetV1WorkflowReferencesOperatorsEntityTypeFieldNameResponses> => {\n return await _getV1WorkflowReferencesOperatorsEntityTypeFieldName(baseUrl, request)\n}\nconst _getV1WorkflowReferencesEntityFieldOptionsEntityType = async (url: string, request: Types.GetV1WorkflowReferencesEntityFieldOptionsEntityTypeRequest): Promise<Types.GetV1WorkflowReferencesEntityFieldOptionsEntityTypeResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/entity-field-options/${request['entity_type']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowReferencesEntityFieldOptionsEntityType: Api['getV1WorkflowReferencesEntityFieldOptionsEntityType'] = async (request: Types.GetV1WorkflowReferencesEntityFieldOptionsEntityTypeRequest): Promise<Types.GetV1WorkflowReferencesEntityFieldOptionsEntityTypeResponses> => {\n return await _getV1WorkflowReferencesEntityFieldOptionsEntityType(baseUrl, request)\n}\nconst _getV1Workflows = async (url: string, request: Types.GetV1WorkflowsRequest): Promise<Types.GetV1WorkflowsResponses> => {\n const queryParameters: (keyof Types.GetV1WorkflowsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Workflows: Api['getV1Workflows'] = async (request: Types.GetV1WorkflowsRequest): Promise<Types.GetV1WorkflowsResponses> => {\n return await _getV1Workflows(baseUrl, request)\n}\nconst _postV1Workflows = async (url: string, request: Types.PostV1WorkflowsRequest): Promise<Types.PostV1WorkflowsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Workflows: Api['postV1Workflows'] = async (request: Types.PostV1WorkflowsRequest): Promise<Types.PostV1WorkflowsResponses> => {\n return await _postV1Workflows(baseUrl, request)\n}\nconst _getV1WorkflowsId = async (url: string, request: Types.GetV1WorkflowsIdRequest): Promise<Types.GetV1WorkflowsIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowsId: Api['getV1WorkflowsId'] = async (request: Types.GetV1WorkflowsIdRequest): Promise<Types.GetV1WorkflowsIdResponses> => {\n return await _getV1WorkflowsId(baseUrl, request)\n}\nconst _putV1WorkflowsId = async (url: string, request: Types.PutV1WorkflowsIdRequest): Promise<Types.PutV1WorkflowsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1WorkflowsId: Api['putV1WorkflowsId'] = async (request: Types.PutV1WorkflowsIdRequest): Promise<Types.PutV1WorkflowsIdResponses> => {\n return await _putV1WorkflowsId(baseUrl, request)\n}\nconst _deleteV1WorkflowsId = async (url: string, request: Types.DeleteV1WorkflowsIdRequest): Promise<Types.DeleteV1WorkflowsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1WorkflowsId: Api['deleteV1WorkflowsId'] = async (request: Types.DeleteV1WorkflowsIdRequest): Promise<Types.DeleteV1WorkflowsIdResponses> => {\n return await _deleteV1WorkflowsId(baseUrl, request)\n}\nconst _postV1WorkflowsIdToggle = async (url: string, request: Types.PostV1WorkflowsIdToggleRequest): Promise<Types.PostV1WorkflowsIdToggleResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/${request['id']}/toggle`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1WorkflowsIdToggle: Api['postV1WorkflowsIdToggle'] = async (request: Types.PostV1WorkflowsIdToggleRequest): Promise<Types.PostV1WorkflowsIdToggleResponses> => {\n return await _postV1WorkflowsIdToggle(baseUrl, request)\n}\nconst _postV1WorkflowsTestTransform = async (url: string, request: Types.PostV1WorkflowsTestTransformRequest): Promise<Types.PostV1WorkflowsTestTransformResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/test-transform`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1WorkflowsTestTransform: Api['postV1WorkflowsTestTransform'] = async (request: Types.PostV1WorkflowsTestTransformRequest): Promise<Types.PostV1WorkflowsTestTransformResponses> => {\n return await _postV1WorkflowsTestTransform(baseUrl, request)\n}\ntype BuildOptions = {\n headers?: Object\n}\nexport default function build (url: string, options?: BuildOptions) {\n url = sanitizeUrl(url)\n if (options?.headers) {\n defaultHeaders = options.headers\n }\n return {\n getV1WorkflowReferences: _getV1WorkflowReferences.bind(url, ...arguments),\n getV1WorkflowReferencesType: _getV1WorkflowReferencesType.bind(url, ...arguments),\n putV1WorkflowReferencesType: _putV1WorkflowReferencesType.bind(url, ...arguments),\n getV1WorkflowReferencesHierarchicalType: _getV1WorkflowReferencesHierarchicalType.bind(url, ...arguments),\n postV1WorkflowReferencesTypeItems: _postV1WorkflowReferencesTypeItems.bind(url, ...arguments),\n deleteV1WorkflowReferencesTypeItemsValue: _deleteV1WorkflowReferencesTypeItemsValue.bind(url, ...arguments),\n getV1WorkflowReferencesFieldsEntityType: _getV1WorkflowReferencesFieldsEntityType.bind(url, ...arguments),\n getV1WorkflowReferencesOperatorsEntityTypeFieldName: _getV1WorkflowReferencesOperatorsEntityTypeFieldName.bind(url, ...arguments),\n getV1WorkflowReferencesEntityFieldOptionsEntityType: _getV1WorkflowReferencesEntityFieldOptionsEntityType.bind(url, ...arguments),\n getV1Workflows: _getV1Workflows.bind(url, ...arguments),\n postV1Workflows: _postV1Workflows.bind(url, ...arguments),\n getV1WorkflowsId: _getV1WorkflowsId.bind(url, ...arguments),\n putV1WorkflowsId: _putV1WorkflowsId.bind(url, ...arguments),\n deleteV1WorkflowsId: _deleteV1WorkflowsId.bind(url, ...arguments),\n postV1WorkflowsIdToggle: _postV1WorkflowsIdToggle.bind(url, ...arguments),\n postV1WorkflowsTestTransform: _postV1WorkflowsTestTransform.bind(url, ...arguments)\n }\n}","// This client was generated by Platformatic from an OpenAPI specification.\n\nimport type { Api } from './api-types'\nimport type * as Types from './api-types'\n\n// The base URL for the API. This can be overridden by calling `setBaseUrl`.\nlet baseUrl = ''\n// The default headers to send within each request. This can be overridden by calling `setDefaultHeaders`.\nlet defaultHeaders = {}\n\nfunction sanitizeUrl(url: string) : string {\n if (url.endsWith('/')) { return url.slice(0, -1) } else { return url }\n}\nexport const setBaseUrl = (newUrl: string) : void => { baseUrl = sanitizeUrl(newUrl) }\n\nexport const setDefaultHeaders = (headers: Object): void => { defaultHeaders = headers }\n\ntype JSON = Record<string, unknown>\n/* @ts-ignore */\nfunction headersToJSON(headers: Headers): JSON {\n const output: JSON = {}\n headers.forEach((value, key) => {\n output[key] = value\n })\n return output\n}\n\nconst _getV1FileUpload = async (url: string, request: Types.GetV1FileUploadRequest): Promise<Types.GetV1FileUploadResponses> => {\n const queryParameters: (keyof Types.GetV1FileUploadRequest)[] = ['key', 'mimeType', 'partCount']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['file-size'] !== undefined) {\n headers['file-size'] = request['file-size']\n delete request['file-size']\n }\n\n const response = await fetch(`${url}/v1/file-upload/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1FileUpload: Api['getV1FileUpload'] = async (request: Types.GetV1FileUploadRequest): Promise<Types.GetV1FileUploadResponses> => {\n return await _getV1FileUpload(baseUrl, request)\n}\nconst _postV1FileUploadMarkComplete = async (url: string, request: Types.PostV1FileUploadMarkCompleteRequest): Promise<Types.PostV1FileUploadMarkCompleteResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/file-upload/mark-complete`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1FileUploadMarkComplete: Api['postV1FileUploadMarkComplete'] = async (request: Types.PostV1FileUploadMarkCompleteRequest): Promise<Types.PostV1FileUploadMarkCompleteResponses> => {\n return await _postV1FileUploadMarkComplete(baseUrl, request)\n}\nconst _postV1DocumentMaster = async (url: string, request: Types.PostV1DocumentMasterRequest): Promise<Types.PostV1DocumentMasterResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DocumentMaster: Api['postV1DocumentMaster'] = async (request: Types.PostV1DocumentMasterRequest): Promise<Types.PostV1DocumentMasterResponses> => {\n return await _postV1DocumentMaster(baseUrl, request)\n}\nconst _getV1DocumentMaster = async (url: string, request: Types.GetV1DocumentMasterRequest): Promise<Types.GetV1DocumentMasterResponses> => {\n const queryParameters: (keyof Types.GetV1DocumentMasterRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DocumentMaster: Api['getV1DocumentMaster'] = async (request: Types.GetV1DocumentMasterRequest): Promise<Types.GetV1DocumentMasterResponses> => {\n return await _getV1DocumentMaster(baseUrl, request)\n}\nconst _getV1DocumentMasterId = async (url: string, request: Types.GetV1DocumentMasterIdRequest): Promise<Types.GetV1DocumentMasterIdResponses> => {\n const queryParameters: (keyof Types.GetV1DocumentMasterIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DocumentMasterId: Api['getV1DocumentMasterId'] = async (request: Types.GetV1DocumentMasterIdRequest): Promise<Types.GetV1DocumentMasterIdResponses> => {\n return await _getV1DocumentMasterId(baseUrl, request)\n}\nconst _putV1DocumentMasterId = async (url: string, request: Types.PutV1DocumentMasterIdRequest): Promise<Types.PutV1DocumentMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1DocumentMasterId: Api['putV1DocumentMasterId'] = async (request: Types.PutV1DocumentMasterIdRequest): Promise<Types.PutV1DocumentMasterIdResponses> => {\n return await _putV1DocumentMasterId(baseUrl, request)\n}\nconst _deleteV1DocumentMasterId = async (url: string, request: Types.DeleteV1DocumentMasterIdRequest): Promise<Types.DeleteV1DocumentMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1DocumentMasterId: Api['deleteV1DocumentMasterId'] = async (request: Types.DeleteV1DocumentMasterIdRequest): Promise<Types.DeleteV1DocumentMasterIdResponses> => {\n return await _deleteV1DocumentMasterId(baseUrl, request)\n}\nconst _patchV1DocumentMasterIdStatus = async (url: string, request: Types.PatchV1DocumentMasterIdStatusRequest): Promise<Types.PatchV1DocumentMasterIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1DocumentMasterIdStatus: Api['patchV1DocumentMasterIdStatus'] = async (request: Types.PatchV1DocumentMasterIdStatusRequest): Promise<Types.PatchV1DocumentMasterIdStatusResponses> => {\n return await _patchV1DocumentMasterIdStatus(baseUrl, request)\n}\nconst _postV1DocumentMasterSaveAsDraft = async (url: string, request: Types.PostV1DocumentMasterSaveAsDraftRequest): Promise<Types.PostV1DocumentMasterSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DocumentMasterSaveAsDraft: Api['postV1DocumentMasterSaveAsDraft'] = async (request: Types.PostV1DocumentMasterSaveAsDraftRequest): Promise<Types.PostV1DocumentMasterSaveAsDraftResponses> => {\n return await _postV1DocumentMasterSaveAsDraft(baseUrl, request)\n}\nconst _patchV1DocumentMasterIdSaveAsDraft = async (url: string, request: Types.PatchV1DocumentMasterIdSaveAsDraftRequest): Promise<Types.PatchV1DocumentMasterIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1DocumentMasterIdSaveAsDraft: Api['patchV1DocumentMasterIdSaveAsDraft'] = async (request: Types.PatchV1DocumentMasterIdSaveAsDraftRequest): Promise<Types.PatchV1DocumentMasterIdSaveAsDraftResponses> => {\n return await _patchV1DocumentMasterIdSaveAsDraft(baseUrl, request)\n}\nconst _getV1DocumentMasterGenerateExcel = async (url: string, request: Types.GetV1DocumentMasterGenerateExcelRequest): Promise<Types.GetV1DocumentMasterGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1DocumentMasterGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/document-master/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DocumentMasterGenerateExcel: Api['getV1DocumentMasterGenerateExcel'] = async (request: Types.GetV1DocumentMasterGenerateExcelRequest): Promise<Types.GetV1DocumentMasterGenerateExcelResponses> => {\n return await _getV1DocumentMasterGenerateExcel(baseUrl, request)\n}\nconst _postV1DocumentMasterImport = async (url: string, request: Types.PostV1DocumentMasterImportRequest): Promise<Types.PostV1DocumentMasterImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DocumentMasterImport: Api['postV1DocumentMasterImport'] = async (request: Types.PostV1DocumentMasterImportRequest): Promise<Types.PostV1DocumentMasterImportResponses> => {\n return await _postV1DocumentMasterImport(baseUrl, request)\n}\nconst _postV1CompanyCalendar = async (url: string, request: Types.PostV1CompanyCalendarRequest): Promise<Types.PostV1CompanyCalendarResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1CompanyCalendar: Api['postV1CompanyCalendar'] = async (request: Types.PostV1CompanyCalendarRequest): Promise<Types.PostV1CompanyCalendarResponses> => {\n return await _postV1CompanyCalendar(baseUrl, request)\n}\nconst _getV1CompanyCalendar = async (url: string, request: Types.GetV1CompanyCalendarRequest): Promise<Types.GetV1CompanyCalendarResponses> => {\n const queryParameters: (keyof Types.GetV1CompanyCalendarRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1CompanyCalendar: Api['getV1CompanyCalendar'] = async (request: Types.GetV1CompanyCalendarRequest): Promise<Types.GetV1CompanyCalendarResponses> => {\n return await _getV1CompanyCalendar(baseUrl, request)\n}\nconst _getV1CompanyCalendarId = async (url: string, request: Types.GetV1CompanyCalendarIdRequest): Promise<Types.GetV1CompanyCalendarIdResponses> => {\n const queryParameters: (keyof Types.GetV1CompanyCalendarIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1CompanyCalendarId: Api['getV1CompanyCalendarId'] = async (request: Types.GetV1CompanyCalendarIdRequest): Promise<Types.GetV1CompanyCalendarIdResponses> => {\n return await _getV1CompanyCalendarId(baseUrl, request)\n}\nconst _putV1CompanyCalendarId = async (url: string, request: Types.PutV1CompanyCalendarIdRequest): Promise<Types.PutV1CompanyCalendarIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1CompanyCalendarId: Api['putV1CompanyCalendarId'] = async (request: Types.PutV1CompanyCalendarIdRequest): Promise<Types.PutV1CompanyCalendarIdResponses> => {\n return await _putV1CompanyCalendarId(baseUrl, request)\n}\nconst _deleteV1CompanyCalendarId = async (url: string, request: Types.DeleteV1CompanyCalendarIdRequest): Promise<Types.DeleteV1CompanyCalendarIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1CompanyCalendarId: Api['deleteV1CompanyCalendarId'] = async (request: Types.DeleteV1CompanyCalendarIdRequest): Promise<Types.DeleteV1CompanyCalendarIdResponses> => {\n return await _deleteV1CompanyCalendarId(baseUrl, request)\n}\nconst _patchV1CompanyCalendarIdStatus = async (url: string, request: Types.PatchV1CompanyCalendarIdStatusRequest): Promise<Types.PatchV1CompanyCalendarIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1CompanyCalendarIdStatus: Api['patchV1CompanyCalendarIdStatus'] = async (request: Types.PatchV1CompanyCalendarIdStatusRequest): Promise<Types.PatchV1CompanyCalendarIdStatusResponses> => {\n return await _patchV1CompanyCalendarIdStatus(baseUrl, request)\n}\nconst _postV1CompanyCalendarSaveAsDraft = async (url: string, request: Types.PostV1CompanyCalendarSaveAsDraftRequest): Promise<Types.PostV1CompanyCalendarSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1CompanyCalendarSaveAsDraft: Api['postV1CompanyCalendarSaveAsDraft'] = async (request: Types.PostV1CompanyCalendarSaveAsDraftRequest): Promise<Types.PostV1CompanyCalendarSaveAsDraftResponses> => {\n return await _postV1CompanyCalendarSaveAsDraft(baseUrl, request)\n}\nconst _patchV1CompanyCalendarIdSaveAsDraft = async (url: string, request: Types.PatchV1CompanyCalendarIdSaveAsDraftRequest): Promise<Types.PatchV1CompanyCalendarIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1CompanyCalendarIdSaveAsDraft: Api['patchV1CompanyCalendarIdSaveAsDraft'] = async (request: Types.PatchV1CompanyCalendarIdSaveAsDraftRequest): Promise<Types.PatchV1CompanyCalendarIdSaveAsDraftResponses> => {\n return await _patchV1CompanyCalendarIdSaveAsDraft(baseUrl, request)\n}\nconst _getV1CompanyCalendarGenerateExcel = async (url: string, request: Types.GetV1CompanyCalendarGenerateExcelRequest): Promise<Types.GetV1CompanyCalendarGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1CompanyCalendarGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1CompanyCalendarGenerateExcel: Api['getV1CompanyCalendarGenerateExcel'] = async (request: Types.GetV1CompanyCalendarGenerateExcelRequest): Promise<Types.GetV1CompanyCalendarGenerateExcelResponses> => {\n return await _getV1CompanyCalendarGenerateExcel(baseUrl, request)\n}\nconst _postV1CompanyCalendarImport = async (url: string, request: Types.PostV1CompanyCalendarImportRequest): Promise<Types.PostV1CompanyCalendarImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1CompanyCalendarImport: Api['postV1CompanyCalendarImport'] = async (request: Types.PostV1CompanyCalendarImportRequest): Promise<Types.PostV1CompanyCalendarImportResponses> => {\n return await _postV1CompanyCalendarImport(baseUrl, request)\n}\nconst _postV1LoanMaster = async (url: string, request: Types.PostV1LoanMasterRequest): Promise<Types.PostV1LoanMasterResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LoanMaster: Api['postV1LoanMaster'] = async (request: Types.PostV1LoanMasterRequest): Promise<Types.PostV1LoanMasterResponses> => {\n return await _postV1LoanMaster(baseUrl, request)\n}\nconst _getV1LoanMaster = async (url: string, request: Types.GetV1LoanMasterRequest): Promise<Types.GetV1LoanMasterResponses> => {\n const queryParameters: (keyof Types.GetV1LoanMasterRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanMaster: Api['getV1LoanMaster'] = async (request: Types.GetV1LoanMasterRequest): Promise<Types.GetV1LoanMasterResponses> => {\n return await _getV1LoanMaster(baseUrl, request)\n}\nconst _getV1LoanMasterId = async (url: string, request: Types.GetV1LoanMasterIdRequest): Promise<Types.GetV1LoanMasterIdResponses> => {\n const queryParameters: (keyof Types.GetV1LoanMasterIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanMasterId: Api['getV1LoanMasterId'] = async (request: Types.GetV1LoanMasterIdRequest): Promise<Types.GetV1LoanMasterIdResponses> => {\n return await _getV1LoanMasterId(baseUrl, request)\n}\nconst _putV1LoanMasterId = async (url: string, request: Types.PutV1LoanMasterIdRequest): Promise<Types.PutV1LoanMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LoanMasterId: Api['putV1LoanMasterId'] = async (request: Types.PutV1LoanMasterIdRequest): Promise<Types.PutV1LoanMasterIdResponses> => {\n return await _putV1LoanMasterId(baseUrl, request)\n}\nconst _deleteV1LoanMasterId = async (url: string, request: Types.DeleteV1LoanMasterIdRequest): Promise<Types.DeleteV1LoanMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1LoanMasterId: Api['deleteV1LoanMasterId'] = async (request: Types.DeleteV1LoanMasterIdRequest): Promise<Types.DeleteV1LoanMasterIdResponses> => {\n return await _deleteV1LoanMasterId(baseUrl, request)\n}\nconst _patchV1LoanMasterIdStatus = async (url: string, request: Types.PatchV1LoanMasterIdStatusRequest): Promise<Types.PatchV1LoanMasterIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LoanMasterIdStatus: Api['patchV1LoanMasterIdStatus'] = async (request: Types.PatchV1LoanMasterIdStatusRequest): Promise<Types.PatchV1LoanMasterIdStatusResponses> => {\n return await _patchV1LoanMasterIdStatus(baseUrl, request)\n}\nconst _postV1LoanMasterDraft = async (url: string, request: Types.PostV1LoanMasterDraftRequest): Promise<Types.PostV1LoanMasterDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LoanMasterDraft: Api['postV1LoanMasterDraft'] = async (request: Types.PostV1LoanMasterDraftRequest): Promise<Types.PostV1LoanMasterDraftResponses> => {\n return await _postV1LoanMasterDraft(baseUrl, request)\n}\nconst _postV1LoanRequests = async (url: string, request: Types.PostV1LoanRequestsRequest): Promise<Types.PostV1LoanRequestsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LoanRequests: Api['postV1LoanRequests'] = async (request: Types.PostV1LoanRequestsRequest): Promise<Types.PostV1LoanRequestsResponses> => {\n return await _postV1LoanRequests(baseUrl, request)\n}\nconst _getV1LoanRequests = async (url: string, request: Types.GetV1LoanRequestsRequest): Promise<Types.GetV1LoanRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1LoanRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanRequests: Api['getV1LoanRequests'] = async (request: Types.GetV1LoanRequestsRequest): Promise<Types.GetV1LoanRequestsResponses> => {\n return await _getV1LoanRequests(baseUrl, request)\n}\nconst _getV1LoanRequestsEligibilityEmployeeIdLoanMasters = async (url: string, request: Types.GetV1LoanRequestsEligibilityEmployeeIdLoanMastersRequest): Promise<Types.GetV1LoanRequestsEligibilityEmployeeIdLoanMastersResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/eligibility/${request['employee_id']}/loan-masters`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanRequestsEligibilityEmployeeIdLoanMasters: Api['getV1LoanRequestsEligibilityEmployeeIdLoanMasters'] = async (request: Types.GetV1LoanRequestsEligibilityEmployeeIdLoanMastersRequest): Promise<Types.GetV1LoanRequestsEligibilityEmployeeIdLoanMastersResponses> => {\n return await _getV1LoanRequestsEligibilityEmployeeIdLoanMasters(baseUrl, request)\n}\nconst _postV1LoanRequestsCheckEligibility = async (url: string, request: Types.PostV1LoanRequestsCheckEligibilityRequest): Promise<Types.PostV1LoanRequestsCheckEligibilityResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/check-eligibility`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LoanRequestsCheckEligibility: Api['postV1LoanRequestsCheckEligibility'] = async (request: Types.PostV1LoanRequestsCheckEligibilityRequest): Promise<Types.PostV1LoanRequestsCheckEligibilityResponses> => {\n return await _postV1LoanRequestsCheckEligibility(baseUrl, request)\n}\nconst _postV1LoanRequestsPreviewEmi = async (url: string, request: Types.PostV1LoanRequestsPreviewEmiRequest): Promise<Types.PostV1LoanRequestsPreviewEmiResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/preview-emi`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LoanRequestsPreviewEmi: Api['postV1LoanRequestsPreviewEmi'] = async (request: Types.PostV1LoanRequestsPreviewEmiRequest): Promise<Types.PostV1LoanRequestsPreviewEmiResponses> => {\n return await _postV1LoanRequestsPreviewEmi(baseUrl, request)\n}\nconst _getV1LoanRequestsId = async (url: string, request: Types.GetV1LoanRequestsIdRequest): Promise<Types.GetV1LoanRequestsIdResponses> => {\n const queryParameters: (keyof Types.GetV1LoanRequestsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanRequestsId: Api['getV1LoanRequestsId'] = async (request: Types.GetV1LoanRequestsIdRequest): Promise<Types.GetV1LoanRequestsIdResponses> => {\n return await _getV1LoanRequestsId(baseUrl, request)\n}\nconst _putV1LoanRequestsId = async (url: string, request: Types.PutV1LoanRequestsIdRequest): Promise<Types.PutV1LoanRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LoanRequestsId: Api['putV1LoanRequestsId'] = async (request: Types.PutV1LoanRequestsIdRequest): Promise<Types.PutV1LoanRequestsIdResponses> => {\n return await _putV1LoanRequestsId(baseUrl, request)\n}\nconst _deleteV1LoanRequestsId = async (url: string, request: Types.DeleteV1LoanRequestsIdRequest): Promise<Types.DeleteV1LoanRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1LoanRequestsId: Api['deleteV1LoanRequestsId'] = async (request: Types.DeleteV1LoanRequestsIdRequest): Promise<Types.DeleteV1LoanRequestsIdResponses> => {\n return await _deleteV1LoanRequestsId(baseUrl, request)\n}\nconst _getV1LoanRequestsGenerateExcel = async (url: string, request: Types.GetV1LoanRequestsGenerateExcelRequest): Promise<Types.GetV1LoanRequestsGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1LoanRequestsGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1LoanRequestsGenerateExcel: Api['getV1LoanRequestsGenerateExcel'] = async (request: Types.GetV1LoanRequestsGenerateExcelRequest): Promise<Types.GetV1LoanRequestsGenerateExcelResponses> => {\n return await _getV1LoanRequestsGenerateExcel(baseUrl, request)\n}\nconst _getV1LoanAllotments = async (url: string, request: Types.GetV1LoanAllotmentsRequest): Promise<Types.GetV1LoanAllotmentsResponses> => {\n const queryParameters: (keyof Types.GetV1LoanAllotmentsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanAllotments: Api['getV1LoanAllotments'] = async (request: Types.GetV1LoanAllotmentsRequest): Promise<Types.GetV1LoanAllotmentsResponses> => {\n return await _getV1LoanAllotments(baseUrl, request)\n}\nconst _getV1LoanAllotmentsMyApprovals = async (url: string, request: Types.GetV1LoanAllotmentsMyApprovalsRequest): Promise<Types.GetV1LoanAllotmentsMyApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1LoanAllotmentsMyApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'approval_status']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/my-approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanAllotmentsMyApprovals: Api['getV1LoanAllotmentsMyApprovals'] = async (request: Types.GetV1LoanAllotmentsMyApprovalsRequest): Promise<Types.GetV1LoanAllotmentsMyApprovalsResponses> => {\n return await _getV1LoanAllotmentsMyApprovals(baseUrl, request)\n}\nconst _getV1LoanAllotmentsId = async (url: string, request: Types.GetV1LoanAllotmentsIdRequest): Promise<Types.GetV1LoanAllotmentsIdResponses> => {\n const queryParameters: (keyof Types.GetV1LoanAllotmentsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanAllotmentsId: Api['getV1LoanAllotmentsId'] = async (request: Types.GetV1LoanAllotmentsIdRequest): Promise<Types.GetV1LoanAllotmentsIdResponses> => {\n return await _getV1LoanAllotmentsId(baseUrl, request)\n}\nconst _patchV1LoanAllotmentsIdStatus = async (url: string, request: Types.PatchV1LoanAllotmentsIdStatusRequest): Promise<Types.PatchV1LoanAllotmentsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LoanAllotmentsIdStatus: Api['patchV1LoanAllotmentsIdStatus'] = async (request: Types.PatchV1LoanAllotmentsIdStatusRequest): Promise<Types.PatchV1LoanAllotmentsIdStatusResponses> => {\n return await _patchV1LoanAllotmentsIdStatus(baseUrl, request)\n}\nconst _getV1LoanAllotmentsActiveLoans = async (url: string, request: Types.GetV1LoanAllotmentsActiveLoansRequest): Promise<Types.GetV1LoanAllotmentsActiveLoansResponses> => {\n const queryParameters: (keyof Types.GetV1LoanAllotmentsActiveLoansRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/active-loans?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanAllotmentsActiveLoans: Api['getV1LoanAllotmentsActiveLoans'] = async (request: Types.GetV1LoanAllotmentsActiveLoansRequest): Promise<Types.GetV1LoanAllotmentsActiveLoansResponses> => {\n return await _getV1LoanAllotmentsActiveLoans(baseUrl, request)\n}\nconst _getV1LoanAllotmentsActiveLoansId = async (url: string, request: Types.GetV1LoanAllotmentsActiveLoansIdRequest): Promise<Types.GetV1LoanAllotmentsActiveLoansIdResponses> => {\n const queryParameters: (keyof Types.GetV1LoanAllotmentsActiveLoansIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/active-loans/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanAllotmentsActiveLoansId: Api['getV1LoanAllotmentsActiveLoansId'] = async (request: Types.GetV1LoanAllotmentsActiveLoansIdRequest): Promise<Types.GetV1LoanAllotmentsActiveLoansIdResponses> => {\n return await _getV1LoanAllotmentsActiveLoansId(baseUrl, request)\n}\nconst _getV1LoanAllotmentsActiveLoansIdEmiScheduleExport = async (url: string, request: Types.GetV1LoanAllotmentsActiveLoansIdEmiScheduleExportRequest): Promise<Types.GetV1LoanAllotmentsActiveLoansIdEmiScheduleExportResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/active-loans/${request['id']}/emi-schedule/export`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanAllotmentsActiveLoansIdEmiScheduleExport: Api['getV1LoanAllotmentsActiveLoansIdEmiScheduleExport'] = async (request: Types.GetV1LoanAllotmentsActiveLoansIdEmiScheduleExportRequest): Promise<Types.GetV1LoanAllotmentsActiveLoansIdEmiScheduleExportResponses> => {\n return await _getV1LoanAllotmentsActiveLoansIdEmiScheduleExport(baseUrl, request)\n}\nconst _getV1LeaveCategory = async (url: string, request: Types.GetV1LeaveCategoryRequest): Promise<Types.GetV1LeaveCategoryResponses> => {\n const queryParameters: (keyof Types.GetV1LeaveCategoryRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-category/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveCategory: Api['getV1LeaveCategory'] = async (request: Types.GetV1LeaveCategoryRequest): Promise<Types.GetV1LeaveCategoryResponses> => {\n return await _getV1LeaveCategory(baseUrl, request)\n}\nconst _getV1LeaveCategoryId = async (url: string, request: Types.GetV1LeaveCategoryIdRequest): Promise<Types.GetV1LeaveCategoryIdResponses> => {\n const queryParameters: (keyof Types.GetV1LeaveCategoryIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-category/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveCategoryId: Api['getV1LeaveCategoryId'] = async (request: Types.GetV1LeaveCategoryIdRequest): Promise<Types.GetV1LeaveCategoryIdResponses> => {\n return await _getV1LeaveCategoryId(baseUrl, request)\n}\nconst _getV1AccrualType = async (url: string, request: Types.GetV1AccrualTypeRequest): Promise<Types.GetV1AccrualTypeResponses> => {\n const queryParameters: (keyof Types.GetV1AccrualTypeRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-type/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AccrualType: Api['getV1AccrualType'] = async (request: Types.GetV1AccrualTypeRequest): Promise<Types.GetV1AccrualTypeResponses> => {\n return await _getV1AccrualType(baseUrl, request)\n}\nconst _getV1AccrualTypeId = async (url: string, request: Types.GetV1AccrualTypeIdRequest): Promise<Types.GetV1AccrualTypeIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-type/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AccrualTypeId: Api['getV1AccrualTypeId'] = async (request: Types.GetV1AccrualTypeIdRequest): Promise<Types.GetV1AccrualTypeIdResponses> => {\n return await _getV1AccrualTypeId(baseUrl, request)\n}\nconst _postV1AccrualMaster = async (url: string, request: Types.PostV1AccrualMasterRequest): Promise<Types.PostV1AccrualMasterResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AccrualMaster: Api['postV1AccrualMaster'] = async (request: Types.PostV1AccrualMasterRequest): Promise<Types.PostV1AccrualMasterResponses> => {\n return await _postV1AccrualMaster(baseUrl, request)\n}\nconst _getV1AccrualMaster = async (url: string, request: Types.GetV1AccrualMasterRequest): Promise<Types.GetV1AccrualMasterResponses> => {\n const queryParameters: (keyof Types.GetV1AccrualMasterRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AccrualMaster: Api['getV1AccrualMaster'] = async (request: Types.GetV1AccrualMasterRequest): Promise<Types.GetV1AccrualMasterResponses> => {\n return await _getV1AccrualMaster(baseUrl, request)\n}\nconst _getV1AccrualMasterId = async (url: string, request: Types.GetV1AccrualMasterIdRequest): Promise<Types.GetV1AccrualMasterIdResponses> => {\n const queryParameters: (keyof Types.GetV1AccrualMasterIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AccrualMasterId: Api['getV1AccrualMasterId'] = async (request: Types.GetV1AccrualMasterIdRequest): Promise<Types.GetV1AccrualMasterIdResponses> => {\n return await _getV1AccrualMasterId(baseUrl, request)\n}\nconst _putV1AccrualMasterId = async (url: string, request: Types.PutV1AccrualMasterIdRequest): Promise<Types.PutV1AccrualMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1AccrualMasterId: Api['putV1AccrualMasterId'] = async (request: Types.PutV1AccrualMasterIdRequest): Promise<Types.PutV1AccrualMasterIdResponses> => {\n return await _putV1AccrualMasterId(baseUrl, request)\n}\nconst _deleteV1AccrualMasterId = async (url: string, request: Types.DeleteV1AccrualMasterIdRequest): Promise<Types.DeleteV1AccrualMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1AccrualMasterId: Api['deleteV1AccrualMasterId'] = async (request: Types.DeleteV1AccrualMasterIdRequest): Promise<Types.DeleteV1AccrualMasterIdResponses> => {\n return await _deleteV1AccrualMasterId(baseUrl, request)\n}\nconst _patchV1AccrualMasterIdStatus = async (url: string, request: Types.PatchV1AccrualMasterIdStatusRequest): Promise<Types.PatchV1AccrualMasterIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1AccrualMasterIdStatus: Api['patchV1AccrualMasterIdStatus'] = async (request: Types.PatchV1AccrualMasterIdStatusRequest): Promise<Types.PatchV1AccrualMasterIdStatusResponses> => {\n return await _patchV1AccrualMasterIdStatus(baseUrl, request)\n}\nconst _postV1AccrualMasterDraft = async (url: string, request: Types.PostV1AccrualMasterDraftRequest): Promise<Types.PostV1AccrualMasterDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AccrualMasterDraft: Api['postV1AccrualMasterDraft'] = async (request: Types.PostV1AccrualMasterDraftRequest): Promise<Types.PostV1AccrualMasterDraftResponses> => {\n return await _postV1AccrualMasterDraft(baseUrl, request)\n}\nconst _patchV1AccrualMasterIdDraft = async (url: string, request: Types.PatchV1AccrualMasterIdDraftRequest): Promise<Types.PatchV1AccrualMasterIdDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/${request['id']}/draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1AccrualMasterIdDraft: Api['patchV1AccrualMasterIdDraft'] = async (request: Types.PatchV1AccrualMasterIdDraftRequest): Promise<Types.PatchV1AccrualMasterIdDraftResponses> => {\n return await _patchV1AccrualMasterIdDraft(baseUrl, request)\n}\nconst _getV1AccrualMasterGenerateExcel = async (url: string, request: Types.GetV1AccrualMasterGenerateExcelRequest): Promise<Types.GetV1AccrualMasterGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1AccrualMasterGenerateExcelRequest)[] = ['filters', 'order', 'limit', 'skip', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AccrualMasterGenerateExcel: Api['getV1AccrualMasterGenerateExcel'] = async (request: Types.GetV1AccrualMasterGenerateExcelRequest): Promise<Types.GetV1AccrualMasterGenerateExcelResponses> => {\n return await _getV1AccrualMasterGenerateExcel(baseUrl, request)\n}\nconst _postV1AccrualMasterImport = async (url: string, request: Types.PostV1AccrualMasterImportRequest): Promise<Types.PostV1AccrualMasterImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AccrualMasterImport: Api['postV1AccrualMasterImport'] = async (request: Types.PostV1AccrualMasterImportRequest): Promise<Types.PostV1AccrualMasterImportResponses> => {\n return await _postV1AccrualMasterImport(baseUrl, request)\n}\nconst _postV1AccrualMasterCalculateAmount = async (url: string, request: Types.PostV1AccrualMasterCalculateAmountRequest): Promise<Types.PostV1AccrualMasterCalculateAmountResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/calculate-amount`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AccrualMasterCalculateAmount: Api['postV1AccrualMasterCalculateAmount'] = async (request: Types.PostV1AccrualMasterCalculateAmountRequest): Promise<Types.PostV1AccrualMasterCalculateAmountResponses> => {\n return await _postV1AccrualMasterCalculateAmount(baseUrl, request)\n}\nconst _postV1LeavePolicyMaster = async (url: string, request: Types.PostV1LeavePolicyMasterRequest): Promise<Types.PostV1LeavePolicyMasterResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeavePolicyMaster: Api['postV1LeavePolicyMaster'] = async (request: Types.PostV1LeavePolicyMasterRequest): Promise<Types.PostV1LeavePolicyMasterResponses> => {\n return await _postV1LeavePolicyMaster(baseUrl, request)\n}\nconst _getV1LeavePolicyMaster = async (url: string, request: Types.GetV1LeavePolicyMasterRequest): Promise<Types.GetV1LeavePolicyMasterResponses> => {\n const queryParameters: (keyof Types.GetV1LeavePolicyMasterRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeavePolicyMaster: Api['getV1LeavePolicyMaster'] = async (request: Types.GetV1LeavePolicyMasterRequest): Promise<Types.GetV1LeavePolicyMasterResponses> => {\n return await _getV1LeavePolicyMaster(baseUrl, request)\n}\nconst _getV1LeavePolicyMasterId = async (url: string, request: Types.GetV1LeavePolicyMasterIdRequest): Promise<Types.GetV1LeavePolicyMasterIdResponses> => {\n const queryParameters: (keyof Types.GetV1LeavePolicyMasterIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeavePolicyMasterId: Api['getV1LeavePolicyMasterId'] = async (request: Types.GetV1LeavePolicyMasterIdRequest): Promise<Types.GetV1LeavePolicyMasterIdResponses> => {\n return await _getV1LeavePolicyMasterId(baseUrl, request)\n}\nconst _putV1LeavePolicyMasterId = async (url: string, request: Types.PutV1LeavePolicyMasterIdRequest): Promise<Types.PutV1LeavePolicyMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LeavePolicyMasterId: Api['putV1LeavePolicyMasterId'] = async (request: Types.PutV1LeavePolicyMasterIdRequest): Promise<Types.PutV1LeavePolicyMasterIdResponses> => {\n return await _putV1LeavePolicyMasterId(baseUrl, request)\n}\nconst _deleteV1LeavePolicyMasterId = async (url: string, request: Types.DeleteV1LeavePolicyMasterIdRequest): Promise<Types.DeleteV1LeavePolicyMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1LeavePolicyMasterId: Api['deleteV1LeavePolicyMasterId'] = async (request: Types.DeleteV1LeavePolicyMasterIdRequest): Promise<Types.DeleteV1LeavePolicyMasterIdResponses> => {\n return await _deleteV1LeavePolicyMasterId(baseUrl, request)\n}\nconst _patchV1LeavePolicyMasterIdStatus = async (url: string, request: Types.PatchV1LeavePolicyMasterIdStatusRequest): Promise<Types.PatchV1LeavePolicyMasterIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LeavePolicyMasterIdStatus: Api['patchV1LeavePolicyMasterIdStatus'] = async (request: Types.PatchV1LeavePolicyMasterIdStatusRequest): Promise<Types.PatchV1LeavePolicyMasterIdStatusResponses> => {\n return await _patchV1LeavePolicyMasterIdStatus(baseUrl, request)\n}\nconst _postV1LeavePolicyMasterSaveAsDraft = async (url: string, request: Types.PostV1LeavePolicyMasterSaveAsDraftRequest): Promise<Types.PostV1LeavePolicyMasterSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeavePolicyMasterSaveAsDraft: Api['postV1LeavePolicyMasterSaveAsDraft'] = async (request: Types.PostV1LeavePolicyMasterSaveAsDraftRequest): Promise<Types.PostV1LeavePolicyMasterSaveAsDraftResponses> => {\n return await _postV1LeavePolicyMasterSaveAsDraft(baseUrl, request)\n}\nconst _patchV1LeavePolicyMasterIdSaveAsDraft = async (url: string, request: Types.PatchV1LeavePolicyMasterIdSaveAsDraftRequest): Promise<Types.PatchV1LeavePolicyMasterIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LeavePolicyMasterIdSaveAsDraft: Api['patchV1LeavePolicyMasterIdSaveAsDraft'] = async (request: Types.PatchV1LeavePolicyMasterIdSaveAsDraftRequest): Promise<Types.PatchV1LeavePolicyMasterIdSaveAsDraftResponses> => {\n return await _patchV1LeavePolicyMasterIdSaveAsDraft(baseUrl, request)\n}\nconst _getV1LeavePolicyMasterGenerateExcel = async (url: string, request: Types.GetV1LeavePolicyMasterGenerateExcelRequest): Promise<Types.GetV1LeavePolicyMasterGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1LeavePolicyMasterGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeavePolicyMasterGenerateExcel: Api['getV1LeavePolicyMasterGenerateExcel'] = async (request: Types.GetV1LeavePolicyMasterGenerateExcelRequest): Promise<Types.GetV1LeavePolicyMasterGenerateExcelResponses> => {\n return await _getV1LeavePolicyMasterGenerateExcel(baseUrl, request)\n}\nconst _postV1LeavePolicyMasterImport = async (url: string, request: Types.PostV1LeavePolicyMasterImportRequest): Promise<Types.PostV1LeavePolicyMasterImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeavePolicyMasterImport: Api['postV1LeavePolicyMasterImport'] = async (request: Types.PostV1LeavePolicyMasterImportRequest): Promise<Types.PostV1LeavePolicyMasterImportResponses> => {\n return await _postV1LeavePolicyMasterImport(baseUrl, request)\n}\nconst _postV1Grades = async (url: string, request: Types.PostV1GradesRequest): Promise<Types.PostV1GradesResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/grades/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Grades: Api['postV1Grades'] = async (request: Types.PostV1GradesRequest): Promise<Types.PostV1GradesResponses> => {\n return await _postV1Grades(baseUrl, request)\n}\nconst _getV1Grades = async (url: string, request: Types.GetV1GradesRequest): Promise<Types.GetV1GradesResponses> => {\n const queryParameters: (keyof Types.GetV1GradesRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/grades/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Grades: Api['getV1Grades'] = async (request: Types.GetV1GradesRequest): Promise<Types.GetV1GradesResponses> => {\n return await _getV1Grades(baseUrl, request)\n}\nconst _getV1GradesId = async (url: string, request: Types.GetV1GradesIdRequest): Promise<Types.GetV1GradesIdResponses> => {\n const queryParameters: (keyof Types.GetV1GradesIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/grades/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1GradesId: Api['getV1GradesId'] = async (request: Types.GetV1GradesIdRequest): Promise<Types.GetV1GradesIdResponses> => {\n return await _getV1GradesId(baseUrl, request)\n}\nconst _putV1GradesId = async (url: string, request: Types.PutV1GradesIdRequest): Promise<Types.PutV1GradesIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/grades/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1GradesId: Api['putV1GradesId'] = async (request: Types.PutV1GradesIdRequest): Promise<Types.PutV1GradesIdResponses> => {\n return await _putV1GradesId(baseUrl, request)\n}\nconst _deleteV1GradesId = async (url: string, request: Types.DeleteV1GradesIdRequest): Promise<Types.DeleteV1GradesIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/grades/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1GradesId: Api['deleteV1GradesId'] = async (request: Types.DeleteV1GradesIdRequest): Promise<Types.DeleteV1GradesIdResponses> => {\n return await _deleteV1GradesId(baseUrl, request)\n}\nconst _patchV1GradesIdStatus = async (url: string, request: Types.PatchV1GradesIdStatusRequest): Promise<Types.PatchV1GradesIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/grades/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1GradesIdStatus: Api['patchV1GradesIdStatus'] = async (request: Types.PatchV1GradesIdStatusRequest): Promise<Types.PatchV1GradesIdStatusResponses> => {\n return await _patchV1GradesIdStatus(baseUrl, request)\n}\nconst _postV1Teams = async (url: string, request: Types.PostV1TeamsRequest): Promise<Types.PostV1TeamsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/teams/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Teams: Api['postV1Teams'] = async (request: Types.PostV1TeamsRequest): Promise<Types.PostV1TeamsResponses> => {\n return await _postV1Teams(baseUrl, request)\n}\nconst _getV1Teams = async (url: string, request: Types.GetV1TeamsRequest): Promise<Types.GetV1TeamsResponses> => {\n const queryParameters: (keyof Types.GetV1TeamsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/teams/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Teams: Api['getV1Teams'] = async (request: Types.GetV1TeamsRequest): Promise<Types.GetV1TeamsResponses> => {\n return await _getV1Teams(baseUrl, request)\n}\nconst _getV1TeamsId = async (url: string, request: Types.GetV1TeamsIdRequest): Promise<Types.GetV1TeamsIdResponses> => {\n const queryParameters: (keyof Types.GetV1TeamsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/teams/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TeamsId: Api['getV1TeamsId'] = async (request: Types.GetV1TeamsIdRequest): Promise<Types.GetV1TeamsIdResponses> => {\n return await _getV1TeamsId(baseUrl, request)\n}\nconst _putV1TeamsId = async (url: string, request: Types.PutV1TeamsIdRequest): Promise<Types.PutV1TeamsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/teams/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1TeamsId: Api['putV1TeamsId'] = async (request: Types.PutV1TeamsIdRequest): Promise<Types.PutV1TeamsIdResponses> => {\n return await _putV1TeamsId(baseUrl, request)\n}\nconst _deleteV1TeamsId = async (url: string, request: Types.DeleteV1TeamsIdRequest): Promise<Types.DeleteV1TeamsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/teams/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1TeamsId: Api['deleteV1TeamsId'] = async (request: Types.DeleteV1TeamsIdRequest): Promise<Types.DeleteV1TeamsIdResponses> => {\n return await _deleteV1TeamsId(baseUrl, request)\n}\nconst _postV1Skills = async (url: string, request: Types.PostV1SkillsRequest): Promise<Types.PostV1SkillsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/skills/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Skills: Api['postV1Skills'] = async (request: Types.PostV1SkillsRequest): Promise<Types.PostV1SkillsResponses> => {\n return await _postV1Skills(baseUrl, request)\n}\nconst _getV1Skills = async (url: string, request: Types.GetV1SkillsRequest): Promise<Types.GetV1SkillsResponses> => {\n const queryParameters: (keyof Types.GetV1SkillsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/skills/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Skills: Api['getV1Skills'] = async (request: Types.GetV1SkillsRequest): Promise<Types.GetV1SkillsResponses> => {\n return await _getV1Skills(baseUrl, request)\n}\nconst _getV1SkillsId = async (url: string, request: Types.GetV1SkillsIdRequest): Promise<Types.GetV1SkillsIdResponses> => {\n const queryParameters: (keyof Types.GetV1SkillsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/skills/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1SkillsId: Api['getV1SkillsId'] = async (request: Types.GetV1SkillsIdRequest): Promise<Types.GetV1SkillsIdResponses> => {\n return await _getV1SkillsId(baseUrl, request)\n}\nconst _putV1SkillsId = async (url: string, request: Types.PutV1SkillsIdRequest): Promise<Types.PutV1SkillsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/skills/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1SkillsId: Api['putV1SkillsId'] = async (request: Types.PutV1SkillsIdRequest): Promise<Types.PutV1SkillsIdResponses> => {\n return await _putV1SkillsId(baseUrl, request)\n}\nconst _deleteV1SkillsId = async (url: string, request: Types.DeleteV1SkillsIdRequest): Promise<Types.DeleteV1SkillsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/skills/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1SkillsId: Api['deleteV1SkillsId'] = async (request: Types.DeleteV1SkillsIdRequest): Promise<Types.DeleteV1SkillsIdResponses> => {\n return await _deleteV1SkillsId(baseUrl, request)\n}\nconst _postV1Designation = async (url: string, request: Types.PostV1DesignationRequest): Promise<Types.PostV1DesignationResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/designation/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Designation: Api['postV1Designation'] = async (request: Types.PostV1DesignationRequest): Promise<Types.PostV1DesignationResponses> => {\n return await _postV1Designation(baseUrl, request)\n}\nconst _getV1Designation = async (url: string, request: Types.GetV1DesignationRequest): Promise<Types.GetV1DesignationResponses> => {\n const queryParameters: (keyof Types.GetV1DesignationRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/designation/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Designation: Api['getV1Designation'] = async (request: Types.GetV1DesignationRequest): Promise<Types.GetV1DesignationResponses> => {\n return await _getV1Designation(baseUrl, request)\n}\nconst _getV1DesignationId = async (url: string, request: Types.GetV1DesignationIdRequest): Promise<Types.GetV1DesignationIdResponses> => {\n const queryParameters: (keyof Types.GetV1DesignationIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/designation/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DesignationId: Api['getV1DesignationId'] = async (request: Types.GetV1DesignationIdRequest): Promise<Types.GetV1DesignationIdResponses> => {\n return await _getV1DesignationId(baseUrl, request)\n}\nconst _putV1DesignationId = async (url: string, request: Types.PutV1DesignationIdRequest): Promise<Types.PutV1DesignationIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/designation/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1DesignationId: Api['putV1DesignationId'] = async (request: Types.PutV1DesignationIdRequest): Promise<Types.PutV1DesignationIdResponses> => {\n return await _putV1DesignationId(baseUrl, request)\n}\nconst _deleteV1DesignationId = async (url: string, request: Types.DeleteV1DesignationIdRequest): Promise<Types.DeleteV1DesignationIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/designation/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1DesignationId: Api['deleteV1DesignationId'] = async (request: Types.DeleteV1DesignationIdRequest): Promise<Types.DeleteV1DesignationIdResponses> => {\n return await _deleteV1DesignationId(baseUrl, request)\n}\nconst _postV1DesignationDraft = async (url: string, request: Types.PostV1DesignationDraftRequest): Promise<Types.PostV1DesignationDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/designation/draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DesignationDraft: Api['postV1DesignationDraft'] = async (request: Types.PostV1DesignationDraftRequest): Promise<Types.PostV1DesignationDraftResponses> => {\n return await _postV1DesignationDraft(baseUrl, request)\n}\nconst _postV1Departments = async (url: string, request: Types.PostV1DepartmentsRequest): Promise<Types.PostV1DepartmentsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Departments: Api['postV1Departments'] = async (request: Types.PostV1DepartmentsRequest): Promise<Types.PostV1DepartmentsResponses> => {\n return await _postV1Departments(baseUrl, request)\n}\nconst _getV1Departments = async (url: string, request: Types.GetV1DepartmentsRequest): Promise<Types.GetV1DepartmentsResponses> => {\n const queryParameters: (keyof Types.GetV1DepartmentsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Departments: Api['getV1Departments'] = async (request: Types.GetV1DepartmentsRequest): Promise<Types.GetV1DepartmentsResponses> => {\n return await _getV1Departments(baseUrl, request)\n}\nconst _getV1DepartmentsGenerateExcel = async (url: string, request: Types.GetV1DepartmentsGenerateExcelRequest): Promise<Types.GetV1DepartmentsGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1DepartmentsGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/departments/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DepartmentsGenerateExcel: Api['getV1DepartmentsGenerateExcel'] = async (request: Types.GetV1DepartmentsGenerateExcelRequest): Promise<Types.GetV1DepartmentsGenerateExcelResponses> => {\n return await _getV1DepartmentsGenerateExcel(baseUrl, request)\n}\nconst _getV1DepartmentsId = async (url: string, request: Types.GetV1DepartmentsIdRequest): Promise<Types.GetV1DepartmentsIdResponses> => {\n const queryParameters: (keyof Types.GetV1DepartmentsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DepartmentsId: Api['getV1DepartmentsId'] = async (request: Types.GetV1DepartmentsIdRequest): Promise<Types.GetV1DepartmentsIdResponses> => {\n return await _getV1DepartmentsId(baseUrl, request)\n}\nconst _patchV1DepartmentsId = async (url: string, request: Types.PatchV1DepartmentsIdRequest): Promise<Types.PatchV1DepartmentsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/${request['id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1DepartmentsId: Api['patchV1DepartmentsId'] = async (request: Types.PatchV1DepartmentsIdRequest): Promise<Types.PatchV1DepartmentsIdResponses> => {\n return await _patchV1DepartmentsId(baseUrl, request)\n}\nconst _putV1DepartmentsId = async (url: string, request: Types.PutV1DepartmentsIdRequest): Promise<Types.PutV1DepartmentsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1DepartmentsId: Api['putV1DepartmentsId'] = async (request: Types.PutV1DepartmentsIdRequest): Promise<Types.PutV1DepartmentsIdResponses> => {\n return await _putV1DepartmentsId(baseUrl, request)\n}\nconst _deleteV1DepartmentsId = async (url: string, request: Types.DeleteV1DepartmentsIdRequest): Promise<Types.DeleteV1DepartmentsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1DepartmentsId: Api['deleteV1DepartmentsId'] = async (request: Types.DeleteV1DepartmentsIdRequest): Promise<Types.DeleteV1DepartmentsIdResponses> => {\n return await _deleteV1DepartmentsId(baseUrl, request)\n}\nconst _getV1DepartmentsIdSubDepartments = async (url: string, request: Types.GetV1DepartmentsIdSubDepartmentsRequest): Promise<Types.GetV1DepartmentsIdSubDepartmentsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/${request['id']}/sub-departments`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DepartmentsIdSubDepartments: Api['getV1DepartmentsIdSubDepartments'] = async (request: Types.GetV1DepartmentsIdSubDepartmentsRequest): Promise<Types.GetV1DepartmentsIdSubDepartmentsResponses> => {\n return await _getV1DepartmentsIdSubDepartments(baseUrl, request)\n}\nconst _getV1DepartmentsIdTeams = async (url: string, request: Types.GetV1DepartmentsIdTeamsRequest): Promise<Types.GetV1DepartmentsIdTeamsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/${request['id']}/teams`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DepartmentsIdTeams: Api['getV1DepartmentsIdTeams'] = async (request: Types.GetV1DepartmentsIdTeamsRequest): Promise<Types.GetV1DepartmentsIdTeamsResponses> => {\n return await _getV1DepartmentsIdTeams(baseUrl, request)\n}\nconst _postV1DepartmentsTeams = async (url: string, request: Types.PostV1DepartmentsTeamsRequest): Promise<Types.PostV1DepartmentsTeamsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/teams`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DepartmentsTeams: Api['postV1DepartmentsTeams'] = async (request: Types.PostV1DepartmentsTeamsRequest): Promise<Types.PostV1DepartmentsTeamsResponses> => {\n return await _postV1DepartmentsTeams(baseUrl, request)\n}\nconst _patchV1DepartmentsTeamsId = async (url: string, request: Types.PatchV1DepartmentsTeamsIdRequest): Promise<Types.PatchV1DepartmentsTeamsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/teams/${request['id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1DepartmentsTeamsId: Api['patchV1DepartmentsTeamsId'] = async (request: Types.PatchV1DepartmentsTeamsIdRequest): Promise<Types.PatchV1DepartmentsTeamsIdResponses> => {\n return await _patchV1DepartmentsTeamsId(baseUrl, request)\n}\nconst _deleteV1DepartmentsTeamsId = async (url: string, request: Types.DeleteV1DepartmentsTeamsIdRequest): Promise<Types.DeleteV1DepartmentsTeamsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/teams/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1DepartmentsTeamsId: Api['deleteV1DepartmentsTeamsId'] = async (request: Types.DeleteV1DepartmentsTeamsIdRequest): Promise<Types.DeleteV1DepartmentsTeamsIdResponses> => {\n return await _deleteV1DepartmentsTeamsId(baseUrl, request)\n}\nconst _getV1DepartmentsCheckCode = async (url: string, request: Types.GetV1DepartmentsCheckCodeRequest): Promise<Types.GetV1DepartmentsCheckCodeResponses> => {\n const queryParameters: (keyof Types.GetV1DepartmentsCheckCodeRequest)[] = ['company_id', 'department_code', 'exclude_id']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/check-code?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DepartmentsCheckCode: Api['getV1DepartmentsCheckCode'] = async (request: Types.GetV1DepartmentsCheckCodeRequest): Promise<Types.GetV1DepartmentsCheckCodeResponses> => {\n return await _getV1DepartmentsCheckCode(baseUrl, request)\n}\nconst _postV1DepartmentsImport = async (url: string, request: Types.PostV1DepartmentsImportRequest): Promise<Types.PostV1DepartmentsImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DepartmentsImport: Api['postV1DepartmentsImport'] = async (request: Types.PostV1DepartmentsImportRequest): Promise<Types.PostV1DepartmentsImportResponses> => {\n return await _postV1DepartmentsImport(baseUrl, request)\n}\nconst _postV1DepartmentsDraft = async (url: string, request: Types.PostV1DepartmentsDraftRequest): Promise<Types.PostV1DepartmentsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DepartmentsDraft: Api['postV1DepartmentsDraft'] = async (request: Types.PostV1DepartmentsDraftRequest): Promise<Types.PostV1DepartmentsDraftResponses> => {\n return await _postV1DepartmentsDraft(baseUrl, request)\n}\nconst _postV1Timezones = async (url: string, request: Types.PostV1TimezonesRequest): Promise<Types.PostV1TimezonesResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timezones/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Timezones: Api['postV1Timezones'] = async (request: Types.PostV1TimezonesRequest): Promise<Types.PostV1TimezonesResponses> => {\n return await _postV1Timezones(baseUrl, request)\n}\nconst _getV1Timezones = async (url: string, request: Types.GetV1TimezonesRequest): Promise<Types.GetV1TimezonesResponses> => {\n const queryParameters: (keyof Types.GetV1TimezonesRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timezones/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Timezones: Api['getV1Timezones'] = async (request: Types.GetV1TimezonesRequest): Promise<Types.GetV1TimezonesResponses> => {\n return await _getV1Timezones(baseUrl, request)\n}\nconst _getV1TimezonesId = async (url: string, request: Types.GetV1TimezonesIdRequest): Promise<Types.GetV1TimezonesIdResponses> => {\n const queryParameters: (keyof Types.GetV1TimezonesIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timezones/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimezonesId: Api['getV1TimezonesId'] = async (request: Types.GetV1TimezonesIdRequest): Promise<Types.GetV1TimezonesIdResponses> => {\n return await _getV1TimezonesId(baseUrl, request)\n}\nconst _putV1TimezonesId = async (url: string, request: Types.PutV1TimezonesIdRequest): Promise<Types.PutV1TimezonesIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timezones/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1TimezonesId: Api['putV1TimezonesId'] = async (request: Types.PutV1TimezonesIdRequest): Promise<Types.PutV1TimezonesIdResponses> => {\n return await _putV1TimezonesId(baseUrl, request)\n}\nconst _deleteV1TimezonesId = async (url: string, request: Types.DeleteV1TimezonesIdRequest): Promise<Types.DeleteV1TimezonesIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timezones/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1TimezonesId: Api['deleteV1TimezonesId'] = async (request: Types.DeleteV1TimezonesIdRequest): Promise<Types.DeleteV1TimezonesIdResponses> => {\n return await _deleteV1TimezonesId(baseUrl, request)\n}\nconst _postV1SalaryStructureMaster = async (url: string, request: Types.PostV1SalaryStructureMasterRequest): Promise<Types.PostV1SalaryStructureMasterResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalaryStructureMaster: Api['postV1SalaryStructureMaster'] = async (request: Types.PostV1SalaryStructureMasterRequest): Promise<Types.PostV1SalaryStructureMasterResponses> => {\n return await _postV1SalaryStructureMaster(baseUrl, request)\n}\nconst _getV1SalaryStructureMaster = async (url: string, request: Types.GetV1SalaryStructureMasterRequest): Promise<Types.GetV1SalaryStructureMasterResponses> => {\n const queryParameters: (keyof Types.GetV1SalaryStructureMasterRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1SalaryStructureMaster: Api['getV1SalaryStructureMaster'] = async (request: Types.GetV1SalaryStructureMasterRequest): Promise<Types.GetV1SalaryStructureMasterResponses> => {\n return await _getV1SalaryStructureMaster(baseUrl, request)\n}\nconst _getV1SalaryStructureMasterId = async (url: string, request: Types.GetV1SalaryStructureMasterIdRequest): Promise<Types.GetV1SalaryStructureMasterIdResponses> => {\n const queryParameters: (keyof Types.GetV1SalaryStructureMasterIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1SalaryStructureMasterId: Api['getV1SalaryStructureMasterId'] = async (request: Types.GetV1SalaryStructureMasterIdRequest): Promise<Types.GetV1SalaryStructureMasterIdResponses> => {\n return await _getV1SalaryStructureMasterId(baseUrl, request)\n}\nconst _putV1SalaryStructureMasterId = async (url: string, request: Types.PutV1SalaryStructureMasterIdRequest): Promise<Types.PutV1SalaryStructureMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1SalaryStructureMasterId: Api['putV1SalaryStructureMasterId'] = async (request: Types.PutV1SalaryStructureMasterIdRequest): Promise<Types.PutV1SalaryStructureMasterIdResponses> => {\n return await _putV1SalaryStructureMasterId(baseUrl, request)\n}\nconst _deleteV1SalaryStructureMasterId = async (url: string, request: Types.DeleteV1SalaryStructureMasterIdRequest): Promise<Types.DeleteV1SalaryStructureMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1SalaryStructureMasterId: Api['deleteV1SalaryStructureMasterId'] = async (request: Types.DeleteV1SalaryStructureMasterIdRequest): Promise<Types.DeleteV1SalaryStructureMasterIdResponses> => {\n return await _deleteV1SalaryStructureMasterId(baseUrl, request)\n}\nconst _patchV1SalaryStructureMasterIdStatus = async (url: string, request: Types.PatchV1SalaryStructureMasterIdStatusRequest): Promise<Types.PatchV1SalaryStructureMasterIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1SalaryStructureMasterIdStatus: Api['patchV1SalaryStructureMasterIdStatus'] = async (request: Types.PatchV1SalaryStructureMasterIdStatusRequest): Promise<Types.PatchV1SalaryStructureMasterIdStatusResponses> => {\n return await _patchV1SalaryStructureMasterIdStatus(baseUrl, request)\n}\nconst _postV1SalaryStructureMasterSaveAsDraft = async (url: string, request: Types.PostV1SalaryStructureMasterSaveAsDraftRequest): Promise<Types.PostV1SalaryStructureMasterSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalaryStructureMasterSaveAsDraft: Api['postV1SalaryStructureMasterSaveAsDraft'] = async (request: Types.PostV1SalaryStructureMasterSaveAsDraftRequest): Promise<Types.PostV1SalaryStructureMasterSaveAsDraftResponses> => {\n return await _postV1SalaryStructureMasterSaveAsDraft(baseUrl, request)\n}\nconst _patchV1SalaryStructureMasterIdSaveAsDraft = async (url: string, request: Types.PatchV1SalaryStructureMasterIdSaveAsDraftRequest): Promise<Types.PatchV1SalaryStructureMasterIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1SalaryStructureMasterIdSaveAsDraft: Api['patchV1SalaryStructureMasterIdSaveAsDraft'] = async (request: Types.PatchV1SalaryStructureMasterIdSaveAsDraftRequest): Promise<Types.PatchV1SalaryStructureMasterIdSaveAsDraftResponses> => {\n return await _patchV1SalaryStructureMasterIdSaveAsDraft(baseUrl, request)\n}\nconst _postV1SalaryStructureMasterCalculate = async (url: string, request: Types.PostV1SalaryStructureMasterCalculateRequest): Promise<Types.PostV1SalaryStructureMasterCalculateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/calculate`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalaryStructureMasterCalculate: Api['postV1SalaryStructureMasterCalculate'] = async (request: Types.PostV1SalaryStructureMasterCalculateRequest): Promise<Types.PostV1SalaryStructureMasterCalculateResponses> => {\n return await _postV1SalaryStructureMasterCalculate(baseUrl, request)\n}\nconst _getV1SalaryStructureMasterGenerateExcel = async (url: string, request: Types.GetV1SalaryStructureMasterGenerateExcelRequest): Promise<Types.GetV1SalaryStructureMasterGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1SalaryStructureMasterGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1SalaryStructureMasterGenerateExcel: Api['getV1SalaryStructureMasterGenerateExcel'] = async (request: Types.GetV1SalaryStructureMasterGenerateExcelRequest): Promise<Types.GetV1SalaryStructureMasterGenerateExcelResponses> => {\n return await _getV1SalaryStructureMasterGenerateExcel(baseUrl, request)\n}\nconst _postV1SalaryStructureMasterImport = async (url: string, request: Types.PostV1SalaryStructureMasterImportRequest): Promise<Types.PostV1SalaryStructureMasterImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalaryStructureMasterImport: Api['postV1SalaryStructureMasterImport'] = async (request: Types.PostV1SalaryStructureMasterImportRequest): Promise<Types.PostV1SalaryStructureMasterImportResponses> => {\n return await _postV1SalaryStructureMasterImport(baseUrl, request)\n}\nconst _postV1Employee = async (url: string, request: Types.PostV1EmployeeRequest): Promise<Types.PostV1EmployeeResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Employee: Api['postV1Employee'] = async (request: Types.PostV1EmployeeRequest): Promise<Types.PostV1EmployeeResponses> => {\n return await _postV1Employee(baseUrl, request)\n}\nconst _getV1Employee = async (url: string, request: Types.GetV1EmployeeRequest): Promise<Types.GetV1EmployeeResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Employee: Api['getV1Employee'] = async (request: Types.GetV1EmployeeRequest): Promise<Types.GetV1EmployeeResponses> => {\n return await _getV1Employee(baseUrl, request)\n}\nconst _getV1EmployeeId = async (url: string, request: Types.GetV1EmployeeIdRequest): Promise<Types.GetV1EmployeeIdResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeId: Api['getV1EmployeeId'] = async (request: Types.GetV1EmployeeIdRequest): Promise<Types.GetV1EmployeeIdResponses> => {\n return await _getV1EmployeeId(baseUrl, request)\n}\nconst _putV1EmployeeId = async (url: string, request: Types.PutV1EmployeeIdRequest): Promise<Types.PutV1EmployeeIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1EmployeeId: Api['putV1EmployeeId'] = async (request: Types.PutV1EmployeeIdRequest): Promise<Types.PutV1EmployeeIdResponses> => {\n return await _putV1EmployeeId(baseUrl, request)\n}\nconst _deleteV1EmployeeId = async (url: string, request: Types.DeleteV1EmployeeIdRequest): Promise<Types.DeleteV1EmployeeIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1EmployeeId: Api['deleteV1EmployeeId'] = async (request: Types.DeleteV1EmployeeIdRequest): Promise<Types.DeleteV1EmployeeIdResponses> => {\n return await _deleteV1EmployeeId(baseUrl, request)\n}\nconst _patchV1EmployeeIdStatus = async (url: string, request: Types.PatchV1EmployeeIdStatusRequest): Promise<Types.PatchV1EmployeeIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1EmployeeIdStatus: Api['patchV1EmployeeIdStatus'] = async (request: Types.PatchV1EmployeeIdStatusRequest): Promise<Types.PatchV1EmployeeIdStatusResponses> => {\n return await _patchV1EmployeeIdStatus(baseUrl, request)\n}\nconst _postV1EmployeeSaveAsDraft = async (url: string, request: Types.PostV1EmployeeSaveAsDraftRequest): Promise<Types.PostV1EmployeeSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1EmployeeSaveAsDraft: Api['postV1EmployeeSaveAsDraft'] = async (request: Types.PostV1EmployeeSaveAsDraftRequest): Promise<Types.PostV1EmployeeSaveAsDraftResponses> => {\n return await _postV1EmployeeSaveAsDraft(baseUrl, request)\n}\nconst _patchV1EmployeeIdSaveAsDraft = async (url: string, request: Types.PatchV1EmployeeIdSaveAsDraftRequest): Promise<Types.PatchV1EmployeeIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1EmployeeIdSaveAsDraft: Api['patchV1EmployeeIdSaveAsDraft'] = async (request: Types.PatchV1EmployeeIdSaveAsDraftRequest): Promise<Types.PatchV1EmployeeIdSaveAsDraftResponses> => {\n return await _patchV1EmployeeIdSaveAsDraft(baseUrl, request)\n}\nconst _getV1EmployeeIdContracts = async (url: string, request: Types.GetV1EmployeeIdContractsRequest): Promise<Types.GetV1EmployeeIdContractsResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeIdContractsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}/contracts?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeIdContracts: Api['getV1EmployeeIdContracts'] = async (request: Types.GetV1EmployeeIdContractsRequest): Promise<Types.GetV1EmployeeIdContractsResponses> => {\n return await _getV1EmployeeIdContracts(baseUrl, request)\n}\nconst _getV1EmployeeIdContractsContractId = async (url: string, request: Types.GetV1EmployeeIdContractsContractIdRequest): Promise<Types.GetV1EmployeeIdContractsContractIdResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeIdContractsContractIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}/contracts/${request['contract_id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeIdContractsContractId: Api['getV1EmployeeIdContractsContractId'] = async (request: Types.GetV1EmployeeIdContractsContractIdRequest): Promise<Types.GetV1EmployeeIdContractsContractIdResponses> => {\n return await _getV1EmployeeIdContractsContractId(baseUrl, request)\n}\nconst _getV1EmployeeGenerateExcel = async (url: string, request: Types.GetV1EmployeeGenerateExcelRequest): Promise<Types.GetV1EmployeeGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/employee/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeGenerateExcel: Api['getV1EmployeeGenerateExcel'] = async (request: Types.GetV1EmployeeGenerateExcelRequest): Promise<Types.GetV1EmployeeGenerateExcelResponses> => {\n return await _getV1EmployeeGenerateExcel(baseUrl, request)\n}\nconst _postV1EmployeeImport = async (url: string, request: Types.PostV1EmployeeImportRequest): Promise<Types.PostV1EmployeeImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1EmployeeImport: Api['postV1EmployeeImport'] = async (request: Types.PostV1EmployeeImportRequest): Promise<Types.PostV1EmployeeImportResponses> => {\n return await _postV1EmployeeImport(baseUrl, request)\n}\nconst _postV1EmployeeContracts = async (url: string, request: Types.PostV1EmployeeContractsRequest): Promise<Types.PostV1EmployeeContractsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1EmployeeContracts: Api['postV1EmployeeContracts'] = async (request: Types.PostV1EmployeeContractsRequest): Promise<Types.PostV1EmployeeContractsResponses> => {\n return await _postV1EmployeeContracts(baseUrl, request)\n}\nconst _getV1EmployeeContracts = async (url: string, request: Types.GetV1EmployeeContractsRequest): Promise<Types.GetV1EmployeeContractsResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeContractsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeContracts: Api['getV1EmployeeContracts'] = async (request: Types.GetV1EmployeeContractsRequest): Promise<Types.GetV1EmployeeContractsResponses> => {\n return await _getV1EmployeeContracts(baseUrl, request)\n}\nconst _getV1EmployeeContractsId = async (url: string, request: Types.GetV1EmployeeContractsIdRequest): Promise<Types.GetV1EmployeeContractsIdResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeContractsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeContractsId: Api['getV1EmployeeContractsId'] = async (request: Types.GetV1EmployeeContractsIdRequest): Promise<Types.GetV1EmployeeContractsIdResponses> => {\n return await _getV1EmployeeContractsId(baseUrl, request)\n}\nconst _putV1EmployeeContractsId = async (url: string, request: Types.PutV1EmployeeContractsIdRequest): Promise<Types.PutV1EmployeeContractsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1EmployeeContractsId: Api['putV1EmployeeContractsId'] = async (request: Types.PutV1EmployeeContractsIdRequest): Promise<Types.PutV1EmployeeContractsIdResponses> => {\n return await _putV1EmployeeContractsId(baseUrl, request)\n}\nconst _deleteV1EmployeeContractsId = async (url: string, request: Types.DeleteV1EmployeeContractsIdRequest): Promise<Types.DeleteV1EmployeeContractsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1EmployeeContractsId: Api['deleteV1EmployeeContractsId'] = async (request: Types.DeleteV1EmployeeContractsIdRequest): Promise<Types.DeleteV1EmployeeContractsIdResponses> => {\n return await _deleteV1EmployeeContractsId(baseUrl, request)\n}\nconst _patchV1EmployeeContractsIdStatus = async (url: string, request: Types.PatchV1EmployeeContractsIdStatusRequest): Promise<Types.PatchV1EmployeeContractsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1EmployeeContractsIdStatus: Api['patchV1EmployeeContractsIdStatus'] = async (request: Types.PatchV1EmployeeContractsIdStatusRequest): Promise<Types.PatchV1EmployeeContractsIdStatusResponses> => {\n return await _patchV1EmployeeContractsIdStatus(baseUrl, request)\n}\nconst _getV1EmployeeContractsExportExcel = async (url: string, request: Types.GetV1EmployeeContractsExportExcelRequest): Promise<Types.GetV1EmployeeContractsExportExcelResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeContractsExportExcelRequest)[] = ['filters', 'search', 'order', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/export/excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeContractsExportExcel: Api['getV1EmployeeContractsExportExcel'] = async (request: Types.GetV1EmployeeContractsExportExcelRequest): Promise<Types.GetV1EmployeeContractsExportExcelResponses> => {\n return await _getV1EmployeeContractsExportExcel(baseUrl, request)\n}\nconst _postV1HireRequests = async (url: string, request: Types.PostV1HireRequestsRequest): Promise<Types.PostV1HireRequestsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1HireRequests: Api['postV1HireRequests'] = async (request: Types.PostV1HireRequestsRequest): Promise<Types.PostV1HireRequestsResponses> => {\n return await _postV1HireRequests(baseUrl, request)\n}\nconst _getV1HireRequests = async (url: string, request: Types.GetV1HireRequestsRequest): Promise<Types.GetV1HireRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1HireRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1HireRequests: Api['getV1HireRequests'] = async (request: Types.GetV1HireRequestsRequest): Promise<Types.GetV1HireRequestsResponses> => {\n return await _getV1HireRequests(baseUrl, request)\n}\nconst _getV1HireRequestsRequisitionManagement = async (url: string, request: Types.GetV1HireRequestsRequisitionManagementRequest): Promise<Types.GetV1HireRequestsRequisitionManagementResponses> => {\n const queryParameters: (keyof Types.GetV1HireRequestsRequisitionManagementRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/requisition-management?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1HireRequestsRequisitionManagement: Api['getV1HireRequestsRequisitionManagement'] = async (request: Types.GetV1HireRequestsRequisitionManagementRequest): Promise<Types.GetV1HireRequestsRequisitionManagementResponses> => {\n return await _getV1HireRequestsRequisitionManagement(baseUrl, request)\n}\nconst _getV1HireRequestsIdCandidatesByStage = async (url: string, request: Types.GetV1HireRequestsIdCandidatesByStageRequest): Promise<Types.GetV1HireRequestsIdCandidatesByStageResponses> => {\n const queryParameters: (keyof Types.GetV1HireRequestsIdCandidatesByStageRequest)[] = ['stage', 'limit', 'skip']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['id']}/candidates-by-stage?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1HireRequestsIdCandidatesByStage: Api['getV1HireRequestsIdCandidatesByStage'] = async (request: Types.GetV1HireRequestsIdCandidatesByStageRequest): Promise<Types.GetV1HireRequestsIdCandidatesByStageResponses> => {\n return await _getV1HireRequestsIdCandidatesByStage(baseUrl, request)\n}\nconst _getV1HireRequestsId = async (url: string, request: Types.GetV1HireRequestsIdRequest): Promise<Types.GetV1HireRequestsIdResponses> => {\n const queryParameters: (keyof Types.GetV1HireRequestsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1HireRequestsId: Api['getV1HireRequestsId'] = async (request: Types.GetV1HireRequestsIdRequest): Promise<Types.GetV1HireRequestsIdResponses> => {\n return await _getV1HireRequestsId(baseUrl, request)\n}\nconst _putV1HireRequestsId = async (url: string, request: Types.PutV1HireRequestsIdRequest): Promise<Types.PutV1HireRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1HireRequestsId: Api['putV1HireRequestsId'] = async (request: Types.PutV1HireRequestsIdRequest): Promise<Types.PutV1HireRequestsIdResponses> => {\n return await _putV1HireRequestsId(baseUrl, request)\n}\nconst _deleteV1HireRequestsId = async (url: string, request: Types.DeleteV1HireRequestsIdRequest): Promise<Types.DeleteV1HireRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1HireRequestsId: Api['deleteV1HireRequestsId'] = async (request: Types.DeleteV1HireRequestsIdRequest): Promise<Types.DeleteV1HireRequestsIdResponses> => {\n return await _deleteV1HireRequestsId(baseUrl, request)\n}\nconst _patchV1HireRequestsIdStatus = async (url: string, request: Types.PatchV1HireRequestsIdStatusRequest): Promise<Types.PatchV1HireRequestsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1HireRequestsIdStatus: Api['patchV1HireRequestsIdStatus'] = async (request: Types.PatchV1HireRequestsIdStatusRequest): Promise<Types.PatchV1HireRequestsIdStatusResponses> => {\n return await _patchV1HireRequestsIdStatus(baseUrl, request)\n}\nconst _postV1HireRequestsSaveAsDraft = async (url: string, request: Types.PostV1HireRequestsSaveAsDraftRequest): Promise<Types.PostV1HireRequestsSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1HireRequestsSaveAsDraft: Api['postV1HireRequestsSaveAsDraft'] = async (request: Types.PostV1HireRequestsSaveAsDraftRequest): Promise<Types.PostV1HireRequestsSaveAsDraftResponses> => {\n return await _postV1HireRequestsSaveAsDraft(baseUrl, request)\n}\nconst _patchV1HireRequestsIdSaveAsDraft = async (url: string, request: Types.PatchV1HireRequestsIdSaveAsDraftRequest): Promise<Types.PatchV1HireRequestsIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1HireRequestsIdSaveAsDraft: Api['patchV1HireRequestsIdSaveAsDraft'] = async (request: Types.PatchV1HireRequestsIdSaveAsDraftRequest): Promise<Types.PatchV1HireRequestsIdSaveAsDraftResponses> => {\n return await _patchV1HireRequestsIdSaveAsDraft(baseUrl, request)\n}\nconst _getV1HireRequestsGenerateExcel = async (url: string, request: Types.GetV1HireRequestsGenerateExcelRequest): Promise<Types.GetV1HireRequestsGenerateExcelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/generate-excel`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1HireRequestsGenerateExcel: Api['getV1HireRequestsGenerateExcel'] = async (request: Types.GetV1HireRequestsGenerateExcelRequest): Promise<Types.GetV1HireRequestsGenerateExcelResponses> => {\n return await _getV1HireRequestsGenerateExcel(baseUrl, request)\n}\nconst _postV1HireRequestsImport = async (url: string, request: Types.PostV1HireRequestsImportRequest): Promise<Types.PostV1HireRequestsImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1HireRequestsImport: Api['postV1HireRequestsImport'] = async (request: Types.PostV1HireRequestsImportRequest): Promise<Types.PostV1HireRequestsImportResponses> => {\n return await _postV1HireRequestsImport(baseUrl, request)\n}\nconst _postV1HireRequestsHireRequestIdBudgets = async (url: string, request: Types.PostV1HireRequestsHireRequestIdBudgetsRequest): Promise<Types.PostV1HireRequestsHireRequestIdBudgetsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['hire_request_id']}/budgets`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1HireRequestsHireRequestIdBudgets: Api['postV1HireRequestsHireRequestIdBudgets'] = async (request: Types.PostV1HireRequestsHireRequestIdBudgetsRequest): Promise<Types.PostV1HireRequestsHireRequestIdBudgetsResponses> => {\n return await _postV1HireRequestsHireRequestIdBudgets(baseUrl, request)\n}\nconst _putV1HireRequestsHireRequestIdBudgetsId = async (url: string, request: Types.PutV1HireRequestsHireRequestIdBudgetsIdRequest): Promise<Types.PutV1HireRequestsHireRequestIdBudgetsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['hire_request_id']}/budgets/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1HireRequestsHireRequestIdBudgetsId: Api['putV1HireRequestsHireRequestIdBudgetsId'] = async (request: Types.PutV1HireRequestsHireRequestIdBudgetsIdRequest): Promise<Types.PutV1HireRequestsHireRequestIdBudgetsIdResponses> => {\n return await _putV1HireRequestsHireRequestIdBudgetsId(baseUrl, request)\n}\nconst _postV1JobPosts = async (url: string, request: Types.PostV1JobPostsRequest): Promise<Types.PostV1JobPostsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1JobPosts: Api['postV1JobPosts'] = async (request: Types.PostV1JobPostsRequest): Promise<Types.PostV1JobPostsResponses> => {\n return await _postV1JobPosts(baseUrl, request)\n}\nconst _getV1JobPosts = async (url: string, request: Types.GetV1JobPostsRequest): Promise<Types.GetV1JobPostsResponses> => {\n const queryParameters: (keyof Types.GetV1JobPostsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1JobPosts: Api['getV1JobPosts'] = async (request: Types.GetV1JobPostsRequest): Promise<Types.GetV1JobPostsResponses> => {\n return await _getV1JobPosts(baseUrl, request)\n}\nconst _getV1JobPostsId = async (url: string, request: Types.GetV1JobPostsIdRequest): Promise<Types.GetV1JobPostsIdResponses> => {\n const queryParameters: (keyof Types.GetV1JobPostsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1JobPostsId: Api['getV1JobPostsId'] = async (request: Types.GetV1JobPostsIdRequest): Promise<Types.GetV1JobPostsIdResponses> => {\n return await _getV1JobPostsId(baseUrl, request)\n}\nconst _putV1JobPostsId = async (url: string, request: Types.PutV1JobPostsIdRequest): Promise<Types.PutV1JobPostsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1JobPostsId: Api['putV1JobPostsId'] = async (request: Types.PutV1JobPostsIdRequest): Promise<Types.PutV1JobPostsIdResponses> => {\n return await _putV1JobPostsId(baseUrl, request)\n}\nconst _deleteV1JobPostsId = async (url: string, request: Types.DeleteV1JobPostsIdRequest): Promise<Types.DeleteV1JobPostsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1JobPostsId: Api['deleteV1JobPostsId'] = async (request: Types.DeleteV1JobPostsIdRequest): Promise<Types.DeleteV1JobPostsIdResponses> => {\n return await _deleteV1JobPostsId(baseUrl, request)\n}\nconst _patchV1JobPostsIdStatus = async (url: string, request: Types.PatchV1JobPostsIdStatusRequest): Promise<Types.PatchV1JobPostsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1JobPostsIdStatus: Api['patchV1JobPostsIdStatus'] = async (request: Types.PatchV1JobPostsIdStatusRequest): Promise<Types.PatchV1JobPostsIdStatusResponses> => {\n return await _patchV1JobPostsIdStatus(baseUrl, request)\n}\nconst _postV1JobPostsSaveAsDraft = async (url: string, request: Types.PostV1JobPostsSaveAsDraftRequest): Promise<Types.PostV1JobPostsSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1JobPostsSaveAsDraft: Api['postV1JobPostsSaveAsDraft'] = async (request: Types.PostV1JobPostsSaveAsDraftRequest): Promise<Types.PostV1JobPostsSaveAsDraftResponses> => {\n return await _postV1JobPostsSaveAsDraft(baseUrl, request)\n}\nconst _patchV1JobPostsIdSaveAsDraft = async (url: string, request: Types.PatchV1JobPostsIdSaveAsDraftRequest): Promise<Types.PatchV1JobPostsIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1JobPostsIdSaveAsDraft: Api['patchV1JobPostsIdSaveAsDraft'] = async (request: Types.PatchV1JobPostsIdSaveAsDraftRequest): Promise<Types.PatchV1JobPostsIdSaveAsDraftResponses> => {\n return await _patchV1JobPostsIdSaveAsDraft(baseUrl, request)\n}\nconst _postV1InterviewRounds = async (url: string, request: Types.PostV1InterviewRoundsRequest): Promise<Types.PostV1InterviewRoundsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-rounds/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1InterviewRounds: Api['postV1InterviewRounds'] = async (request: Types.PostV1InterviewRoundsRequest): Promise<Types.PostV1InterviewRoundsResponses> => {\n return await _postV1InterviewRounds(baseUrl, request)\n}\nconst _getV1InterviewRounds = async (url: string, request: Types.GetV1InterviewRoundsRequest): Promise<Types.GetV1InterviewRoundsResponses> => {\n const queryParameters: (keyof Types.GetV1InterviewRoundsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-rounds/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1InterviewRounds: Api['getV1InterviewRounds'] = async (request: Types.GetV1InterviewRoundsRequest): Promise<Types.GetV1InterviewRoundsResponses> => {\n return await _getV1InterviewRounds(baseUrl, request)\n}\nconst _getV1InterviewRoundsId = async (url: string, request: Types.GetV1InterviewRoundsIdRequest): Promise<Types.GetV1InterviewRoundsIdResponses> => {\n const queryParameters: (keyof Types.GetV1InterviewRoundsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-rounds/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1InterviewRoundsId: Api['getV1InterviewRoundsId'] = async (request: Types.GetV1InterviewRoundsIdRequest): Promise<Types.GetV1InterviewRoundsIdResponses> => {\n return await _getV1InterviewRoundsId(baseUrl, request)\n}\nconst _putV1InterviewRoundsId = async (url: string, request: Types.PutV1InterviewRoundsIdRequest): Promise<Types.PutV1InterviewRoundsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-rounds/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1InterviewRoundsId: Api['putV1InterviewRoundsId'] = async (request: Types.PutV1InterviewRoundsIdRequest): Promise<Types.PutV1InterviewRoundsIdResponses> => {\n return await _putV1InterviewRoundsId(baseUrl, request)\n}\nconst _deleteV1InterviewRoundsId = async (url: string, request: Types.DeleteV1InterviewRoundsIdRequest): Promise<Types.DeleteV1InterviewRoundsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-rounds/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1InterviewRoundsId: Api['deleteV1InterviewRoundsId'] = async (request: Types.DeleteV1InterviewRoundsIdRequest): Promise<Types.DeleteV1InterviewRoundsIdResponses> => {\n return await _deleteV1InterviewRoundsId(baseUrl, request)\n}\nconst _patchV1InterviewRoundsIdReschedule = async (url: string, request: Types.PatchV1InterviewRoundsIdRescheduleRequest): Promise<Types.PatchV1InterviewRoundsIdRescheduleResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-rounds/${request['id']}/reschedule`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1InterviewRoundsIdReschedule: Api['patchV1InterviewRoundsIdReschedule'] = async (request: Types.PatchV1InterviewRoundsIdRescheduleRequest): Promise<Types.PatchV1InterviewRoundsIdRescheduleResponses> => {\n return await _patchV1InterviewRoundsIdReschedule(baseUrl, request)\n}\nconst _postV1Candidates = async (url: string, request: Types.PostV1CandidatesRequest): Promise<Types.PostV1CandidatesResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Candidates: Api['postV1Candidates'] = async (request: Types.PostV1CandidatesRequest): Promise<Types.PostV1CandidatesResponses> => {\n return await _postV1Candidates(baseUrl, request)\n}\nconst _getV1Candidates = async (url: string, request: Types.GetV1CandidatesRequest): Promise<Types.GetV1CandidatesResponses> => {\n const queryParameters: (keyof Types.GetV1CandidatesRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Candidates: Api['getV1Candidates'] = async (request: Types.GetV1CandidatesRequest): Promise<Types.GetV1CandidatesResponses> => {\n return await _getV1Candidates(baseUrl, request)\n}\nconst _getV1CandidatesId = async (url: string, request: Types.GetV1CandidatesIdRequest): Promise<Types.GetV1CandidatesIdResponses> => {\n const queryParameters: (keyof Types.GetV1CandidatesIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1CandidatesId: Api['getV1CandidatesId'] = async (request: Types.GetV1CandidatesIdRequest): Promise<Types.GetV1CandidatesIdResponses> => {\n return await _getV1CandidatesId(baseUrl, request)\n}\nconst _putV1CandidatesId = async (url: string, request: Types.PutV1CandidatesIdRequest): Promise<Types.PutV1CandidatesIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1CandidatesId: Api['putV1CandidatesId'] = async (request: Types.PutV1CandidatesIdRequest): Promise<Types.PutV1CandidatesIdResponses> => {\n return await _putV1CandidatesId(baseUrl, request)\n}\nconst _deleteV1CandidatesId = async (url: string, request: Types.DeleteV1CandidatesIdRequest): Promise<Types.DeleteV1CandidatesIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1CandidatesId: Api['deleteV1CandidatesId'] = async (request: Types.DeleteV1CandidatesIdRequest): Promise<Types.DeleteV1CandidatesIdResponses> => {\n return await _deleteV1CandidatesId(baseUrl, request)\n}\nconst _patchV1CandidatesIdStatus = async (url: string, request: Types.PatchV1CandidatesIdStatusRequest): Promise<Types.PatchV1CandidatesIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1CandidatesIdStatus: Api['patchV1CandidatesIdStatus'] = async (request: Types.PatchV1CandidatesIdStatusRequest): Promise<Types.PatchV1CandidatesIdStatusResponses> => {\n return await _patchV1CandidatesIdStatus(baseUrl, request)\n}\nconst _postV1CandidatesSaveAsDraft = async (url: string, request: Types.PostV1CandidatesSaveAsDraftRequest): Promise<Types.PostV1CandidatesSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1CandidatesSaveAsDraft: Api['postV1CandidatesSaveAsDraft'] = async (request: Types.PostV1CandidatesSaveAsDraftRequest): Promise<Types.PostV1CandidatesSaveAsDraftResponses> => {\n return await _postV1CandidatesSaveAsDraft(baseUrl, request)\n}\nconst _patchV1CandidatesIdSaveAsDraft = async (url: string, request: Types.PatchV1CandidatesIdSaveAsDraftRequest): Promise<Types.PatchV1CandidatesIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1CandidatesIdSaveAsDraft: Api['patchV1CandidatesIdSaveAsDraft'] = async (request: Types.PatchV1CandidatesIdSaveAsDraftRequest): Promise<Types.PatchV1CandidatesIdSaveAsDraftResponses> => {\n return await _patchV1CandidatesIdSaveAsDraft(baseUrl, request)\n}\nconst _patchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdReschedule = async (url: string, request: Types.PatchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdRescheduleRequest): Promise<Types.PatchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdRescheduleResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/${request['candidate_id']}/interview-rounds/${request['candidate_interview_round_id']}/reschedule`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdReschedule: Api['patchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdReschedule'] = async (request: Types.PatchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdRescheduleRequest): Promise<Types.PatchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdRescheduleResponses> => {\n return await _patchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdReschedule(baseUrl, request)\n}\nconst _getV1CandidatesGenerateExcel = async (url: string, request: Types.GetV1CandidatesGenerateExcelRequest): Promise<Types.GetV1CandidatesGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1CandidatesGenerateExcelRequest)[] = ['resource', 'filters', 'order', 'search', 'hire_request_id']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/candidates/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1CandidatesGenerateExcel: Api['getV1CandidatesGenerateExcel'] = async (request: Types.GetV1CandidatesGenerateExcelRequest): Promise<Types.GetV1CandidatesGenerateExcelResponses> => {\n return await _getV1CandidatesGenerateExcel(baseUrl, request)\n}\nconst _postV1CandidatesImport = async (url: string, request: Types.PostV1CandidatesImportRequest): Promise<Types.PostV1CandidatesImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1CandidatesImport: Api['postV1CandidatesImport'] = async (request: Types.PostV1CandidatesImportRequest): Promise<Types.PostV1CandidatesImportResponses> => {\n return await _postV1CandidatesImport(baseUrl, request)\n}\nconst _postV1InterviewFeedbacks = async (url: string, request: Types.PostV1InterviewFeedbacksRequest): Promise<Types.PostV1InterviewFeedbacksResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-feedbacks/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1InterviewFeedbacks: Api['postV1InterviewFeedbacks'] = async (request: Types.PostV1InterviewFeedbacksRequest): Promise<Types.PostV1InterviewFeedbacksResponses> => {\n return await _postV1InterviewFeedbacks(baseUrl, request)\n}\nconst _getV1InterviewFeedbacks = async (url: string, request: Types.GetV1InterviewFeedbacksRequest): Promise<Types.GetV1InterviewFeedbacksResponses> => {\n const queryParameters: (keyof Types.GetV1InterviewFeedbacksRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-feedbacks/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1InterviewFeedbacks: Api['getV1InterviewFeedbacks'] = async (request: Types.GetV1InterviewFeedbacksRequest): Promise<Types.GetV1InterviewFeedbacksResponses> => {\n return await _getV1InterviewFeedbacks(baseUrl, request)\n}\nconst _getV1InterviewFeedbacksId = async (url: string, request: Types.GetV1InterviewFeedbacksIdRequest): Promise<Types.GetV1InterviewFeedbacksIdResponses> => {\n const queryParameters: (keyof Types.GetV1InterviewFeedbacksIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-feedbacks/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1InterviewFeedbacksId: Api['getV1InterviewFeedbacksId'] = async (request: Types.GetV1InterviewFeedbacksIdRequest): Promise<Types.GetV1InterviewFeedbacksIdResponses> => {\n return await _getV1InterviewFeedbacksId(baseUrl, request)\n}\nconst _putV1InterviewFeedbacksId = async (url: string, request: Types.PutV1InterviewFeedbacksIdRequest): Promise<Types.PutV1InterviewFeedbacksIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-feedbacks/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1InterviewFeedbacksId: Api['putV1InterviewFeedbacksId'] = async (request: Types.PutV1InterviewFeedbacksIdRequest): Promise<Types.PutV1InterviewFeedbacksIdResponses> => {\n return await _putV1InterviewFeedbacksId(baseUrl, request)\n}\nconst _deleteV1InterviewFeedbacksId = async (url: string, request: Types.DeleteV1InterviewFeedbacksIdRequest): Promise<Types.DeleteV1InterviewFeedbacksIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-feedbacks/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1InterviewFeedbacksId: Api['deleteV1InterviewFeedbacksId'] = async (request: Types.DeleteV1InterviewFeedbacksIdRequest): Promise<Types.DeleteV1InterviewFeedbacksIdResponses> => {\n return await _deleteV1InterviewFeedbacksId(baseUrl, request)\n}\nconst _getV1TalentPoolDashboard = async (url: string, request: Types.GetV1TalentPoolDashboardRequest): Promise<Types.GetV1TalentPoolDashboardResponses> => {\n const queryParameters: (keyof Types.GetV1TalentPoolDashboardRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'filter']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/talent-pool-dashboard/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TalentPoolDashboard: Api['getV1TalentPoolDashboard'] = async (request: Types.GetV1TalentPoolDashboardRequest): Promise<Types.GetV1TalentPoolDashboardResponses> => {\n return await _getV1TalentPoolDashboard(baseUrl, request)\n}\nconst _getV1TalentPoolDashboardSummaryStats = async (url: string, request: Types.GetV1TalentPoolDashboardSummaryStatsRequest): Promise<Types.GetV1TalentPoolDashboardSummaryStatsResponses> => {\n const queryParameters: (keyof Types.GetV1TalentPoolDashboardSummaryStatsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'filter']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/talent-pool-dashboard/summary-stats?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TalentPoolDashboardSummaryStats: Api['getV1TalentPoolDashboardSummaryStats'] = async (request: Types.GetV1TalentPoolDashboardSummaryStatsRequest): Promise<Types.GetV1TalentPoolDashboardSummaryStatsResponses> => {\n return await _getV1TalentPoolDashboardSummaryStats(baseUrl, request)\n}\nconst _getV1TalentPoolDashboardRecentCandidates = async (url: string, request: Types.GetV1TalentPoolDashboardRecentCandidatesRequest): Promise<Types.GetV1TalentPoolDashboardRecentCandidatesResponses> => {\n const queryParameters: (keyof Types.GetV1TalentPoolDashboardRecentCandidatesRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'filter']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/talent-pool-dashboard/recent-candidates?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TalentPoolDashboardRecentCandidates: Api['getV1TalentPoolDashboardRecentCandidates'] = async (request: Types.GetV1TalentPoolDashboardRecentCandidatesRequest): Promise<Types.GetV1TalentPoolDashboardRecentCandidatesResponses> => {\n return await _getV1TalentPoolDashboardRecentCandidates(baseUrl, request)\n}\nconst _getV1TalentPoolDashboardRecentEvaluations = async (url: string, request: Types.GetV1TalentPoolDashboardRecentEvaluationsRequest): Promise<Types.GetV1TalentPoolDashboardRecentEvaluationsResponses> => {\n const queryParameters: (keyof Types.GetV1TalentPoolDashboardRecentEvaluationsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'filter']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/talent-pool-dashboard/recent-evaluations?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TalentPoolDashboardRecentEvaluations: Api['getV1TalentPoolDashboardRecentEvaluations'] = async (request: Types.GetV1TalentPoolDashboardRecentEvaluationsRequest): Promise<Types.GetV1TalentPoolDashboardRecentEvaluationsResponses> => {\n return await _getV1TalentPoolDashboardRecentEvaluations(baseUrl, request)\n}\nconst _getV1TalentPoolDashboardUpcomingInterviews = async (url: string, request: Types.GetV1TalentPoolDashboardUpcomingInterviewsRequest): Promise<Types.GetV1TalentPoolDashboardUpcomingInterviewsResponses> => {\n const queryParameters: (keyof Types.GetV1TalentPoolDashboardUpcomingInterviewsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'filter']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/talent-pool-dashboard/upcoming-interviews?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TalentPoolDashboardUpcomingInterviews: Api['getV1TalentPoolDashboardUpcomingInterviews'] = async (request: Types.GetV1TalentPoolDashboardUpcomingInterviewsRequest): Promise<Types.GetV1TalentPoolDashboardUpcomingInterviewsResponses> => {\n return await _getV1TalentPoolDashboardUpcomingInterviews(baseUrl, request)\n}\nconst _getV1Dashboard = async (url: string, request: Types.GetV1DashboardRequest): Promise<Types.GetV1DashboardResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Dashboard: Api['getV1Dashboard'] = async (request: Types.GetV1DashboardRequest): Promise<Types.GetV1DashboardResponses> => {\n return await _getV1Dashboard(baseUrl, request)\n}\nconst _getV1DashboardHeaderStats = async (url: string, request: Types.GetV1DashboardHeaderStatsRequest): Promise<Types.GetV1DashboardHeaderStatsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/header-stats`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardHeaderStats: Api['getV1DashboardHeaderStats'] = async (request: Types.GetV1DashboardHeaderStatsRequest): Promise<Types.GetV1DashboardHeaderStatsResponses> => {\n return await _getV1DashboardHeaderStats(baseUrl, request)\n}\nconst _getV1DashboardEmployeesByDepartment = async (url: string, request: Types.GetV1DashboardEmployeesByDepartmentRequest): Promise<Types.GetV1DashboardEmployeesByDepartmentResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employees-by-department`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeesByDepartment: Api['getV1DashboardEmployeesByDepartment'] = async (request: Types.GetV1DashboardEmployeesByDepartmentRequest): Promise<Types.GetV1DashboardEmployeesByDepartmentResponses> => {\n return await _getV1DashboardEmployeesByDepartment(baseUrl, request)\n}\nconst _getV1DashboardAvailabilityStats = async (url: string, request: Types.GetV1DashboardAvailabilityStatsRequest): Promise<Types.GetV1DashboardAvailabilityStatsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/availability-stats`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardAvailabilityStats: Api['getV1DashboardAvailabilityStats'] = async (request: Types.GetV1DashboardAvailabilityStatsRequest): Promise<Types.GetV1DashboardAvailabilityStatsResponses> => {\n return await _getV1DashboardAvailabilityStats(baseUrl, request)\n}\nconst _getV1DashboardResourceAllocation = async (url: string, request: Types.GetV1DashboardResourceAllocationRequest): Promise<Types.GetV1DashboardResourceAllocationResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardResourceAllocationRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/resource-allocation?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardResourceAllocation: Api['getV1DashboardResourceAllocation'] = async (request: Types.GetV1DashboardResourceAllocationRequest): Promise<Types.GetV1DashboardResourceAllocationResponses> => {\n return await _getV1DashboardResourceAllocation(baseUrl, request)\n}\nconst _getV1DashboardBirthdayDashboard = async (url: string, request: Types.GetV1DashboardBirthdayDashboardRequest): Promise<Types.GetV1DashboardBirthdayDashboardResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardBirthdayDashboardRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/birthday-dashboard?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardBirthdayDashboard: Api['getV1DashboardBirthdayDashboard'] = async (request: Types.GetV1DashboardBirthdayDashboardRequest): Promise<Types.GetV1DashboardBirthdayDashboardResponses> => {\n return await _getV1DashboardBirthdayDashboard(baseUrl, request)\n}\nconst _getV1DashboardLeaveRequests = async (url: string, request: Types.GetV1DashboardLeaveRequestsRequest): Promise<Types.GetV1DashboardLeaveRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardLeaveRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/leave-requests?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardLeaveRequests: Api['getV1DashboardLeaveRequests'] = async (request: Types.GetV1DashboardLeaveRequestsRequest): Promise<Types.GetV1DashboardLeaveRequestsResponses> => {\n return await _getV1DashboardLeaveRequests(baseUrl, request)\n}\nconst _getV1DashboardResignationRequests = async (url: string, request: Types.GetV1DashboardResignationRequestsRequest): Promise<Types.GetV1DashboardResignationRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardResignationRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/resignation-requests?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardResignationRequests: Api['getV1DashboardResignationRequests'] = async (request: Types.GetV1DashboardResignationRequestsRequest): Promise<Types.GetV1DashboardResignationRequestsResponses> => {\n return await _getV1DashboardResignationRequests(baseUrl, request)\n}\nconst _getV1DashboardIssueHrLetters = async (url: string, request: Types.GetV1DashboardIssueHrLettersRequest): Promise<Types.GetV1DashboardIssueHrLettersResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardIssueHrLettersRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/issue-hr-letters?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardIssueHrLetters: Api['getV1DashboardIssueHrLetters'] = async (request: Types.GetV1DashboardIssueHrLettersRequest): Promise<Types.GetV1DashboardIssueHrLettersResponses> => {\n return await _getV1DashboardIssueHrLetters(baseUrl, request)\n}\nconst _getV1DashboardApprovalDashboard = async (url: string, request: Types.GetV1DashboardApprovalDashboardRequest): Promise<Types.GetV1DashboardApprovalDashboardResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardApprovalDashboardRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/approval-dashboard?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardApprovalDashboard: Api['getV1DashboardApprovalDashboard'] = async (request: Types.GetV1DashboardApprovalDashboardRequest): Promise<Types.GetV1DashboardApprovalDashboardResponses> => {\n return await _getV1DashboardApprovalDashboard(baseUrl, request)\n}\nconst _getV1DashboardOngoingJobs = async (url: string, request: Types.GetV1DashboardOngoingJobsRequest): Promise<Types.GetV1DashboardOngoingJobsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardOngoingJobsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/ongoing-jobs?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardOngoingJobs: Api['getV1DashboardOngoingJobs'] = async (request: Types.GetV1DashboardOngoingJobsRequest): Promise<Types.GetV1DashboardOngoingJobsResponses> => {\n return await _getV1DashboardOngoingJobs(baseUrl, request)\n}\nconst _getV1DashboardNewHireRequests = async (url: string, request: Types.GetV1DashboardNewHireRequestsRequest): Promise<Types.GetV1DashboardNewHireRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardNewHireRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/new-hire-requests?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardNewHireRequests: Api['getV1DashboardNewHireRequests'] = async (request: Types.GetV1DashboardNewHireRequestsRequest): Promise<Types.GetV1DashboardNewHireRequestsResponses> => {\n return await _getV1DashboardNewHireRequests(baseUrl, request)\n}\nconst _getV1DashboardEventsDashboard = async (url: string, request: Types.GetV1DashboardEventsDashboardRequest): Promise<Types.GetV1DashboardEventsDashboardResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEventsDashboardRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/events-dashboard?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEventsDashboard: Api['getV1DashboardEventsDashboard'] = async (request: Types.GetV1DashboardEventsDashboardRequest): Promise<Types.GetV1DashboardEventsDashboardResponses> => {\n return await _getV1DashboardEventsDashboard(baseUrl, request)\n}\nconst _getV1DashboardTaskSignoffs = async (url: string, request: Types.GetV1DashboardTaskSignoffsRequest): Promise<Types.GetV1DashboardTaskSignoffsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardTaskSignoffsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/task-signoffs?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardTaskSignoffs: Api['getV1DashboardTaskSignoffs'] = async (request: Types.GetV1DashboardTaskSignoffsRequest): Promise<Types.GetV1DashboardTaskSignoffsResponses> => {\n return await _getV1DashboardTaskSignoffs(baseUrl, request)\n}\nconst _getV1DashboardKpiStatistics = async (url: string, request: Types.GetV1DashboardKpiStatisticsRequest): Promise<Types.GetV1DashboardKpiStatisticsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/kpi-statistics`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardKpiStatistics: Api['getV1DashboardKpiStatistics'] = async (request: Types.GetV1DashboardKpiStatisticsRequest): Promise<Types.GetV1DashboardKpiStatisticsResponses> => {\n return await _getV1DashboardKpiStatistics(baseUrl, request)\n}\nconst _getV1DashboardRpsStatistics = async (url: string, request: Types.GetV1DashboardRpsStatisticsRequest): Promise<Types.GetV1DashboardRpsStatisticsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/rps-statistics`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardRpsStatistics: Api['getV1DashboardRpsStatistics'] = async (request: Types.GetV1DashboardRpsStatisticsRequest): Promise<Types.GetV1DashboardRpsStatisticsResponses> => {\n return await _getV1DashboardRpsStatistics(baseUrl, request)\n}\nconst _getV1DashboardPayrollStatistics = async (url: string, request: Types.GetV1DashboardPayrollStatisticsRequest): Promise<Types.GetV1DashboardPayrollStatisticsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardPayrollStatisticsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/payroll-statistics?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardPayrollStatistics: Api['getV1DashboardPayrollStatistics'] = async (request: Types.GetV1DashboardPayrollStatisticsRequest): Promise<Types.GetV1DashboardPayrollStatisticsResponses> => {\n return await _getV1DashboardPayrollStatistics(baseUrl, request)\n}\nconst _getV1DashboardAttendanceTrends = async (url: string, request: Types.GetV1DashboardAttendanceTrendsRequest): Promise<Types.GetV1DashboardAttendanceTrendsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardAttendanceTrendsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/attendance-trends?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardAttendanceTrends: Api['getV1DashboardAttendanceTrends'] = async (request: Types.GetV1DashboardAttendanceTrendsRequest): Promise<Types.GetV1DashboardAttendanceTrendsResponses> => {\n return await _getV1DashboardAttendanceTrends(baseUrl, request)\n}\nconst _getV1DashboardDepartmentHeadcount = async (url: string, request: Types.GetV1DashboardDepartmentHeadcountRequest): Promise<Types.GetV1DashboardDepartmentHeadcountResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/department-headcount`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardDepartmentHeadcount: Api['getV1DashboardDepartmentHeadcount'] = async (request: Types.GetV1DashboardDepartmentHeadcountRequest): Promise<Types.GetV1DashboardDepartmentHeadcountResponses> => {\n return await _getV1DashboardDepartmentHeadcount(baseUrl, request)\n}\nconst _getV1DashboardLeaveBalanceSummary = async (url: string, request: Types.GetV1DashboardLeaveBalanceSummaryRequest): Promise<Types.GetV1DashboardLeaveBalanceSummaryResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/leave-balance-summary`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardLeaveBalanceSummary: Api['getV1DashboardLeaveBalanceSummary'] = async (request: Types.GetV1DashboardLeaveBalanceSummaryRequest): Promise<Types.GetV1DashboardLeaveBalanceSummaryResponses> => {\n return await _getV1DashboardLeaveBalanceSummary(baseUrl, request)\n}\nconst _getV1DashboardRecruitmentFunnel = async (url: string, request: Types.GetV1DashboardRecruitmentFunnelRequest): Promise<Types.GetV1DashboardRecruitmentFunnelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/recruitment-funnel`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardRecruitmentFunnel: Api['getV1DashboardRecruitmentFunnel'] = async (request: Types.GetV1DashboardRecruitmentFunnelRequest): Promise<Types.GetV1DashboardRecruitmentFunnelResponses> => {\n return await _getV1DashboardRecruitmentFunnel(baseUrl, request)\n}\nconst _getV1DashboardTeamCalendar = async (url: string, request: Types.GetV1DashboardTeamCalendarRequest): Promise<Types.GetV1DashboardTeamCalendarResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardTeamCalendarRequest)[] = ['month', 'year']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/team-calendar?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardTeamCalendar: Api['getV1DashboardTeamCalendar'] = async (request: Types.GetV1DashboardTeamCalendarRequest): Promise<Types.GetV1DashboardTeamCalendarResponses> => {\n return await _getV1DashboardTeamCalendar(baseUrl, request)\n}\nconst _getV1DashboardTaskOverview = async (url: string, request: Types.GetV1DashboardTaskOverviewRequest): Promise<Types.GetV1DashboardTaskOverviewResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/task-overview`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardTaskOverview: Api['getV1DashboardTaskOverview'] = async (request: Types.GetV1DashboardTaskOverviewRequest): Promise<Types.GetV1DashboardTaskOverviewResponses> => {\n return await _getV1DashboardTaskOverview(baseUrl, request)\n}\nconst _getV1DashboardAnnouncements = async (url: string, request: Types.GetV1DashboardAnnouncementsRequest): Promise<Types.GetV1DashboardAnnouncementsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardAnnouncementsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/announcements?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardAnnouncements: Api['getV1DashboardAnnouncements'] = async (request: Types.GetV1DashboardAnnouncementsRequest): Promise<Types.GetV1DashboardAnnouncementsResponses> => {\n return await _getV1DashboardAnnouncements(baseUrl, request)\n}\nconst _getV1DashboardLeaveStatistics = async (url: string, request: Types.GetV1DashboardLeaveStatisticsRequest): Promise<Types.GetV1DashboardLeaveStatisticsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/leave-statistics`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardLeaveStatistics: Api['getV1DashboardLeaveStatistics'] = async (request: Types.GetV1DashboardLeaveStatisticsRequest): Promise<Types.GetV1DashboardLeaveStatisticsResponses> => {\n return await _getV1DashboardLeaveStatistics(baseUrl, request)\n}\nconst _getV1DashboardPendingInterviews = async (url: string, request: Types.GetV1DashboardPendingInterviewsRequest): Promise<Types.GetV1DashboardPendingInterviewsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardPendingInterviewsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/pending-interviews?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardPendingInterviews: Api['getV1DashboardPendingInterviews'] = async (request: Types.GetV1DashboardPendingInterviewsRequest): Promise<Types.GetV1DashboardPendingInterviewsResponses> => {\n return await _getV1DashboardPendingInterviews(baseUrl, request)\n}\nconst _getV1DashboardVacationPlanConflicts = async (url: string, request: Types.GetV1DashboardVacationPlanConflictsRequest): Promise<Types.GetV1DashboardVacationPlanConflictsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardVacationPlanConflictsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/vacation-plan-conflicts?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardVacationPlanConflicts: Api['getV1DashboardVacationPlanConflicts'] = async (request: Types.GetV1DashboardVacationPlanConflictsRequest): Promise<Types.GetV1DashboardVacationPlanConflictsResponses> => {\n return await _getV1DashboardVacationPlanConflicts(baseUrl, request)\n}\nconst _getV1DashboardManagerHeaderStats = async (url: string, request: Types.GetV1DashboardManagerHeaderStatsRequest): Promise<Types.GetV1DashboardManagerHeaderStatsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/manager-header-stats`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardManagerHeaderStats: Api['getV1DashboardManagerHeaderStats'] = async (request: Types.GetV1DashboardManagerHeaderStatsRequest): Promise<Types.GetV1DashboardManagerHeaderStatsResponses> => {\n return await _getV1DashboardManagerHeaderStats(baseUrl, request)\n}\nconst _getV1DashboardManagerKpiStatistics = async (url: string, request: Types.GetV1DashboardManagerKpiStatisticsRequest): Promise<Types.GetV1DashboardManagerKpiStatisticsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardManagerKpiStatisticsRequest)[] = ['months']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/manager-kpi-statistics?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardManagerKpiStatistics: Api['getV1DashboardManagerKpiStatistics'] = async (request: Types.GetV1DashboardManagerKpiStatisticsRequest): Promise<Types.GetV1DashboardManagerKpiStatisticsResponses> => {\n return await _getV1DashboardManagerKpiStatistics(baseUrl, request)\n}\nconst _getV1DashboardEmployee = async (url: string, request: Types.GetV1DashboardEmployeeRequest): Promise<Types.GetV1DashboardEmployeeResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployee: Api['getV1DashboardEmployee'] = async (request: Types.GetV1DashboardEmployeeRequest): Promise<Types.GetV1DashboardEmployeeResponses> => {\n return await _getV1DashboardEmployee(baseUrl, request)\n}\nconst _getV1DashboardEmployeeWorkingHours = async (url: string, request: Types.GetV1DashboardEmployeeWorkingHoursRequest): Promise<Types.GetV1DashboardEmployeeWorkingHoursResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeWorkingHoursRequest)[] = ['start_date', 'end_date', 'source']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/working-hours?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeWorkingHours: Api['getV1DashboardEmployeeWorkingHours'] = async (request: Types.GetV1DashboardEmployeeWorkingHoursRequest): Promise<Types.GetV1DashboardEmployeeWorkingHoursResponses> => {\n return await _getV1DashboardEmployeeWorkingHours(baseUrl, request)\n}\nconst _getV1DashboardEmployeeAttendance = async (url: string, request: Types.GetV1DashboardEmployeeAttendanceRequest): Promise<Types.GetV1DashboardEmployeeAttendanceResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeAttendanceRequest)[] = ['date']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/attendance?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeAttendance: Api['getV1DashboardEmployeeAttendance'] = async (request: Types.GetV1DashboardEmployeeAttendanceRequest): Promise<Types.GetV1DashboardEmployeeAttendanceResponses> => {\n return await _getV1DashboardEmployeeAttendance(baseUrl, request)\n}\nconst _getV1DashboardEmployeeAttendanceBreaks = async (url: string, request: Types.GetV1DashboardEmployeeAttendanceBreaksRequest): Promise<Types.GetV1DashboardEmployeeAttendanceBreaksResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeAttendanceBreaksRequest)[] = ['date']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/attendance-breaks?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeAttendanceBreaks: Api['getV1DashboardEmployeeAttendanceBreaks'] = async (request: Types.GetV1DashboardEmployeeAttendanceBreaksRequest): Promise<Types.GetV1DashboardEmployeeAttendanceBreaksResponses> => {\n return await _getV1DashboardEmployeeAttendanceBreaks(baseUrl, request)\n}\nconst _getV1DashboardEmployeeAttendanceHistory = async (url: string, request: Types.GetV1DashboardEmployeeAttendanceHistoryRequest): Promise<Types.GetV1DashboardEmployeeAttendanceHistoryResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeAttendanceHistoryRequest)[] = ['start_date', 'end_date', 'skip', 'limit']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/attendance-history?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeAttendanceHistory: Api['getV1DashboardEmployeeAttendanceHistory'] = async (request: Types.GetV1DashboardEmployeeAttendanceHistoryRequest): Promise<Types.GetV1DashboardEmployeeAttendanceHistoryResponses> => {\n return await _getV1DashboardEmployeeAttendanceHistory(baseUrl, request)\n}\nconst _getV1DashboardEmployeeRequests = async (url: string, request: Types.GetV1DashboardEmployeeRequestsRequest): Promise<Types.GetV1DashboardEmployeeRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeRequestsRequest)[] = ['skip', 'limit', 'request_type', 'status', 'duration']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/requests?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeRequests: Api['getV1DashboardEmployeeRequests'] = async (request: Types.GetV1DashboardEmployeeRequestsRequest): Promise<Types.GetV1DashboardEmployeeRequestsResponses> => {\n return await _getV1DashboardEmployeeRequests(baseUrl, request)\n}\nconst _getV1DashboardEmployeeLoans = async (url: string, request: Types.GetV1DashboardEmployeeLoansRequest): Promise<Types.GetV1DashboardEmployeeLoansResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/loans`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeLoans: Api['getV1DashboardEmployeeLoans'] = async (request: Types.GetV1DashboardEmployeeLoansRequest): Promise<Types.GetV1DashboardEmployeeLoansResponses> => {\n return await _getV1DashboardEmployeeLoans(baseUrl, request)\n}\nconst _getV1DashboardEmployeeHolidaysEvents = async (url: string, request: Types.GetV1DashboardEmployeeHolidaysEventsRequest): Promise<Types.GetV1DashboardEmployeeHolidaysEventsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeHolidaysEventsRequest)[] = ['skip', 'limit']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/holidays-events?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeHolidaysEvents: Api['getV1DashboardEmployeeHolidaysEvents'] = async (request: Types.GetV1DashboardEmployeeHolidaysEventsRequest): Promise<Types.GetV1DashboardEmployeeHolidaysEventsResponses> => {\n return await _getV1DashboardEmployeeHolidaysEvents(baseUrl, request)\n}\nconst _getV1DashboardEmployeeAssets = async (url: string, request: Types.GetV1DashboardEmployeeAssetsRequest): Promise<Types.GetV1DashboardEmployeeAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeAssetsRequest)[] = ['skip', 'limit']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeAssets: Api['getV1DashboardEmployeeAssets'] = async (request: Types.GetV1DashboardEmployeeAssetsRequest): Promise<Types.GetV1DashboardEmployeeAssetsResponses> => {\n return await _getV1DashboardEmployeeAssets(baseUrl, request)\n}\nconst _getV1DashboardEmployeeActivities = async (url: string, request: Types.GetV1DashboardEmployeeActivitiesRequest): Promise<Types.GetV1DashboardEmployeeActivitiesResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeActivitiesRequest)[] = ['skip', 'limit']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/activities?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeActivities: Api['getV1DashboardEmployeeActivities'] = async (request: Types.GetV1DashboardEmployeeActivitiesRequest): Promise<Types.GetV1DashboardEmployeeActivitiesResponses> => {\n return await _getV1DashboardEmployeeActivities(baseUrl, request)\n}\nconst _getV1DashboardEmployeeWorkingStatistics = async (url: string, request: Types.GetV1DashboardEmployeeWorkingStatisticsRequest): Promise<Types.GetV1DashboardEmployeeWorkingStatisticsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeWorkingStatisticsRequest)[] = ['months', 'source']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/working-statistics?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeWorkingStatistics: Api['getV1DashboardEmployeeWorkingStatistics'] = async (request: Types.GetV1DashboardEmployeeWorkingStatisticsRequest): Promise<Types.GetV1DashboardEmployeeWorkingStatisticsResponses> => {\n return await _getV1DashboardEmployeeWorkingStatistics(baseUrl, request)\n}\nconst _getV1DashboardEmployeeTasks = async (url: string, request: Types.GetV1DashboardEmployeeTasksRequest): Promise<Types.GetV1DashboardEmployeeTasksResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeTasksRequest)[] = ['skip', 'limit', 'status']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/tasks?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeTasks: Api['getV1DashboardEmployeeTasks'] = async (request: Types.GetV1DashboardEmployeeTasksRequest): Promise<Types.GetV1DashboardEmployeeTasksResponses> => {\n return await _getV1DashboardEmployeeTasks(baseUrl, request)\n}\nconst _postV1OfferLetters = async (url: string, request: Types.PostV1OfferLettersRequest): Promise<Types.PostV1OfferLettersResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1OfferLetters: Api['postV1OfferLetters'] = async (request: Types.PostV1OfferLettersRequest): Promise<Types.PostV1OfferLettersResponses> => {\n return await _postV1OfferLetters(baseUrl, request)\n}\nconst _getV1OfferLetters = async (url: string, request: Types.GetV1OfferLettersRequest): Promise<Types.GetV1OfferLettersResponses> => {\n const queryParameters: (keyof Types.GetV1OfferLettersRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OfferLetters: Api['getV1OfferLetters'] = async (request: Types.GetV1OfferLettersRequest): Promise<Types.GetV1OfferLettersResponses> => {\n return await _getV1OfferLetters(baseUrl, request)\n}\nconst _getV1OfferLettersId = async (url: string, request: Types.GetV1OfferLettersIdRequest): Promise<Types.GetV1OfferLettersIdResponses> => {\n const queryParameters: (keyof Types.GetV1OfferLettersIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OfferLettersId: Api['getV1OfferLettersId'] = async (request: Types.GetV1OfferLettersIdRequest): Promise<Types.GetV1OfferLettersIdResponses> => {\n return await _getV1OfferLettersId(baseUrl, request)\n}\nconst _putV1OfferLettersId = async (url: string, request: Types.PutV1OfferLettersIdRequest): Promise<Types.PutV1OfferLettersIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1OfferLettersId: Api['putV1OfferLettersId'] = async (request: Types.PutV1OfferLettersIdRequest): Promise<Types.PutV1OfferLettersIdResponses> => {\n return await _putV1OfferLettersId(baseUrl, request)\n}\nconst _deleteV1OfferLettersId = async (url: string, request: Types.DeleteV1OfferLettersIdRequest): Promise<Types.DeleteV1OfferLettersIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1OfferLettersId: Api['deleteV1OfferLettersId'] = async (request: Types.DeleteV1OfferLettersIdRequest): Promise<Types.DeleteV1OfferLettersIdResponses> => {\n return await _deleteV1OfferLettersId(baseUrl, request)\n}\nconst _patchV1OfferLettersIdStatus = async (url: string, request: Types.PatchV1OfferLettersIdStatusRequest): Promise<Types.PatchV1OfferLettersIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1OfferLettersIdStatus: Api['patchV1OfferLettersIdStatus'] = async (request: Types.PatchV1OfferLettersIdStatusRequest): Promise<Types.PatchV1OfferLettersIdStatusResponses> => {\n return await _patchV1OfferLettersIdStatus(baseUrl, request)\n}\nconst _patchV1OfferLettersIdDocumentsDocumentId = async (url: string, request: Types.PatchV1OfferLettersIdDocumentsDocumentIdRequest): Promise<Types.PatchV1OfferLettersIdDocumentsDocumentIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}/documents/${request['document_id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1OfferLettersIdDocumentsDocumentId: Api['patchV1OfferLettersIdDocumentsDocumentId'] = async (request: Types.PatchV1OfferLettersIdDocumentsDocumentIdRequest): Promise<Types.PatchV1OfferLettersIdDocumentsDocumentIdResponses> => {\n return await _patchV1OfferLettersIdDocumentsDocumentId(baseUrl, request)\n}\nconst _postV1OfferLettersIdDocumentsDocumentIdVerify = async (url: string, request: Types.PostV1OfferLettersIdDocumentsDocumentIdVerifyRequest): Promise<Types.PostV1OfferLettersIdDocumentsDocumentIdVerifyResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}/documents/${request['document_id']}/verify`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1OfferLettersIdDocumentsDocumentIdVerify: Api['postV1OfferLettersIdDocumentsDocumentIdVerify'] = async (request: Types.PostV1OfferLettersIdDocumentsDocumentIdVerifyRequest): Promise<Types.PostV1OfferLettersIdDocumentsDocumentIdVerifyResponses> => {\n return await _postV1OfferLettersIdDocumentsDocumentIdVerify(baseUrl, request)\n}\nconst _getV1OfferLettersGenerateExcel = async (url: string, request: Types.GetV1OfferLettersGenerateExcelRequest): Promise<Types.GetV1OfferLettersGenerateExcelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/generate-excel`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1OfferLettersGenerateExcel: Api['getV1OfferLettersGenerateExcel'] = async (request: Types.GetV1OfferLettersGenerateExcelRequest): Promise<Types.GetV1OfferLettersGenerateExcelResponses> => {\n return await _getV1OfferLettersGenerateExcel(baseUrl, request)\n}\nconst _postV1OfferLettersImport = async (url: string, request: Types.PostV1OfferLettersImportRequest): Promise<Types.PostV1OfferLettersImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1OfferLettersImport: Api['postV1OfferLettersImport'] = async (request: Types.PostV1OfferLettersImportRequest): Promise<Types.PostV1OfferLettersImportResponses> => {\n return await _postV1OfferLettersImport(baseUrl, request)\n}\nconst _getV1OfferLettersExportExcel = async (url: string, request: Types.GetV1OfferLettersExportExcelRequest): Promise<Types.GetV1OfferLettersExportExcelResponses> => {\n const queryParameters: (keyof Types.GetV1OfferLettersExportExcelRequest)[] = ['filters', 'order', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/export/excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OfferLettersExportExcel: Api['getV1OfferLettersExportExcel'] = async (request: Types.GetV1OfferLettersExportExcelRequest): Promise<Types.GetV1OfferLettersExportExcelResponses> => {\n return await _getV1OfferLettersExportExcel(baseUrl, request)\n}\nconst _postV1OfferLettersSaveAsDraft = async (url: string, request: Types.PostV1OfferLettersSaveAsDraftRequest): Promise<Types.PostV1OfferLettersSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1OfferLettersSaveAsDraft: Api['postV1OfferLettersSaveAsDraft'] = async (request: Types.PostV1OfferLettersSaveAsDraftRequest): Promise<Types.PostV1OfferLettersSaveAsDraftResponses> => {\n return await _postV1OfferLettersSaveAsDraft(baseUrl, request)\n}\nconst _patchV1OfferLettersIdSaveAsDraft = async (url: string, request: Types.PatchV1OfferLettersIdSaveAsDraftRequest): Promise<Types.PatchV1OfferLettersIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1OfferLettersIdSaveAsDraft: Api['patchV1OfferLettersIdSaveAsDraft'] = async (request: Types.PatchV1OfferLettersIdSaveAsDraftRequest): Promise<Types.PatchV1OfferLettersIdSaveAsDraftResponses> => {\n return await _patchV1OfferLettersIdSaveAsDraft(baseUrl, request)\n}\nconst _getV1OfferLettersIdPreviewPdf = async (url: string, request: Types.GetV1OfferLettersIdPreviewPdfRequest): Promise<Types.GetV1OfferLettersIdPreviewPdfResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}/preview-pdf`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1OfferLettersIdPreviewPdf: Api['getV1OfferLettersIdPreviewPdf'] = async (request: Types.GetV1OfferLettersIdPreviewPdfRequest): Promise<Types.GetV1OfferLettersIdPreviewPdfResponses> => {\n return await _getV1OfferLettersIdPreviewPdf(baseUrl, request)\n}\nconst _postV1OfferLettersIdSend = async (url: string, request: Types.PostV1OfferLettersIdSendRequest): Promise<Types.PostV1OfferLettersIdSendResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}/send`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1OfferLettersIdSend: Api['postV1OfferLettersIdSend'] = async (request: Types.PostV1OfferLettersIdSendRequest): Promise<Types.PostV1OfferLettersIdSendResponses> => {\n return await _postV1OfferLettersIdSend(baseUrl, request)\n}\nconst _getV1OfferLettersPublicWelcomeToken = async (url: string, request: Types.GetV1OfferLettersPublicWelcomeTokenRequest): Promise<Types.GetV1OfferLettersPublicWelcomeTokenResponses> => {\n const headers = {\n ...defaultHeaders\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1OfferLettersPublicWelcomeToken: Api['getV1OfferLettersPublicWelcomeToken'] = async (request: Types.GetV1OfferLettersPublicWelcomeTokenRequest): Promise<Types.GetV1OfferLettersPublicWelcomeTokenResponses> => {\n return await _getV1OfferLettersPublicWelcomeToken(baseUrl, request)\n}\nconst _getV1OfferLettersPublicWelcomeTokenPdf = async (url: string, request: Types.GetV1OfferLettersPublicWelcomeTokenPdfRequest): Promise<Types.GetV1OfferLettersPublicWelcomeTokenPdfResponses> => {\n const headers = {\n ...defaultHeaders\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}/pdf`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1OfferLettersPublicWelcomeTokenPdf: Api['getV1OfferLettersPublicWelcomeTokenPdf'] = async (request: Types.GetV1OfferLettersPublicWelcomeTokenPdfRequest): Promise<Types.GetV1OfferLettersPublicWelcomeTokenPdfResponses> => {\n return await _getV1OfferLettersPublicWelcomeTokenPdf(baseUrl, request)\n}\nconst _postV1OfferLettersPublicWelcomeTokenAccept = async (url: string, request: Types.PostV1OfferLettersPublicWelcomeTokenAcceptRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenAcceptResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}/accept`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1OfferLettersPublicWelcomeTokenAccept: Api['postV1OfferLettersPublicWelcomeTokenAccept'] = async (request: Types.PostV1OfferLettersPublicWelcomeTokenAcceptRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenAcceptResponses> => {\n return await _postV1OfferLettersPublicWelcomeTokenAccept(baseUrl, request)\n}\nconst _postV1OfferLettersPublicWelcomeTokenReject = async (url: string, request: Types.PostV1OfferLettersPublicWelcomeTokenRejectRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenRejectResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}/reject`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1OfferLettersPublicWelcomeTokenReject: Api['postV1OfferLettersPublicWelcomeTokenReject'] = async (request: Types.PostV1OfferLettersPublicWelcomeTokenRejectRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenRejectResponses> => {\n return await _postV1OfferLettersPublicWelcomeTokenReject(baseUrl, request)\n}\nconst _patchV1OfferLettersPublicWelcomeTokenDocumentsDocumentId = async (url: string, request: Types.PatchV1OfferLettersPublicWelcomeTokenDocumentsDocumentIdRequest): Promise<Types.PatchV1OfferLettersPublicWelcomeTokenDocumentsDocumentIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}/documents/${request['document_id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const patchV1OfferLettersPublicWelcomeTokenDocumentsDocumentId: Api['patchV1OfferLettersPublicWelcomeTokenDocumentsDocumentId'] = async (request: Types.PatchV1OfferLettersPublicWelcomeTokenDocumentsDocumentIdRequest): Promise<Types.PatchV1OfferLettersPublicWelcomeTokenDocumentsDocumentIdResponses> => {\n return await _patchV1OfferLettersPublicWelcomeTokenDocumentsDocumentId(baseUrl, request)\n}\nconst _postV1OfferLettersPublicWelcomeTokenSubmit = async (url: string, request: Types.PostV1OfferLettersPublicWelcomeTokenSubmitRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenSubmitResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}/submit`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1OfferLettersPublicWelcomeTokenSubmit: Api['postV1OfferLettersPublicWelcomeTokenSubmit'] = async (request: Types.PostV1OfferLettersPublicWelcomeTokenSubmitRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenSubmitResponses> => {\n return await _postV1OfferLettersPublicWelcomeTokenSubmit(baseUrl, request)\n}\nconst _postV1OfferLettersPublicWelcomeTokenDraft = async (url: string, request: Types.PostV1OfferLettersPublicWelcomeTokenDraftRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}/draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1OfferLettersPublicWelcomeTokenDraft: Api['postV1OfferLettersPublicWelcomeTokenDraft'] = async (request: Types.PostV1OfferLettersPublicWelcomeTokenDraftRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenDraftResponses> => {\n return await _postV1OfferLettersPublicWelcomeTokenDraft(baseUrl, request)\n}\nconst _postV1TimeCards = async (url: string, request: Types.PostV1TimeCardsRequest): Promise<Types.PostV1TimeCardsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimeCards: Api['postV1TimeCards'] = async (request: Types.PostV1TimeCardsRequest): Promise<Types.PostV1TimeCardsResponses> => {\n return await _postV1TimeCards(baseUrl, request)\n}\nconst _getV1TimeCards = async (url: string, request: Types.GetV1TimeCardsRequest): Promise<Types.GetV1TimeCardsResponses> => {\n const queryParameters: (keyof Types.GetV1TimeCardsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimeCards: Api['getV1TimeCards'] = async (request: Types.GetV1TimeCardsRequest): Promise<Types.GetV1TimeCardsResponses> => {\n return await _getV1TimeCards(baseUrl, request)\n}\nconst _getV1TimeCardsId = async (url: string, request: Types.GetV1TimeCardsIdRequest): Promise<Types.GetV1TimeCardsIdResponses> => {\n const queryParameters: (keyof Types.GetV1TimeCardsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimeCardsId: Api['getV1TimeCardsId'] = async (request: Types.GetV1TimeCardsIdRequest): Promise<Types.GetV1TimeCardsIdResponses> => {\n return await _getV1TimeCardsId(baseUrl, request)\n}\nconst _putV1TimeCardsId = async (url: string, request: Types.PutV1TimeCardsIdRequest): Promise<Types.PutV1TimeCardsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1TimeCardsId: Api['putV1TimeCardsId'] = async (request: Types.PutV1TimeCardsIdRequest): Promise<Types.PutV1TimeCardsIdResponses> => {\n return await _putV1TimeCardsId(baseUrl, request)\n}\nconst _deleteV1TimeCardsId = async (url: string, request: Types.DeleteV1TimeCardsIdRequest): Promise<Types.DeleteV1TimeCardsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1TimeCardsId: Api['deleteV1TimeCardsId'] = async (request: Types.DeleteV1TimeCardsIdRequest): Promise<Types.DeleteV1TimeCardsIdResponses> => {\n return await _deleteV1TimeCardsId(baseUrl, request)\n}\nconst _postV1TimeCardsSaveAsDraft = async (url: string, request: Types.PostV1TimeCardsSaveAsDraftRequest): Promise<Types.PostV1TimeCardsSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimeCardsSaveAsDraft: Api['postV1TimeCardsSaveAsDraft'] = async (request: Types.PostV1TimeCardsSaveAsDraftRequest): Promise<Types.PostV1TimeCardsSaveAsDraftResponses> => {\n return await _postV1TimeCardsSaveAsDraft(baseUrl, request)\n}\nconst _patchV1TimeCardsIdSaveAsDraft = async (url: string, request: Types.PatchV1TimeCardsIdSaveAsDraftRequest): Promise<Types.PatchV1TimeCardsIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TimeCardsIdSaveAsDraft: Api['patchV1TimeCardsIdSaveAsDraft'] = async (request: Types.PatchV1TimeCardsIdSaveAsDraftRequest): Promise<Types.PatchV1TimeCardsIdSaveAsDraftResponses> => {\n return await _patchV1TimeCardsIdSaveAsDraft(baseUrl, request)\n}\nconst _postV1TimeCardsIdPost = async (url: string, request: Types.PostV1TimeCardsIdPostRequest): Promise<Types.PostV1TimeCardsIdPostResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}/post`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimeCardsIdPost: Api['postV1TimeCardsIdPost'] = async (request: Types.PostV1TimeCardsIdPostRequest): Promise<Types.PostV1TimeCardsIdPostResponses> => {\n return await _postV1TimeCardsIdPost(baseUrl, request)\n}\nconst _getV1TimeCardsGenerateExcel = async (url: string, request: Types.GetV1TimeCardsGenerateExcelRequest): Promise<Types.GetV1TimeCardsGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1TimeCardsGenerateExcelRequest)[] = ['resource', 'filters', 'order', 'search', 'company_id']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/time-cards/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimeCardsGenerateExcel: Api['getV1TimeCardsGenerateExcel'] = async (request: Types.GetV1TimeCardsGenerateExcelRequest): Promise<Types.GetV1TimeCardsGenerateExcelResponses> => {\n return await _getV1TimeCardsGenerateExcel(baseUrl, request)\n}\nconst _postV1TimeCardsImport = async (url: string, request: Types.PostV1TimeCardsImportRequest): Promise<Types.PostV1TimeCardsImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimeCardsImport: Api['postV1TimeCardsImport'] = async (request: Types.PostV1TimeCardsImportRequest): Promise<Types.PostV1TimeCardsImportResponses> => {\n return await _postV1TimeCardsImport(baseUrl, request)\n}\nconst _getV1TimeCardsIdEmployees = async (url: string, request: Types.GetV1TimeCardsIdEmployeesRequest): Promise<Types.GetV1TimeCardsIdEmployeesResponses> => {\n const queryParameters: (keyof Types.GetV1TimeCardsIdEmployeesRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}/employees?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimeCardsIdEmployees: Api['getV1TimeCardsIdEmployees'] = async (request: Types.GetV1TimeCardsIdEmployeesRequest): Promise<Types.GetV1TimeCardsIdEmployeesResponses> => {\n return await _getV1TimeCardsIdEmployees(baseUrl, request)\n}\nconst _postV1TimeCardsEmployees = async (url: string, request: Types.PostV1TimeCardsEmployeesRequest): Promise<Types.PostV1TimeCardsEmployeesResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/employees`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimeCardsEmployees: Api['postV1TimeCardsEmployees'] = async (request: Types.PostV1TimeCardsEmployeesRequest): Promise<Types.PostV1TimeCardsEmployeesResponses> => {\n return await _postV1TimeCardsEmployees(baseUrl, request)\n}\nconst _getV1TimeCardsIdEmployeeEmployeeId = async (url: string, request: Types.GetV1TimeCardsIdEmployeeEmployeeIdRequest): Promise<Types.GetV1TimeCardsIdEmployeeEmployeeIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}/employee/${request['employeeId']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimeCardsIdEmployeeEmployeeId: Api['getV1TimeCardsIdEmployeeEmployeeId'] = async (request: Types.GetV1TimeCardsIdEmployeeEmployeeIdRequest): Promise<Types.GetV1TimeCardsIdEmployeeEmployeeIdResponses> => {\n return await _getV1TimeCardsIdEmployeeEmployeeId(baseUrl, request)\n}\nconst _postV1TimeCardsEmployeeEmployeeId = async (url: string, request: Types.PostV1TimeCardsEmployeeEmployeeIdRequest): Promise<Types.PostV1TimeCardsEmployeeEmployeeIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/employee/${request['employeeId']}`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimeCardsEmployeeEmployeeId: Api['postV1TimeCardsEmployeeEmployeeId'] = async (request: Types.PostV1TimeCardsEmployeeEmployeeIdRequest): Promise<Types.PostV1TimeCardsEmployeeEmployeeIdResponses> => {\n return await _postV1TimeCardsEmployeeEmployeeId(baseUrl, request)\n}\nconst _postV1Timesheets = async (url: string, request: Types.PostV1TimesheetsRequest): Promise<Types.PostV1TimesheetsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Timesheets: Api['postV1Timesheets'] = async (request: Types.PostV1TimesheetsRequest): Promise<Types.PostV1TimesheetsResponses> => {\n return await _postV1Timesheets(baseUrl, request)\n}\nconst _getV1Timesheets = async (url: string, request: Types.GetV1TimesheetsRequest): Promise<Types.GetV1TimesheetsResponses> => {\n const queryParameters: (keyof Types.GetV1TimesheetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Timesheets: Api['getV1Timesheets'] = async (request: Types.GetV1TimesheetsRequest): Promise<Types.GetV1TimesheetsResponses> => {\n return await _getV1Timesheets(baseUrl, request)\n}\nconst _getV1TimesheetsId = async (url: string, request: Types.GetV1TimesheetsIdRequest): Promise<Types.GetV1TimesheetsIdResponses> => {\n const queryParameters: (keyof Types.GetV1TimesheetsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimesheetsId: Api['getV1TimesheetsId'] = async (request: Types.GetV1TimesheetsIdRequest): Promise<Types.GetV1TimesheetsIdResponses> => {\n return await _getV1TimesheetsId(baseUrl, request)\n}\nconst _putV1TimesheetsId = async (url: string, request: Types.PutV1TimesheetsIdRequest): Promise<Types.PutV1TimesheetsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1TimesheetsId: Api['putV1TimesheetsId'] = async (request: Types.PutV1TimesheetsIdRequest): Promise<Types.PutV1TimesheetsIdResponses> => {\n return await _putV1TimesheetsId(baseUrl, request)\n}\nconst _deleteV1TimesheetsId = async (url: string, request: Types.DeleteV1TimesheetsIdRequest): Promise<Types.DeleteV1TimesheetsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1TimesheetsId: Api['deleteV1TimesheetsId'] = async (request: Types.DeleteV1TimesheetsIdRequest): Promise<Types.DeleteV1TimesheetsIdResponses> => {\n return await _deleteV1TimesheetsId(baseUrl, request)\n}\nconst _patchV1TimesheetsIdStatus = async (url: string, request: Types.PatchV1TimesheetsIdStatusRequest): Promise<Types.PatchV1TimesheetsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TimesheetsIdStatus: Api['patchV1TimesheetsIdStatus'] = async (request: Types.PatchV1TimesheetsIdStatusRequest): Promise<Types.PatchV1TimesheetsIdStatusResponses> => {\n return await _patchV1TimesheetsIdStatus(baseUrl, request)\n}\nconst _postV1TimesheetsSaveAsDraft = async (url: string, request: Types.PostV1TimesheetsSaveAsDraftRequest): Promise<Types.PostV1TimesheetsSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimesheetsSaveAsDraft: Api['postV1TimesheetsSaveAsDraft'] = async (request: Types.PostV1TimesheetsSaveAsDraftRequest): Promise<Types.PostV1TimesheetsSaveAsDraftResponses> => {\n return await _postV1TimesheetsSaveAsDraft(baseUrl, request)\n}\nconst _patchV1TimesheetsIdSaveAsDraft = async (url: string, request: Types.PatchV1TimesheetsIdSaveAsDraftRequest): Promise<Types.PatchV1TimesheetsIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TimesheetsIdSaveAsDraft: Api['patchV1TimesheetsIdSaveAsDraft'] = async (request: Types.PatchV1TimesheetsIdSaveAsDraftRequest): Promise<Types.PatchV1TimesheetsIdSaveAsDraftResponses> => {\n return await _patchV1TimesheetsIdSaveAsDraft(baseUrl, request)\n}\nconst _postV1TimesheetsGenerate = async (url: string, request: Types.PostV1TimesheetsGenerateRequest): Promise<Types.PostV1TimesheetsGenerateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/generate`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimesheetsGenerate: Api['postV1TimesheetsGenerate'] = async (request: Types.PostV1TimesheetsGenerateRequest): Promise<Types.PostV1TimesheetsGenerateResponses> => {\n return await _postV1TimesheetsGenerate(baseUrl, request)\n}\nconst _getV1TimesheetsIdApprovalHistory = async (url: string, request: Types.GetV1TimesheetsIdApprovalHistoryRequest): Promise<Types.GetV1TimesheetsIdApprovalHistoryResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}/approval-history`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimesheetsIdApprovalHistory: Api['getV1TimesheetsIdApprovalHistory'] = async (request: Types.GetV1TimesheetsIdApprovalHistoryRequest): Promise<Types.GetV1TimesheetsIdApprovalHistoryResponses> => {\n return await _getV1TimesheetsIdApprovalHistory(baseUrl, request)\n}\nconst _getV1TimesheetsIdPdf = async (url: string, request: Types.GetV1TimesheetsIdPdfRequest): Promise<Types.GetV1TimesheetsIdPdfResponses> => {\n const queryParameters: (keyof Types.GetV1TimesheetsIdPdfRequest)[] = ['page']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}/pdf?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimesheetsIdPdf: Api['getV1TimesheetsIdPdf'] = async (request: Types.GetV1TimesheetsIdPdfRequest): Promise<Types.GetV1TimesheetsIdPdfResponses> => {\n return await _getV1TimesheetsIdPdf(baseUrl, request)\n}\nconst _postV1OrganisationStructure = async (url: string, request: Types.PostV1OrganisationStructureRequest): Promise<Types.PostV1OrganisationStructureResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1OrganisationStructure: Api['postV1OrganisationStructure'] = async (request: Types.PostV1OrganisationStructureRequest): Promise<Types.PostV1OrganisationStructureResponses> => {\n return await _postV1OrganisationStructure(baseUrl, request)\n}\nconst _getV1OrganisationStructure = async (url: string, request: Types.GetV1OrganisationStructureRequest): Promise<Types.GetV1OrganisationStructureResponses> => {\n const queryParameters: (keyof Types.GetV1OrganisationStructureRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OrganisationStructure: Api['getV1OrganisationStructure'] = async (request: Types.GetV1OrganisationStructureRequest): Promise<Types.GetV1OrganisationStructureResponses> => {\n return await _getV1OrganisationStructure(baseUrl, request)\n}\nconst _getV1OrganisationStructureId = async (url: string, request: Types.GetV1OrganisationStructureIdRequest): Promise<Types.GetV1OrganisationStructureIdResponses> => {\n const queryParameters: (keyof Types.GetV1OrganisationStructureIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OrganisationStructureId: Api['getV1OrganisationStructureId'] = async (request: Types.GetV1OrganisationStructureIdRequest): Promise<Types.GetV1OrganisationStructureIdResponses> => {\n return await _getV1OrganisationStructureId(baseUrl, request)\n}\nconst _putV1OrganisationStructureId = async (url: string, request: Types.PutV1OrganisationStructureIdRequest): Promise<Types.PutV1OrganisationStructureIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1OrganisationStructureId: Api['putV1OrganisationStructureId'] = async (request: Types.PutV1OrganisationStructureIdRequest): Promise<Types.PutV1OrganisationStructureIdResponses> => {\n return await _putV1OrganisationStructureId(baseUrl, request)\n}\nconst _deleteV1OrganisationStructureId = async (url: string, request: Types.DeleteV1OrganisationStructureIdRequest): Promise<Types.DeleteV1OrganisationStructureIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1OrganisationStructureId: Api['deleteV1OrganisationStructureId'] = async (request: Types.DeleteV1OrganisationStructureIdRequest): Promise<Types.DeleteV1OrganisationStructureIdResponses> => {\n return await _deleteV1OrganisationStructureId(baseUrl, request)\n}\nconst _putV1OrganisationStructureIdTeamsTeamNodeIdTransferMembers = async (url: string, request: Types.PutV1OrganisationStructureIdTeamsTeamNodeIdTransferMembersRequest): Promise<Types.PutV1OrganisationStructureIdTeamsTeamNodeIdTransferMembersResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/${request['id']}/teams/${request['team_node_id']}/transfer-members`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1OrganisationStructureIdTeamsTeamNodeIdTransferMembers: Api['putV1OrganisationStructureIdTeamsTeamNodeIdTransferMembers'] = async (request: Types.PutV1OrganisationStructureIdTeamsTeamNodeIdTransferMembersRequest): Promise<Types.PutV1OrganisationStructureIdTeamsTeamNodeIdTransferMembersResponses> => {\n return await _putV1OrganisationStructureIdTeamsTeamNodeIdTransferMembers(baseUrl, request)\n}\nconst _getV1OrganisationStructureHierarchyLevels = async (url: string, request: Types.GetV1OrganisationStructureHierarchyLevelsRequest): Promise<Types.GetV1OrganisationStructureHierarchyLevelsResponses> => {\n const queryParameters: (keyof Types.GetV1OrganisationStructureHierarchyLevelsRequest)[] = ['company_ids', 'location_ids']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/hierarchy/levels?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OrganisationStructureHierarchyLevels: Api['getV1OrganisationStructureHierarchyLevels'] = async (request: Types.GetV1OrganisationStructureHierarchyLevelsRequest): Promise<Types.GetV1OrganisationStructureHierarchyLevelsResponses> => {\n return await _getV1OrganisationStructureHierarchyLevels(baseUrl, request)\n}\nconst _getV1OrganisationStructureHierarchy = async (url: string, request: Types.GetV1OrganisationStructureHierarchyRequest): Promise<Types.GetV1OrganisationStructureHierarchyResponses> => {\n const queryParameters: (keyof Types.GetV1OrganisationStructureHierarchyRequest)[] = ['employee_id', 'type']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/hierarchy?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OrganisationStructureHierarchy: Api['getV1OrganisationStructureHierarchy'] = async (request: Types.GetV1OrganisationStructureHierarchyRequest): Promise<Types.GetV1OrganisationStructureHierarchyResponses> => {\n return await _getV1OrganisationStructureHierarchy(baseUrl, request)\n}\nconst _postV1AssetRequests = async (url: string, request: Types.PostV1AssetRequestsRequest): Promise<Types.PostV1AssetRequestsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AssetRequests: Api['postV1AssetRequests'] = async (request: Types.PostV1AssetRequestsRequest): Promise<Types.PostV1AssetRequestsResponses> => {\n return await _postV1AssetRequests(baseUrl, request)\n}\nconst _getV1AssetRequests = async (url: string, request: Types.GetV1AssetRequestsRequest): Promise<Types.GetV1AssetRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1AssetRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetRequests: Api['getV1AssetRequests'] = async (request: Types.GetV1AssetRequestsRequest): Promise<Types.GetV1AssetRequestsResponses> => {\n return await _getV1AssetRequests(baseUrl, request)\n}\nconst _getV1AssetRequestsMyApprovals = async (url: string, request: Types.GetV1AssetRequestsMyApprovalsRequest): Promise<Types.GetV1AssetRequestsMyApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1AssetRequestsMyApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'approval_status']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/my-approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetRequestsMyApprovals: Api['getV1AssetRequestsMyApprovals'] = async (request: Types.GetV1AssetRequestsMyApprovalsRequest): Promise<Types.GetV1AssetRequestsMyApprovalsResponses> => {\n return await _getV1AssetRequestsMyApprovals(baseUrl, request)\n}\nconst _getV1AssetRequestsId = async (url: string, request: Types.GetV1AssetRequestsIdRequest): Promise<Types.GetV1AssetRequestsIdResponses> => {\n const queryParameters: (keyof Types.GetV1AssetRequestsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetRequestsId: Api['getV1AssetRequestsId'] = async (request: Types.GetV1AssetRequestsIdRequest): Promise<Types.GetV1AssetRequestsIdResponses> => {\n return await _getV1AssetRequestsId(baseUrl, request)\n}\nconst _putV1AssetRequestsId = async (url: string, request: Types.PutV1AssetRequestsIdRequest): Promise<Types.PutV1AssetRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1AssetRequestsId: Api['putV1AssetRequestsId'] = async (request: Types.PutV1AssetRequestsIdRequest): Promise<Types.PutV1AssetRequestsIdResponses> => {\n return await _putV1AssetRequestsId(baseUrl, request)\n}\nconst _deleteV1AssetRequestsId = async (url: string, request: Types.DeleteV1AssetRequestsIdRequest): Promise<Types.DeleteV1AssetRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1AssetRequestsId: Api['deleteV1AssetRequestsId'] = async (request: Types.DeleteV1AssetRequestsIdRequest): Promise<Types.DeleteV1AssetRequestsIdResponses> => {\n return await _deleteV1AssetRequestsId(baseUrl, request)\n}\nconst _patchV1AssetRequestsIdStatus = async (url: string, request: Types.PatchV1AssetRequestsIdStatusRequest): Promise<Types.PatchV1AssetRequestsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1AssetRequestsIdStatus: Api['patchV1AssetRequestsIdStatus'] = async (request: Types.PatchV1AssetRequestsIdStatusRequest): Promise<Types.PatchV1AssetRequestsIdStatusResponses> => {\n return await _patchV1AssetRequestsIdStatus(baseUrl, request)\n}\nconst _getV1AssetAllocationInUseAssets = async (url: string, request: Types.GetV1AssetAllocationInUseAssetsRequest): Promise<Types.GetV1AssetAllocationInUseAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1AssetAllocationInUseAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-allocation/in-use-assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetAllocationInUseAssets: Api['getV1AssetAllocationInUseAssets'] = async (request: Types.GetV1AssetAllocationInUseAssetsRequest): Promise<Types.GetV1AssetAllocationInUseAssetsResponses> => {\n return await _getV1AssetAllocationInUseAssets(baseUrl, request)\n}\nconst _postV1AssetAllocationTransfer = async (url: string, request: Types.PostV1AssetAllocationTransferRequest): Promise<Types.PostV1AssetAllocationTransferResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-allocation/transfer`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AssetAllocationTransfer: Api['postV1AssetAllocationTransfer'] = async (request: Types.PostV1AssetAllocationTransferRequest): Promise<Types.PostV1AssetAllocationTransferResponses> => {\n return await _postV1AssetAllocationTransfer(baseUrl, request)\n}\nconst _getV1AssetAllocationRequestsIdAvailableAssets = async (url: string, request: Types.GetV1AssetAllocationRequestsIdAvailableAssetsRequest): Promise<Types.GetV1AssetAllocationRequestsIdAvailableAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1AssetAllocationRequestsIdAvailableAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-allocation/requests/${request['id']}/available-assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetAllocationRequestsIdAvailableAssets: Api['getV1AssetAllocationRequestsIdAvailableAssets'] = async (request: Types.GetV1AssetAllocationRequestsIdAvailableAssetsRequest): Promise<Types.GetV1AssetAllocationRequestsIdAvailableAssetsResponses> => {\n return await _getV1AssetAllocationRequestsIdAvailableAssets(baseUrl, request)\n}\nconst _postV1AssetAllocationRequestsIdAssign = async (url: string, request: Types.PostV1AssetAllocationRequestsIdAssignRequest): Promise<Types.PostV1AssetAllocationRequestsIdAssignResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-allocation/requests/${request['id']}/assign`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AssetAllocationRequestsIdAssign: Api['postV1AssetAllocationRequestsIdAssign'] = async (request: Types.PostV1AssetAllocationRequestsIdAssignRequest): Promise<Types.PostV1AssetAllocationRequestsIdAssignResponses> => {\n return await _postV1AssetAllocationRequestsIdAssign(baseUrl, request)\n}\nconst _postV1AssetAllocationRequestsIdUnassign = async (url: string, request: Types.PostV1AssetAllocationRequestsIdUnassignRequest): Promise<Types.PostV1AssetAllocationRequestsIdUnassignResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-allocation/requests/${request['id']}/unassign`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AssetAllocationRequestsIdUnassign: Api['postV1AssetAllocationRequestsIdUnassign'] = async (request: Types.PostV1AssetAllocationRequestsIdUnassignRequest): Promise<Types.PostV1AssetAllocationRequestsIdUnassignResponses> => {\n return await _postV1AssetAllocationRequestsIdUnassign(baseUrl, request)\n}\nconst _getV1ReceiveHandoverRequests = async (url: string, request: Types.GetV1ReceiveHandoverRequestsRequest): Promise<Types.GetV1ReceiveHandoverRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1ReceiveHandoverRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/requests?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ReceiveHandoverRequests: Api['getV1ReceiveHandoverRequests'] = async (request: Types.GetV1ReceiveHandoverRequestsRequest): Promise<Types.GetV1ReceiveHandoverRequestsResponses> => {\n return await _getV1ReceiveHandoverRequests(baseUrl, request)\n}\nconst _getV1ReceiveHandoverRequestsReturns = async (url: string, request: Types.GetV1ReceiveHandoverRequestsReturnsRequest): Promise<Types.GetV1ReceiveHandoverRequestsReturnsResponses> => {\n const queryParameters: (keyof Types.GetV1ReceiveHandoverRequestsReturnsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/requests/returns?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ReceiveHandoverRequestsReturns: Api['getV1ReceiveHandoverRequestsReturns'] = async (request: Types.GetV1ReceiveHandoverRequestsReturnsRequest): Promise<Types.GetV1ReceiveHandoverRequestsReturnsResponses> => {\n return await _getV1ReceiveHandoverRequestsReturns(baseUrl, request)\n}\nconst _getV1ReceiveHandoverRequestsId = async (url: string, request: Types.GetV1ReceiveHandoverRequestsIdRequest): Promise<Types.GetV1ReceiveHandoverRequestsIdResponses> => {\n const queryParameters: (keyof Types.GetV1ReceiveHandoverRequestsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/requests/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ReceiveHandoverRequestsId: Api['getV1ReceiveHandoverRequestsId'] = async (request: Types.GetV1ReceiveHandoverRequestsIdRequest): Promise<Types.GetV1ReceiveHandoverRequestsIdResponses> => {\n return await _getV1ReceiveHandoverRequestsId(baseUrl, request)\n}\nconst _postV1ReceiveHandoverRequestsIdComplete = async (url: string, request: Types.PostV1ReceiveHandoverRequestsIdCompleteRequest): Promise<Types.PostV1ReceiveHandoverRequestsIdCompleteResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/requests/${request['id']}/complete`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReceiveHandoverRequestsIdComplete: Api['postV1ReceiveHandoverRequestsIdComplete'] = async (request: Types.PostV1ReceiveHandoverRequestsIdCompleteRequest): Promise<Types.PostV1ReceiveHandoverRequestsIdCompleteResponses> => {\n return await _postV1ReceiveHandoverRequestsIdComplete(baseUrl, request)\n}\nconst _postV1ReceiveHandoverRequestsIdProcessHandover = async (url: string, request: Types.PostV1ReceiveHandoverRequestsIdProcessHandoverRequest): Promise<Types.PostV1ReceiveHandoverRequestsIdProcessHandoverResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/requests/${request['id']}/process-handover`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReceiveHandoverRequestsIdProcessHandover: Api['postV1ReceiveHandoverRequestsIdProcessHandover'] = async (request: Types.PostV1ReceiveHandoverRequestsIdProcessHandoverRequest): Promise<Types.PostV1ReceiveHandoverRequestsIdProcessHandoverResponses> => {\n return await _postV1ReceiveHandoverRequestsIdProcessHandover(baseUrl, request)\n}\nconst _getV1ReceiveHandoverMyAssets = async (url: string, request: Types.GetV1ReceiveHandoverMyAssetsRequest): Promise<Types.GetV1ReceiveHandoverMyAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1ReceiveHandoverMyAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/my-assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ReceiveHandoverMyAssets: Api['getV1ReceiveHandoverMyAssets'] = async (request: Types.GetV1ReceiveHandoverMyAssetsRequest): Promise<Types.GetV1ReceiveHandoverMyAssetsResponses> => {\n return await _getV1ReceiveHandoverMyAssets(baseUrl, request)\n}\nconst _getV1ReceiveHandoverMyAssetsId = async (url: string, request: Types.GetV1ReceiveHandoverMyAssetsIdRequest): Promise<Types.GetV1ReceiveHandoverMyAssetsIdResponses> => {\n const queryParameters: (keyof Types.GetV1ReceiveHandoverMyAssetsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/my-assets/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ReceiveHandoverMyAssetsId: Api['getV1ReceiveHandoverMyAssetsId'] = async (request: Types.GetV1ReceiveHandoverMyAssetsIdRequest): Promise<Types.GetV1ReceiveHandoverMyAssetsIdResponses> => {\n return await _getV1ReceiveHandoverMyAssetsId(baseUrl, request)\n}\nconst _postV1ReceiveHandoverMyAssetsIdReturn = async (url: string, request: Types.PostV1ReceiveHandoverMyAssetsIdReturnRequest): Promise<Types.PostV1ReceiveHandoverMyAssetsIdReturnResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/my-assets/${request['id']}/return`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReceiveHandoverMyAssetsIdReturn: Api['postV1ReceiveHandoverMyAssetsIdReturn'] = async (request: Types.PostV1ReceiveHandoverMyAssetsIdReturnRequest): Promise<Types.PostV1ReceiveHandoverMyAssetsIdReturnResponses> => {\n return await _postV1ReceiveHandoverMyAssetsIdReturn(baseUrl, request)\n}\nconst _getV1MyAssets = async (url: string, request: Types.GetV1MyAssetsRequest): Promise<Types.GetV1MyAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1MyAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/my-assets/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1MyAssets: Api['getV1MyAssets'] = async (request: Types.GetV1MyAssetsRequest): Promise<Types.GetV1MyAssetsResponses> => {\n return await _getV1MyAssets(baseUrl, request)\n}\nconst _getV1MyAssetsReceivedAssets = async (url: string, request: Types.GetV1MyAssetsReceivedAssetsRequest): Promise<Types.GetV1MyAssetsReceivedAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1MyAssetsReceivedAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/my-assets/received-assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1MyAssetsReceivedAssets: Api['getV1MyAssetsReceivedAssets'] = async (request: Types.GetV1MyAssetsReceivedAssetsRequest): Promise<Types.GetV1MyAssetsReceivedAssetsResponses> => {\n return await _getV1MyAssetsReceivedAssets(baseUrl, request)\n}\nconst _getV1MyAssetsId = async (url: string, request: Types.GetV1MyAssetsIdRequest): Promise<Types.GetV1MyAssetsIdResponses> => {\n const queryParameters: (keyof Types.GetV1MyAssetsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/my-assets/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1MyAssetsId: Api['getV1MyAssetsId'] = async (request: Types.GetV1MyAssetsIdRequest): Promise<Types.GetV1MyAssetsIdResponses> => {\n return await _getV1MyAssetsId(baseUrl, request)\n}\nconst _getV1MyAssetsCategoriesId = async (url: string, request: Types.GetV1MyAssetsCategoriesIdRequest): Promise<Types.GetV1MyAssetsCategoriesIdResponses> => {\n const queryParameters: (keyof Types.GetV1MyAssetsCategoriesIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'employee_asset_id']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/my-assets/categories/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1MyAssetsCategoriesId: Api['getV1MyAssetsCategoriesId'] = async (request: Types.GetV1MyAssetsCategoriesIdRequest): Promise<Types.GetV1MyAssetsCategoriesIdResponses> => {\n return await _getV1MyAssetsCategoriesId(baseUrl, request)\n}\nconst _postV1MyAssetsReturn = async (url: string, request: Types.PostV1MyAssetsReturnRequest): Promise<Types.PostV1MyAssetsReturnResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/my-assets/return`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MyAssetsReturn: Api['postV1MyAssetsReturn'] = async (request: Types.PostV1MyAssetsReturnRequest): Promise<Types.PostV1MyAssetsReturnResponses> => {\n return await _postV1MyAssetsReturn(baseUrl, request)\n}\nconst _postV1DamageLossClaims = async (url: string, request: Types.PostV1DamageLossClaimsRequest): Promise<Types.PostV1DamageLossClaimsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/damage-loss-claims/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DamageLossClaims: Api['postV1DamageLossClaims'] = async (request: Types.PostV1DamageLossClaimsRequest): Promise<Types.PostV1DamageLossClaimsResponses> => {\n return await _postV1DamageLossClaims(baseUrl, request)\n}\nconst _getV1DamageLossClaims = async (url: string, request: Types.GetV1DamageLossClaimsRequest): Promise<Types.GetV1DamageLossClaimsResponses> => {\n const queryParameters: (keyof Types.GetV1DamageLossClaimsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/damage-loss-claims/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DamageLossClaims: Api['getV1DamageLossClaims'] = async (request: Types.GetV1DamageLossClaimsRequest): Promise<Types.GetV1DamageLossClaimsResponses> => {\n return await _getV1DamageLossClaims(baseUrl, request)\n}\nconst _getV1DamageLossClaimsId = async (url: string, request: Types.GetV1DamageLossClaimsIdRequest): Promise<Types.GetV1DamageLossClaimsIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/damage-loss-claims/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DamageLossClaimsId: Api['getV1DamageLossClaimsId'] = async (request: Types.GetV1DamageLossClaimsIdRequest): Promise<Types.GetV1DamageLossClaimsIdResponses> => {\n return await _getV1DamageLossClaimsId(baseUrl, request)\n}\nconst _putV1DamageLossClaimsId = async (url: string, request: Types.PutV1DamageLossClaimsIdRequest): Promise<Types.PutV1DamageLossClaimsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/damage-loss-claims/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1DamageLossClaimsId: Api['putV1DamageLossClaimsId'] = async (request: Types.PutV1DamageLossClaimsIdRequest): Promise<Types.PutV1DamageLossClaimsIdResponses> => {\n return await _putV1DamageLossClaimsId(baseUrl, request)\n}\nconst _patchV1DamageLossClaimsIdStatus = async (url: string, request: Types.PatchV1DamageLossClaimsIdStatusRequest): Promise<Types.PatchV1DamageLossClaimsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/damage-loss-claims/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1DamageLossClaimsIdStatus: Api['patchV1DamageLossClaimsIdStatus'] = async (request: Types.PatchV1DamageLossClaimsIdStatusRequest): Promise<Types.PatchV1DamageLossClaimsIdStatusResponses> => {\n return await _patchV1DamageLossClaimsIdStatus(baseUrl, request)\n}\nconst _postV1DamageLossClaimsIdSuggestSplit = async (url: string, request: Types.PostV1DamageLossClaimsIdSuggestSplitRequest): Promise<Types.PostV1DamageLossClaimsIdSuggestSplitResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/damage-loss-claims/${request['id']}/suggest-split`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DamageLossClaimsIdSuggestSplit: Api['postV1DamageLossClaimsIdSuggestSplit'] = async (request: Types.PostV1DamageLossClaimsIdSuggestSplitRequest): Promise<Types.PostV1DamageLossClaimsIdSuggestSplitResponses> => {\n return await _postV1DamageLossClaimsIdSuggestSplit(baseUrl, request)\n}\nconst _getV1AssetTracker = async (url: string, request: Types.GetV1AssetTrackerRequest): Promise<Types.GetV1AssetTrackerResponses> => {\n const queryParameters: (keyof Types.GetV1AssetTrackerRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-tracker/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetTracker: Api['getV1AssetTracker'] = async (request: Types.GetV1AssetTrackerRequest): Promise<Types.GetV1AssetTrackerResponses> => {\n return await _getV1AssetTracker(baseUrl, request)\n}\nconst _getV1AssetTrackerAssetsName = async (url: string, request: Types.GetV1AssetTrackerAssetsNameRequest): Promise<Types.GetV1AssetTrackerAssetsNameResponses> => {\n const queryParameters: (keyof Types.GetV1AssetTrackerAssetsNameRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-tracker/assets/${request['name']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetTrackerAssetsName: Api['getV1AssetTrackerAssetsName'] = async (request: Types.GetV1AssetTrackerAssetsNameRequest): Promise<Types.GetV1AssetTrackerAssetsNameResponses> => {\n return await _getV1AssetTrackerAssetsName(baseUrl, request)\n}\nconst _postV1AssetTrackerAssetsAssetIdHistory = async (url: string, request: Types.PostV1AssetTrackerAssetsAssetIdHistoryRequest): Promise<Types.PostV1AssetTrackerAssetsAssetIdHistoryResponses> => {\n const queryParameters: (keyof Types.PostV1AssetTrackerAssetsAssetIdHistoryRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-tracker/assets/${request['assetId']}/history?${searchParams.toString()}`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AssetTrackerAssetsAssetIdHistory: Api['postV1AssetTrackerAssetsAssetIdHistory'] = async (request: Types.PostV1AssetTrackerAssetsAssetIdHistoryRequest): Promise<Types.PostV1AssetTrackerAssetsAssetIdHistoryResponses> => {\n return await _postV1AssetTrackerAssetsAssetIdHistory(baseUrl, request)\n}\nconst _postV1ResourceAllocationRequests = async (url: string, request: Types.PostV1ResourceAllocationRequestsRequest): Promise<Types.PostV1ResourceAllocationRequestsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ResourceAllocationRequests: Api['postV1ResourceAllocationRequests'] = async (request: Types.PostV1ResourceAllocationRequestsRequest): Promise<Types.PostV1ResourceAllocationRequestsResponses> => {\n return await _postV1ResourceAllocationRequests(baseUrl, request)\n}\nconst _getV1ResourceAllocationRequests = async (url: string, request: Types.GetV1ResourceAllocationRequestsRequest): Promise<Types.GetV1ResourceAllocationRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1ResourceAllocationRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceAllocationRequests: Api['getV1ResourceAllocationRequests'] = async (request: Types.GetV1ResourceAllocationRequestsRequest): Promise<Types.GetV1ResourceAllocationRequestsResponses> => {\n return await _getV1ResourceAllocationRequests(baseUrl, request)\n}\nconst _getV1ResourceAllocationRequestsApprovals = async (url: string, request: Types.GetV1ResourceAllocationRequestsApprovalsRequest): Promise<Types.GetV1ResourceAllocationRequestsApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1ResourceAllocationRequestsApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceAllocationRequestsApprovals: Api['getV1ResourceAllocationRequestsApprovals'] = async (request: Types.GetV1ResourceAllocationRequestsApprovalsRequest): Promise<Types.GetV1ResourceAllocationRequestsApprovalsResponses> => {\n return await _getV1ResourceAllocationRequestsApprovals(baseUrl, request)\n}\nconst _getV1ResourceAllocationRequestsId = async (url: string, request: Types.GetV1ResourceAllocationRequestsIdRequest): Promise<Types.GetV1ResourceAllocationRequestsIdResponses> => {\n const queryParameters: (keyof Types.GetV1ResourceAllocationRequestsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceAllocationRequestsId: Api['getV1ResourceAllocationRequestsId'] = async (request: Types.GetV1ResourceAllocationRequestsIdRequest): Promise<Types.GetV1ResourceAllocationRequestsIdResponses> => {\n return await _getV1ResourceAllocationRequestsId(baseUrl, request)\n}\nconst _putV1ResourceAllocationRequestsId = async (url: string, request: Types.PutV1ResourceAllocationRequestsIdRequest): Promise<Types.PutV1ResourceAllocationRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1ResourceAllocationRequestsId: Api['putV1ResourceAllocationRequestsId'] = async (request: Types.PutV1ResourceAllocationRequestsIdRequest): Promise<Types.PutV1ResourceAllocationRequestsIdResponses> => {\n return await _putV1ResourceAllocationRequestsId(baseUrl, request)\n}\nconst _deleteV1ResourceAllocationRequestsId = async (url: string, request: Types.DeleteV1ResourceAllocationRequestsIdRequest): Promise<Types.DeleteV1ResourceAllocationRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1ResourceAllocationRequestsId: Api['deleteV1ResourceAllocationRequestsId'] = async (request: Types.DeleteV1ResourceAllocationRequestsIdRequest): Promise<Types.DeleteV1ResourceAllocationRequestsIdResponses> => {\n return await _deleteV1ResourceAllocationRequestsId(baseUrl, request)\n}\nconst _patchV1ResourceAllocationRequestsIdStatus = async (url: string, request: Types.PatchV1ResourceAllocationRequestsIdStatusRequest): Promise<Types.PatchV1ResourceAllocationRequestsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1ResourceAllocationRequestsIdStatus: Api['patchV1ResourceAllocationRequestsIdStatus'] = async (request: Types.PatchV1ResourceAllocationRequestsIdStatusRequest): Promise<Types.PatchV1ResourceAllocationRequestsIdStatusResponses> => {\n return await _patchV1ResourceAllocationRequestsIdStatus(baseUrl, request)\n}\nconst _getV1ResourceAllocationRequestsGenerateExcel = async (url: string, request: Types.GetV1ResourceAllocationRequestsGenerateExcelRequest): Promise<Types.GetV1ResourceAllocationRequestsGenerateExcelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/generate-excel`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1ResourceAllocationRequestsGenerateExcel: Api['getV1ResourceAllocationRequestsGenerateExcel'] = async (request: Types.GetV1ResourceAllocationRequestsGenerateExcelRequest): Promise<Types.GetV1ResourceAllocationRequestsGenerateExcelResponses> => {\n return await _getV1ResourceAllocationRequestsGenerateExcel(baseUrl, request)\n}\nconst _getV1ResourceAllocationAssignments = async (url: string, request: Types.GetV1ResourceAllocationAssignmentsRequest): Promise<Types.GetV1ResourceAllocationAssignmentsResponses> => {\n const queryParameters: (keyof Types.GetV1ResourceAllocationAssignmentsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-assignments/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceAllocationAssignments: Api['getV1ResourceAllocationAssignments'] = async (request: Types.GetV1ResourceAllocationAssignmentsRequest): Promise<Types.GetV1ResourceAllocationAssignmentsResponses> => {\n return await _getV1ResourceAllocationAssignments(baseUrl, request)\n}\nconst _getV1ResourceAllocationAssignmentsId = async (url: string, request: Types.GetV1ResourceAllocationAssignmentsIdRequest): Promise<Types.GetV1ResourceAllocationAssignmentsIdResponses> => {\n const queryParameters: (keyof Types.GetV1ResourceAllocationAssignmentsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-assignments/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceAllocationAssignmentsId: Api['getV1ResourceAllocationAssignmentsId'] = async (request: Types.GetV1ResourceAllocationAssignmentsIdRequest): Promise<Types.GetV1ResourceAllocationAssignmentsIdResponses> => {\n return await _getV1ResourceAllocationAssignmentsId(baseUrl, request)\n}\nconst _patchV1ResourceAllocationAssignmentsId = async (url: string, request: Types.PatchV1ResourceAllocationAssignmentsIdRequest): Promise<Types.PatchV1ResourceAllocationAssignmentsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-assignments/${request['id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1ResourceAllocationAssignmentsId: Api['patchV1ResourceAllocationAssignmentsId'] = async (request: Types.PatchV1ResourceAllocationAssignmentsIdRequest): Promise<Types.PatchV1ResourceAllocationAssignmentsIdResponses> => {\n return await _patchV1ResourceAllocationAssignmentsId(baseUrl, request)\n}\nconst _getV1ResourceAllocationAssignmentsIdPositionPositionId = async (url: string, request: Types.GetV1ResourceAllocationAssignmentsIdPositionPositionIdRequest): Promise<Types.GetV1ResourceAllocationAssignmentsIdPositionPositionIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-assignments/${request['id']}/position/${request['positionId']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceAllocationAssignmentsIdPositionPositionId: Api['getV1ResourceAllocationAssignmentsIdPositionPositionId'] = async (request: Types.GetV1ResourceAllocationAssignmentsIdPositionPositionIdRequest): Promise<Types.GetV1ResourceAllocationAssignmentsIdPositionPositionIdResponses> => {\n return await _getV1ResourceAllocationAssignmentsIdPositionPositionId(baseUrl, request)\n}\nconst _postV1ResourceAllocationAssignmentsIdPositionPositionId = async (url: string, request: Types.PostV1ResourceAllocationAssignmentsIdPositionPositionIdRequest): Promise<Types.PostV1ResourceAllocationAssignmentsIdPositionPositionIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-assignments/${request['id']}/position/${request['positionId']}`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ResourceAllocationAssignmentsIdPositionPositionId: Api['postV1ResourceAllocationAssignmentsIdPositionPositionId'] = async (request: Types.PostV1ResourceAllocationAssignmentsIdPositionPositionIdRequest): Promise<Types.PostV1ResourceAllocationAssignmentsIdPositionPositionIdResponses> => {\n return await _postV1ResourceAllocationAssignmentsIdPositionPositionId(baseUrl, request)\n}\nconst _postV1ResourceAllocationAssignmentsAvailableEmployees = async (url: string, request: Types.PostV1ResourceAllocationAssignmentsAvailableEmployeesRequest): Promise<Types.PostV1ResourceAllocationAssignmentsAvailableEmployeesResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-assignments/available-employees`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ResourceAllocationAssignmentsAvailableEmployees: Api['postV1ResourceAllocationAssignmentsAvailableEmployees'] = async (request: Types.PostV1ResourceAllocationAssignmentsAvailableEmployeesRequest): Promise<Types.PostV1ResourceAllocationAssignmentsAvailableEmployeesResponses> => {\n return await _postV1ResourceAllocationAssignmentsAvailableEmployees(baseUrl, request)\n}\nconst _postV1LeaveRequestsLeaveManagement = async (url: string, request: Types.PostV1LeaveRequestsLeaveManagementRequest): Promise<Types.PostV1LeaveRequestsLeaveManagementResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/leave-management`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveRequestsLeaveManagement: Api['postV1LeaveRequestsLeaveManagement'] = async (request: Types.PostV1LeaveRequestsLeaveManagementRequest): Promise<Types.PostV1LeaveRequestsLeaveManagementResponses> => {\n return await _postV1LeaveRequestsLeaveManagement(baseUrl, request)\n}\nconst _postV1LeaveRequests = async (url: string, request: Types.PostV1LeaveRequestsRequest): Promise<Types.PostV1LeaveRequestsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveRequests: Api['postV1LeaveRequests'] = async (request: Types.PostV1LeaveRequestsRequest): Promise<Types.PostV1LeaveRequestsResponses> => {\n return await _postV1LeaveRequests(baseUrl, request)\n}\nconst _getV1LeaveRequests = async (url: string, request: Types.GetV1LeaveRequestsRequest): Promise<Types.GetV1LeaveRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1LeaveRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveRequests: Api['getV1LeaveRequests'] = async (request: Types.GetV1LeaveRequestsRequest): Promise<Types.GetV1LeaveRequestsResponses> => {\n return await _getV1LeaveRequests(baseUrl, request)\n}\nconst _getV1LeaveRequestsPendingApprovals = async (url: string, request: Types.GetV1LeaveRequestsPendingApprovalsRequest): Promise<Types.GetV1LeaveRequestsPendingApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1LeaveRequestsPendingApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/pending-approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveRequestsPendingApprovals: Api['getV1LeaveRequestsPendingApprovals'] = async (request: Types.GetV1LeaveRequestsPendingApprovalsRequest): Promise<Types.GetV1LeaveRequestsPendingApprovalsResponses> => {\n return await _getV1LeaveRequestsPendingApprovals(baseUrl, request)\n}\nconst _getV1LeaveRequestsId = async (url: string, request: Types.GetV1LeaveRequestsIdRequest): Promise<Types.GetV1LeaveRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveRequestsId: Api['getV1LeaveRequestsId'] = async (request: Types.GetV1LeaveRequestsIdRequest): Promise<Types.GetV1LeaveRequestsIdResponses> => {\n return await _getV1LeaveRequestsId(baseUrl, request)\n}\nconst _putV1LeaveRequestsId = async (url: string, request: Types.PutV1LeaveRequestsIdRequest): Promise<Types.PutV1LeaveRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LeaveRequestsId: Api['putV1LeaveRequestsId'] = async (request: Types.PutV1LeaveRequestsIdRequest): Promise<Types.PutV1LeaveRequestsIdResponses> => {\n return await _putV1LeaveRequestsId(baseUrl, request)\n}\nconst _deleteV1LeaveRequestsId = async (url: string, request: Types.DeleteV1LeaveRequestsIdRequest): Promise<Types.DeleteV1LeaveRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1LeaveRequestsId: Api['deleteV1LeaveRequestsId'] = async (request: Types.DeleteV1LeaveRequestsIdRequest): Promise<Types.DeleteV1LeaveRequestsIdResponses> => {\n return await _deleteV1LeaveRequestsId(baseUrl, request)\n}\nconst _postV1LeaveRequestsSaveAsDraft = async (url: string, request: Types.PostV1LeaveRequestsSaveAsDraftRequest): Promise<Types.PostV1LeaveRequestsSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveRequestsSaveAsDraft: Api['postV1LeaveRequestsSaveAsDraft'] = async (request: Types.PostV1LeaveRequestsSaveAsDraftRequest): Promise<Types.PostV1LeaveRequestsSaveAsDraftResponses> => {\n return await _postV1LeaveRequestsSaveAsDraft(baseUrl, request)\n}\nconst _patchV1LeaveRequestsIdSaveAsDraft = async (url: string, request: Types.PatchV1LeaveRequestsIdSaveAsDraftRequest): Promise<Types.PatchV1LeaveRequestsIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LeaveRequestsIdSaveAsDraft: Api['patchV1LeaveRequestsIdSaveAsDraft'] = async (request: Types.PatchV1LeaveRequestsIdSaveAsDraftRequest): Promise<Types.PatchV1LeaveRequestsIdSaveAsDraftResponses> => {\n return await _patchV1LeaveRequestsIdSaveAsDraft(baseUrl, request)\n}\nconst _patchV1LeaveRequestsIdStatus = async (url: string, request: Types.PatchV1LeaveRequestsIdStatusRequest): Promise<Types.PatchV1LeaveRequestsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LeaveRequestsIdStatus: Api['patchV1LeaveRequestsIdStatus'] = async (request: Types.PatchV1LeaveRequestsIdStatusRequest): Promise<Types.PatchV1LeaveRequestsIdStatusResponses> => {\n return await _patchV1LeaveRequestsIdStatus(baseUrl, request)\n}\nconst _getV1LeaveRequestsIdConflicts = async (url: string, request: Types.GetV1LeaveRequestsIdConflictsRequest): Promise<Types.GetV1LeaveRequestsIdConflictsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}/conflicts`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveRequestsIdConflicts: Api['getV1LeaveRequestsIdConflicts'] = async (request: Types.GetV1LeaveRequestsIdConflictsRequest): Promise<Types.GetV1LeaveRequestsIdConflictsResponses> => {\n return await _getV1LeaveRequestsIdConflicts(baseUrl, request)\n}\nconst _getV1LeaveRequestsIdApprovalHistory = async (url: string, request: Types.GetV1LeaveRequestsIdApprovalHistoryRequest): Promise<Types.GetV1LeaveRequestsIdApprovalHistoryResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}/approval-history`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveRequestsIdApprovalHistory: Api['getV1LeaveRequestsIdApprovalHistory'] = async (request: Types.GetV1LeaveRequestsIdApprovalHistoryRequest): Promise<Types.GetV1LeaveRequestsIdApprovalHistoryResponses> => {\n return await _getV1LeaveRequestsIdApprovalHistory(baseUrl, request)\n}\nconst _postV1LeaveRequestsIdAdvancePayment = async (url: string, request: Types.PostV1LeaveRequestsIdAdvancePaymentRequest): Promise<Types.PostV1LeaveRequestsIdAdvancePaymentResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}/advance-payment`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveRequestsIdAdvancePayment: Api['postV1LeaveRequestsIdAdvancePayment'] = async (request: Types.PostV1LeaveRequestsIdAdvancePaymentRequest): Promise<Types.PostV1LeaveRequestsIdAdvancePaymentResponses> => {\n return await _postV1LeaveRequestsIdAdvancePayment(baseUrl, request)\n}\nconst _getV1LeaveRequestsGenerateExcel = async (url: string, request: Types.GetV1LeaveRequestsGenerateExcelRequest): Promise<Types.GetV1LeaveRequestsGenerateExcelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/generate-excel`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1LeaveRequestsGenerateExcel: Api['getV1LeaveRequestsGenerateExcel'] = async (request: Types.GetV1LeaveRequestsGenerateExcelRequest): Promise<Types.GetV1LeaveRequestsGenerateExcelResponses> => {\n return await _getV1LeaveRequestsGenerateExcel(baseUrl, request)\n}\nconst _postV1LeaveRequestsImport = async (url: string, request: Types.PostV1LeaveRequestsImportRequest): Promise<Types.PostV1LeaveRequestsImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1LeaveRequestsImport: Api['postV1LeaveRequestsImport'] = async (request: Types.PostV1LeaveRequestsImportRequest): Promise<Types.PostV1LeaveRequestsImportResponses> => {\n return await _postV1LeaveRequestsImport(baseUrl, request)\n}\nconst _putV1LeaveRequestsLeaveRequestIdAttachments = async (url: string, request: Types.PutV1LeaveRequestsLeaveRequestIdAttachmentsRequest): Promise<Types.PutV1LeaveRequestsLeaveRequestIdAttachmentsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['leave_request_id']}/attachments`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LeaveRequestsLeaveRequestIdAttachments: Api['putV1LeaveRequestsLeaveRequestIdAttachments'] = async (request: Types.PutV1LeaveRequestsLeaveRequestIdAttachmentsRequest): Promise<Types.PutV1LeaveRequestsLeaveRequestIdAttachmentsResponses> => {\n return await _putV1LeaveRequestsLeaveRequestIdAttachments(baseUrl, request)\n}\nconst _postV1LeaveManagement = async (url: string, request: Types.PostV1LeaveManagementRequest): Promise<Types.PostV1LeaveManagementResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveManagement: Api['postV1LeaveManagement'] = async (request: Types.PostV1LeaveManagementRequest): Promise<Types.PostV1LeaveManagementResponses> => {\n return await _postV1LeaveManagement(baseUrl, request)\n}\nconst _getV1LeaveManagement = async (url: string, request: Types.GetV1LeaveManagementRequest): Promise<Types.GetV1LeaveManagementResponses> => {\n const queryParameters: (keyof Types.GetV1LeaveManagementRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveManagement: Api['getV1LeaveManagement'] = async (request: Types.GetV1LeaveManagementRequest): Promise<Types.GetV1LeaveManagementResponses> => {\n return await _getV1LeaveManagement(baseUrl, request)\n}\nconst _getV1LeaveManagementPendingApprovals = async (url: string, request: Types.GetV1LeaveManagementPendingApprovalsRequest): Promise<Types.GetV1LeaveManagementPendingApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1LeaveManagementPendingApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/pending-approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveManagementPendingApprovals: Api['getV1LeaveManagementPendingApprovals'] = async (request: Types.GetV1LeaveManagementPendingApprovalsRequest): Promise<Types.GetV1LeaveManagementPendingApprovalsResponses> => {\n return await _getV1LeaveManagementPendingApprovals(baseUrl, request)\n}\nconst _getV1LeaveManagementId = async (url: string, request: Types.GetV1LeaveManagementIdRequest): Promise<Types.GetV1LeaveManagementIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveManagementId: Api['getV1LeaveManagementId'] = async (request: Types.GetV1LeaveManagementIdRequest): Promise<Types.GetV1LeaveManagementIdResponses> => {\n return await _getV1LeaveManagementId(baseUrl, request)\n}\nconst _putV1LeaveManagementId = async (url: string, request: Types.PutV1LeaveManagementIdRequest): Promise<Types.PutV1LeaveManagementIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LeaveManagementId: Api['putV1LeaveManagementId'] = async (request: Types.PutV1LeaveManagementIdRequest): Promise<Types.PutV1LeaveManagementIdResponses> => {\n return await _putV1LeaveManagementId(baseUrl, request)\n}\nconst _deleteV1LeaveManagementId = async (url: string, request: Types.DeleteV1LeaveManagementIdRequest): Promise<Types.DeleteV1LeaveManagementIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1LeaveManagementId: Api['deleteV1LeaveManagementId'] = async (request: Types.DeleteV1LeaveManagementIdRequest): Promise<Types.DeleteV1LeaveManagementIdResponses> => {\n return await _deleteV1LeaveManagementId(baseUrl, request)\n}\nconst _postV1LeaveManagementSaveAsDraft = async (url: string, request: Types.PostV1LeaveManagementSaveAsDraftRequest): Promise<Types.PostV1LeaveManagementSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveManagementSaveAsDraft: Api['postV1LeaveManagementSaveAsDraft'] = async (request: Types.PostV1LeaveManagementSaveAsDraftRequest): Promise<Types.PostV1LeaveManagementSaveAsDraftResponses> => {\n return await _postV1LeaveManagementSaveAsDraft(baseUrl, request)\n}\nconst _patchV1LeaveManagementIdSaveAsDraft = async (url: string, request: Types.PatchV1LeaveManagementIdSaveAsDraftRequest): Promise<Types.PatchV1LeaveManagementIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LeaveManagementIdSaveAsDraft: Api['patchV1LeaveManagementIdSaveAsDraft'] = async (request: Types.PatchV1LeaveManagementIdSaveAsDraftRequest): Promise<Types.PatchV1LeaveManagementIdSaveAsDraftResponses> => {\n return await _patchV1LeaveManagementIdSaveAsDraft(baseUrl, request)\n}\nconst _patchV1LeaveManagementIdStatus = async (url: string, request: Types.PatchV1LeaveManagementIdStatusRequest): Promise<Types.PatchV1LeaveManagementIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LeaveManagementIdStatus: Api['patchV1LeaveManagementIdStatus'] = async (request: Types.PatchV1LeaveManagementIdStatusRequest): Promise<Types.PatchV1LeaveManagementIdStatusResponses> => {\n return await _patchV1LeaveManagementIdStatus(baseUrl, request)\n}\nconst _getV1LeaveManagementIdConflicts = async (url: string, request: Types.GetV1LeaveManagementIdConflictsRequest): Promise<Types.GetV1LeaveManagementIdConflictsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}/conflicts`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveManagementIdConflicts: Api['getV1LeaveManagementIdConflicts'] = async (request: Types.GetV1LeaveManagementIdConflictsRequest): Promise<Types.GetV1LeaveManagementIdConflictsResponses> => {\n return await _getV1LeaveManagementIdConflicts(baseUrl, request)\n}\nconst _getV1LeaveManagementIdApprovalHistory = async (url: string, request: Types.GetV1LeaveManagementIdApprovalHistoryRequest): Promise<Types.GetV1LeaveManagementIdApprovalHistoryResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}/approval-history`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveManagementIdApprovalHistory: Api['getV1LeaveManagementIdApprovalHistory'] = async (request: Types.GetV1LeaveManagementIdApprovalHistoryRequest): Promise<Types.GetV1LeaveManagementIdApprovalHistoryResponses> => {\n return await _getV1LeaveManagementIdApprovalHistory(baseUrl, request)\n}\nconst _postV1LeaveManagementIdAdvancePayment = async (url: string, request: Types.PostV1LeaveManagementIdAdvancePaymentRequest): Promise<Types.PostV1LeaveManagementIdAdvancePaymentResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}/advance-payment`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveManagementIdAdvancePayment: Api['postV1LeaveManagementIdAdvancePayment'] = async (request: Types.PostV1LeaveManagementIdAdvancePaymentRequest): Promise<Types.PostV1LeaveManagementIdAdvancePaymentResponses> => {\n return await _postV1LeaveManagementIdAdvancePayment(baseUrl, request)\n}\nconst _putV1LeaveManagementLeaveRequestIdAttachments = async (url: string, request: Types.PutV1LeaveManagementLeaveRequestIdAttachmentsRequest): Promise<Types.PutV1LeaveManagementLeaveRequestIdAttachmentsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['leave_request_id']}/attachments`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LeaveManagementLeaveRequestIdAttachments: Api['putV1LeaveManagementLeaveRequestIdAttachments'] = async (request: Types.PutV1LeaveManagementLeaveRequestIdAttachmentsRequest): Promise<Types.PutV1LeaveManagementLeaveRequestIdAttachmentsResponses> => {\n return await _putV1LeaveManagementLeaveRequestIdAttachments(baseUrl, request)\n}\nconst _postV1Resignations = async (url: string, request: Types.PostV1ResignationsRequest): Promise<Types.PostV1ResignationsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Resignations: Api['postV1Resignations'] = async (request: Types.PostV1ResignationsRequest): Promise<Types.PostV1ResignationsResponses> => {\n return await _postV1Resignations(baseUrl, request)\n}\nconst _getV1Resignations = async (url: string, request: Types.GetV1ResignationsRequest): Promise<Types.GetV1ResignationsResponses> => {\n const queryParameters: (keyof Types.GetV1ResignationsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Resignations: Api['getV1Resignations'] = async (request: Types.GetV1ResignationsRequest): Promise<Types.GetV1ResignationsResponses> => {\n return await _getV1Resignations(baseUrl, request)\n}\nconst _getV1ResignationsMyApprovals = async (url: string, request: Types.GetV1ResignationsMyApprovalsRequest): Promise<Types.GetV1ResignationsMyApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1ResignationsMyApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'approval_status']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/my-approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResignationsMyApprovals: Api['getV1ResignationsMyApprovals'] = async (request: Types.GetV1ResignationsMyApprovalsRequest): Promise<Types.GetV1ResignationsMyApprovalsResponses> => {\n return await _getV1ResignationsMyApprovals(baseUrl, request)\n}\nconst _getV1ResignationsId = async (url: string, request: Types.GetV1ResignationsIdRequest): Promise<Types.GetV1ResignationsIdResponses> => {\n const queryParameters: (keyof Types.GetV1ResignationsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResignationsId: Api['getV1ResignationsId'] = async (request: Types.GetV1ResignationsIdRequest): Promise<Types.GetV1ResignationsIdResponses> => {\n return await _getV1ResignationsId(baseUrl, request)\n}\nconst _putV1ResignationsId = async (url: string, request: Types.PutV1ResignationsIdRequest): Promise<Types.PutV1ResignationsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1ResignationsId: Api['putV1ResignationsId'] = async (request: Types.PutV1ResignationsIdRequest): Promise<Types.PutV1ResignationsIdResponses> => {\n return await _putV1ResignationsId(baseUrl, request)\n}\nconst _deleteV1ResignationsId = async (url: string, request: Types.DeleteV1ResignationsIdRequest): Promise<Types.DeleteV1ResignationsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1ResignationsId: Api['deleteV1ResignationsId'] = async (request: Types.DeleteV1ResignationsIdRequest): Promise<Types.DeleteV1ResignationsIdResponses> => {\n return await _deleteV1ResignationsId(baseUrl, request)\n}\nconst _getV1ResignationsIdAssignedAssets = async (url: string, request: Types.GetV1ResignationsIdAssignedAssetsRequest): Promise<Types.GetV1ResignationsIdAssignedAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1ResignationsIdAssignedAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/${request['id']}/assigned-assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResignationsIdAssignedAssets: Api['getV1ResignationsIdAssignedAssets'] = async (request: Types.GetV1ResignationsIdAssignedAssetsRequest): Promise<Types.GetV1ResignationsIdAssignedAssetsResponses> => {\n return await _getV1ResignationsIdAssignedAssets(baseUrl, request)\n}\nconst _patchV1ResignationsIdStatus = async (url: string, request: Types.PatchV1ResignationsIdStatusRequest): Promise<Types.PatchV1ResignationsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1ResignationsIdStatus: Api['patchV1ResignationsIdStatus'] = async (request: Types.PatchV1ResignationsIdStatusRequest): Promise<Types.PatchV1ResignationsIdStatusResponses> => {\n return await _patchV1ResignationsIdStatus(baseUrl, request)\n}\nconst _postV1ResignationsImport = async (url: string, request: Types.PostV1ResignationsImportRequest): Promise<Types.PostV1ResignationsImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1ResignationsImport: Api['postV1ResignationsImport'] = async (request: Types.PostV1ResignationsImportRequest): Promise<Types.PostV1ResignationsImportResponses> => {\n return await _postV1ResignationsImport(baseUrl, request)\n}\nconst _getV1ResignationsGenerateExcel = async (url: string, request: Types.GetV1ResignationsGenerateExcelRequest): Promise<Types.GetV1ResignationsGenerateExcelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/generate-excel`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1ResignationsGenerateExcel: Api['getV1ResignationsGenerateExcel'] = async (request: Types.GetV1ResignationsGenerateExcelRequest): Promise<Types.GetV1ResignationsGenerateExcelResponses> => {\n return await _getV1ResignationsGenerateExcel(baseUrl, request)\n}\nconst _postV1Terminations = async (url: string, request: Types.PostV1TerminationsRequest): Promise<Types.PostV1TerminationsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Terminations: Api['postV1Terminations'] = async (request: Types.PostV1TerminationsRequest): Promise<Types.PostV1TerminationsResponses> => {\n return await _postV1Terminations(baseUrl, request)\n}\nconst _getV1Terminations = async (url: string, request: Types.GetV1TerminationsRequest): Promise<Types.GetV1TerminationsResponses> => {\n const queryParameters: (keyof Types.GetV1TerminationsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Terminations: Api['getV1Terminations'] = async (request: Types.GetV1TerminationsRequest): Promise<Types.GetV1TerminationsResponses> => {\n return await _getV1Terminations(baseUrl, request)\n}\nconst _getV1TerminationsMyApprovals = async (url: string, request: Types.GetV1TerminationsMyApprovalsRequest): Promise<Types.GetV1TerminationsMyApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1TerminationsMyApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'approval_status']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/my-approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationsMyApprovals: Api['getV1TerminationsMyApprovals'] = async (request: Types.GetV1TerminationsMyApprovalsRequest): Promise<Types.GetV1TerminationsMyApprovalsResponses> => {\n return await _getV1TerminationsMyApprovals(baseUrl, request)\n}\nconst _getV1TerminationsId = async (url: string, request: Types.GetV1TerminationsIdRequest): Promise<Types.GetV1TerminationsIdResponses> => {\n const queryParameters: (keyof Types.GetV1TerminationsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationsId: Api['getV1TerminationsId'] = async (request: Types.GetV1TerminationsIdRequest): Promise<Types.GetV1TerminationsIdResponses> => {\n return await _getV1TerminationsId(baseUrl, request)\n}\nconst _putV1TerminationsId = async (url: string, request: Types.PutV1TerminationsIdRequest): Promise<Types.PutV1TerminationsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1TerminationsId: Api['putV1TerminationsId'] = async (request: Types.PutV1TerminationsIdRequest): Promise<Types.PutV1TerminationsIdResponses> => {\n return await _putV1TerminationsId(baseUrl, request)\n}\nconst _deleteV1TerminationsId = async (url: string, request: Types.DeleteV1TerminationsIdRequest): Promise<Types.DeleteV1TerminationsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1TerminationsId: Api['deleteV1TerminationsId'] = async (request: Types.DeleteV1TerminationsIdRequest): Promise<Types.DeleteV1TerminationsIdResponses> => {\n return await _deleteV1TerminationsId(baseUrl, request)\n}\nconst _getV1TerminationsIdAssignedAssets = async (url: string, request: Types.GetV1TerminationsIdAssignedAssetsRequest): Promise<Types.GetV1TerminationsIdAssignedAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1TerminationsIdAssignedAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}/assigned-assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationsIdAssignedAssets: Api['getV1TerminationsIdAssignedAssets'] = async (request: Types.GetV1TerminationsIdAssignedAssetsRequest): Promise<Types.GetV1TerminationsIdAssignedAssetsResponses> => {\n return await _getV1TerminationsIdAssignedAssets(baseUrl, request)\n}\nconst _patchV1TerminationsIdInitiate = async (url: string, request: Types.PatchV1TerminationsIdInitiateRequest): Promise<Types.PatchV1TerminationsIdInitiateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}/initiate`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TerminationsIdInitiate: Api['patchV1TerminationsIdInitiate'] = async (request: Types.PatchV1TerminationsIdInitiateRequest): Promise<Types.PatchV1TerminationsIdInitiateResponses> => {\n return await _patchV1TerminationsIdInitiate(baseUrl, request)\n}\nconst _patchV1TerminationsIdStatus = async (url: string, request: Types.PatchV1TerminationsIdStatusRequest): Promise<Types.PatchV1TerminationsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TerminationsIdStatus: Api['patchV1TerminationsIdStatus'] = async (request: Types.PatchV1TerminationsIdStatusRequest): Promise<Types.PatchV1TerminationsIdStatusResponses> => {\n return await _patchV1TerminationsIdStatus(baseUrl, request)\n}\nconst _postV1TerminationsImport = async (url: string, request: Types.PostV1TerminationsImportRequest): Promise<Types.PostV1TerminationsImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1TerminationsImport: Api['postV1TerminationsImport'] = async (request: Types.PostV1TerminationsImportRequest): Promise<Types.PostV1TerminationsImportResponses> => {\n return await _postV1TerminationsImport(baseUrl, request)\n}\nconst _getV1TerminationsGenerateExcel = async (url: string, request: Types.GetV1TerminationsGenerateExcelRequest): Promise<Types.GetV1TerminationsGenerateExcelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/generate-excel`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1TerminationsGenerateExcel: Api['getV1TerminationsGenerateExcel'] = async (request: Types.GetV1TerminationsGenerateExcelRequest): Promise<Types.GetV1TerminationsGenerateExcelResponses> => {\n return await _getV1TerminationsGenerateExcel(baseUrl, request)\n}\nconst _getV1TerminationsIdTerminationLetter = async (url: string, request: Types.GetV1TerminationsIdTerminationLetterRequest): Promise<Types.GetV1TerminationsIdTerminationLetterResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}/termination-letter`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationsIdTerminationLetter: Api['getV1TerminationsIdTerminationLetter'] = async (request: Types.GetV1TerminationsIdTerminationLetterRequest): Promise<Types.GetV1TerminationsIdTerminationLetterResponses> => {\n return await _getV1TerminationsIdTerminationLetter(baseUrl, request)\n}\nconst _patchV1ResignationSettlementsIdAssetClearance = async (url: string, request: Types.PatchV1ResignationSettlementsIdAssetClearanceRequest): Promise<Types.PatchV1ResignationSettlementsIdAssetClearanceResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/asset-clearance`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1ResignationSettlementsIdAssetClearance: Api['patchV1ResignationSettlementsIdAssetClearance'] = async (request: Types.PatchV1ResignationSettlementsIdAssetClearanceRequest): Promise<Types.PatchV1ResignationSettlementsIdAssetClearanceResponses> => {\n return await _patchV1ResignationSettlementsIdAssetClearance(baseUrl, request)\n}\nconst _getV1ResignationSettlementsIdDetail = async (url: string, request: Types.GetV1ResignationSettlementsIdDetailRequest): Promise<Types.GetV1ResignationSettlementsIdDetailResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/detail`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResignationSettlementsIdDetail: Api['getV1ResignationSettlementsIdDetail'] = async (request: Types.GetV1ResignationSettlementsIdDetailRequest): Promise<Types.GetV1ResignationSettlementsIdDetailResponses> => {\n return await _getV1ResignationSettlementsIdDetail(baseUrl, request)\n}\nconst _getV1ResignationSettlementsIdEmployeeFinancialOverview = async (url: string, request: Types.GetV1ResignationSettlementsIdEmployeeFinancialOverviewRequest): Promise<Types.GetV1ResignationSettlementsIdEmployeeFinancialOverviewResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/employee-financial-overview`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResignationSettlementsIdEmployeeFinancialOverview: Api['getV1ResignationSettlementsIdEmployeeFinancialOverview'] = async (request: Types.GetV1ResignationSettlementsIdEmployeeFinancialOverviewRequest): Promise<Types.GetV1ResignationSettlementsIdEmployeeFinancialOverviewResponses> => {\n return await _getV1ResignationSettlementsIdEmployeeFinancialOverview(baseUrl, request)\n}\nconst _getV1ResignationSettlementsId = async (url: string, request: Types.GetV1ResignationSettlementsIdRequest): Promise<Types.GetV1ResignationSettlementsIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResignationSettlementsId: Api['getV1ResignationSettlementsId'] = async (request: Types.GetV1ResignationSettlementsIdRequest): Promise<Types.GetV1ResignationSettlementsIdResponses> => {\n return await _getV1ResignationSettlementsId(baseUrl, request)\n}\nconst _postV1ResignationSettlementsIdComponents = async (url: string, request: Types.PostV1ResignationSettlementsIdComponentsRequest): Promise<Types.PostV1ResignationSettlementsIdComponentsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/components`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ResignationSettlementsIdComponents: Api['postV1ResignationSettlementsIdComponents'] = async (request: Types.PostV1ResignationSettlementsIdComponentsRequest): Promise<Types.PostV1ResignationSettlementsIdComponentsResponses> => {\n return await _postV1ResignationSettlementsIdComponents(baseUrl, request)\n}\nconst _deleteV1ResignationSettlementsIdComponentsComponentId = async (url: string, request: Types.DeleteV1ResignationSettlementsIdComponentsComponentIdRequest): Promise<Types.DeleteV1ResignationSettlementsIdComponentsComponentIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/components/${request['component_id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1ResignationSettlementsIdComponentsComponentId: Api['deleteV1ResignationSettlementsIdComponentsComponentId'] = async (request: Types.DeleteV1ResignationSettlementsIdComponentsComponentIdRequest): Promise<Types.DeleteV1ResignationSettlementsIdComponentsComponentIdResponses> => {\n return await _deleteV1ResignationSettlementsIdComponentsComponentId(baseUrl, request)\n}\nconst _patchV1ResignationSettlementsIdComponentsComponentId = async (url: string, request: Types.PatchV1ResignationSettlementsIdComponentsComponentIdRequest): Promise<Types.PatchV1ResignationSettlementsIdComponentsComponentIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/components/${request['component_id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1ResignationSettlementsIdComponentsComponentId: Api['patchV1ResignationSettlementsIdComponentsComponentId'] = async (request: Types.PatchV1ResignationSettlementsIdComponentsComponentIdRequest): Promise<Types.PatchV1ResignationSettlementsIdComponentsComponentIdResponses> => {\n return await _patchV1ResignationSettlementsIdComponentsComponentId(baseUrl, request)\n}\nconst _patchV1ResignationSettlementsIdStatus = async (url: string, request: Types.PatchV1ResignationSettlementsIdStatusRequest): Promise<Types.PatchV1ResignationSettlementsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1ResignationSettlementsIdStatus: Api['patchV1ResignationSettlementsIdStatus'] = async (request: Types.PatchV1ResignationSettlementsIdStatusRequest): Promise<Types.PatchV1ResignationSettlementsIdStatusResponses> => {\n return await _patchV1ResignationSettlementsIdStatus(baseUrl, request)\n}\nconst _patchV1TerminationSettlementsIdAssetClearance = async (url: string, request: Types.PatchV1TerminationSettlementsIdAssetClearanceRequest): Promise<Types.PatchV1TerminationSettlementsIdAssetClearanceResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/asset-clearance`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TerminationSettlementsIdAssetClearance: Api['patchV1TerminationSettlementsIdAssetClearance'] = async (request: Types.PatchV1TerminationSettlementsIdAssetClearanceRequest): Promise<Types.PatchV1TerminationSettlementsIdAssetClearanceResponses> => {\n return await _patchV1TerminationSettlementsIdAssetClearance(baseUrl, request)\n}\nconst _getV1TerminationSettlementsIdDetail = async (url: string, request: Types.GetV1TerminationSettlementsIdDetailRequest): Promise<Types.GetV1TerminationSettlementsIdDetailResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/detail`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationSettlementsIdDetail: Api['getV1TerminationSettlementsIdDetail'] = async (request: Types.GetV1TerminationSettlementsIdDetailRequest): Promise<Types.GetV1TerminationSettlementsIdDetailResponses> => {\n return await _getV1TerminationSettlementsIdDetail(baseUrl, request)\n}\nconst _getV1TerminationSettlementsIdEmployeeFinancialOverview = async (url: string, request: Types.GetV1TerminationSettlementsIdEmployeeFinancialOverviewRequest): Promise<Types.GetV1TerminationSettlementsIdEmployeeFinancialOverviewResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/employee-financial-overview`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationSettlementsIdEmployeeFinancialOverview: Api['getV1TerminationSettlementsIdEmployeeFinancialOverview'] = async (request: Types.GetV1TerminationSettlementsIdEmployeeFinancialOverviewRequest): Promise<Types.GetV1TerminationSettlementsIdEmployeeFinancialOverviewResponses> => {\n return await _getV1TerminationSettlementsIdEmployeeFinancialOverview(baseUrl, request)\n}\nconst _getV1TerminationSettlementsId = async (url: string, request: Types.GetV1TerminationSettlementsIdRequest): Promise<Types.GetV1TerminationSettlementsIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationSettlementsId: Api['getV1TerminationSettlementsId'] = async (request: Types.GetV1TerminationSettlementsIdRequest): Promise<Types.GetV1TerminationSettlementsIdResponses> => {\n return await _getV1TerminationSettlementsId(baseUrl, request)\n}\nconst _postV1TerminationSettlementsIdComponents = async (url: string, request: Types.PostV1TerminationSettlementsIdComponentsRequest): Promise<Types.PostV1TerminationSettlementsIdComponentsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/components`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TerminationSettlementsIdComponents: Api['postV1TerminationSettlementsIdComponents'] = async (request: Types.PostV1TerminationSettlementsIdComponentsRequest): Promise<Types.PostV1TerminationSettlementsIdComponentsResponses> => {\n return await _postV1TerminationSettlementsIdComponents(baseUrl, request)\n}\nconst _deleteV1TerminationSettlementsIdComponentsComponentId = async (url: string, request: Types.DeleteV1TerminationSettlementsIdComponentsComponentIdRequest): Promise<Types.DeleteV1TerminationSettlementsIdComponentsComponentIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/components/${request['component_id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1TerminationSettlementsIdComponentsComponentId: Api['deleteV1TerminationSettlementsIdComponentsComponentId'] = async (request: Types.DeleteV1TerminationSettlementsIdComponentsComponentIdRequest): Promise<Types.DeleteV1TerminationSettlementsIdComponentsComponentIdResponses> => {\n return await _deleteV1TerminationSettlementsIdComponentsComponentId(baseUrl, request)\n}\nconst _patchV1TerminationSettlementsIdComponentsComponentId = async (url: string, request: Types.PatchV1TerminationSettlementsIdComponentsComponentIdRequest): Promise<Types.PatchV1TerminationSettlementsIdComponentsComponentIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/components/${request['component_id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TerminationSettlementsIdComponentsComponentId: Api['patchV1TerminationSettlementsIdComponentsComponentId'] = async (request: Types.PatchV1TerminationSettlementsIdComponentsComponentIdRequest): Promise<Types.PatchV1TerminationSettlementsIdComponentsComponentIdResponses> => {\n return await _patchV1TerminationSettlementsIdComponentsComponentId(baseUrl, request)\n}\nconst _patchV1TerminationSettlementsIdStatus = async (url: string, request: Types.PatchV1TerminationSettlementsIdStatusRequest): Promise<Types.PatchV1TerminationSettlementsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TerminationSettlementsIdStatus: Api['patchV1TerminationSettlementsIdStatus'] = async (request: Types.PatchV1TerminationSettlementsIdStatusRequest): Promise<Types.PatchV1TerminationSettlementsIdStatusResponses> => {\n return await _patchV1TerminationSettlementsIdStatus(baseUrl, request)\n}\nconst _getV1MonthlyPayroll = async (url: string, request: Types.GetV1MonthlyPayrollRequest): Promise<Types.GetV1MonthlyPayrollResponses> => {\n const queryParameters: (keyof Types.GetV1MonthlyPayrollRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1MonthlyPayroll: Api['getV1MonthlyPayroll'] = async (request: Types.GetV1MonthlyPayrollRequest): Promise<Types.GetV1MonthlyPayrollResponses> => {\n return await _getV1MonthlyPayroll(baseUrl, request)\n}\nconst _postV1MonthlyPayroll = async (url: string, request: Types.PostV1MonthlyPayrollRequest): Promise<Types.PostV1MonthlyPayrollResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayroll: Api['postV1MonthlyPayroll'] = async (request: Types.PostV1MonthlyPayrollRequest): Promise<Types.PostV1MonthlyPayrollResponses> => {\n return await _postV1MonthlyPayroll(baseUrl, request)\n}\nconst _getV1MonthlyPayrollId = async (url: string, request: Types.GetV1MonthlyPayrollIdRequest): Promise<Types.GetV1MonthlyPayrollIdResponses> => {\n const queryParameters: (keyof Types.GetV1MonthlyPayrollIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1MonthlyPayrollId: Api['getV1MonthlyPayrollId'] = async (request: Types.GetV1MonthlyPayrollIdRequest): Promise<Types.GetV1MonthlyPayrollIdResponses> => {\n return await _getV1MonthlyPayrollId(baseUrl, request)\n}\nconst _putV1MonthlyPayrollId = async (url: string, request: Types.PutV1MonthlyPayrollIdRequest): Promise<Types.PutV1MonthlyPayrollIdResponses> => {\n const queryParameters: (keyof Types.PutV1MonthlyPayrollIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}?${searchParams.toString()}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1MonthlyPayrollId: Api['putV1MonthlyPayrollId'] = async (request: Types.PutV1MonthlyPayrollIdRequest): Promise<Types.PutV1MonthlyPayrollIdResponses> => {\n return await _putV1MonthlyPayrollId(baseUrl, request)\n}\nconst _deleteV1MonthlyPayrollId = async (url: string, request: Types.DeleteV1MonthlyPayrollIdRequest): Promise<Types.DeleteV1MonthlyPayrollIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1MonthlyPayrollId: Api['deleteV1MonthlyPayrollId'] = async (request: Types.DeleteV1MonthlyPayrollIdRequest): Promise<Types.DeleteV1MonthlyPayrollIdResponses> => {\n return await _deleteV1MonthlyPayrollId(baseUrl, request)\n}\nconst _postV1MonthlyPayrollSaveAsDraft = async (url: string, request: Types.PostV1MonthlyPayrollSaveAsDraftRequest): Promise<Types.PostV1MonthlyPayrollSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayrollSaveAsDraft: Api['postV1MonthlyPayrollSaveAsDraft'] = async (request: Types.PostV1MonthlyPayrollSaveAsDraftRequest): Promise<Types.PostV1MonthlyPayrollSaveAsDraftResponses> => {\n return await _postV1MonthlyPayrollSaveAsDraft(baseUrl, request)\n}\nconst _patchV1MonthlyPayrollIdSaveAsDraft = async (url: string, request: Types.PatchV1MonthlyPayrollIdSaveAsDraftRequest): Promise<Types.PatchV1MonthlyPayrollIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1MonthlyPayrollIdSaveAsDraft: Api['patchV1MonthlyPayrollIdSaveAsDraft'] = async (request: Types.PatchV1MonthlyPayrollIdSaveAsDraftRequest): Promise<Types.PatchV1MonthlyPayrollIdSaveAsDraftResponses> => {\n return await _patchV1MonthlyPayrollIdSaveAsDraft(baseUrl, request)\n}\nconst _postV1MonthlyPayrollIdRun = async (url: string, request: Types.PostV1MonthlyPayrollIdRunRequest): Promise<Types.PostV1MonthlyPayrollIdRunResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}/run`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayrollIdRun: Api['postV1MonthlyPayrollIdRun'] = async (request: Types.PostV1MonthlyPayrollIdRunRequest): Promise<Types.PostV1MonthlyPayrollIdRunResponses> => {\n return await _postV1MonthlyPayrollIdRun(baseUrl, request)\n}\nconst _postV1MonthlyPayrollIdSubmit = async (url: string, request: Types.PostV1MonthlyPayrollIdSubmitRequest): Promise<Types.PostV1MonthlyPayrollIdSubmitResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}/submit`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayrollIdSubmit: Api['postV1MonthlyPayrollIdSubmit'] = async (request: Types.PostV1MonthlyPayrollIdSubmitRequest): Promise<Types.PostV1MonthlyPayrollIdSubmitResponses> => {\n return await _postV1MonthlyPayrollIdSubmit(baseUrl, request)\n}\nconst _postV1MonthlyPayrollIdApprove = async (url: string, request: Types.PostV1MonthlyPayrollIdApproveRequest): Promise<Types.PostV1MonthlyPayrollIdApproveResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}/approve`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayrollIdApprove: Api['postV1MonthlyPayrollIdApprove'] = async (request: Types.PostV1MonthlyPayrollIdApproveRequest): Promise<Types.PostV1MonthlyPayrollIdApproveResponses> => {\n return await _postV1MonthlyPayrollIdApprove(baseUrl, request)\n}\nconst _postV1MonthlyPayrollIdReject = async (url: string, request: Types.PostV1MonthlyPayrollIdRejectRequest): Promise<Types.PostV1MonthlyPayrollIdRejectResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}/reject`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayrollIdReject: Api['postV1MonthlyPayrollIdReject'] = async (request: Types.PostV1MonthlyPayrollIdRejectRequest): Promise<Types.PostV1MonthlyPayrollIdRejectResponses> => {\n return await _postV1MonthlyPayrollIdReject(baseUrl, request)\n}\nconst _postV1MonthlyPayrollIdValidate = async (url: string, request: Types.PostV1MonthlyPayrollIdValidateRequest): Promise<Types.PostV1MonthlyPayrollIdValidateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}/validate`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayrollIdValidate: Api['postV1MonthlyPayrollIdValidate'] = async (request: Types.PostV1MonthlyPayrollIdValidateRequest): Promise<Types.PostV1MonthlyPayrollIdValidateResponses> => {\n return await _postV1MonthlyPayrollIdValidate(baseUrl, request)\n}\nconst _getV1SalarySheets = async (url: string, request: Types.GetV1SalarySheetsRequest): Promise<Types.GetV1SalarySheetsResponses> => {\n const queryParameters: (keyof Types.GetV1SalarySheetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1SalarySheets: Api['getV1SalarySheets'] = async (request: Types.GetV1SalarySheetsRequest): Promise<Types.GetV1SalarySheetsResponses> => {\n return await _getV1SalarySheets(baseUrl, request)\n}\nconst _postV1SalarySheets = async (url: string, request: Types.PostV1SalarySheetsRequest): Promise<Types.PostV1SalarySheetsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalarySheets: Api['postV1SalarySheets'] = async (request: Types.PostV1SalarySheetsRequest): Promise<Types.PostV1SalarySheetsResponses> => {\n return await _postV1SalarySheets(baseUrl, request)\n}\nconst _getV1SalarySheetsId = async (url: string, request: Types.GetV1SalarySheetsIdRequest): Promise<Types.GetV1SalarySheetsIdResponses> => {\n const queryParameters: (keyof Types.GetV1SalarySheetsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1SalarySheetsId: Api['getV1SalarySheetsId'] = async (request: Types.GetV1SalarySheetsIdRequest): Promise<Types.GetV1SalarySheetsIdResponses> => {\n return await _getV1SalarySheetsId(baseUrl, request)\n}\nconst _putV1SalarySheetsId = async (url: string, request: Types.PutV1SalarySheetsIdRequest): Promise<Types.PutV1SalarySheetsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1SalarySheetsId: Api['putV1SalarySheetsId'] = async (request: Types.PutV1SalarySheetsIdRequest): Promise<Types.PutV1SalarySheetsIdResponses> => {\n return await _putV1SalarySheetsId(baseUrl, request)\n}\nconst _deleteV1SalarySheetsId = async (url: string, request: Types.DeleteV1SalarySheetsIdRequest): Promise<Types.DeleteV1SalarySheetsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1SalarySheetsId: Api['deleteV1SalarySheetsId'] = async (request: Types.DeleteV1SalarySheetsIdRequest): Promise<Types.DeleteV1SalarySheetsIdResponses> => {\n return await _deleteV1SalarySheetsId(baseUrl, request)\n}\nconst _postV1SalarySheetsLoadData = async (url: string, request: Types.PostV1SalarySheetsLoadDataRequest): Promise<Types.PostV1SalarySheetsLoadDataResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/load-data`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalarySheetsLoadData: Api['postV1SalarySheetsLoadData'] = async (request: Types.PostV1SalarySheetsLoadDataRequest): Promise<Types.PostV1SalarySheetsLoadDataResponses> => {\n return await _postV1SalarySheetsLoadData(baseUrl, request)\n}\nconst _postV1SalarySheetsIdValidate = async (url: string, request: Types.PostV1SalarySheetsIdValidateRequest): Promise<Types.PostV1SalarySheetsIdValidateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}/validate`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalarySheetsIdValidate: Api['postV1SalarySheetsIdValidate'] = async (request: Types.PostV1SalarySheetsIdValidateRequest): Promise<Types.PostV1SalarySheetsIdValidateResponses> => {\n return await _postV1SalarySheetsIdValidate(baseUrl, request)\n}\nconst _postV1SalarySheetsIdGenerateSif = async (url: string, request: Types.PostV1SalarySheetsIdGenerateSifRequest): Promise<Types.PostV1SalarySheetsIdGenerateSifResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}/generate-sif`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalarySheetsIdGenerateSif: Api['postV1SalarySheetsIdGenerateSif'] = async (request: Types.PostV1SalarySheetsIdGenerateSifRequest): Promise<Types.PostV1SalarySheetsIdGenerateSifResponses> => {\n return await _postV1SalarySheetsIdGenerateSif(baseUrl, request)\n}\nconst _postV1SalarySheetsIdMarkProcessed = async (url: string, request: Types.PostV1SalarySheetsIdMarkProcessedRequest): Promise<Types.PostV1SalarySheetsIdMarkProcessedResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}/mark-processed`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalarySheetsIdMarkProcessed: Api['postV1SalarySheetsIdMarkProcessed'] = async (request: Types.PostV1SalarySheetsIdMarkProcessedRequest): Promise<Types.PostV1SalarySheetsIdMarkProcessedResponses> => {\n return await _postV1SalarySheetsIdMarkProcessed(baseUrl, request)\n}\nconst _postV1SalarySheetsIdSaveDraft = async (url: string, request: Types.PostV1SalarySheetsIdSaveDraftRequest): Promise<Types.PostV1SalarySheetsIdSaveDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}/save-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalarySheetsIdSaveDraft: Api['postV1SalarySheetsIdSaveDraft'] = async (request: Types.PostV1SalarySheetsIdSaveDraftRequest): Promise<Types.PostV1SalarySheetsIdSaveDraftResponses> => {\n return await _postV1SalarySheetsIdSaveDraft(baseUrl, request)\n}\nconst _getV1SalarySheetsIdDownloadSif = async (url: string, request: Types.GetV1SalarySheetsIdDownloadSifRequest): Promise<Types.GetV1SalarySheetsIdDownloadSifResponses> => {\n const queryParameters: (keyof Types.GetV1SalarySheetsIdDownloadSifRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}/download-sif?${searchParams.toString()}`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1SalarySheetsIdDownloadSif: Api['getV1SalarySheetsIdDownloadSif'] = async (request: Types.GetV1SalarySheetsIdDownloadSifRequest): Promise<Types.GetV1SalarySheetsIdDownloadSifResponses> => {\n return await _getV1SalarySheetsIdDownloadSif(baseUrl, request)\n}\nconst _getV1Payslips = async (url: string, request: Types.GetV1PayslipsRequest): Promise<Types.GetV1PayslipsResponses> => {\n const queryParameters: (keyof Types.GetV1PayslipsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Payslips: Api['getV1Payslips'] = async (request: Types.GetV1PayslipsRequest): Promise<Types.GetV1PayslipsResponses> => {\n return await _getV1Payslips(baseUrl, request)\n}\nconst _getV1PayslipsId = async (url: string, request: Types.GetV1PayslipsIdRequest): Promise<Types.GetV1PayslipsIdResponses> => {\n const queryParameters: (keyof Types.GetV1PayslipsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1PayslipsId: Api['getV1PayslipsId'] = async (request: Types.GetV1PayslipsIdRequest): Promise<Types.GetV1PayslipsIdResponses> => {\n return await _getV1PayslipsId(baseUrl, request)\n}\nconst _deleteV1PayslipsId = async (url: string, request: Types.DeleteV1PayslipsIdRequest): Promise<Types.DeleteV1PayslipsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1PayslipsId: Api['deleteV1PayslipsId'] = async (request: Types.DeleteV1PayslipsIdRequest): Promise<Types.DeleteV1PayslipsIdResponses> => {\n return await _deleteV1PayslipsId(baseUrl, request)\n}\nconst _postV1PayslipsGenerate = async (url: string, request: Types.PostV1PayslipsGenerateRequest): Promise<Types.PostV1PayslipsGenerateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/generate`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1PayslipsGenerate: Api['postV1PayslipsGenerate'] = async (request: Types.PostV1PayslipsGenerateRequest): Promise<Types.PostV1PayslipsGenerateResponses> => {\n return await _postV1PayslipsGenerate(baseUrl, request)\n}\nconst _postV1PayslipsIdSendEmail = async (url: string, request: Types.PostV1PayslipsIdSendEmailRequest): Promise<Types.PostV1PayslipsIdSendEmailResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/${request['id']}/send-email`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1PayslipsIdSendEmail: Api['postV1PayslipsIdSendEmail'] = async (request: Types.PostV1PayslipsIdSendEmailRequest): Promise<Types.PostV1PayslipsIdSendEmailResponses> => {\n return await _postV1PayslipsIdSendEmail(baseUrl, request)\n}\nconst _postV1PayslipsIdPublishEss = async (url: string, request: Types.PostV1PayslipsIdPublishEssRequest): Promise<Types.PostV1PayslipsIdPublishEssResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/${request['id']}/publish-ess`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1PayslipsIdPublishEss: Api['postV1PayslipsIdPublishEss'] = async (request: Types.PostV1PayslipsIdPublishEssRequest): Promise<Types.PostV1PayslipsIdPublishEssResponses> => {\n return await _postV1PayslipsIdPublishEss(baseUrl, request)\n}\nconst _getV1PayslipsEmployeeEmployeeId = async (url: string, request: Types.GetV1PayslipsEmployeeEmployeeIdRequest): Promise<Types.GetV1PayslipsEmployeeEmployeeIdResponses> => {\n const queryParameters: (keyof Types.GetV1PayslipsEmployeeEmployeeIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/employee/${request['employeeId']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1PayslipsEmployeeEmployeeId: Api['getV1PayslipsEmployeeEmployeeId'] = async (request: Types.GetV1PayslipsEmployeeEmployeeIdRequest): Promise<Types.GetV1PayslipsEmployeeEmployeeIdResponses> => {\n return await _getV1PayslipsEmployeeEmployeeId(baseUrl, request)\n}\nconst _postV1PayslipsEmployeeEmployeeIdGenerate = async (url: string, request: Types.PostV1PayslipsEmployeeEmployeeIdGenerateRequest): Promise<Types.PostV1PayslipsEmployeeEmployeeIdGenerateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/employee/${request['employeeId']}/generate`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1PayslipsEmployeeEmployeeIdGenerate: Api['postV1PayslipsEmployeeEmployeeIdGenerate'] = async (request: Types.PostV1PayslipsEmployeeEmployeeIdGenerateRequest): Promise<Types.PostV1PayslipsEmployeeEmployeeIdGenerateResponses> => {\n return await _postV1PayslipsEmployeeEmployeeIdGenerate(baseUrl, request)\n}\nconst _getV1PayslipsDownloadId = async (url: string, request: Types.GetV1PayslipsDownloadIdRequest): Promise<Types.GetV1PayslipsDownloadIdResponses> => {\n const queryParameters: (keyof Types.GetV1PayslipsDownloadIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/download/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1PayslipsDownloadId: Api['getV1PayslipsDownloadId'] = async (request: Types.GetV1PayslipsDownloadIdRequest): Promise<Types.GetV1PayslipsDownloadIdResponses> => {\n return await _getV1PayslipsDownloadId(baseUrl, request)\n}\nconst _postV1ReportsEmployeeList = async (url: string, request: Types.PostV1ReportsEmployeeListRequest): Promise<Types.PostV1ReportsEmployeeListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeList: Api['postV1ReportsEmployeeList'] = async (request: Types.PostV1ReportsEmployeeListRequest): Promise<Types.PostV1ReportsEmployeeListResponses> => {\n return await _postV1ReportsEmployeeList(baseUrl, request)\n}\nconst _postV1ReportsContractList = async (url: string, request: Types.PostV1ReportsContractListRequest): Promise<Types.PostV1ReportsContractListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/contract-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsContractList: Api['postV1ReportsContractList'] = async (request: Types.PostV1ReportsContractListRequest): Promise<Types.PostV1ReportsContractListResponses> => {\n return await _postV1ReportsContractList(baseUrl, request)\n}\nconst _postV1ReportsRecruitmentRequestList = async (url: string, request: Types.PostV1ReportsRecruitmentRequestListRequest): Promise<Types.PostV1ReportsRecruitmentRequestListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/recruitment-request-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsRecruitmentRequestList: Api['postV1ReportsRecruitmentRequestList'] = async (request: Types.PostV1ReportsRecruitmentRequestListRequest): Promise<Types.PostV1ReportsRecruitmentRequestListResponses> => {\n return await _postV1ReportsRecruitmentRequestList(baseUrl, request)\n}\nconst _postV1ReportsRecruitmentFulfilmentAnalysis = async (url: string, request: Types.PostV1ReportsRecruitmentFulfilmentAnalysisRequest): Promise<Types.PostV1ReportsRecruitmentFulfilmentAnalysisResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/recruitment-fulfilment-analysis`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsRecruitmentFulfilmentAnalysis: Api['postV1ReportsRecruitmentFulfilmentAnalysis'] = async (request: Types.PostV1ReportsRecruitmentFulfilmentAnalysisRequest): Promise<Types.PostV1ReportsRecruitmentFulfilmentAnalysisResponses> => {\n return await _postV1ReportsRecruitmentFulfilmentAnalysis(baseUrl, request)\n}\nconst _postV1ReportsDepartmentAnalysis = async (url: string, request: Types.PostV1ReportsDepartmentAnalysisRequest): Promise<Types.PostV1ReportsDepartmentAnalysisResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/department-analysis`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsDepartmentAnalysis: Api['postV1ReportsDepartmentAnalysis'] = async (request: Types.PostV1ReportsDepartmentAnalysisRequest): Promise<Types.PostV1ReportsDepartmentAnalysisResponses> => {\n return await _postV1ReportsDepartmentAnalysis(baseUrl, request)\n}\nconst _postV1ReportsEmployeeSalaryList = async (url: string, request: Types.PostV1ReportsEmployeeSalaryListRequest): Promise<Types.PostV1ReportsEmployeeSalaryListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-salary-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeSalaryList: Api['postV1ReportsEmployeeSalaryList'] = async (request: Types.PostV1ReportsEmployeeSalaryListRequest): Promise<Types.PostV1ReportsEmployeeSalaryListResponses> => {\n return await _postV1ReportsEmployeeSalaryList(baseUrl, request)\n}\nconst _postV1ReportsResignationRequestList = async (url: string, request: Types.PostV1ReportsResignationRequestListRequest): Promise<Types.PostV1ReportsResignationRequestListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/resignation-request-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsResignationRequestList: Api['postV1ReportsResignationRequestList'] = async (request: Types.PostV1ReportsResignationRequestListRequest): Promise<Types.PostV1ReportsResignationRequestListResponses> => {\n return await _postV1ReportsResignationRequestList(baseUrl, request)\n}\nconst _postV1ReportsTerminationRequestList = async (url: string, request: Types.PostV1ReportsTerminationRequestListRequest): Promise<Types.PostV1ReportsTerminationRequestListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/termination-request-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsTerminationRequestList: Api['postV1ReportsTerminationRequestList'] = async (request: Types.PostV1ReportsTerminationRequestListRequest): Promise<Types.PostV1ReportsTerminationRequestListResponses> => {\n return await _postV1ReportsTerminationRequestList(baseUrl, request)\n}\nconst _postV1ReportsFinalSettlementReport = async (url: string, request: Types.PostV1ReportsFinalSettlementReportRequest): Promise<Types.PostV1ReportsFinalSettlementReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/final-settlement-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsFinalSettlementReport: Api['postV1ReportsFinalSettlementReport'] = async (request: Types.PostV1ReportsFinalSettlementReportRequest): Promise<Types.PostV1ReportsFinalSettlementReportResponses> => {\n return await _postV1ReportsFinalSettlementReport(baseUrl, request)\n}\nconst _postV1ReportsEmployeeGratuityReport = async (url: string, request: Types.PostV1ReportsEmployeeGratuityReportRequest): Promise<Types.PostV1ReportsEmployeeGratuityReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-gratuity-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeGratuityReport: Api['postV1ReportsEmployeeGratuityReport'] = async (request: Types.PostV1ReportsEmployeeGratuityReportRequest): Promise<Types.PostV1ReportsEmployeeGratuityReportResponses> => {\n return await _postV1ReportsEmployeeGratuityReport(baseUrl, request)\n}\nconst _postV1ReportsEmployeeOvertimeReport = async (url: string, request: Types.PostV1ReportsEmployeeOvertimeReportRequest): Promise<Types.PostV1ReportsEmployeeOvertimeReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-overtime-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeOvertimeReport: Api['postV1ReportsEmployeeOvertimeReport'] = async (request: Types.PostV1ReportsEmployeeOvertimeReportRequest): Promise<Types.PostV1ReportsEmployeeOvertimeReportResponses> => {\n return await _postV1ReportsEmployeeOvertimeReport(baseUrl, request)\n}\nconst _postV1ReportsLeaveRequestList = async (url: string, request: Types.PostV1ReportsLeaveRequestListRequest): Promise<Types.PostV1ReportsLeaveRequestListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/leave-request-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsLeaveRequestList: Api['postV1ReportsLeaveRequestList'] = async (request: Types.PostV1ReportsLeaveRequestListRequest): Promise<Types.PostV1ReportsLeaveRequestListResponses> => {\n return await _postV1ReportsLeaveRequestList(baseUrl, request)\n}\nconst _postV1ReportsAnnualLeaveReport = async (url: string, request: Types.PostV1ReportsAnnualLeaveReportRequest): Promise<Types.PostV1ReportsAnnualLeaveReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/annual-leave-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsAnnualLeaveReport: Api['postV1ReportsAnnualLeaveReport'] = async (request: Types.PostV1ReportsAnnualLeaveReportRequest): Promise<Types.PostV1ReportsAnnualLeaveReportResponses> => {\n return await _postV1ReportsAnnualLeaveReport(baseUrl, request)\n}\nconst _postV1ReportsEmployeeLoanList = async (url: string, request: Types.PostV1ReportsEmployeeLoanListRequest): Promise<Types.PostV1ReportsEmployeeLoanListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-loan-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeLoanList: Api['postV1ReportsEmployeeLoanList'] = async (request: Types.PostV1ReportsEmployeeLoanListRequest): Promise<Types.PostV1ReportsEmployeeLoanListResponses> => {\n return await _postV1ReportsEmployeeLoanList(baseUrl, request)\n}\nconst _postV1ReportsPendingLoanStatus = async (url: string, request: Types.PostV1ReportsPendingLoanStatusRequest): Promise<Types.PostV1ReportsPendingLoanStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/pending-loan-status`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsPendingLoanStatus: Api['postV1ReportsPendingLoanStatus'] = async (request: Types.PostV1ReportsPendingLoanStatusRequest): Promise<Types.PostV1ReportsPendingLoanStatusResponses> => {\n return await _postV1ReportsPendingLoanStatus(baseUrl, request)\n}\nconst _postV1ReportsSalarySheet = async (url: string, request: Types.PostV1ReportsSalarySheetRequest): Promise<Types.PostV1ReportsSalarySheetResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/salary-sheet`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsSalarySheet: Api['postV1ReportsSalarySheet'] = async (request: Types.PostV1ReportsSalarySheetRequest): Promise<Types.PostV1ReportsSalarySheetResponses> => {\n return await _postV1ReportsSalarySheet(baseUrl, request)\n}\nconst _postV1ReportsExpenseReimbursement = async (url: string, request: Types.PostV1ReportsExpenseReimbursementRequest): Promise<Types.PostV1ReportsExpenseReimbursementResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/expense-reimbursement`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsExpenseReimbursement: Api['postV1ReportsExpenseReimbursement'] = async (request: Types.PostV1ReportsExpenseReimbursementRequest): Promise<Types.PostV1ReportsExpenseReimbursementResponses> => {\n return await _postV1ReportsExpenseReimbursement(baseUrl, request)\n}\nconst _postV1ReportsTimeSheet = async (url: string, request: Types.PostV1ReportsTimeSheetRequest): Promise<Types.PostV1ReportsTimeSheetResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/time-sheet`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsTimeSheet: Api['postV1ReportsTimeSheet'] = async (request: Types.PostV1ReportsTimeSheetRequest): Promise<Types.PostV1ReportsTimeSheetResponses> => {\n return await _postV1ReportsTimeSheet(baseUrl, request)\n}\nconst _postV1ReportsResourceRequisitions = async (url: string, request: Types.PostV1ReportsResourceRequisitionsRequest): Promise<Types.PostV1ReportsResourceRequisitionsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/resource-requisitions`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsResourceRequisitions: Api['postV1ReportsResourceRequisitions'] = async (request: Types.PostV1ReportsResourceRequisitionsRequest): Promise<Types.PostV1ReportsResourceRequisitionsResponses> => {\n return await _postV1ReportsResourceRequisitions(baseUrl, request)\n}\nconst _postV1ReportsTimeCard = async (url: string, request: Types.PostV1ReportsTimeCardRequest): Promise<Types.PostV1ReportsTimeCardResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/time-card`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsTimeCard: Api['postV1ReportsTimeCard'] = async (request: Types.PostV1ReportsTimeCardRequest): Promise<Types.PostV1ReportsTimeCardResponses> => {\n return await _postV1ReportsTimeCard(baseUrl, request)\n}\nconst _postV1ReportsAttendanceSummary = async (url: string, request: Types.PostV1ReportsAttendanceSummaryRequest): Promise<Types.PostV1ReportsAttendanceSummaryResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/attendance-summary`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsAttendanceSummary: Api['postV1ReportsAttendanceSummary'] = async (request: Types.PostV1ReportsAttendanceSummaryRequest): Promise<Types.PostV1ReportsAttendanceSummaryResponses> => {\n return await _postV1ReportsAttendanceSummary(baseUrl, request)\n}\nconst _postV1ReportsMissingAttendance = async (url: string, request: Types.PostV1ReportsMissingAttendanceRequest): Promise<Types.PostV1ReportsMissingAttendanceResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/missing-attendance`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsMissingAttendance: Api['postV1ReportsMissingAttendance'] = async (request: Types.PostV1ReportsMissingAttendanceRequest): Promise<Types.PostV1ReportsMissingAttendanceResponses> => {\n return await _postV1ReportsMissingAttendance(baseUrl, request)\n}\nconst _postV1ReportsEmployeeAssetRecords = async (url: string, request: Types.PostV1ReportsEmployeeAssetRecordsRequest): Promise<Types.PostV1ReportsEmployeeAssetRecordsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-asset-records`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeAssetRecords: Api['postV1ReportsEmployeeAssetRecords'] = async (request: Types.PostV1ReportsEmployeeAssetRecordsRequest): Promise<Types.PostV1ReportsEmployeeAssetRecordsResponses> => {\n return await _postV1ReportsEmployeeAssetRecords(baseUrl, request)\n}\nconst _postV1ReportsAssetDamage = async (url: string, request: Types.PostV1ReportsAssetDamageRequest): Promise<Types.PostV1ReportsAssetDamageResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/asset-damage`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsAssetDamage: Api['postV1ReportsAssetDamage'] = async (request: Types.PostV1ReportsAssetDamageRequest): Promise<Types.PostV1ReportsAssetDamageResponses> => {\n return await _postV1ReportsAssetDamage(baseUrl, request)\n}\nconst _postV1ReportsAssetStatus = async (url: string, request: Types.PostV1ReportsAssetStatusRequest): Promise<Types.PostV1ReportsAssetStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/asset-status`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsAssetStatus: Api['postV1ReportsAssetStatus'] = async (request: Types.PostV1ReportsAssetStatusRequest): Promise<Types.PostV1ReportsAssetStatusResponses> => {\n return await _postV1ReportsAssetStatus(baseUrl, request)\n}\nconst _postV1ReportsEmployeeProbationReport = async (url: string, request: Types.PostV1ReportsEmployeeProbationReportRequest): Promise<Types.PostV1ReportsEmployeeProbationReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-probation-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeProbationReport: Api['postV1ReportsEmployeeProbationReport'] = async (request: Types.PostV1ReportsEmployeeProbationReportRequest): Promise<Types.PostV1ReportsEmployeeProbationReportResponses> => {\n return await _postV1ReportsEmployeeProbationReport(baseUrl, request)\n}\nconst _postV1ReportsEmployeeTurnoverReport = async (url: string, request: Types.PostV1ReportsEmployeeTurnoverReportRequest): Promise<Types.PostV1ReportsEmployeeTurnoverReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-turnover-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeTurnoverReport: Api['postV1ReportsEmployeeTurnoverReport'] = async (request: Types.PostV1ReportsEmployeeTurnoverReportRequest): Promise<Types.PostV1ReportsEmployeeTurnoverReportResponses> => {\n return await _postV1ReportsEmployeeTurnoverReport(baseUrl, request)\n}\nconst _postV1ReportsPayrollVarianceReport = async (url: string, request: Types.PostV1ReportsPayrollVarianceReportRequest): Promise<Types.PostV1ReportsPayrollVarianceReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/payroll-variance-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsPayrollVarianceReport: Api['postV1ReportsPayrollVarianceReport'] = async (request: Types.PostV1ReportsPayrollVarianceReportRequest): Promise<Types.PostV1ReportsPayrollVarianceReportResponses> => {\n return await _postV1ReportsPayrollVarianceReport(baseUrl, request)\n}\nconst _postV1ReportsExpiringDocumentsReport = async (url: string, request: Types.PostV1ReportsExpiringDocumentsReportRequest): Promise<Types.PostV1ReportsExpiringDocumentsReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/expiring-documents-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsExpiringDocumentsReport: Api['postV1ReportsExpiringDocumentsReport'] = async (request: Types.PostV1ReportsExpiringDocumentsReportRequest): Promise<Types.PostV1ReportsExpiringDocumentsReportResponses> => {\n return await _postV1ReportsExpiringDocumentsReport(baseUrl, request)\n}\nconst _postV1ReportsLeaveEncashmentReport = async (url: string, request: Types.PostV1ReportsLeaveEncashmentReportRequest): Promise<Types.PostV1ReportsLeaveEncashmentReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/leave-encashment-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsLeaveEncashmentReport: Api['postV1ReportsLeaveEncashmentReport'] = async (request: Types.PostV1ReportsLeaveEncashmentReportRequest): Promise<Types.PostV1ReportsLeaveEncashmentReportResponses> => {\n return await _postV1ReportsLeaveEncashmentReport(baseUrl, request)\n}\nconst _postV1AttendanceCheckIn = async (url: string, request: Types.PostV1AttendanceCheckInRequest): Promise<Types.PostV1AttendanceCheckInResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/attendance/check-in`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AttendanceCheckIn: Api['postV1AttendanceCheckIn'] = async (request: Types.PostV1AttendanceCheckInRequest): Promise<Types.PostV1AttendanceCheckInResponses> => {\n return await _postV1AttendanceCheckIn(baseUrl, request)\n}\nconst _postV1AttendanceCheckOut = async (url: string, request: Types.PostV1AttendanceCheckOutRequest): Promise<Types.PostV1AttendanceCheckOutResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/attendance/check-out`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AttendanceCheckOut: Api['postV1AttendanceCheckOut'] = async (request: Types.PostV1AttendanceCheckOutRequest): Promise<Types.PostV1AttendanceCheckOutResponses> => {\n return await _postV1AttendanceCheckOut(baseUrl, request)\n}\nconst _postV1AttendanceStartBreak = async (url: string, request: Types.PostV1AttendanceStartBreakRequest): Promise<Types.PostV1AttendanceStartBreakResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/attendance/start-break`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AttendanceStartBreak: Api['postV1AttendanceStartBreak'] = async (request: Types.PostV1AttendanceStartBreakRequest): Promise<Types.PostV1AttendanceStartBreakResponses> => {\n return await _postV1AttendanceStartBreak(baseUrl, request)\n}\nconst _postV1AttendanceEndBreak = async (url: string, request: Types.PostV1AttendanceEndBreakRequest): Promise<Types.PostV1AttendanceEndBreakResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/attendance/end-break`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AttendanceEndBreak: Api['postV1AttendanceEndBreak'] = async (request: Types.PostV1AttendanceEndBreakRequest): Promise<Types.PostV1AttendanceEndBreakResponses> => {\n return await _postV1AttendanceEndBreak(baseUrl, request)\n}\nconst _getV1AttendanceStatus = async (url: string, request: Types.GetV1AttendanceStatusRequest): Promise<Types.GetV1AttendanceStatusResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/attendance/status`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AttendanceStatus: Api['getV1AttendanceStatus'] = async (request: Types.GetV1AttendanceStatusRequest): Promise<Types.GetV1AttendanceStatusResponses> => {\n return await _getV1AttendanceStatus(baseUrl, request)\n}\nconst _getV1AttendanceSummaryAttendanceId = async (url: string, request: Types.GetV1AttendanceSummaryAttendanceIdRequest): Promise<Types.GetV1AttendanceSummaryAttendanceIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/attendance/summary/${request['attendanceId']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AttendanceSummaryAttendanceId: Api['getV1AttendanceSummaryAttendanceId'] = async (request: Types.GetV1AttendanceSummaryAttendanceIdRequest): Promise<Types.GetV1AttendanceSummaryAttendanceIdResponses> => {\n return await _getV1AttendanceSummaryAttendanceId(baseUrl, request)\n}\nconst _getV1Approvals = async (url: string, request: Types.GetV1ApprovalsRequest): Promise<Types.GetV1ApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1ApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/approvals/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Approvals: Api['getV1Approvals'] = async (request: Types.GetV1ApprovalsRequest): Promise<Types.GetV1ApprovalsResponses> => {\n return await _getV1Approvals(baseUrl, request)\n}\ntype BuildOptions = {\n headers?: Object\n}\nexport default function build (url: string, options?: BuildOptions) {\n url = sanitizeUrl(url)\n if (options?.headers) {\n defaultHeaders = options.headers\n }\n return {\n getV1FileUpload: _getV1FileUpload.bind(url, ...arguments),\n postV1FileUploadMarkComplete: _postV1FileUploadMarkComplete.bind(url, ...arguments),\n postV1DocumentMaster: _postV1DocumentMaster.bind(url, ...arguments),\n getV1DocumentMaster: _getV1DocumentMaster.bind(url, ...arguments),\n getV1DocumentMasterId: _getV1DocumentMasterId.bind(url, ...arguments),\n putV1DocumentMasterId: _putV1DocumentMasterId.bind(url, ...arguments),\n deleteV1DocumentMasterId: _deleteV1DocumentMasterId.bind(url, ...arguments),\n patchV1DocumentMasterIdStatus: _patchV1DocumentMasterIdStatus.bind(url, ...arguments),\n postV1DocumentMasterSaveAsDraft: _postV1DocumentMasterSaveAsDraft.bind(url, ...arguments),\n patchV1DocumentMasterIdSaveAsDraft: _patchV1DocumentMasterIdSaveAsDraft.bind(url, ...arguments),\n getV1DocumentMasterGenerateExcel: _getV1DocumentMasterGenerateExcel.bind(url, ...arguments),\n postV1DocumentMasterImport: _postV1DocumentMasterImport.bind(url, ...arguments),\n postV1CompanyCalendar: _postV1CompanyCalendar.bind(url, ...arguments),\n getV1CompanyCalendar: _getV1CompanyCalendar.bind(url, ...arguments),\n getV1CompanyCalendarId: _getV1CompanyCalendarId.bind(url, ...arguments),\n putV1CompanyCalendarId: _putV1CompanyCalendarId.bind(url, ...arguments),\n deleteV1CompanyCalendarId: _deleteV1CompanyCalendarId.bind(url, ...arguments),\n patchV1CompanyCalendarIdStatus: _patchV1CompanyCalendarIdStatus.bind(url, ...arguments),\n postV1CompanyCalendarSaveAsDraft: _postV1CompanyCalendarSaveAsDraft.bind(url, ...arguments),\n patchV1CompanyCalendarIdSaveAsDraft: _patchV1CompanyCalendarIdSaveAsDraft.bind(url, ...arguments),\n getV1CompanyCalendarGenerateExcel: _getV1CompanyCalendarGenerateExcel.bind(url, ...arguments),\n postV1CompanyCalendarImport: _postV1CompanyCalendarImport.bind(url, ...arguments),\n postV1LoanMaster: _postV1LoanMaster.bind(url, ...arguments),\n getV1LoanMaster: _getV1LoanMaster.bind(url, ...arguments),\n getV1LoanMasterId: _getV1LoanMasterId.bind(url, ...arguments),\n putV1LoanMasterId: _putV1LoanMasterId.bind(url, ...arguments),\n deleteV1LoanMasterId: _deleteV1LoanMasterId.bind(url, ...arguments),\n patchV1LoanMasterIdStatus: _patchV1LoanMasterIdStatus.bind(url, ...arguments),\n postV1LoanMasterDraft: _postV1LoanMasterDraft.bind(url, ...arguments),\n postV1LoanRequests: _postV1LoanRequests.bind(url, ...arguments),\n getV1LoanRequests: _getV1LoanRequests.bind(url, ...arguments),\n getV1LoanRequestsEligibilityEmployeeIdLoanMasters: _getV1LoanRequestsEligibilityEmployeeIdLoanMasters.bind(url, ...arguments),\n postV1LoanRequestsCheckEligibility: _postV1LoanRequestsCheckEligibility.bind(url, ...arguments),\n postV1LoanRequestsPreviewEmi: _postV1LoanRequestsPreviewEmi.bind(url, ...arguments),\n getV1LoanRequestsId: _getV1LoanRequestsId.bind(url, ...arguments),\n putV1LoanRequestsId: _putV1LoanRequestsId.bind(url, ...arguments),\n deleteV1LoanRequestsId: _deleteV1LoanRequestsId.bind(url, ...arguments),\n getV1LoanRequestsGenerateExcel: _getV1LoanRequestsGenerateExcel.bind(url, ...arguments),\n getV1LoanAllotments: _getV1LoanAllotments.bind(url, ...arguments),\n getV1LoanAllotmentsMyApprovals: _getV1LoanAllotmentsMyApprovals.bind(url, ...arguments),\n getV1LoanAllotmentsId: _getV1LoanAllotmentsId.bind(url, ...arguments),\n patchV1LoanAllotmentsIdStatus: _patchV1LoanAllotmentsIdStatus.bind(url, ...arguments),\n getV1LoanAllotmentsActiveLoans: _getV1LoanAllotmentsActiveLoans.bind(url, ...arguments),\n getV1LoanAllotmentsActiveLoansId: _getV1LoanAllotmentsActiveLoansId.bind(url, ...arguments),\n getV1LoanAllotmentsActiveLoansIdEmiScheduleExport: _getV1LoanAllotmentsActiveLoansIdEmiScheduleExport.bind(url, ...arguments),\n getV1LeaveCategory: _getV1LeaveCategory.bind(url, ...arguments),\n getV1LeaveCategoryId: _getV1LeaveCategoryId.bind(url, ...arguments),\n getV1AccrualType: _getV1AccrualType.bind(url, ...arguments),\n getV1AccrualTypeId: _getV1AccrualTypeId.bind(url, ...arguments),\n postV1AccrualMaster: _postV1AccrualMaster.bind(url, ...arguments),\n getV1AccrualMaster: _getV1AccrualMaster.bind(url, ...arguments),\n getV1AccrualMasterId: _getV1AccrualMasterId.bind(url, ...arguments),\n putV1AccrualMasterId: _putV1AccrualMasterId.bind(url, ...arguments),\n deleteV1AccrualMasterId: _deleteV1AccrualMasterId.bind(url, ...arguments),\n patchV1AccrualMasterIdStatus: _patchV1AccrualMasterIdStatus.bind(url, ...arguments),\n postV1AccrualMasterDraft: _postV1AccrualMasterDraft.bind(url, ...arguments),\n patchV1AccrualMasterIdDraft: _patchV1AccrualMasterIdDraft.bind(url, ...arguments),\n getV1AccrualMasterGenerateExcel: _getV1AccrualMasterGenerateExcel.bind(url, ...arguments),\n postV1AccrualMasterImport: _postV1AccrualMasterImport.bind(url, ...arguments),\n postV1AccrualMasterCalculateAmount: _postV1AccrualMasterCalculateAmount.bind(url, ...arguments),\n postV1LeavePolicyMaster: _postV1LeavePolicyMaster.bind(url, ...arguments),\n getV1LeavePolicyMaster: _getV1LeavePolicyMaster.bind(url, ...arguments),\n getV1LeavePolicyMasterId: _getV1LeavePolicyMasterId.bind(url, ...arguments),\n putV1LeavePolicyMasterId: _putV1LeavePolicyMasterId.bind(url, ...arguments),\n deleteV1LeavePolicyMasterId: _deleteV1LeavePolicyMasterId.bind(url, ...arguments),\n patchV1LeavePolicyMasterIdStatus: _patchV1LeavePolicyMasterIdStatus.bind(url, ...arguments),\n postV1LeavePolicyMasterSaveAsDraft: _postV1LeavePolicyMasterSaveAsDraft.bind(url, ...arguments),\n patchV1LeavePolicyMasterIdSaveAsDraft: _patchV1LeavePolicyMasterIdSaveAsDraft.bind(url, ...arguments),\n getV1LeavePolicyMasterGenerateExcel: _getV1LeavePolicyMasterGenerateExcel.bind(url, ...arguments),\n postV1LeavePolicyMasterImport: _postV1LeavePolicyMasterImport.bind(url, ...arguments),\n postV1Grades: _postV1Grades.bind(url, ...arguments),\n getV1Grades: _getV1Grades.bind(url, ...arguments),\n getV1GradesId: _getV1GradesId.bind(url, ...arguments),\n putV1GradesId: _putV1GradesId.bind(url, ...arguments),\n deleteV1GradesId: _deleteV1GradesId.bind(url, ...arguments),\n patchV1GradesIdStatus: _patchV1GradesIdStatus.bind(url, ...arguments),\n postV1Teams: _postV1Teams.bind(url, ...arguments),\n getV1Teams: _getV1Teams.bind(url, ...arguments),\n getV1TeamsId: _getV1TeamsId.bind(url, ...arguments),\n putV1TeamsId: _putV1TeamsId.bind(url, ...arguments),\n deleteV1TeamsId: _deleteV1TeamsId.bind(url, ...arguments),\n postV1Skills: _postV1Skills.bind(url, ...arguments),\n getV1Skills: _getV1Skills.bind(url, ...arguments),\n getV1SkillsId: _getV1SkillsId.bind(url, ...arguments),\n putV1SkillsId: _putV1SkillsId.bind(url, ...arguments),\n deleteV1SkillsId: _deleteV1SkillsId.bind(url, ...arguments),\n postV1Designation: _postV1Designation.bind(url, ...arguments),\n getV1Designation: _getV1Designation.bind(url, ...arguments),\n getV1DesignationId: _getV1DesignationId.bind(url, ...arguments),\n putV1DesignationId: _putV1DesignationId.bind(url, ...arguments),\n deleteV1DesignationId: _deleteV1DesignationId.bind(url, ...arguments),\n postV1DesignationDraft: _postV1DesignationDraft.bind(url, ...arguments),\n postV1Departments: _postV1Departments.bind(url, ...arguments),\n getV1Departments: _getV1Departments.bind(url, ...arguments),\n getV1DepartmentsGenerateExcel: _getV1DepartmentsGenerateExcel.bind(url, ...arguments),\n getV1DepartmentsId: _getV1DepartmentsId.bind(url, ...arguments),\n patchV1DepartmentsId: _patchV1DepartmentsId.bind(url, ...arguments),\n putV1DepartmentsId: _putV1DepartmentsId.bind(url, ...arguments),\n deleteV1DepartmentsId: _deleteV1DepartmentsId.bind(url, ...arguments),\n getV1DepartmentsIdSubDepartments: _getV1DepartmentsIdSubDepartments.bind(url, ...arguments),\n getV1DepartmentsIdTeams: _getV1DepartmentsIdTeams.bind(url, ...arguments),\n postV1DepartmentsTeams: _postV1DepartmentsTeams.bind(url, ...arguments),\n patchV1DepartmentsTeamsId: _patchV1DepartmentsTeamsId.bind(url, ...arguments),\n deleteV1DepartmentsTeamsId: _deleteV1DepartmentsTeamsId.bind(url, ...arguments),\n getV1DepartmentsCheckCode: _getV1DepartmentsCheckCode.bind(url, ...arguments),\n postV1DepartmentsImport: _postV1DepartmentsImport.bind(url, ...arguments),\n postV1DepartmentsDraft: _postV1DepartmentsDraft.bind(url, ...arguments),\n postV1Timezones: _postV1Timezones.bind(url, ...arguments),\n getV1Timezones: _getV1Timezones.bind(url, ...arguments),\n getV1TimezonesId: _getV1TimezonesId.bind(url, ...arguments),\n putV1TimezonesId: _putV1TimezonesId.bind(url, ...arguments),\n deleteV1TimezonesId: _deleteV1TimezonesId.bind(url, ...arguments),\n postV1SalaryStructureMaster: _postV1SalaryStructureMaster.bind(url, ...arguments),\n getV1SalaryStructureMaster: _getV1SalaryStructureMaster.bind(url, ...arguments),\n getV1SalaryStructureMasterId: _getV1SalaryStructureMasterId.bind(url, ...arguments),\n putV1SalaryStructureMasterId: _putV1SalaryStructureMasterId.bind(url, ...arguments),\n deleteV1SalaryStructureMasterId: _deleteV1SalaryStructureMasterId.bind(url, ...arguments),\n patchV1SalaryStructureMasterIdStatus: _patchV1SalaryStructureMasterIdStatus.bind(url, ...arguments),\n postV1SalaryStructureMasterSaveAsDraft: _postV1SalaryStructureMasterSaveAsDraft.bind(url, ...arguments),\n patchV1SalaryStructureMasterIdSaveAsDraft: _patchV1SalaryStructureMasterIdSaveAsDraft.bind(url, ...arguments),\n postV1SalaryStructureMasterCalculate: _postV1SalaryStructureMasterCalculate.bind(url, ...arguments),\n getV1SalaryStructureMasterGenerateExcel: _getV1SalaryStructureMasterGenerateExcel.bind(url, ...arguments),\n postV1SalaryStructureMasterImport: _postV1SalaryStructureMasterImport.bind(url, ...arguments),\n postV1Employee: _postV1Employee.bind(url, ...arguments),\n getV1Employee: _getV1Employee.bind(url, ...arguments),\n getV1EmployeeId: _getV1EmployeeId.bind(url, ...arguments),\n putV1EmployeeId: _putV1EmployeeId.bind(url, ...arguments),\n deleteV1EmployeeId: _deleteV1EmployeeId.bind(url, ...arguments),\n patchV1EmployeeIdStatus: _patchV1EmployeeIdStatus.bind(url, ...arguments),\n postV1EmployeeSaveAsDraft: _postV1EmployeeSaveAsDraft.bind(url, ...arguments),\n patchV1EmployeeIdSaveAsDraft: _patchV1EmployeeIdSaveAsDraft.bind(url, ...arguments),\n getV1EmployeeIdContracts: _getV1EmployeeIdContracts.bind(url, ...arguments),\n getV1EmployeeIdContractsContractId: _getV1EmployeeIdContractsContractId.bind(url, ...arguments),\n getV1EmployeeGenerateExcel: _getV1EmployeeGenerateExcel.bind(url, ...arguments),\n postV1EmployeeImport: _postV1EmployeeImport.bind(url, ...arguments),\n postV1EmployeeContracts: _postV1EmployeeContracts.bind(url, ...arguments),\n getV1EmployeeContracts: _getV1EmployeeContracts.bind(url, ...arguments),\n getV1EmployeeContractsId: _getV1EmployeeContractsId.bind(url, ...arguments),\n putV1EmployeeContractsId: _putV1EmployeeContractsId.bind(url, ...arguments),\n deleteV1EmployeeContractsId: _deleteV1EmployeeContractsId.bind(url, ...arguments),\n patchV1EmployeeContractsIdStatus: _patchV1EmployeeContractsIdStatus.bind(url, ...arguments),\n getV1EmployeeContractsExportExcel: _getV1EmployeeContractsExportExcel.bind(url, ...arguments),\n postV1HireRequests: _postV1HireRequests.bind(url, ...arguments),\n getV1HireRequests: _getV1HireRequests.bind(url, ...arguments),\n getV1HireRequestsRequisitionManagement: _getV1HireRequestsRequisitionManagement.bind(url, ...arguments),\n getV1HireRequestsIdCandidatesByStage: _getV1HireRequestsIdCandidatesByStage.bind(url, ...arguments),\n getV1HireRequestsId: _getV1HireRequestsId.bind(url, ...arguments),\n putV1HireRequestsId: _putV1HireRequestsId.bind(url, ...arguments),\n deleteV1HireRequestsId: _deleteV1HireRequestsId.bind(url, ...arguments),\n patchV1HireRequestsIdStatus: _patchV1HireRequestsIdStatus.bind(url, ...arguments),\n postV1HireRequestsSaveAsDraft: _postV1HireRequestsSaveAsDraft.bind(url, ...arguments),\n patchV1HireRequestsIdSaveAsDraft: _patchV1HireRequestsIdSaveAsDraft.bind(url, ...arguments),\n getV1HireRequestsGenerateExcel: _getV1HireRequestsGenerateExcel.bind(url, ...arguments),\n postV1HireRequestsImport: _postV1HireRequestsImport.bind(url, ...arguments),\n postV1HireRequestsHireRequestIdBudgets: _postV1HireRequestsHireRequestIdBudgets.bind(url, ...arguments),\n putV1HireRequestsHireRequestIdBudgetsId: _putV1HireRequestsHireRequestIdBudgetsId.bind(url, ...arguments),\n postV1JobPosts: _postV1JobPosts.bind(url, ...arguments),\n getV1JobPosts: _getV1JobPosts.bind(url, ...arguments),\n getV1JobPostsId: _getV1JobPostsId.bind(url, ...arguments),\n putV1JobPostsId: _putV1JobPostsId.bind(url, ...arguments),\n deleteV1JobPostsId: _deleteV1JobPostsId.bind(url, ...arguments),\n patchV1JobPostsIdStatus: _patchV1JobPostsIdStatus.bind(url, ...arguments),\n postV1JobPostsSaveAsDraft: _postV1JobPostsSaveAsDraft.bind(url, ...arguments),\n patchV1JobPostsIdSaveAsDraft: _patchV1JobPostsIdSaveAsDraft.bind(url, ...arguments),\n postV1InterviewRounds: _postV1InterviewRounds.bind(url, ...arguments),\n getV1InterviewRounds: _getV1InterviewRounds.bind(url, ...arguments),\n getV1InterviewRoundsId: _getV1InterviewRoundsId.bind(url, ...arguments),\n putV1InterviewRoundsId: _putV1InterviewRoundsId.bind(url, ...arguments),\n deleteV1InterviewRoundsId: _deleteV1InterviewRoundsId.bind(url, ...arguments),\n patchV1InterviewRoundsIdReschedule: _patchV1InterviewRoundsIdReschedule.bind(url, ...arguments),\n postV1Candidates: _postV1Candidates.bind(url, ...arguments),\n getV1Candidates: _getV1Candidates.bind(url, ...arguments),\n getV1CandidatesId: _getV1CandidatesId.bind(url, ...arguments),\n putV1CandidatesId: _putV1CandidatesId.bind(url, ...arguments),\n deleteV1CandidatesId: _deleteV1CandidatesId.bind(url, ...arguments),\n patchV1CandidatesIdStatus: _patchV1CandidatesIdStatus.bind(url, ...arguments),\n postV1CandidatesSaveAsDraft: _postV1CandidatesSaveAsDraft.bind(url, ...arguments),\n patchV1CandidatesIdSaveAsDraft: _patchV1CandidatesIdSaveAsDraft.bind(url, ...arguments),\n patchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdReschedule: _patchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdReschedule.bind(url, ...arguments),\n getV1CandidatesGenerateExcel: _getV1CandidatesGenerateExcel.bind(url, ...arguments),\n postV1CandidatesImport: _postV1CandidatesImport.bind(url, ...arguments),\n postV1InterviewFeedbacks: _postV1InterviewFeedbacks.bind(url, ...arguments),\n getV1InterviewFeedbacks: _getV1InterviewFeedbacks.bind(url, ...arguments),\n getV1InterviewFeedbacksId: _getV1InterviewFeedbacksId.bind(url, ...arguments),\n putV1InterviewFeedbacksId: _putV1InterviewFeedbacksId.bind(url, ...arguments),\n deleteV1InterviewFeedbacksId: _deleteV1InterviewFeedbacksId.bind(url, ...arguments),\n getV1TalentPoolDashboard: _getV1TalentPoolDashboard.bind(url, ...arguments),\n getV1TalentPoolDashboardSummaryStats: _getV1TalentPoolDashboardSummaryStats.bind(url, ...arguments),\n getV1TalentPoolDashboardRecentCandidates: _getV1TalentPoolDashboardRecentCandidates.bind(url, ...arguments),\n getV1TalentPoolDashboardRecentEvaluations: _getV1TalentPoolDashboardRecentEvaluations.bind(url, ...arguments),\n getV1TalentPoolDashboardUpcomingInterviews: _getV1TalentPoolDashboardUpcomingInterviews.bind(url, ...arguments),\n getV1Dashboard: _getV1Dashboard.bind(url, ...arguments),\n getV1DashboardHeaderStats: _getV1DashboardHeaderStats.bind(url, ...arguments),\n getV1DashboardEmployeesByDepartment: _getV1DashboardEmployeesByDepartment.bind(url, ...arguments),\n getV1DashboardAvailabilityStats: _getV1DashboardAvailabilityStats.bind(url, ...arguments),\n getV1DashboardResourceAllocation: _getV1DashboardResourceAllocation.bind(url, ...arguments),\n getV1DashboardBirthdayDashboard: _getV1DashboardBirthdayDashboard.bind(url, ...arguments),\n getV1DashboardLeaveRequests: _getV1DashboardLeaveRequests.bind(url, ...arguments),\n getV1DashboardResignationRequests: _getV1DashboardResignationRequests.bind(url, ...arguments),\n getV1DashboardIssueHrLetters: _getV1DashboardIssueHrLetters.bind(url, ...arguments),\n getV1DashboardApprovalDashboard: _getV1DashboardApprovalDashboard.bind(url, ...arguments),\n getV1DashboardOngoingJobs: _getV1DashboardOngoingJobs.bind(url, ...arguments),\n getV1DashboardNewHireRequests: _getV1DashboardNewHireRequests.bind(url, ...arguments),\n getV1DashboardEventsDashboard: _getV1DashboardEventsDashboard.bind(url, ...arguments),\n getV1DashboardTaskSignoffs: _getV1DashboardTaskSignoffs.bind(url, ...arguments),\n getV1DashboardKpiStatistics: _getV1DashboardKpiStatistics.bind(url, ...arguments),\n getV1DashboardRpsStatistics: _getV1DashboardRpsStatistics.bind(url, ...arguments),\n getV1DashboardPayrollStatistics: _getV1DashboardPayrollStatistics.bind(url, ...arguments),\n getV1DashboardAttendanceTrends: _getV1DashboardAttendanceTrends.bind(url, ...arguments),\n getV1DashboardDepartmentHeadcount: _getV1DashboardDepartmentHeadcount.bind(url, ...arguments),\n getV1DashboardLeaveBalanceSummary: _getV1DashboardLeaveBalanceSummary.bind(url, ...arguments),\n getV1DashboardRecruitmentFunnel: _getV1DashboardRecruitmentFunnel.bind(url, ...arguments),\n getV1DashboardTeamCalendar: _getV1DashboardTeamCalendar.bind(url, ...arguments),\n getV1DashboardTaskOverview: _getV1DashboardTaskOverview.bind(url, ...arguments),\n getV1DashboardAnnouncements: _getV1DashboardAnnouncements.bind(url, ...arguments),\n getV1DashboardLeaveStatistics: _getV1DashboardLeaveStatistics.bind(url, ...arguments),\n getV1DashboardPendingInterviews: _getV1DashboardPendingInterviews.bind(url, ...arguments),\n getV1DashboardVacationPlanConflicts: _getV1DashboardVacationPlanConflicts.bind(url, ...arguments),\n getV1DashboardManagerHeaderStats: _getV1DashboardManagerHeaderStats.bind(url, ...arguments),\n getV1DashboardManagerKpiStatistics: _getV1DashboardManagerKpiStatistics.bind(url, ...arguments),\n getV1DashboardEmployee: _getV1DashboardEmployee.bind(url, ...arguments),\n getV1DashboardEmployeeWorkingHours: _getV1DashboardEmployeeWorkingHours.bind(url, ...arguments),\n getV1DashboardEmployeeAttendance: _getV1DashboardEmployeeAttendance.bind(url, ...arguments),\n getV1DashboardEmployeeAttendanceBreaks: _getV1DashboardEmployeeAttendanceBreaks.bind(url, ...arguments),\n getV1DashboardEmployeeAttendanceHistory: _getV1DashboardEmployeeAttendanceHistory.bind(url, ...arguments),\n getV1DashboardEmployeeRequests: _getV1DashboardEmployeeRequests.bind(url, ...arguments),\n getV1DashboardEmployeeLoans: _getV1DashboardEmployeeLoans.bind(url, ...arguments),\n getV1DashboardEmployeeHolidaysEvents: _getV1DashboardEmployeeHolidaysEvents.bind(url, ...arguments),\n getV1DashboardEmployeeAssets: _getV1DashboardEmployeeAssets.bind(url, ...arguments),\n getV1DashboardEmployeeActivities: _getV1DashboardEmployeeActivities.bind(url, ...arguments),\n getV1DashboardEmployeeWorkingStatistics: _getV1DashboardEmployeeWorkingStatistics.bind(url, ...arguments),\n getV1DashboardEmployeeTasks: _getV1DashboardEmployeeTasks.bind(url, ...arguments),\n postV1OfferLetters: _postV1OfferLetters.bind(url, ...arguments),\n getV1OfferLetters: _getV1OfferLetters.bind(url, ...arguments),\n getV1OfferLettersId: _getV1OfferLettersId.bind(url, ...arguments),\n putV1OfferLettersId: _putV1OfferLettersId.bind(url, ...arguments),\n deleteV1OfferLettersId: _deleteV1OfferLettersId.bind(url, ...arguments),\n patchV1OfferLettersIdStatus: _patchV1OfferLettersIdStatus.bind(url, ...arguments),\n patchV1OfferLettersIdDocumentsDocumentId: _patchV1OfferLettersIdDocumentsDocumentId.bind(url, ...arguments),\n postV1OfferLettersIdDocumentsDocumentIdVerify: _postV1OfferLettersIdDocumentsDocumentIdVerify.bind(url, ...arguments),\n getV1OfferLettersGenerateExcel: _getV1OfferLettersGenerateExcel.bind(url, ...arguments),\n postV1OfferLettersImport: _postV1OfferLettersImport.bind(url, ...arguments),\n getV1OfferLettersExportExcel: _getV1OfferLettersExportExcel.bind(url, ...arguments),\n postV1OfferLettersSaveAsDraft: _postV1OfferLettersSaveAsDraft.bind(url, ...arguments),\n patchV1OfferLettersIdSaveAsDraft: _patchV1OfferLettersIdSaveAsDraft.bind(url, ...arguments),\n getV1OfferLettersIdPreviewPdf: _getV1OfferLettersIdPreviewPdf.bind(url, ...arguments),\n postV1OfferLettersIdSend: _postV1OfferLettersIdSend.bind(url, ...arguments),\n getV1OfferLettersPublicWelcomeToken: _getV1OfferLettersPublicWelcomeToken.bind(url, ...arguments),\n getV1OfferLettersPublicWelcomeTokenPdf: _getV1OfferLettersPublicWelcomeTokenPdf.bind(url, ...arguments),\n postV1OfferLettersPublicWelcomeTokenAccept: _postV1OfferLettersPublicWelcomeTokenAccept.bind(url, ...arguments),\n postV1OfferLettersPublicWelcomeTokenReject: _postV1OfferLettersPublicWelcomeTokenReject.bind(url, ...arguments),\n patchV1OfferLettersPublicWelcomeTokenDocumentsDocumentId: _patchV1OfferLettersPublicWelcomeTokenDocumentsDocumentId.bind(url, ...arguments),\n postV1OfferLettersPublicWelcomeTokenSubmit: _postV1OfferLettersPublicWelcomeTokenSubmit.bind(url, ...arguments),\n postV1OfferLettersPublicWelcomeTokenDraft: _postV1OfferLettersPublicWelcomeTokenDraft.bind(url, ...arguments),\n postV1TimeCards: _postV1TimeCards.bind(url, ...arguments),\n getV1TimeCards: _getV1TimeCards.bind(url, ...arguments),\n getV1TimeCardsId: _getV1TimeCardsId.bind(url, ...arguments),\n putV1TimeCardsId: _putV1TimeCardsId.bind(url, ...arguments),\n deleteV1TimeCardsId: _deleteV1TimeCardsId.bind(url, ...arguments),\n postV1TimeCardsSaveAsDraft: _postV1TimeCardsSaveAsDraft.bind(url, ...arguments),\n patchV1TimeCardsIdSaveAsDraft: _patchV1TimeCardsIdSaveAsDraft.bind(url, ...arguments),\n postV1TimeCardsIdPost: _postV1TimeCardsIdPost.bind(url, ...arguments),\n getV1TimeCardsGenerateExcel: _getV1TimeCardsGenerateExcel.bind(url, ...arguments),\n postV1TimeCardsImport: _postV1TimeCardsImport.bind(url, ...arguments),\n getV1TimeCardsIdEmployees: _getV1TimeCardsIdEmployees.bind(url, ...arguments),\n postV1TimeCardsEmployees: _postV1TimeCardsEmployees.bind(url, ...arguments),\n getV1TimeCardsIdEmployeeEmployeeId: _getV1TimeCardsIdEmployeeEmployeeId.bind(url, ...arguments),\n postV1TimeCardsEmployeeEmployeeId: _postV1TimeCardsEmployeeEmployeeId.bind(url, ...arguments),\n postV1Timesheets: _postV1Timesheets.bind(url, ...arguments),\n getV1Timesheets: _getV1Timesheets.bind(url, ...arguments),\n getV1TimesheetsId: _getV1TimesheetsId.bind(url, ...arguments),\n putV1TimesheetsId: _putV1TimesheetsId.bind(url, ...arguments),\n deleteV1TimesheetsId: _deleteV1TimesheetsId.bind(url, ...arguments),\n patchV1TimesheetsIdStatus: _patchV1TimesheetsIdStatus.bind(url, ...arguments),\n postV1TimesheetsSaveAsDraft: _postV1TimesheetsSaveAsDraft.bind(url, ...arguments),\n patchV1TimesheetsIdSaveAsDraft: _patchV1TimesheetsIdSaveAsDraft.bind(url, ...arguments),\n postV1TimesheetsGenerate: _postV1TimesheetsGenerate.bind(url, ...arguments),\n getV1TimesheetsIdApprovalHistory: _getV1TimesheetsIdApprovalHistory.bind(url, ...arguments),\n getV1TimesheetsIdPdf: _getV1TimesheetsIdPdf.bind(url, ...arguments),\n postV1OrganisationStructure: _postV1OrganisationStructure.bind(url, ...arguments),\n getV1OrganisationStructure: _getV1OrganisationStructure.bind(url, ...arguments),\n getV1OrganisationStructureId: _getV1OrganisationStructureId.bind(url, ...arguments),\n putV1OrganisationStructureId: _putV1OrganisationStructureId.bind(url, ...arguments),\n deleteV1OrganisationStructureId: _deleteV1OrganisationStructureId.bind(url, ...arguments),\n putV1OrganisationStructureIdTeamsTeamNodeIdTransferMembers: _putV1OrganisationStructureIdTeamsTeamNodeIdTransferMembers.bind(url, ...arguments),\n getV1OrganisationStructureHierarchyLevels: _getV1OrganisationStructureHierarchyLevels.bind(url, ...arguments),\n getV1OrganisationStructureHierarchy: _getV1OrganisationStructureHierarchy.bind(url, ...arguments),\n postV1AssetRequests: _postV1AssetRequests.bind(url, ...arguments),\n getV1AssetRequests: _getV1AssetRequests.bind(url, ...arguments),\n getV1AssetRequestsMyApprovals: _getV1AssetRequestsMyApprovals.bind(url, ...arguments),\n getV1AssetRequestsId: _getV1AssetRequestsId.bind(url, ...arguments),\n putV1AssetRequestsId: _putV1AssetRequestsId.bind(url, ...arguments),\n deleteV1AssetRequestsId: _deleteV1AssetRequestsId.bind(url, ...arguments),\n patchV1AssetRequestsIdStatus: _patchV1AssetRequestsIdStatus.bind(url, ...arguments),\n getV1AssetAllocationInUseAssets: _getV1AssetAllocationInUseAssets.bind(url, ...arguments),\n postV1AssetAllocationTransfer: _postV1AssetAllocationTransfer.bind(url, ...arguments),\n getV1AssetAllocationRequestsIdAvailableAssets: _getV1AssetAllocationRequestsIdAvailableAssets.bind(url, ...arguments),\n postV1AssetAllocationRequestsIdAssign: _postV1AssetAllocationRequestsIdAssign.bind(url, ...arguments),\n postV1AssetAllocationRequestsIdUnassign: _postV1AssetAllocationRequestsIdUnassign.bind(url, ...arguments),\n getV1ReceiveHandoverRequests: _getV1ReceiveHandoverRequests.bind(url, ...arguments),\n getV1ReceiveHandoverRequestsReturns: _getV1ReceiveHandoverRequestsReturns.bind(url, ...arguments),\n getV1ReceiveHandoverRequestsId: _getV1ReceiveHandoverRequestsId.bind(url, ...arguments),\n postV1ReceiveHandoverRequestsIdComplete: _postV1ReceiveHandoverRequestsIdComplete.bind(url, ...arguments),\n postV1ReceiveHandoverRequestsIdProcessHandover: _postV1ReceiveHandoverRequestsIdProcessHandover.bind(url, ...arguments),\n getV1ReceiveHandoverMyAssets: _getV1ReceiveHandoverMyAssets.bind(url, ...arguments),\n getV1ReceiveHandoverMyAssetsId: _getV1ReceiveHandoverMyAssetsId.bind(url, ...arguments),\n postV1ReceiveHandoverMyAssetsIdReturn: _postV1ReceiveHandoverMyAssetsIdReturn.bind(url, ...arguments),\n getV1MyAssets: _getV1MyAssets.bind(url, ...arguments),\n getV1MyAssetsReceivedAssets: _getV1MyAssetsReceivedAssets.bind(url, ...arguments),\n getV1MyAssetsId: _getV1MyAssetsId.bind(url, ...arguments),\n getV1MyAssetsCategoriesId: _getV1MyAssetsCategoriesId.bind(url, ...arguments),\n postV1MyAssetsReturn: _postV1MyAssetsReturn.bind(url, ...arguments),\n postV1DamageLossClaims: _postV1DamageLossClaims.bind(url, ...arguments),\n getV1DamageLossClaims: _getV1DamageLossClaims.bind(url, ...arguments),\n getV1DamageLossClaimsId: _getV1DamageLossClaimsId.bind(url, ...arguments),\n putV1DamageLossClaimsId: _putV1DamageLossClaimsId.bind(url, ...arguments),\n patchV1DamageLossClaimsIdStatus: _patchV1DamageLossClaimsIdStatus.bind(url, ...arguments),\n postV1DamageLossClaimsIdSuggestSplit: _postV1DamageLossClaimsIdSuggestSplit.bind(url, ...arguments),\n getV1AssetTracker: _getV1AssetTracker.bind(url, ...arguments),\n getV1AssetTrackerAssetsName: _getV1AssetTrackerAssetsName.bind(url, ...arguments),\n postV1AssetTrackerAssetsAssetIdHistory: _postV1AssetTrackerAssetsAssetIdHistory.bind(url, ...arguments),\n postV1ResourceAllocationRequests: _postV1ResourceAllocationRequests.bind(url, ...arguments),\n getV1ResourceAllocationRequests: _getV1ResourceAllocationRequests.bind(url, ...arguments),\n getV1ResourceAllocationRequestsApprovals: _getV1ResourceAllocationRequestsApprovals.bind(url, ...arguments),\n getV1ResourceAllocationRequestsId: _getV1ResourceAllocationRequestsId.bind(url, ...arguments),\n putV1ResourceAllocationRequestsId: _putV1ResourceAllocationRequestsId.bind(url, ...arguments),\n deleteV1ResourceAllocationRequestsId: _deleteV1ResourceAllocationRequestsId.bind(url, ...arguments),\n patchV1ResourceAllocationRequestsIdStatus: _patchV1ResourceAllocationRequestsIdStatus.bind(url, ...arguments),\n getV1ResourceAllocationRequestsGenerateExcel: _getV1ResourceAllocationRequestsGenerateExcel.bind(url, ...arguments),\n getV1ResourceAllocationAssignments: _getV1ResourceAllocationAssignments.bind(url, ...arguments),\n getV1ResourceAllocationAssignmentsId: _getV1ResourceAllocationAssignmentsId.bind(url, ...arguments),\n patchV1ResourceAllocationAssignmentsId: _patchV1ResourceAllocationAssignmentsId.bind(url, ...arguments),\n getV1ResourceAllocationAssignmentsIdPositionPositionId: _getV1ResourceAllocationAssignmentsIdPositionPositionId.bind(url, ...arguments),\n postV1ResourceAllocationAssignmentsIdPositionPositionId: _postV1ResourceAllocationAssignmentsIdPositionPositionId.bind(url, ...arguments),\n postV1ResourceAllocationAssignmentsAvailableEmployees: _postV1ResourceAllocationAssignmentsAvailableEmployees.bind(url, ...arguments),\n postV1LeaveRequestsLeaveManagement: _postV1LeaveRequestsLeaveManagement.bind(url, ...arguments),\n postV1LeaveRequests: _postV1LeaveRequests.bind(url, ...arguments),\n getV1LeaveRequests: _getV1LeaveRequests.bind(url, ...arguments),\n getV1LeaveRequestsPendingApprovals: _getV1LeaveRequestsPendingApprovals.bind(url, ...arguments),\n getV1LeaveRequestsId: _getV1LeaveRequestsId.bind(url, ...arguments),\n putV1LeaveRequestsId: _putV1LeaveRequestsId.bind(url, ...arguments),\n deleteV1LeaveRequestsId: _deleteV1LeaveRequestsId.bind(url, ...arguments),\n postV1LeaveRequestsSaveAsDraft: _postV1LeaveRequestsSaveAsDraft.bind(url, ...arguments),\n patchV1LeaveRequestsIdSaveAsDraft: _patchV1LeaveRequestsIdSaveAsDraft.bind(url, ...arguments),\n patchV1LeaveRequestsIdStatus: _patchV1LeaveRequestsIdStatus.bind(url, ...arguments),\n getV1LeaveRequestsIdConflicts: _getV1LeaveRequestsIdConflicts.bind(url, ...arguments),\n getV1LeaveRequestsIdApprovalHistory: _getV1LeaveRequestsIdApprovalHistory.bind(url, ...arguments),\n postV1LeaveRequestsIdAdvancePayment: _postV1LeaveRequestsIdAdvancePayment.bind(url, ...arguments),\n getV1LeaveRequestsGenerateExcel: _getV1LeaveRequestsGenerateExcel.bind(url, ...arguments),\n postV1LeaveRequestsImport: _postV1LeaveRequestsImport.bind(url, ...arguments),\n putV1LeaveRequestsLeaveRequestIdAttachments: _putV1LeaveRequestsLeaveRequestIdAttachments.bind(url, ...arguments),\n postV1LeaveManagement: _postV1LeaveManagement.bind(url, ...arguments),\n getV1LeaveManagement: _getV1LeaveManagement.bind(url, ...arguments),\n getV1LeaveManagementPendingApprovals: _getV1LeaveManagementPendingApprovals.bind(url, ...arguments),\n getV1LeaveManagementId: _getV1LeaveManagementId.bind(url, ...arguments),\n putV1LeaveManagementId: _putV1LeaveManagementId.bind(url, ...arguments),\n deleteV1LeaveManagementId: _deleteV1LeaveManagementId.bind(url, ...arguments),\n postV1LeaveManagementSaveAsDraft: _postV1LeaveManagementSaveAsDraft.bind(url, ...arguments),\n patchV1LeaveManagementIdSaveAsDraft: _patchV1LeaveManagementIdSaveAsDraft.bind(url, ...arguments),\n patchV1LeaveManagementIdStatus: _patchV1LeaveManagementIdStatus.bind(url, ...arguments),\n getV1LeaveManagementIdConflicts: _getV1LeaveManagementIdConflicts.bind(url, ...arguments),\n getV1LeaveManagementIdApprovalHistory: _getV1LeaveManagementIdApprovalHistory.bind(url, ...arguments),\n postV1LeaveManagementIdAdvancePayment: _postV1LeaveManagementIdAdvancePayment.bind(url, ...arguments),\n putV1LeaveManagementLeaveRequestIdAttachments: _putV1LeaveManagementLeaveRequestIdAttachments.bind(url, ...arguments),\n postV1Resignations: _postV1Resignations.bind(url, ...arguments),\n getV1Resignations: _getV1Resignations.bind(url, ...arguments),\n getV1ResignationsMyApprovals: _getV1ResignationsMyApprovals.bind(url, ...arguments),\n getV1ResignationsId: _getV1ResignationsId.bind(url, ...arguments),\n putV1ResignationsId: _putV1ResignationsId.bind(url, ...arguments),\n deleteV1ResignationsId: _deleteV1ResignationsId.bind(url, ...arguments),\n getV1ResignationsIdAssignedAssets: _getV1ResignationsIdAssignedAssets.bind(url, ...arguments),\n patchV1ResignationsIdStatus: _patchV1ResignationsIdStatus.bind(url, ...arguments),\n postV1ResignationsImport: _postV1ResignationsImport.bind(url, ...arguments),\n getV1ResignationsGenerateExcel: _getV1ResignationsGenerateExcel.bind(url, ...arguments),\n postV1Terminations: _postV1Terminations.bind(url, ...arguments),\n getV1Terminations: _getV1Terminations.bind(url, ...arguments),\n getV1TerminationsMyApprovals: _getV1TerminationsMyApprovals.bind(url, ...arguments),\n getV1TerminationsId: _getV1TerminationsId.bind(url, ...arguments),\n putV1TerminationsId: _putV1TerminationsId.bind(url, ...arguments),\n deleteV1TerminationsId: _deleteV1TerminationsId.bind(url, ...arguments),\n getV1TerminationsIdAssignedAssets: _getV1TerminationsIdAssignedAssets.bind(url, ...arguments),\n patchV1TerminationsIdInitiate: _patchV1TerminationsIdInitiate.bind(url, ...arguments),\n patchV1TerminationsIdStatus: _patchV1TerminationsIdStatus.bind(url, ...arguments),\n postV1TerminationsImport: _postV1TerminationsImport.bind(url, ...arguments),\n getV1TerminationsGenerateExcel: _getV1TerminationsGenerateExcel.bind(url, ...arguments),\n getV1TerminationsIdTerminationLetter: _getV1TerminationsIdTerminationLetter.bind(url, ...arguments),\n patchV1ResignationSettlementsIdAssetClearance: _patchV1ResignationSettlementsIdAssetClearance.bind(url, ...arguments),\n getV1ResignationSettlementsIdDetail: _getV1ResignationSettlementsIdDetail.bind(url, ...arguments),\n getV1ResignationSettlementsIdEmployeeFinancialOverview: _getV1ResignationSettlementsIdEmployeeFinancialOverview.bind(url, ...arguments),\n getV1ResignationSettlementsId: _getV1ResignationSettlementsId.bind(url, ...arguments),\n postV1ResignationSettlementsIdComponents: _postV1ResignationSettlementsIdComponents.bind(url, ...arguments),\n deleteV1ResignationSettlementsIdComponentsComponentId: _deleteV1ResignationSettlementsIdComponentsComponentId.bind(url, ...arguments),\n patchV1ResignationSettlementsIdComponentsComponentId: _patchV1ResignationSettlementsIdComponentsComponentId.bind(url, ...arguments),\n patchV1ResignationSettlementsIdStatus: _patchV1ResignationSettlementsIdStatus.bind(url, ...arguments),\n patchV1TerminationSettlementsIdAssetClearance: _patchV1TerminationSettlementsIdAssetClearance.bind(url, ...arguments),\n getV1TerminationSettlementsIdDetail: _getV1TerminationSettlementsIdDetail.bind(url, ...arguments),\n getV1TerminationSettlementsIdEmployeeFinancialOverview: _getV1TerminationSettlementsIdEmployeeFinancialOverview.bind(url, ...arguments),\n getV1TerminationSettlementsId: _getV1TerminationSettlementsId.bind(url, ...arguments),\n postV1TerminationSettlementsIdComponents: _postV1TerminationSettlementsIdComponents.bind(url, ...arguments),\n deleteV1TerminationSettlementsIdComponentsComponentId: _deleteV1TerminationSettlementsIdComponentsComponentId.bind(url, ...arguments),\n patchV1TerminationSettlementsIdComponentsComponentId: _patchV1TerminationSettlementsIdComponentsComponentId.bind(url, ...arguments),\n patchV1TerminationSettlementsIdStatus: _patchV1TerminationSettlementsIdStatus.bind(url, ...arguments),\n getV1MonthlyPayroll: _getV1MonthlyPayroll.bind(url, ...arguments),\n postV1MonthlyPayroll: _postV1MonthlyPayroll.bind(url, ...arguments),\n getV1MonthlyPayrollId: _getV1MonthlyPayrollId.bind(url, ...arguments),\n putV1MonthlyPayrollId: _putV1MonthlyPayrollId.bind(url, ...arguments),\n deleteV1MonthlyPayrollId: _deleteV1MonthlyPayrollId.bind(url, ...arguments),\n postV1MonthlyPayrollSaveAsDraft: _postV1MonthlyPayrollSaveAsDraft.bind(url, ...arguments),\n patchV1MonthlyPayrollIdSaveAsDraft: _patchV1MonthlyPayrollIdSaveAsDraft.bind(url, ...arguments),\n postV1MonthlyPayrollIdRun: _postV1MonthlyPayrollIdRun.bind(url, ...arguments),\n postV1MonthlyPayrollIdSubmit: _postV1MonthlyPayrollIdSubmit.bind(url, ...arguments),\n postV1MonthlyPayrollIdApprove: _postV1MonthlyPayrollIdApprove.bind(url, ...arguments),\n postV1MonthlyPayrollIdReject: _postV1MonthlyPayrollIdReject.bind(url, ...arguments),\n postV1MonthlyPayrollIdValidate: _postV1MonthlyPayrollIdValidate.bind(url, ...arguments),\n getV1SalarySheets: _getV1SalarySheets.bind(url, ...arguments),\n postV1SalarySheets: _postV1SalarySheets.bind(url, ...arguments),\n getV1SalarySheetsId: _getV1SalarySheetsId.bind(url, ...arguments),\n putV1SalarySheetsId: _putV1SalarySheetsId.bind(url, ...arguments),\n deleteV1SalarySheetsId: _deleteV1SalarySheetsId.bind(url, ...arguments),\n postV1SalarySheetsLoadData: _postV1SalarySheetsLoadData.bind(url, ...arguments),\n postV1SalarySheetsIdValidate: _postV1SalarySheetsIdValidate.bind(url, ...arguments),\n postV1SalarySheetsIdGenerateSif: _postV1SalarySheetsIdGenerateSif.bind(url, ...arguments),\n postV1SalarySheetsIdMarkProcessed: _postV1SalarySheetsIdMarkProcessed.bind(url, ...arguments),\n postV1SalarySheetsIdSaveDraft: _postV1SalarySheetsIdSaveDraft.bind(url, ...arguments),\n getV1SalarySheetsIdDownloadSif: _getV1SalarySheetsIdDownloadSif.bind(url, ...arguments),\n getV1Payslips: _getV1Payslips.bind(url, ...arguments),\n getV1PayslipsId: _getV1PayslipsId.bind(url, ...arguments),\n deleteV1PayslipsId: _deleteV1PayslipsId.bind(url, ...arguments),\n postV1PayslipsGenerate: _postV1PayslipsGenerate.bind(url, ...arguments),\n postV1PayslipsIdSendEmail: _postV1PayslipsIdSendEmail.bind(url, ...arguments),\n postV1PayslipsIdPublishEss: _postV1PayslipsIdPublishEss.bind(url, ...arguments),\n getV1PayslipsEmployeeEmployeeId: _getV1PayslipsEmployeeEmployeeId.bind(url, ...arguments),\n postV1PayslipsEmployeeEmployeeIdGenerate: _postV1PayslipsEmployeeEmployeeIdGenerate.bind(url, ...arguments),\n getV1PayslipsDownloadId: _getV1PayslipsDownloadId.bind(url, ...arguments),\n postV1ReportsEmployeeList: _postV1ReportsEmployeeList.bind(url, ...arguments),\n postV1ReportsContractList: _postV1ReportsContractList.bind(url, ...arguments),\n postV1ReportsRecruitmentRequestList: _postV1ReportsRecruitmentRequestList.bind(url, ...arguments),\n postV1ReportsRecruitmentFulfilmentAnalysis: _postV1ReportsRecruitmentFulfilmentAnalysis.bind(url, ...arguments),\n postV1ReportsDepartmentAnalysis: _postV1ReportsDepartmentAnalysis.bind(url, ...arguments),\n postV1ReportsEmployeeSalaryList: _postV1ReportsEmployeeSalaryList.bind(url, ...arguments),\n postV1ReportsResignationRequestList: _postV1ReportsResignationRequestList.bind(url, ...arguments),\n postV1ReportsTerminationRequestList: _postV1ReportsTerminationRequestList.bind(url, ...arguments),\n postV1ReportsFinalSettlementReport: _postV1ReportsFinalSettlementReport.bind(url, ...arguments),\n postV1ReportsEmployeeGratuityReport: _postV1ReportsEmployeeGratuityReport.bind(url, ...arguments),\n postV1ReportsEmployeeOvertimeReport: _postV1ReportsEmployeeOvertimeReport.bind(url, ...arguments),\n postV1ReportsLeaveRequestList: _postV1ReportsLeaveRequestList.bind(url, ...arguments),\n postV1ReportsAnnualLeaveReport: _postV1ReportsAnnualLeaveReport.bind(url, ...arguments),\n postV1ReportsEmployeeLoanList: _postV1ReportsEmployeeLoanList.bind(url, ...arguments),\n postV1ReportsPendingLoanStatus: _postV1ReportsPendingLoanStatus.bind(url, ...arguments),\n postV1ReportsSalarySheet: _postV1ReportsSalarySheet.bind(url, ...arguments),\n postV1ReportsExpenseReimbursement: _postV1ReportsExpenseReimbursement.bind(url, ...arguments),\n postV1ReportsTimeSheet: _postV1ReportsTimeSheet.bind(url, ...arguments),\n postV1ReportsResourceRequisitions: _postV1ReportsResourceRequisitions.bind(url, ...arguments),\n postV1ReportsTimeCard: _postV1ReportsTimeCard.bind(url, ...arguments),\n postV1ReportsAttendanceSummary: _postV1ReportsAttendanceSummary.bind(url, ...arguments),\n postV1ReportsMissingAttendance: _postV1ReportsMissingAttendance.bind(url, ...arguments),\n postV1ReportsEmployeeAssetRecords: _postV1ReportsEmployeeAssetRecords.bind(url, ...arguments),\n postV1ReportsAssetDamage: _postV1ReportsAssetDamage.bind(url, ...arguments),\n postV1ReportsAssetStatus: _postV1ReportsAssetStatus.bind(url, ...arguments),\n postV1ReportsEmployeeProbationReport: _postV1ReportsEmployeeProbationReport.bind(url, ...arguments),\n postV1ReportsEmployeeTurnoverReport: _postV1ReportsEmployeeTurnoverReport.bind(url, ...arguments),\n postV1ReportsPayrollVarianceReport: _postV1ReportsPayrollVarianceReport.bind(url, ...arguments),\n postV1ReportsExpiringDocumentsReport: _postV1ReportsExpiringDocumentsReport.bind(url, ...arguments),\n postV1ReportsLeaveEncashmentReport: _postV1ReportsLeaveEncashmentReport.bind(url, ...arguments),\n postV1AttendanceCheckIn: _postV1AttendanceCheckIn.bind(url, ...arguments),\n postV1AttendanceCheckOut: _postV1AttendanceCheckOut.bind(url, ...arguments),\n postV1AttendanceStartBreak: _postV1AttendanceStartBreak.bind(url, ...arguments),\n postV1AttendanceEndBreak: _postV1AttendanceEndBreak.bind(url, ...arguments),\n getV1AttendanceStatus: _getV1AttendanceStatus.bind(url, ...arguments),\n getV1AttendanceSummaryAttendanceId: _getV1AttendanceSummaryAttendanceId.bind(url, ...arguments),\n getV1Approvals: _getV1Approvals.bind(url, ...arguments)\n }\n}","// This client was generated by Platformatic from an OpenAPI specification.\n\n// The base URL for the API. This can be overridden by calling `setBaseUrl`.\nlet baseUrl = ''\n// The default headers to send within each request. This can be overridden by calling `setDefaultHeaders`.\nlet defaultHeaders = {}\n\nfunction sanitizeUrl(url) {\n if (url.endsWith('/')) { return url.slice(0, -1) } else { return url }\n}\n/** @type {import('./api-types.d.ts').Api['setBaseUrl']} */\nexport const setBaseUrl = (newUrl) => { baseUrl = sanitizeUrl(newUrl) }\n\n/** @type {import('./api-types.d.ts').Api['setDefaultHeaders']} */\nexport const setDefaultHeaders = (headers) => { defaultHeaders = headers }\n\nfunction headersToJSON(headers) {\n const output = {}\n headers.forEach((value, key) => {\n output[key] = value\n })\n return output\n}\n\nasync function _postV1Projects (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/projects/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['postV1Projects']} */\nexport const postV1Projects = async (request) => {\n return await _postV1Projects(baseUrl, request)\n}\nasync function _getV1Projects (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/projects/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1Projects']} */\nexport const getV1Projects = async (request) => {\n return await _getV1Projects(baseUrl, request)\n}\nasync function _getV1ProjectsId (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/projects/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1ProjectsId']} */\nexport const getV1ProjectsId = async (request) => {\n return await _getV1ProjectsId(baseUrl, request)\n}\nasync function _putV1ProjectsId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/projects/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['putV1ProjectsId']} */\nexport const putV1ProjectsId = async (request) => {\n return await _putV1ProjectsId(baseUrl, request)\n}\nasync function _deleteV1ProjectsId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/projects/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['deleteV1ProjectsId']} */\nexport const deleteV1ProjectsId = async (request) => {\n return await _deleteV1ProjectsId(baseUrl, request)\n}\nasync function _postV1Tasks (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/tasks/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['postV1Tasks']} */\nexport const postV1Tasks = async (request) => {\n return await _postV1Tasks(baseUrl, request)\n}\nasync function _getV1Tasks (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/tasks/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1Tasks']} */\nexport const getV1Tasks = async (request) => {\n return await _getV1Tasks(baseUrl, request)\n}\nasync function _getV1TasksId (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/tasks/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1TasksId']} */\nexport const getV1TasksId = async (request) => {\n return await _getV1TasksId(baseUrl, request)\n}\nasync function _putV1TasksId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/tasks/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['putV1TasksId']} */\nexport const putV1TasksId = async (request) => {\n return await _putV1TasksId(baseUrl, request)\n}\nasync function _deleteV1TasksId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/tasks/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['deleteV1TasksId']} */\nexport const deleteV1TasksId = async (request) => {\n return await _deleteV1TasksId(baseUrl, request)\n}\nasync function _postV1CostCodes (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-codes/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['postV1CostCodes']} */\nexport const postV1CostCodes = async (request) => {\n return await _postV1CostCodes(baseUrl, request)\n}\nasync function _getV1CostCodes (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-codes/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1CostCodes']} */\nexport const getV1CostCodes = async (request) => {\n return await _getV1CostCodes(baseUrl, request)\n}\nasync function _getV1CostCodesId (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-codes/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1CostCodesId']} */\nexport const getV1CostCodesId = async (request) => {\n return await _getV1CostCodesId(baseUrl, request)\n}\nasync function _putV1CostCodesId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-codes/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['putV1CostCodesId']} */\nexport const putV1CostCodesId = async (request) => {\n return await _putV1CostCodesId(baseUrl, request)\n}\nasync function _deleteV1CostCodesId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-codes/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['deleteV1CostCodesId']} */\nexport const deleteV1CostCodesId = async (request) => {\n return await _deleteV1CostCodesId(baseUrl, request)\n}\nasync function _postV1CostElements (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-elements/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['postV1CostElements']} */\nexport const postV1CostElements = async (request) => {\n return await _postV1CostElements(baseUrl, request)\n}\nasync function _getV1CostElements (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-elements/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1CostElements']} */\nexport const getV1CostElements = async (request) => {\n return await _getV1CostElements(baseUrl, request)\n}\nasync function _getV1CostElementsId (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-elements/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1CostElementsId']} */\nexport const getV1CostElementsId = async (request) => {\n return await _getV1CostElementsId(baseUrl, request)\n}\nasync function _putV1CostElementsId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-elements/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['putV1CostElementsId']} */\nexport const putV1CostElementsId = async (request) => {\n return await _putV1CostElementsId(baseUrl, request)\n}\nasync function _deleteV1CostElementsId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-elements/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['deleteV1CostElementsId']} */\nexport const deleteV1CostElementsId = async (request) => {\n return await _deleteV1CostElementsId(baseUrl, request)\n}\nexport default function build (url, options) {\n url = sanitizeUrl(url)\n if (options?.headers) {\n defaultHeaders = options.headers\n }\n return {\n postV1Projects: _postV1Projects.bind(url, ...arguments),\n getV1Projects: _getV1Projects.bind(url, ...arguments),\n getV1ProjectsId: _getV1ProjectsId.bind(url, ...arguments),\n putV1ProjectsId: _putV1ProjectsId.bind(url, ...arguments),\n deleteV1ProjectsId: _deleteV1ProjectsId.bind(url, ...arguments),\n postV1Tasks: _postV1Tasks.bind(url, ...arguments),\n getV1Tasks: _getV1Tasks.bind(url, ...arguments),\n getV1TasksId: _getV1TasksId.bind(url, ...arguments),\n putV1TasksId: _putV1TasksId.bind(url, ...arguments),\n deleteV1TasksId: _deleteV1TasksId.bind(url, ...arguments),\n postV1CostCodes: _postV1CostCodes.bind(url, ...arguments),\n getV1CostCodes: _getV1CostCodes.bind(url, ...arguments),\n getV1CostCodesId: _getV1CostCodesId.bind(url, ...arguments),\n putV1CostCodesId: _putV1CostCodesId.bind(url, ...arguments),\n deleteV1CostCodesId: _deleteV1CostCodesId.bind(url, ...arguments),\n postV1CostElements: _postV1CostElements.bind(url, ...arguments),\n getV1CostElements: _getV1CostElements.bind(url, ...arguments),\n getV1CostElementsId: _getV1CostElementsId.bind(url, ...arguments),\n putV1CostElementsId: _putV1CostElementsId.bind(url, ...arguments),\n deleteV1CostElementsId: _deleteV1CostElementsId.bind(url, ...arguments)\n }\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n getV1Company,\n getV1LocationsCountries,\n getV1LocationsStates,\n getV1Role,\n getV1User,\n getV1UserDepartment,\n setBaseUrl,\n getV1UserModules\n} from \"../api-client/api.rbac/api\";\nimport _ from \"lodash\";\nimport {\n getV1AssemblyItems,\n getV1Bin,\n getV1Brand,\n getV1CategoryItems,\n getV1DiscountItems,\n getV1InventoryFixedAssetItems,\n getV1InventoryItems,\n getV1StockReason,\n getV1Uom,\n getV1UomTemplates,\n getV1WarehouseLocation,\n setBaseUrl as setInventoryBaseUrl,\n} from \"../api-client/api.inventory/api\";\nimport {\n getV1Assets,\n getV1AssetsAssetTypes,\n getV1AssetsJournalTypes,\n getV1BudgetBudgetMonths,\n getV1BudgetBudgetTypes,\n getV1ChartOfAccount,\n getV1CommissionPlans,\n getV1CommissionTargets,\n getV1ChartOfAccountAccountType,\n getV1Currency,\n getV1DebitNotesReasons,\n getV1ExpenseReimbursementEmployees,\n getV1ExpenseReimbursementExpenseCategories,\n getV1FiscalYear,\n getV1JournalEntries,\n getV1JournalEntriesReferenceType,\n getV1Parties,\n getV1PartiesIndustry,\n getV1PaymentTerms,\n getV1PurchaseInvoices,\n getV1PurchaseInvoicesIncoterms,\n getV1SalesInvoices,\n getV1TaxCategory,\n getV1TaxCode,\n getV1TaxTemplates,\n setBaseUrl as SetAccountingBaseUrl,\n getV1BankAccountsTypes,\n getV1Banks,\n getV1PaymentTermsDueDateTypes,\n getV1Budget,\n} from \"../api-client/api.accounting/api\";\nimport { getPartyName, getToken, showSnackBar } from \"./common\";\nimport {\n setBaseUrl as setCrmBaseUrl,\n getV1CustomerSegment,\n getV1OpportunityContact,\n getV1ShippingRules,\n getV1SalesOrders,\n getV1SourceTypes,\n} from \"../api-client/api.sales/api\";\nimport {\n getV1PurchaseAgreements,\n getV1PurchaseOrdersReceipts,\n getV1Rfq,\n setBaseUrl as setPurchaseBaseUrl,\n} from \"../api-client/api.purchase/api\";\nimport {\n setBaseUrl as setManufacturingBaseUrl,\n getV1BillsOfMaterials,\n getV1BillsOfMaterialsListMaterials,\n getV1Equipments,\n getV1EquipmentsCategories,\n getV1Operations,\n getV1Routing,\n getV1WorkCentre,\n getV1WorkCentreCategories,\n getV1WorkOrder,\n getV1GateRegisterVehicleNumbers,\n getV1GateRegisterVehicleTypes\n} from \"../api-client/api.manufacturing/api\";\nimport { getV1WorkflowReferences, setBaseUrl as setWorkflowAutomationBaseUrl } from \"../api-client/api.workflow-automation/api\";\nimport { getV1CrossHireOrders, getV1RentalAgreements, getV1RentalBillingCycles, getV1RentalTermsConditions, setBaseUrl as setRentalBaseUrl } from \"../api-client/api.rental/api\";\nimport { getV1Languages, getV1ReportsReportList, getV1Templates, setBaseUrl as setSystemFeatureBaseUrl } from \"../api-client/api.system-feature/api\";\nimport {\n getV1AccrualMaster,\n getV1AccrualType, getV1CompanyCalendar, getV1Designation, getV1DocumentMaster,\n getV1Employee, getV1EmployeeContracts, getV1Grades, getV1HireRequests, getV1JobPosts, getV1LeaveCategory, getV1LeavePolicyMaster,\n getV1LoanMaster, getV1SalaryStructureMaster, getV1Skills, getV1Teams, getV1Timezones, setBaseUrl as setHrmsBaseUrl\n} from \"../api-client/api.hrms/api\";\nimport { setBaseUrl as setDriveBaseUrl } from \"../api-client/api.drive/api\";\nimport { getApiConfig, isApiConfigInitialized, onApiConfigReady } from \"./api-config\";\nimport { getV1MyAssets } from \"../api-client/api.hrms/api\";\n\nimport { setBaseUrl as setPmsBaseUrl, getV1Projects, getV1Tasks, getV1CostCodes, getV1CostElements } from \"../api-client/api.pms/api\";\nimport { setAiFeatureBaseUrl } from \"../api-client/api.ai-feature/api\";\n\n// Initialize API base URLs using runtime configuration\n// This function should be called after the API configuration has been initialized\nexport function initializeApiBaseUrls(): void {\n if (!isApiConfigInitialized()) {\n console.warn('API configuration not initialized yet. Base URLs will be set when configuration is available.');\n return;\n }\n\n const config = getApiConfig();\n const baseUrl = config.backendBaseUrl;\n\n setBaseUrl(`${baseUrl}/rbac`);\n setInventoryBaseUrl(`${baseUrl}/inventory`);\n SetAccountingBaseUrl(`${baseUrl}/accounting`);\n setCrmBaseUrl(`${baseUrl}/sales`);\n setHrmsBaseUrl(`${baseUrl}/hrms`);\n setSystemFeatureBaseUrl(`${baseUrl}/system-feature`);\n setDriveBaseUrl(`${baseUrl}/document`);\n setRentalBaseUrl(`${baseUrl}/rental`);\n setManufacturingBaseUrl(`${baseUrl}/manufacturing`);\n setPurchaseBaseUrl(`${baseUrl}/purchase`);\n setPmsBaseUrl(`${baseUrl}/pms`);\n setAiFeatureBaseUrl(`${baseUrl}/ai-feature`);\n // setWorkflowAutomationBaseUrl(`${baseUrl}/workflow-automation`);\n}\n\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/rbac`);\n setInventoryBaseUrl(`${baseUrl}/inventory`);\n SetAccountingBaseUrl(`${baseUrl}/accounting`);\n setCrmBaseUrl(`${baseUrl}/sales`);\n setHrmsBaseUrl(`${baseUrl}/hrms`);\n setSystemFeatureBaseUrl(`${baseUrl}/system-feature`);\n setDriveBaseUrl(`${baseUrl}/document`);\n setRentalBaseUrl(`${baseUrl}/rental`);\n setManufacturingBaseUrl(`${baseUrl}/manufacturing`);\n setPurchaseBaseUrl(`${baseUrl}/purchase`);\n setPmsBaseUrl(`${baseUrl}/pms`);\n setAiFeatureBaseUrl(`${baseUrl}/ai-feature`);\n // setWorkflowAutomationBaseUrl(`${baseUrl}/workflow-automation`);\n});\n\nconst createColumns = (defaultColumn: any[] = [], select: any[] = []) => {\n const columns = [...new Set([...defaultColumn, ...select])];\n if (columns.length == 0) return \"\";\n return `[${columns.join(\",\")}]`;\n};\nfunction combineFilters(\n defaultFilter: Record<string, any> | string | null | undefined,\n newFilter: Record<string, any> | null | undefined\n): string {\n let updatedQuery = \"\";\n\n const baseFilters =\n defaultFilter && typeof defaultFilter === 'object'\n ? defaultFilter\n : {};\n const filters = { ...baseFilters, ...(newFilter || {}) };\n if (Object.keys(filters).length === 0) {\n return updatedQuery ? `(${updatedQuery})` : \"\";\n }\n Object.keys(filters).forEach(\n (key) => (updatedQuery = `${updatedQuery}${key}=${filters[key]}`)\n );\n return updatedQuery ? `(${updatedQuery})` : \"\";\n}\n\nexport const getOptions = async (\n apiFunc: (params: any) => Promise<any>,\n filters: Record<string, any>,\n dataKey: string,\n labelKey: string,\n defaultColumn: string[],\n defaultFilter: Record<string, any> | string | null | undefined = \"\",\n valueKey: string = \"id\"\n) => {\n const customeFilter = {\n ...filters,\n select: createColumns(defaultColumn, filters.select),\n filters: combineFilters(defaultFilter, filters.filters),\n order: filters?.order || `id:-1`,\n\n };\n const response = await apiFunc({\n ...customeFilter,\n ...getToken(),\n });\n\n const resolveListData = (resp: any, key: string) => {\n if (key) return resp?.data?.[key];\n if (Array.isArray(resp?.data)) return resp.data;\n if (resp?.data && typeof resp.data === 'object') {\n const values = Object.values(resp.data);\n const firstArray = values.find((v) => Array.isArray(v));\n if (Array.isArray(firstArray)) return firstArray;\n\n // Some endpoints return list data as an object keyed by numeric strings\n // e.g. { \"0\": {...}, \"1\": {...} }\n if (values.length && values.every((v) => v && typeof v === 'object')) {\n return values;\n }\n }\n return [];\n };\n\n const listData = resolveListData(response, dataKey);\n\n if (!dataKey && Array.isArray(listData)) {\n return (\n {\n data: listData?.map((item: Record<string, any>) => ({\n ...item,\n label:\n labelKey instanceof Function ? labelKey(item) : _.get(item, labelKey),\n value: _.get(item, valueKey),\n })) || [],\n pagination: response?.pagination\n })\n } else {\n return (\n {\n data: (Array.isArray(listData) ? listData : [])?.map((item: Record<string, any>) => ({\n ...item,\n label:\n labelKey instanceof Function ? labelKey(item) : _.get(item, labelKey),\n value: _.get(item, valueKey),\n })) || [],\n pagination: response?.pagination\n }\n );\n }\n};\n\nexport const apiConfigurations = {\n company: {\n name: \"companies/fetch\",\n apiFunc: getV1Company,\n dataKey: \"company\",\n labelKey: \"company_name\",\n defaultColumn: [\"id\", \"company_name\"],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n items: {\n name: \"items/fetch\",\n apiFunc: getV1InventoryItems,\n dataKey: \"inventoryItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit',\n 'location_wise_quantity',\n \"sku\"\n ],\n defaultFilter: { \"status.eq\": 1, '&(is_variant.eq': 1, '|type.eq': 'package)' },\n },\n notPackageItems: {\n name: \"items/fetch\",\n apiFunc: getV1InventoryItems,\n dataKey: \"inventoryItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit',\n \"sku\"\n ],\n defaultFilter: { \"status.eq\": 1, '&(is_variant.eq': 1, '&type.ne': 'package)' },\n },\n rentalItems: {\n name: \"items/fetch\",\n apiFunc: getV1InventoryFixedAssetItems,\n dataKey: \"inventoryFixedAssetItems\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"rental_replacement_cost\",\n 'rental_description',\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit',\n \"sku\"\n ],\n defaultFilter: {\n \"status.eq\": 1, '&is_variant.eq': 1,\n '&is_rental.eq': 1\n },\n },\n salesItems: {\n name: \"items/fetch\",\n apiFunc: getV1InventoryItems,\n dataKey: \"inventoryItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"sku\",\n \"brand_data\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"sales_replacement_cost\",\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit'\n ],\n defaultFilter: {\n \"status.eq\": 1, '&(is_variant.eq': 1,\n '|type.in': 'package,inventory-fixed-asset)',\n '&is_rental.eq': 0\n },\n },\n reportItems: {\n name: \"items/fetch\",\n apiFunc: getV1InventoryItems,\n dataKey: \"inventoryItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"sku\"\n ],\n defaultFilter: { '&is_variant.eq': 1 },\n },\n inventoryItems: {\n name: \"inventory-items/fetch\",\n apiFunc: getV1InventoryItems,\n dataKey: \"inventoryItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"type\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"is_landed_cost\",\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit',\n \"sku\"\n ],\n defaultFilter: { \"status.eq\": 1 },\n },\n fixedAssetItems: {\n name: \"fixed-asset-items/fetch\",\n apiFunc: getV1InventoryFixedAssetItems,\n dataKey: \"inventoryItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"type\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"is_landed_cost\",\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit',\n \"sku\"\n ],\n defaultFilter: { \"status.eq\": 1, '&type.eq': 'inventory-fixed-asset' },\n },\n currency: {\n name: \"currency/fetch\",\n apiFunc: getV1Currency,\n dataKey: \"currencies\",\n labelKey: \"currency_name\",\n defaultColumn: [\"id\", \"currency_name\", \"symbol\", 'number_format'],\n // defaultFilter: null,\n defaultFilter: { \"status.eq\": 1 },\n },\n salesperson: {\n name: \"salesperson/fetch\",\n apiFunc: getV1User,\n dataKey: \"users\",\n // labelKey: \"first_name\",\n defaultColumn: [\"id\", \"first_name\", \"last_name\"],\n defaultFilter: { \"is_active.eq\": 1 },\n labelKey: getPartyName,\n },\n users: {\n name: \"users/fetch\",\n apiFunc: getV1User,\n dataKey: \"users\",\n // labelKey: \"first_name\",\n defaultColumn: [\"id\", \"first_name\", \"last_name\"],\n defaultFilter: { \"is_active.eq\": 1 },\n labelKey: getPartyName,\n },\n party: {\n name: \"party/fetch\",\n apiFunc: getV1Parties,\n dataKey: \"parties_list\",\n // labelKey: getPartyName,\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\", \"company_name\", \"first_name\", \"last_name\", \"type\"],\n // defaultColumn:[]\n defaultFilter: { \"status.eq\": 1 }\n },\n department: {\n name: \"department/fetch\",\n apiFunc: getV1UserDepartment,\n dataKey: \"department\",\n labelKey: \"label\",\n defaultColumn: [\"id\", \"name\", \"label\"],\n defaultFilter: { 'status.eq': 1, '&is_draft.eq': 0 },\n },\n location: {\n name: \"location/fetch\",\n apiFunc: getV1WarehouseLocation,\n dataKey: \"warehouseLocationList\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: { \"status.eq\": 1, \"&inventory_available.eq\": 1 },\n },\n warehouselocation: {\n name: \"location/fetch\",\n apiFunc: getV1WarehouseLocation,\n dataKey: \"warehouseLocationList\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: { \"status.eq\": 1 },\n },\n uom: {\n name: \"uom/fetch\",\n apiFunc: getV1Uom,\n dataKey: \"units\",\n labelKey: \"uom_name\",\n defaultColumn: [\"id\", \"uom_name\", 'is_base_unit', 'conversation_factor'],\n defaultFilter: { \"template_id.ne\": null },\n },\n discountedItems: {\n name: \"discountItems/fetch\",\n apiFunc: getV1DiscountItems,\n dataKey: \"discountItemsList\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\", \"discount_rate_amount\", \"discount_category\"],\n defaultFilter: { \"status.eq\": 1 },\n },\n taxTemplate: {\n name: \"taxTemplate/fetch\",\n apiFunc: getV1TaxTemplates,\n dataKey: \"templates\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\", \"tax_codes\"],\n defaultFilter: null,\n },\n paymentTerm: {\n name: \"paymentTerm/fetch\",\n apiFunc: getV1PaymentTerms,\n dataKey: \"payment_terms_list\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n incoTerms: {\n name: \"incoTerms/fetch\",\n apiFunc: getV1PurchaseInvoicesIncoterms,\n dataKey: \"incoterm\",\n labelKey: \"term\",\n defaultColumn: [\"id\", \"term\"],\n defaultFilter: null,\n },\n shippingRules: {\n name: \"shippingRules/fetch\",\n apiFunc: getV1ShippingRules,\n dataKey: \"shippingRules\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\", \"shipping_cost\", \"handling_cost\"],\n defaultFilter: { 'status.ne': 'Draft' },\n },\n bins: {\n name: \"bins/fetch\",\n apiFunc: getV1Bin,\n dataKey: \"binsList\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n agreement: {\n name: \"agreement/fetch\",\n apiFunc: getV1PurchaseAgreements,\n dataKey: \"purchase_agreements\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n invoices: {\n name: \"purchaseInvoices/fetch\",\n apiFunc: getV1PurchaseInvoices,\n dataKey: \"invoices\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n defaultFilter: null,\n },\n purchaseOrderReceipts: {\n name: \"purchaseGRNs/fetch\",\n apiFunc: getV1PurchaseOrdersReceipts,\n dataKey: \"grns\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n defaultFilter: null,\n },\n representatives: {\n name: \"representatives/fetch\",\n apiFunc: getV1ExpenseReimbursementEmployees,\n dataKey: \"employees_list\",\n // labelKey: \"first_name\",\n defaultFilter: { \"is_active.eq\": 1 },\n defaultColumn: [\"id\", \"first_name\", \"last_name\"],\n labelKey: getPartyName,\n },\n categoryItems: {\n name: \"categoryItems/fetch\",\n apiFunc: getV1CategoryItems,\n dataKey: \"categoryItemsList\",\n labelKey: \"category_name\",\n defaultColumn: [\"id\", \"category_name\"],\n defaultFilter: { 'status.eq': 1 },\n },\n customerSegment: {\n name: \"customerSegment/fetch\",\n apiFunc: getV1CustomerSegment,\n dataKey: \"customerSegments\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\", \"status\"],\n defaultFilter: { 'status.ne': 'Draft' },\n },\n accounts: {\n name: \"account/fetch\",\n apiFunc: getV1ChartOfAccount,\n dataKey: \"coa_list\",\n labelKey: \"account_name\",\n defaultColumn: [\"id\", \"account_name\", 'currency_id', 'currency_data', 'account_type_id'],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n account: {\n name: \"account/fetch\",\n apiFunc: getV1ChartOfAccount,\n dataKey: \"coa_list\",\n labelKey: \"account_name\",\n defaultColumn: [\"id\", \"account_name\", 'currency_id', 'currency_data', 'account_type_id'],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n industry: {\n name: \"inductry/fetch\",\n apiFunc: getV1PartiesIndustry,\n dataKey: \"activity_list\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n bom: {\n name: \"bom/fetch\",\n apiFunc: getV1BillsOfMaterials,\n dataKey: \"bom_list\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: { \"is_active.eq\": 1, \"&status.eq\": 'Approved' },\n },\n routing: {\n name: \"routing/fetch\",\n apiFunc: getV1Routing,\n dataKey: \"routings\",\n labelKey: \"route_name\",\n defaultColumn: [\"id\", \"route_name\"],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n workCenter: {\n name: \"workCenter/fetch\",\n apiFunc: getV1WorkCentre,\n dataKey: \"workCentres\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n },\n workOrder: {\n name: \"workOrder/fetch\",\n apiFunc: getV1WorkOrder,\n dataKey: \"workOrders\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n defaultFilter: { \"is_active.eq\": 1, \"&status.ne\": \"Draft\" },\n },\n vehicleNumbers: {\n name: \"vehicleNumbers/fetch\",\n apiFunc: getV1GateRegisterVehicleNumbers,\n dataKey: \"vehicleNumbers\",\n labelKey: \"number\",\n defaultColumn: [\"id\", \"number\"],\n defaultFilter: null,\n },\n vehicleTypes: {\n name: \"vehicleTypes/fetch\",\n apiFunc: getV1GateRegisterVehicleTypes,\n dataKey: \"vehicleTypes\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n operations: {\n name: \"operations/fetch\",\n apiFunc: getV1Operations,\n dataKey: \"operations\",\n labelKey: \"operation_name\",\n defaultColumn: [\"id\", \"operation_name\"],\n defaultFilter: null,\n },\n assets: {\n name: \"assets/fetch\",\n apiFunc: getV1Assets,\n dataKey: \"assets_list\",\n labelKey: \"asset_name\",\n defaultColumn: [\"id\", \"asset_name\"],\n defaultFilter: { 'status.ne': 'cancelled' },\n },\n assetsPo: {\n name: \"assets/fetch\",\n apiFunc: getV1Assets,\n dataKey: \"assets_list\",\n labelKey: \"asset_name\",\n defaultColumn: [\"id\", \"asset_name\"],\n },\n equipmentCategories: {\n name: \"equipmentCategories/fetch\",\n apiFunc: getV1EquipmentsCategories,\n dataKey: \"categories\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n equipment: {\n name: \"equipment/fetch\",\n apiFunc: getV1Equipments,\n dataKey: \"equipments\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\", \"equipment_category_data\"],\n defaultFilter: { 'status.ne': 'Draft' },\n },\n workCenterCategories: {\n name: \"workCenterCategories/fetch\",\n apiFunc: getV1WorkCentreCategories,\n dataKey: \"work_centre_categories_list\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n rawMaterials: {\n name: \"rawMaterials/fetch\",\n apiFunc: getV1BillsOfMaterialsListMaterials,\n dataKey: \"materials_list\",\n labelKey: \"item_data.name\",\n defaultColumn: [\"id\", \"item_data\"],\n defaultFilter: null,\n },\n countries: {\n name: \"countries/fetch\",\n apiFunc: getV1LocationsCountries,\n dataKey: \"countries\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n rfqs: {\n name: \"rfqs/fetch\",\n apiFunc: getV1Rfq,\n dataKey: \"rfqs\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n defaultFilter: { 'status.ne': 'Draft' },\n },\n states: {\n name: \"states/fetch\",\n apiFunc: getV1LocationsStates,\n dataKey: \"states\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n assemblyItems: {\n name: \"assenmblyItems/fetch\",\n apiFunc: getV1AssemblyItems,\n dataKey: \"assemblyItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"type\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"is_landed_cost\",\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit',\n \"sku\"\n ],\n defaultFilter: { \"status.eq\": 1, '&is_variant.eq': 1 },\n },\n journal_type: {\n name: \"journal/fetch\",\n apiFunc: getV1AssetsJournalTypes,\n dataKey: \"journal_types\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"series_number\", \"name\"],\n },\n journal_entries: {\n name: \"journal-entries/fetch\",\n apiFunc: getV1JournalEntries,\n dataKey: \"journal_entries\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n },\n reference_types: {\n name: \"referenceTypes/fetch\",\n apiFunc: getV1JournalEntriesReferenceType,\n dataKey: \"reference_types\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n },\n invoice: {\n name: \"invoice/fetch\",\n apiFunc: getV1SalesInvoices,\n dataKey: \"invoices\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n },\n bills: {\n name: \"bills/fetch\",\n apiFunc: getV1PurchaseInvoices,\n dataKey: \"invoices\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n },\n notesReasons: {\n name: \"notesReasons/fetch\",\n apiFunc: getV1DebitNotesReasons,\n dataKey: \"reasons\",\n labelKey: \"reason_name\",\n defaultColumn: [\"id\", \"reason_name\"],\n },\n expenseCategories: {\n name: \"expenseCategories/fetch\",\n apiFunc: getV1ExpenseReimbursementExpenseCategories,\n dataKey: \"expense_category_list\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n },\n commissionTarget: {\n name: \"commissionTargets/fetch\",\n apiFunc: getV1CommissionTargets,\n dataKey: \"commission_targets\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n defaultFilter: { \"is_draft.eq\": 0 },\n },\n commissionPlan: {\n name: \"commissionPlans/fetch\",\n apiFunc: getV1CommissionPlans,\n dataKey: \"commission_plans\",\n labelKey: \"title\",\n defaultColumn: [\"id\", \"title\", 'type'],\n defaultFilter: { \"status.eq\": 1 },\n },\n assetTypes: {\n name: \"assetTypes/fetch\",\n apiFunc: getV1AssetsAssetTypes,\n dataKey: \"asset_types\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n fiscalYear: {\n name: \"fiscalYear/fetch\",\n apiFunc: getV1FiscalYear,\n dataKey: \"fiscal\",\n labelKey: \"year_name\",\n defaultColumn: [\"id\", \"year_name\", 'year_start_date', 'year_end_date'],\n defaultFilter: null,\n },\n budgetMonth: {\n name: \"budgetMonth/fetch\",\n apiFunc: getV1BudgetBudgetMonths,\n dataKey: \"budget_months\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n budgetType: {\n name: \"budgetType/fetch\",\n apiFunc: getV1BudgetBudgetTypes,\n dataKey: \"budget_types\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n account_types: {\n name: \"accountTypes/fetch\",\n apiFunc: getV1ChartOfAccountAccountType,\n dataKey: \"activity_list\",\n labelKey: \"type_name\",\n defaultColumn: [\"id\", \"type_name\"],\n },\n taxCategories: {\n name: \"taxCategories/fetch\",\n apiFunc: getV1TaxCategory,\n dataKey: 'tax_category_list',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n taxCodes: {\n name: 'taxCodes/fetch',\n apiFunc: getV1TaxCode,\n dataKey: 'tax_code',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n bankAccountType: {\n name: 'bankAccountType/fetch',\n apiFunc: getV1BankAccountsTypes,\n dataKey: 'account_types',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n bank: {\n name: 'bank/fetch',\n apiFunc: getV1Banks,\n dataKey: 'banks_list',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n dueDateType: {\n name: 'dueDateType/fetch',\n apiFunc: getV1PaymentTermsDueDateTypes,\n dataKey: 'due_date_list',\n labelKey: \"value\",\n defaultColumn: ['id', 'value']\n },\n brand: {\n name: 'brand/fetch',\n apiFunc: getV1Brand,\n dataKey: '',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n stockReason: {\n name: 'stockReason/fetch',\n apiFunc: getV1StockReason,\n dataKey: '',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n contacts: {\n name: 'contacts/fetch',\n apiFunc: getV1OpportunityContact,\n dataKey: '',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n rnTermsConditions: {\n name: 'rnTermsConditions/fetch',\n apiFunc: getV1RentalTermsConditions,\n dataKey: 'terms_and_conditions',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { 'is_active.eq': 1 },\n },\n rnAgreements: {\n name: 'rnAgreements/fetch',\n apiFunc: getV1RentalAgreements,\n dataKey: 'purchase_agreements',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { 'status.eq': \"'In Progress'\", '&is_rental.eq': 1 },\n },\n rnBillingCycle: {\n name: 'rnTermsConditions/fetch',\n apiFunc: getV1RentalBillingCycles,\n dataKey: 'billing_cycles',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: null,\n },\n // priceList:{\n // name:'priceList/fetch',\n // apiFunc: getV1PriceLis,\n // dataKey:'',\n // labelKey: \"name\",\n // defaultColumn:['id','name']\n // },\n rnChOrders: {\n name: 'rnChOrders/fetch',\n apiFunc: getV1CrossHireOrders,\n dataKey: 'purchase_orders',\n labelKey: \"series_number\",\n defaultColumn: ['id', 'series_number'],\n defaultFilter: { '&is_rental.eq': 1 },\n },\n languages: {\n name: 'languages/fetch',\n apiFunc: getV1Languages,\n dataKey: 'languages',\n labelKey: \"name\",\n defaultColumn: ['id', 'name', 'code'],\n },\n roles: {\n name: 'roles/fetch',\n apiFunc: getV1Role,\n dataKey: 'roles',\n labelKey: \"name\",\n defaultColumn: ['id', 'name', 'code'],\n },\n reports: {\n name: 'reports/fetch',\n apiFunc: getV1ReportsReportList,\n dataKey: 'reports',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n uom_templates: {\n name: 'uomTemplate/fetch',\n apiFunc: getV1UomTemplates,\n dataKey: 'templates',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n templates: {\n name: 'templates/fetch',\n apiFunc: getV1Templates,\n labelKey: \"subject_id\",\n valueKey: \"_id\",\n defaultColumn: ['_id', 'subject_id', 'name'],\n },\n workflow_reference: {\n name: 'workflow_reference/fetch',\n apiFunc: getV1WorkflowReferences,\n dataKey: 'workflow_reference',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n grades: {\n name: 'grades/fetch',\n apiFunc: getV1Grades,\n dataKey: 'grades',\n labelKey: \"grade_name\",\n defaultColumn: ['id', 'grade_name'],\n },\n useModules: {\n name: 'useModules/fetch',\n apiFunc: getV1UserModules,\n dataKey: 'modules',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n\n // HRMS\n timezone: {\n name: 'timezone/fetch',\n apiFunc: getV1Timezones,\n dataKey: 'timezones',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n designation: {\n name: 'designation/fetch',\n apiFunc: getV1Designation,\n dataKey: 'designations',\n labelKey: \"name\",\n defaultFilter: { 'status.eq': 1 },\n defaultColumn: ['id', 'name'],\n },\n team: {\n name: 'team/fetch',\n apiFunc: getV1Teams,\n dataKey: 'teams',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n accural_type: {\n name: 'accural_type/fetch',\n apiFunc: getV1AccrualType,\n dataKey: 'accural_types',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n accrual_master: {\n name: 'accrual_master/fetch',\n apiFunc: getV1AccrualMaster,\n dataKey: 'accrual_master',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n leave_category: {\n name: 'leave_category/fetch',\n apiFunc: getV1LeaveCategory,\n dataKey: 'leave_categories',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n // Leave Policy Master - Manages leave policies and configurations for employees\n leave_policy_master: {\n name: 'leave_policy_master/fetch',\n apiFunc: getV1LeavePolicyMaster,\n dataKey: 'leave_policy_masters',\n labelKey: \"leave_type_title\",\n defaultColumn: ['id', 'leave_type_title'],\n defaultFilter: { \"status.eq\": 1, '&is_draft.eq': 0, '&leave_category_id.isnull': false },\n },\n loan_master: {\n name: 'loan_master/fetch',\n apiFunc: getV1LoanMaster,\n dataKey: 'loan_master',\n labelKey: \"loan_name\",\n defaultColumn: ['id', 'loan_name'],\n },\n // Document Master - Manages document types and templates for HR processes\n document_master: {\n name: 'document_master/fetch',\n apiFunc: getV1DocumentMaster,\n dataKey: 'document_master',\n labelKey: \"document_type_name\",\n defaultColumn: ['id', 'document_type_name'],\n defaultFilter: { \"status.eq\": 1 },\n },\n // Company Calendar - Manages company-wide calendar events, holidays, and schedules\n company_calendar: {\n name: 'company_calendar/fetch',\n apiFunc: getV1CompanyCalendar,\n dataKey: 'company_calendars',\n labelKey: \"calendar_name\",\n defaultColumn: ['id', 'calendar_name'],\n },\n // Employee Contracts - Manages employment contracts and agreements\n employee_contract: {\n name: 'employee_contract/fetch',\n apiFunc: getV1EmployeeContracts,\n dataKey: 'employee_contracts',\n labelKey: \"contract_name\",\n defaultColumn: ['id', 'contract_name'],\n },\n // Employee Management - Core employee data and information management\n employees: {\n name: 'employees/fetch',\n apiFunc: getV1Employee,\n dataKey: 'employees',\n labelKey: \"name\",\n defaultColumn: ['id', 'name', 'account'],\n customFilter: { 'status.ne': 'Draft' },\n },\n // Salary Structures - Manages Salary Structures\n salary_structures: {\n name: 'salary_structures/fetch',\n apiFunc: getV1SalaryStructureMaster,\n dataKey: 'salary_structure_master',\n labelKey: \"structure_name\",\n defaultColumn: ['id', 'structure_name', 'min_salary', 'max_salary'],\n defaultFilter: { \"is_active.eq\": 1, '&is_draft.eq': 0 },\n },\n\n skills: {\n name: 'skills/fetch',\n apiFunc: getV1Skills,\n dataKey: 'skills',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n\n hire_requests: {\n name: 'hire_requests/fetch',\n apiFunc: getV1HireRequests,\n dataKey: 'hire_requests',\n labelKey: \"series_number\",\n defaultColumn: ['id', 'series_number', 'position_name'],\n defaultFilter: { \"status.eq\": 'Accepted' },\n },\n\n job_posts: {\n name: 'job_posts/fetch',\n apiFunc: getV1JobPosts,\n dataKey: 'job_posts',\n labelKey: \"title\",\n defaultColumn: ['id', 'title'],\n },\n\n budgets_list: {\n name: 'budgets_list/fetch',\n apiFunc: getV1Budget,\n dataKey: 'budgets_list',\n labelKey: \"budget_name\",\n defaultColumn: ['id', 'budget_name'],\n defaultFilter: { \"status.eq\": 'Approved' },\n },\n employee_assets: {\n name: 'employee_assets/fetch',\n apiFunc: getV1MyAssets,\n dataKey: 'assets',\n labelKey: \"asset_name\",\n defaultColumn: ['id', 'asset_name'],\n },\n\n // PMS\n projects: {\n name: 'projects/fetch',\n apiFunc: getV1Projects,\n dataKey: 'projects',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { \"status.eq\": 'Active' },\n },\n tasks: {\n name: 'tasks/fetch',\n apiFunc: getV1Tasks,\n dataKey: 'tasks',\n labelKey: \"name\",\n defaultColumn: ['id', 'name', 'project_id'],\n defaultFilter: null,\n },\n cost_codes: {\n name: 'cost_codes/fetch',\n apiFunc: getV1CostCodes,\n dataKey: 'cost_codes',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n cost_elements: {\n name: 'cost_elements/fetch',\n apiFunc: getV1CostElements,\n dataKey: 'cost_elements',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n salesOrder: {\n name: 'sales_order/fetch',\n apiFunc: getV1SalesOrders,\n dataKey: 'sales_orders',\n labelKey: \"series_number\",\n defaultColumn: ['id', 'series_number'],\n defaultFilter: { \"status.ne\": 'Draft' },\n },\n sourceType: {\n name: 'source-types/fetch',\n apiFunc: getV1SourceTypes,\n dataKey: 'source_types_list',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { \"status.eq\": 1 },\n },\n};\n\nexport type ApiConfigurationEntry = {\n name: string;\n apiFunc: (params: any) => Promise<any>;\n dataKey: string;\n labelKey: string | ((item: Record<string, any>) => string);\n defaultColumn: string[];\n defaultFilter?: Record<string, any> | string | null;\n valueKey?: string;\n};\n\n/**\n * Extend apiConfigurations with additional entries from consuming apps.\n * Call this before any fetchApi usage (e.g., inside ERPUIProvider initialization).\n */\nexport function extendApiConfigurations(\n entries: Record<string, ApiConfigurationEntry>\n): void {\n Object.assign(apiConfigurations, entries);\n}\n\nexport const fetchApi = async ({\n apiKey,\n filters,\n labelKey,\n valueKey\n}: {\n apiKey: keyof typeof apiConfigurations | string;\n filters: any;\n labelKey?: string;\n valueKey?: string;\n}) => {\n try {\n const config = apiConfigurations[apiKey];\n if (!config) {\n throw `API configuration for key \"${apiKey}\" not found.`;\n }\n const res = await getOptions(\n config.apiFunc,\n filters,\n config.dataKey,\n labelKey || config.labelKey,\n config.defaultColumn,\n config.defaultFilter,\n valueKey\n );\n return res;\n } catch (error: any) {\n const newError = new Error(error);\n showSnackBar(newError);\n throw newError;\n }\n};\nexport const getCurrency = () => { };\n\nexport const getItems = () => { };\n","function formatText(key: string): string {\n return typeof key === 'string' ? key\n .split(/[: ]/)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \") : key;\n}\n\nexport const formatLabel = (key: string): string => {\n return typeof key === 'string'\n ? key\n .split(/[:_-]/)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ')\n : key;\n}\n\nexport const convertToUnderscore = (key: string): string => {\n return typeof key === 'string'\n ? key\n .split(/[:_-]/)\n .map((word) => word.charAt(0).toLowerCase() + word.slice(1))\n .join('_')\n : key;\n}\n\nexport { formatText };\nexport default formatText;\n\n// ─── Smart Search: series-number stripping ───────────────────────────────────\n\nconst TITLE_SEPARATOR = ' · ';\n\n/** Strips HTML tags so highlighted titles (<em>…</em>) can be inspected as plain text. */\nfunction stripHtmlTags(html: string): string {\n return html.replace(/<[^>]*>/g, '');\n}\n\nfunction isSeriesNumber(segment: string): boolean {\n const plain = stripHtmlTags(segment).trim();\n return (\n /^[A-Z][A-Z0-9-]+$/.test(plain) &&\n plain.includes('-') &&\n /\\d/.test(plain)\n );\n}\n\nexport function removeSeriesFromTitle(title: string): string {\n if (!title) return title;\n const parts = title.split(TITLE_SEPARATOR);\n const filtered = parts.filter((part) => !isSeriesNumber(part));\n return filtered.join(TITLE_SEPARATOR);\n}\n","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var r=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),r.call(this,t)};var o=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else o.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s;if(0===u)return this.utc(f);var r=this.clone();if(f)return r.$offset=u,r.$u=!1,r;var o=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(r=this.local().add(u+o,t)).$offset=u,r.$x.$localOffset=o,r};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\ndayjs.extend(utc);\n\nconst dateFormat = (date: string) => {\n\tconst dateParts = date && date.split(' ');\n\tconst utcDate = dateParts && dayjs(dateParts[0]);\n\tconst formattedDate = utcDate && utcDate.format('DD MMM, YYYY');\n\n\treturn formattedDate || '';\n};\n\nexport const formatOnlyTime = (time: any, date?: any, format?: any) => {\n\tif (!time) return '';\n\tconst d = date || dayjs(date).isValid() ? dayjs(date) : dayjs();\n\tconst [h, m, s] = time.split(':').map(Number);\n\n\tconst fTime = d.hour(h).minute(m).second(s);\n\n\treturn format ? fTime.format(format) : fTime;\n};\n\nexport const formatDate = (date?: any, format?: any) => {\n\tif (!date) return '';\n\n\tconst d = dayjs(date);\n\n\tif (!d.isValid()) return '';\n\n\treturn format ? d.format(format) : d.format('DD-MM-YYYY');\n};\n\nexport const formatDataTime = (date: string) => {\n\tif (!date) return ''; \n \n\t// Parse the date without converting it to a timezone\n\tconst parsedDate = dayjs(date);\n \n\tif (!parsedDate.isValid()) return ''; \n \n\treturn parsedDate.format('DD MMM, YYYY • HH:mm');\n }\n \nexport { dateFormat };\nexport default dateFormat;\n\nexport const getMinutesFromTime = (timeString) => {\n\tif(!timeString) return 0\n const time = dayjs(timeString, \"HH:mm:ss\");\n return time.hour() * 60 + time.minute(); // Convert hours to minutes and add minutes\n};\n\nexport const getTimeFromMinutes = (minutes) => {\n\tif(!minutes)return undefined\n\treturn dayjs().startOf(\"day\").add(Number(minutes), \"minutes\").format(\"HH:mm:ss\");\n};\n\nexport const UTCDateFormat = (date: string,format) => {\n\tif(!date) return null\n\tconst dateObj = dayjs.utc(date.replace(' ', 'T').slice(0, 26)).toISOString()\n\treturn formatDate(dateObj, format);\n};\n\nexport const formatUtcDate = (date?: any, format?: any) => {\n\tif (!date) return '';\n\n\tconst d = dayjs.utc(date);\n\n\tif (!d.isValid()) return '';\n\n\treturn format ? d.format(format) : d.format('DD-MM-YYYY');\n};","export const subModuleMappings: Record<string, string> = {\n \"chart-of-accounts\": \"chart-of-account\",\n \"tax-template\": \"tax-templates\",\n \"bank\": \"banks\",\n \"bank-account\": \"bank-accounts\",\n \"journal-entry\": \"journal-entries\",\n \"payment\": \"payment-entries\",\n \"collection\": \"payment-entries\",\n \"debit-note\": \"debit-notes\",\n \"credit-note\": \"credit-notes\",\n \"customer-management\": \"parties\",\n \"vendor-management\": \"parties\",\n \"bill-of-material\": \"bills-of-materials\",\n \"payment-request\": \"sales-invoices/request-payment\",\n \"commission-plan\": \"commission-plans\",\n \"target\": \"commission-targets\",\n \"assignment\": \"commission-assignment\",\n \"assets-management\": \"assets\",\n \"asset-transfer\":\"assets-transfer\",\n \"authorize-commission\": \"commission/authorize\",\n \"reconciliation\": \"reconciliaton\",\n \"expense-report\": \"expense-reimbursement\",\n \"items\":\"inventory-items\",\n \"discounted-item\":\"discount-items\",\n \"location\":\"warehouse-location\",\n \"stock-transfer\":\"stock-transfers\",\n \"scrap\":\"stock-transfers\",\n \"bins\":\"bin\",\n \"item-category\": \"category-items\",\n \"operation-blocks\":\"operation-block\",\n \"work-centers\":\"work-centre\",\n \"work-center-categories\":\"work-centre-categories\",\n \"equipment-failure\":\"equipments/failures\",\n \"manage-operations\":\"job-cards/operations\",\n \"unbuild-order\":\"unbuild-orders\",\n \"build-order\":\"build-orders\",\n \"shippment-rules\":\"shipping-rules\",\n \"promotions\":\"promotion\",\n \"customer-segments\":\"customer-segment\",\n \"requests\": \"purchase-requests\",\n \"request-for-quote\": \"rfq\",\n \"purchase-order\": \"purchase-orders\",\n \"vendor-returns\": \"vra\",\n \"delivery-order\": \"delivery-orders\",\n \"landed-cost\": \"landing-cost\",\n \"billing-cycle\":\"rental-billing-cycles\",\n \"terms-and-conditions\":\"rental-terms-conditions\",\n \"leads\":\"rental-lead\",\n 'agreements': \"rental-agreements\",\n \"department-master\": \"departments\",\n };\n \n \nexport const specificFilters: Record<string, string> = {\n \"payment\": \"payment_type.eq=Send\",\n \"collection\": \"payment_type.eq=Receive\",\n \"customer-management\": \"type.eq=Customer\",\n \"vendor-management\": \"type.eq=Vendor\",\n \"scrap\":\"operation_type.in=[Scrap]\",\n \"items\":\"is_variant.eq=false|self_variant.eq=true\",\n \"item\": 'is_variant.eq=false|self_variant.eq=true',\n 'agreements':\"is_rental.eq=1\",\n \n };","import { MaterialTableColumnProps } from \"../components/material-table/material-table\";\nimport { formatLabel } from \"./format-text\";\n\nexport const SECTION_TYPES = {\n DEFAULT: \"Default\",\n FORM_SWITCH_SECTION: \"Form switcher section\",\n}\n\nexport const responseItemDetailsColumns: MaterialTableColumnProps[] = [\n {\n header: \"rental.crossHireRfq.table.vendor_header\",\n accessorKey: \"item_data.vendor_info.vendor_name\",\n visible: true,\n type: \"custom_link\",\n },\n {\n header: \"rental.crossHireRfq.table.rate_header\",\n accessorKey: \"rate\",\n visible: true,\n type: \"currency\",\n },\n {\n header: \"rental.crossHireRfq.table.minimum_order_quantity\",\n accessorKey: \"min_order_quantity\",\n visible: true,\n type: \"number\",\n },\n {\n header: \"rental.crossHireRfq.table.vendor_uom_header\",\n accessorKey: \"vendor_uom_data.name\",\n visible: true,\n type: \"string\",\n },\n {\n header: \"rental.crossHireRfq.table.specification_header\",\n accessorKey: \"specification\",\n visible: false,\n type: \"string\",\n },\n {\n header: \"rental.crossHireRfq.table.condition_header\",\n accessorKey: \"conditions\",\n visible: false,\n type: \"string\",\n },\n // {\n // header: \"rental.crossHireRfq.table.notes_header\", \n // accessorKey: \"notes\",\n // visible: false,\n // type: \"string\",\n // },\n {\n header: \"rental.crossHireRfq.table.narration_header\",\n accessorKey: \"narration\",\n visible: false,\n type: \"string\",\n },\n];\n\n\nexport const INVENTORY_MATERIAL_COSTING_TYPE_ARR = [\n 'pipe_costing',\n 'boards_costing',\n 'steel_sheets',\n 'coil',\n 'cuplock',\n \"lvl_board\",\n \"ladder_aluminium\",\n \"ladder_beam\",\n \"flat_bar\",\n \"angles\",\n \"ladder_steel\",\n \"steel_board\",\n 'structural_fabrication'\n]\n\nexport const INVENTORY_MATERIAL_COSTING_TYPE_OPTIONS = INVENTORY_MATERIAL_COSTING_TYPE_ARR.map((value) => ({ label: formatLabel(value), value }))\n\n// Interface for form values\nexport type FieldDisableConfig = Record<string, any>;\n\nexport const INVENTORY_FIELDS_TO_BE_DISABLED: FieldDisableConfig = {\n pipe_costing: {\n tube_type: {\n Round: ['shape_width', 'shape_height'],\n Rectangular: ['tube_od',],\n Square: ['tube_od'],\n NO_VALUE: ['shape_width', 'shape_height', 'tube_od'],\n }\n },\n is_rental: {\n 1: ['sales_price', 'alternative_product_sell', 'sales_description', \"price_rules\" , \"sales_replacement_cost\"],\n 0: ['rental_base_price', 'rental_hour_fine', 'rental_day_fine', 'rental_security_time', \"rental_prices\", 'rental_description', \"rental_replacement_cost\"],\n true: ['sales_price', 'alternative_product_sell', 'sales_description', \"price_rules\" , \"sales_replacement_cost\"],\n false: ['rental_base_price', 'rental_hour_fine', 'rental_day_fine', 'rental_security_time', \"rental_prices\", 'rental_description', \"rental_replacement_cost\"],\n NO_VALUE: ['rental_base_price', 'rental_hour_fine', 'rental_day_fine', 'rental_security_time', \"rental_prices\", 'rental_description', \"rental_replacement_cost\" ],\n }\n}\n\nexport const INVENTORY_ALWAYS_DISABLED_FIELDS = ['update_quantity', 'moves_history', 'variants', 'bom', 'location_wise_stock', 'purchase_price', 'base_unit'];\nexport const INVENTORY_ADD_MODE_DISABLED_FIELDS = ['vendor_information', 'update_quantity', 'moves_history', 'reordering_rules', 'variants', 'location_wise_stock', 'bin_wise_stock', 'serial_lot_wise_stock', 'bom'];\nexport const INVENTORY_EDIT_MODE_DISABLED_FIELDS = ['price_rules', 'variants', 'category', 'brand', 'traceability', 'bom', 'location_wise_stock', 'bin_wise_stock', 'serial_lot_wise_stock'];\nexport const INVENTORY_VARIANT_DISABLED_FIELDS = [\n 'category',\n 'parent_item',\n 'attributes',\n 'brand',\n 'alternative_product_sell',\n // 'default_tax_id',\n // 'income_account_id',\n // 'asset_account_id',\n // 'cogs_account_id',\n 'traceability',\n 'location_wise_stock',\n 'bin_wise_stock',\n 'serial_lot_wise_stock'\n];\n","import dayjs from \"dayjs\";\nimport { auth } from \"../constants/auth\";\nimport _ from \"lodash\";\nimport { getV1PartiesId, postV1CurrencyInfo, postV1PartiesCheck, setBaseUrl } from \"../api-client/api.accounting/api\";\nimport { enqueueSnackbar } from \"notistack\";\nimport { fetchApi } from \"./api\";\nimport formatText from \"./format-text\";\nimport { formatDate } from \"./dateFormat\";\nimport { subModuleMappings, specificFilters } from './export-filters'\nimport parsePhoneNumberFromString from \"libphonenumber-js\";\nimport moment from 'moment-timezone'\nimport { getV1CrossHireRfqResponseItems, setBaseUrl as rentalSetBaseUrl } from \"../api-client/api.rental/api\";\nimport { getV1RfqResponseItems, setBaseUrl as purchaseSetBaseUrl } from \"../api-client/api.purchase/api\";\nimport { getV1AssemblyItemsId, postV1InventoryItemsCheck, setBaseUrl as inventorySetBaseUrl } from \"../api-client/api.inventory/api\";\nimport { getV1LocationsCountries, setBaseUrl as rbacSetBaseUrl } from \"../api-client/api.rbac/api\";\nimport { setBaseUrl as hrmsSetBaseUrl } from \"../api-client/api.hrms/api\";\nimport { postV1LeadCheck } from \"../api-client/api.sales/api\";\nimport { getApiConfig, onApiConfigReady } from \"./api-config\";\n// import { postV1LeadCheck } from \"../api-client/api.sales/api\";\nimport { FieldDisableConfig, INVENTORY_ADD_MODE_DISABLED_FIELDS, INVENTORY_ALWAYS_DISABLED_FIELDS, INVENTORY_EDIT_MODE_DISABLED_FIELDS, INVENTORY_FIELDS_TO_BE_DISABLED, INVENTORY_MATERIAL_COSTING_TYPE_ARR, INVENTORY_MATERIAL_COSTING_TYPE_OPTIONS } from \"./constant\";\n\n// Use onApiConfigReady to ensure setBaseUrl calls happen after API config is initialized\n// This prevents module initialization order issues where common.ts might be imported\n// before ERPUIProvider calls initializeApiConfig()\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/accounting`);\n inventorySetBaseUrl(`${baseUrl}/inventory`);\n rbacSetBaseUrl(`${baseUrl}/rbac`);\n rentalSetBaseUrl(`${baseUrl}/rental`);\n purchaseSetBaseUrl(`${baseUrl}/purchase`);\n hrmsSetBaseUrl(`${baseUrl}/hrms`);\n});\nexport const isJsonParse = (jsonString?: string) => {\n if (!jsonString) return false;\n try {\n return JSON.parse(jsonString);\n } catch (err) {\n return false;\n }\n};\n\nexport const generateRandomId = (concatString: string = \"\") => {\n const uniqueStringId = `${Date.now()}${concatString}${Math.random()}`.replace(\n \".\",\n \"\"\n );\n const uniqueNumberId = Number(uniqueStringId.replace(concatString, \"\"));\n\n return { uniqueStringId, uniqueNumberId };\n};\n\nexport const generateAndFormatStringFromObj = (\n obj: any = {},\n keysInOrder: string[] = []\n) => {\n let string = \"\";\n\n keysInOrder?.forEach((key) => {\n if (obj?.[key]) {\n string = string ? string + ` ${obj?.[key]}` : obj?.[key];\n }\n });\n\n return string;\n};\n\nexport const generateFields = (fieldsConfig: any) => {\n const defaultOperators = [\n { name: \"null\", label: \"is null\" },\n { name: \"notNull\", label: \"is not null\" },\n ];\n\n const textOperators = [\n { name: \"contains\", label: \"contains\" },\n { name: \"beginsWith\", label: \"begins with\" },\n { name: \"endsWith\", label: \"ends with\" },\n { name: \"doesNotContain\", label: \"does not contain\" },\n { name: \"doesNotBeginWith\", label: \"does not begin with\" },\n { name: \"doesNotEndWith\", label: \"does not end with\" },\n ...defaultOperators,\n ];\n\n const numberOperators = [\n { name: \"=\", label: \"equal to\" },\n { name: \"<\", label: \"less than\" },\n { name: \"<=\", label: \"less than or equal to\" },\n { name: \">\", label: \"greater than\" },\n { name: \">=\", label: \"greater than or equal to\" },\n ...defaultOperators,\n ];\n\n const selectOperators = [\n { name: \"in\", label: \"in\" },\n { name: \"notIn\", label: \"not in\" },\n ...defaultOperators,\n ];\n\n const dropdownOperators = [{ name: \"in\", label: \"in\" }];\n\n const dateOperators = [\n { name: \"=\", label: \"on\" },\n { name: \"!=\", label: \"not on\" },\n { name: \"<\", label: \"before\" },\n { name: \"<=\", label: \"on or before\" },\n { name: \">\", label: \"after\" },\n { name: \">=\", label: \"on or after\" },\n ...defaultOperators,\n ];\n\n const dateTimeOperators = [\n { name: \"contains\", label: \"on\" },\n { name: \"notContain\", label: \"not on\" },\n { name: \"<\", label: \"before\" },\n { name: \"<=\", label: \"on or before\" },\n { name: \">\", label: \"after\" },\n { name: \">=\", label: \"on or after\" },\n ...defaultOperators,\n\n ];\n\n // const booleanOperators = [{ name: \"=\", label: \"is\" }];\n\n const getFieldConfig = (field: any) => {\n\n let { type, values } = field;\n const { is_aggregate = false, table = null } = field;\n const { key: name, label, fieldType } = field;\n let operators, valueEditorType, inputType, datatype;\n\n if (field?.enum) {\n type = \"select\";\n\n let fieldArr = field.enum;\n\n if (\n fieldArr &&\n !Array.isArray(fieldArr) &&\n typeof fieldArr === \"object\"\n ) {\n fieldArr = Object.values(fieldArr);\n }\n\n values = fieldArr.map((value) => ({ name: value, label: value }));\n }\n\n if (fieldType === \"select\") {\n type = \"select\";\n\n values = field?.options;\n }\n\n if (field?.boolean) {\n type = \"select\";\n\n values = field?.values || [];\n }\n\n if (field?.table) {\n type = \"table\";\n }\n\n switch (type) {\n case \"string\":\n operators = textOperators;\n valueEditorType = \"text\";\n inputType = \"text\";\n break;\n case \"number\":\n operators = numberOperators;\n valueEditorType = \"text\";\n inputType = \"number\";\n break;\n case \"select\":\n operators = selectOperators;\n valueEditorType = \"select\";\n inputType = \"select\";\n break;\n case \"table\":\n operators = dropdownOperators;\n valueEditorType = \"select\";\n inputType = \"select\";\n break;\n case \"datetime\":\n operators = dateTimeOperators;\n valueEditorType = \"text\";\n inputType = \"date\";\n datatype = \"date\";\n break;\n case \"date\":\n operators = dateOperators;\n valueEditorType = \"text\";\n inputType = \"date\";\n datatype = \"date\";\n break;\n case \"boolean\":\n operators = [...dropdownOperators, ...defaultOperators];\n valueEditorType = \"select\";\n inputType = \"select\";\n break;\n default:\n operators = textOperators;\n valueEditorType = \"text\";\n inputType = \"text\";\n }\n\n return {\n name: name.replace(\"__replaceKey\", ''),\n // name,\n label,\n valueEditorType,\n operators,\n inputType,\n datatype,\n comparator: \"datatype\",\n values,\n is_aggregate,\n table,\n };\n };\n\n return fieldsConfig.filter((f: any) => f.isFilterAllowed && f?.type).map(getFieldConfig);\n};\n\nexport const generateQueryString = (rule: any) => {\n const operatorMap = {\n null: \"eq\",\n notNull: \"ne\",\n contains: \"like\",\n beginsWith: \"like\",\n endsWith: \"like\",\n doesNotContain: \"ne\",\n notContain: \"notLike\",\n doesNotBeginWith: \"ne\",\n doesNotEndWith: \"ne\",\n \"<\": \"lt\",\n \"<=\": \"lte\",\n \">\": \"gt\",\n \">=\": \"gte\",\n \"=\": \"eq\",\n \"!=\": \"ne\",\n in: \"in\",\n notIn: \"nin\",\n };\n\n const formatValue = (operator: any, value: any) => {\n if ([\"in\", \"notIn\"].includes(operator)) {\n return `[${value}]`;\n } else if ([\"like\", \"ilike\", \"notLike\"].includes(operator)) {\n if (operator === \"beginsWith\") return `${value}%`;\n if (operator === \"endsWith\") return `%${value}`;\n return `%${value}%`;\n } else if (operator === \"null\" || operator === \"notNull\") {\n return \"\";\n } else {\n return value;\n }\n };\n\n const processRules = (rules: any) => {\n return rules.map((rule) => {\n let ruleValue = rule.value;\n if (Array.isArray(ruleValue)) {\n ruleValue = ruleValue.map(rv => {\n if (typeof rv === 'object') {\n rv = rv.name\n }\n return rv\n })\n }\n if (rule.rules) {\n\n const combinator = rule.combinator === \"or\" ? \"|\" : \"&\";\n const nestedRules = processRules(rule.rules);\n return `${nestedRules.join(combinator)}`;\n } else {\n let operator = operatorMap[rule.operator];\n\n if (\n (operator === \"in\" || operator === \"notIn\") &&\n typeof ruleValue === \"string\"\n ) {\n operator = \"eq\";\n }\n\n if (rule.operator === \"null\" || rule.operator === \"notNull\") {\n ruleValue = null;\n }\n\n const value = formatValue(operator, ruleValue);\n if (operator === \"eq\" || operator === \"ne\") {\n return `${rule.field}.${operator}=${value}`;\n }\n return `${rule.field}.${operator}=${value}`;\n }\n });\n };\n\n const combinator = rule.combinator === \"or\" ? \"|\" : \"&\";\n const processedRules = processRules(rule.rules);\n return `(${processedRules.join(combinator)})`.replace(/ /g, \"---\");\n};\n\n\n// export const formatAmount = (\n// \tamount: number | string = '',\n// \tformat: string = '',\n// \tposition: 'after' | 'before' = 'after',\n// \tsymbol?: string\n// ) => {\n\n// \tlet isNegative = false;\n// \tamount = amount.toString();\n// \tif (amount.includes('-')) {\n// \t\tamount = amount.replace('-', '');\n// \t\tisNegative = true;\n// \t}\n\n// \tif (format && amount) {\n// \t\t// Split the format into integer and decimal parts\n// \t\tconst [integerFormat, decFormat] = format.split('.');\n// \t\tlet intFormat: string | string[] = integerFormat;\n// \t\t// Convert amount to string and split into integer and decimal parts\n// \t\tconst [integerAmount, decAmount] = Math.abs(Number(amount))\n// \t\t\t.toFixed(decFormat ? decFormat.length : 0)\n// \t\t\t.toString()\n// \t\t\t.trim()\n// \t\t\t.split('.');\n// \t\tlet intAmount: string | string[] = integerAmount;\n// \t\t// let [intAmount, decAmount] = Math.abs(amount).toFixed(decFormat ? decFormat.length : 0).split('.');\n\n// \t\tconst am = intAmount.split('').reverse().join('');\n// \t\tconst formatArr: string[] = intFormat.split(',').reverse();\n\n// \t\tif (intFormat.length !== 1) {\n// \t\t\twhile (formatArr.join('').length < am.length) {\n// \t\t\t\tif (formatArr.length >= 2) {\n// \t\t\t\t\tformatArr.splice(1, 0, formatArr[1]);\n// \t\t\t\t} else {\n// \t\t\t\t\tformatArr.push(formatArr[formatArr.length - 1]);\n// \t\t\t\t}\n// \t\t\t}\n// \t\t} else {\n// \t\t\tconst formatZeroIndex = am?.split('')?.reduce((lv: string) => {\n// \t\t\t\treturn lv + '#';\n// \t\t\t}, '');\n\n// \t\t\tformatArr[0] = formatZeroIndex;\n// \t\t}\n\n// \t\tintFormat = formatArr.join(',').split('');\n\n// \t\t// Reverse the integer amount and format for easier processing from right to left\n// \t\tintAmount = intAmount.split('').reverse();\n\n// \t\tlet formattedInt = '';\n// \t\tlet intIndex = 0;\n// \t\tfor (let i = 0; i < intFormat.length; i++) {\n// \t\t\tif (intFormat[i] === '#') {\n// \t\t\t\tformattedInt +=\n// \t\t\t\t\tintAmount[intIndex] !== undefined ? intAmount[intIndex++] : '';\n// \t\t\t} else if (intFormat[i] === ',') {\n// \t\t\t\tformattedInt += intIndex > 0 ? ',' : '';\n// \t\t\t} else {\n// \t\t\t\tformattedInt += intFormat[i];\n// \t\t\t}\n// \t\t}\n\n// \t\t// Reverse back to the original order\n// \t\tformattedInt = formattedInt.split('').reverse().join('');\n\n// \t\t// Handle the decimal part\n// \t\tlet formattedDec = '';\n// \t\tif (decFormat && decAmount) {\n// \t\t\tfor (let i = 0; i < decFormat.length; i++) {\n// \t\t\t\tformattedDec +=\n// \t\t\t\t\tdecFormat[i] === '#'\n// \t\t\t\t\t\t? decAmount[i] !== undefined\n// \t\t\t\t\t\t\t? decAmount[i]\n// \t\t\t\t\t\t\t: ''\n// \t\t\t\t\t\t: decFormat[i];\n// \t\t\t}\n// \t\t}\n\n// \t\twhile (formattedInt?.startsWith(',')) {\n// \t\t\tformattedInt = formattedInt.replace(',', '');\n// \t\t}\n\n// \t\t// Combine integer and decimal parts\n// \t\tlet formattedAmount = formattedInt;\n// \t\tif (formattedDec) {\n// \t\t\tformattedAmount += '.' + formattedDec;\n// \t\t}\n\n// \t\t// Add negative sign if the amount is negative\n// \t\tif (isNegative) {\n// \t\t\tformattedAmount = '-' + formattedAmount;\n// \t\t}\n\n// \t\t// Add symbol on specific position\n// \t\tif (symbol && position) {\n\n// \t\t\tif (position === 'after') {\n// \t\t\t\tformattedAmount = formattedAmount + ' ' + symbol;\n// \t\t\t} else if (position === 'before') {\n// \t\t\t\tformattedAmount = symbol + ' ' + formattedAmount;\n// \t\t\t}\n// \t\t}\n// \t\treturn formattedAmount;\n// \t}\n\n// \treturn isNegative ? '-' + amount : amount;\n// };\n\n\nexport const getOperatorLabel = (rule: any, filterFields: any[]) => {\n const defaultOperators = [\n { name: 'null', label: 'Is null' },\n { name: 'notNull', label: 'Is not null' }\n ];\n\n const textOperators = [\n { name: 'contains', label: 'Contains' },\n { name: 'beginsWith', label: 'Begins with' },\n { name: 'endsWith', label: 'Ends with' },\n { name: 'doesNotContain', label: 'Does not contain' },\n { name: 'doesNotBeginWith', label: 'Does not begin with' },\n { name: 'doesNotEndWith', label: 'Does not end with' },\n ...defaultOperators\n ];\n\n const numberOperators = [\n { name: '=', label: 'Equal to' },\n { name: '<', label: 'Less than' },\n { name: '<=', label: 'Less than or equal to' },\n { name: '>', label: 'Greater than' },\n { name: '>=', label: 'Greater than or equal to' },\n ...defaultOperators\n ];\n\n const selectOperators = [\n { name: 'in', label: 'In' },\n { name: 'notIn', label: 'Not in' },\n ...defaultOperators\n ];\n\n const dropdownOperators = [{ name: 'in', label: 'In' }];\n\n const dateOperators = [\n { name: '=', label: 'On' },\n { name: '!=', label: 'Not on' },\n { name: '<', label: 'Before' },\n { name: '<=', label: 'On or before' },\n { name: '>', label: 'After' },\n { name: '>=', label: 'On or after' },\n ...defaultOperators\n ];\n\n const booleanOperators = [{ name: '=', label: 'is' }, ...defaultOperators];\n const { field: rField, operator } = rule;\n const field = filterFields?.find(\n (ff) => ff.key.replace('__replaceKey', '') == rField\n );\n let operatorLable = '';\n if (field) {\n let { type } = field || {};\n // const { is_aggregate = false, table = null } = field || {};\n const { fieldType } = field;\n\n if (field?.enum) {\n type = 'select';\n }\n\n if (fieldType === 'select') {\n type = 'select';\n }\n\n if (field?.boolean) {\n type = 'select';\n }\n\n if (field?.table) {\n type = 'table';\n }\n\n switch (type) {\n case 'string':\n operatorLable =\n textOperators.find((to) => to.name == operator)?.label || '';\n break;\n case 'number':\n operatorLable =\n numberOperators.find((no) => no.name == operator)?.label || '';\n break;\n case 'select':\n operatorLable =\n selectOperators.find((so) => so.name == operator)?.label || '';\n break;\n case 'table':\n operatorLable =\n dropdownOperators.find((dwo) => dwo.name == operator)?.label || '';\n break;\n case 'datetime':\n operatorLable =\n dateOperators.find((dto) => dto.name == operator)?.label || '';\n break;\n case 'date':\n operatorLable =\n dateOperators.find((dto) => dto.name == operator)?.label || '';\n break;\n case 'boolean':\n operatorLable =\n booleanOperators.find((bo) => bo.name == operator)?.label || '';\n break;\n }\n }\n\n return operatorLable;\n};\n\nexport const formatAmount = (\n amount: number | string = \"\",\n format: string = \"\",\n position: \"after\" | \"before\" = \"before\",\n symbol?: string\n): string => {\n if (amount === \"\" || amount === null || amount === undefined) {\n amount = 0;\n }\n\n if (typeof amount === \"string\") {\n amount = parseFloat(amount.replace(/[^\\d.-]/g, \"\"));\n if (isNaN(amount)) return \"\";\n }\n\n const num = parseFloat((amount as number).toFixed(2));\n\n let formatter: Intl.NumberFormat;\n\n switch (format) {\n case \"#,###.##\":\n formatter = new Intl.NumberFormat(\"en-US\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n break;\n case \"#.###,##\":\n formatter = new Intl.NumberFormat(\"de-DE\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n break;\n case \"# ###.##\":\n formatter = new Intl.NumberFormat(\"fr-FR\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n break;\n case \"# ###,##\":\n formatter = new Intl.NumberFormat(\"es-ES\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n break;\n case \"#’ ###. ##\":\n formatter = new Intl.NumberFormat(\"de-CH\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n break;\n case \"#, ###.##\":\n formatter = new Intl.NumberFormat(\"en-GB\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n break;\n default:\n formatter = new Intl.NumberFormat(\"en-US\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n }\n\n let formattedAmount = formatter.format(num);\n\n // Handle specific spacing for formats\n if (format === \"# ###.##\" || format === \"# ###,##\") {\n formattedAmount = formattedAmount.replace(/\\u00A0/g, \" \");\n }\n if (format === \"#’ ###. ##\") {\n formattedAmount = formattedAmount.replace(/\\u00A0/g, \" \").replace(/'/g, \"’\");\n }\n if (format === \"#, ###.##\") {\n formattedAmount = formattedAmount.replace(/,/g, \", \");\n }\n\n if (symbol) {\n return position === \"after\"\n ? `${formattedAmount} ${symbol}`\n : `${symbol} ${formattedAmount}`;\n }\n\n return formattedAmount;\n};\n\n\nexport const filterCoaByCompanyIdOrNull = (\n allCoa: any[],\n { companyId }: { companyId?: number | string | null | any[] }\n) => {\n if (!allCoa?.length) return [];\n\n return allCoa.filter((coa) => {\n if (companyId) {\n const ic = Array.isArray(companyId)\n ? companyId.map(Number)\n : [Number(companyId)];\n return !coa.company_ids || coa.company_ids.some((c) => ic.includes(c.id));\n }\n return !coa.company_ids;\n });\n};\n\n// type DiscountDueDateBasedOn = \"DAYS_AFTER_INVOICE_DATE\" | \"DAYS_AFTER_INVOICE_MONTH\" | \"MONTHS_AFTER_INVOICE_MONTH\";\n\nexport const validateDiscountValidity = (\n date,\n discountDueDateBasedOn,\n discountValidity\n) => {\n const currentDate = new Date();\n const dateObj = new Date(date);\n let discountEndDate;\n\n switch (discountDueDateBasedOn) {\n case \"DAYS_AFTER_INVOICE_DATE\":\n discountEndDate = new Date(dateObj);\n discountEndDate.setDate(\n discountEndDate.getDate() + parseInt(discountValidity)\n );\n break;\n case \"DAYS_AFTER_INVOICE_MONTH\":\n discountEndDate = new Date(\n dateObj.getFullYear(),\n dateObj.getMonth() + 1,\n parseInt(discountValidity)\n );\n break;\n case \"MONTHS_AFTER_INVOICE_MONTH\":\n discountEndDate = new Date(dateObj);\n discountEndDate.setMonth(\n discountEndDate.getMonth() + parseInt(discountValidity)\n );\n discountEndDate = new Date(\n discountEndDate.getFullYear(),\n discountEndDate.getMonth() + 1,\n 0\n ); // End of the month\n break;\n default:\n throw new Error(\"Invalid discount_due_date_based_on value\");\n }\n\n return currentDate <= discountEndDate;\n};\n\nconst token = localStorage.getItem(auth.storageTokenKeyName) || undefined;\nexport const postImportSheet = async (request: any, moduleName: string) => {\n\n let mainModule = window.location.pathname.split('/')[2]\n const subModuleName = window.location.pathname.split('/')[3]\n console.log(\"mainModule\", mainModule, moduleName)\n let type = ''\n if (mainModule == \"crm\") {\n mainModule = \"sales\"\n }\n if (mainModule == \"procurement\") {\n mainModule = \"purchase\"\n }\n if (mainModule == 'rental' && subModuleName == 'item') {\n mainModule = 'inventory'\n }\n if (mainModule == 'rental' && moduleName == 'quotation') {\n moduleName = 'rental-quotations'\n }\n if (mainModule == 'rental' && moduleName == 'lead') {\n moduleName = 'rental-lead'\n }\n if (mainModule == 'rental' && moduleName == 'rfq') {\n mainModule = 'purchase'\n }\n if (mainModule == 'rental' && moduleName == 'purchase-orders') {\n mainModule = 'purchase'\n }\n if (mainModule == 'rental' && moduleName == 'opportunity') {\n moduleName = 'rental-opportunity'\n }\n\n if (moduleName == 'collection-entries') {\n moduleName = 'payment-entries'\n type = 'receive'\n }\n\n\n\n const baseUrl = `${getApiConfig().backendBaseUrl}/${mainModule}`;\n\n const headers = {};\n\n headers[\"x-token\"] = token;\n // headers['Content-type'] = 'application/json; charset=utf-8';\n\n const response = await fetch(`${baseUrl}/v1/${moduleName}/import${type ? `?type=${type}` : ''}`, {\n method: \"POST\",\n body: request,\n headers,\n });\n\n if (!response.ok) {\n throw new Error(await response.text());\n }\n\n return await response.json();\n};\n\nexport const getExcelTemplateGenerateTemplate = async (request: any) => {\n const baseUrl = `${getApiConfig().backendBaseUrl}/accounting`;\n\n const headers = {};\n\n if (request[\"x-token\"] !== undefined) {\n headers[\"x-token\"] = request[\"x-token\"];\n delete request[\"x-token\"];\n }\n if (request[\"Content-Type\"] !== undefined) {\n headers[\"Content-Type\"] = request[\"Content-Type\"];\n delete request[\"Content-Type\"];\n }\n console.log(\"request\", request.resource)\n const response = await fetch(\n `${baseUrl}/v1/excel-template/generate-template?resource=${request.resource.toString()}`,\n {\n headers,\n }\n );\n\n if (!response.ok) {\n throw new Error(await response.text());\n }\n\n return await response;\n};\n\n\nexport const getExcelExportTemplate = async (request: any) => {\n const baseUrl = `${getApiConfig().backendBaseUrl}`;\n\n const headers = {};\n\n if (request[\"x-token\"] !== undefined) {\n headers[\"x-token\"] = request[\"x-token\"];\n delete request[\"x-token\"];\n }\n if (request[\"Content-Type\"] !== undefined) {\n headers[\"Content-Type\"] = request[\"Content-Type\"];\n delete request[\"Content-Type\"];\n }\n const pathParts = window.location.pathname.split(\"/\");\n const currentPath = pathParts.pop();\n const currentModule = pathParts[3];\n let moduleName = pathParts[2];\n console.log(\"selectedIds\", request)\n console.log(\"moduleName\", moduleName, currentPath, currentModule)\n if (currentPath == \"demand-planning\") {\n moduleName = \"purchase\"\n }\n if (moduleName == \"crm\") {\n moduleName = \"sales\"\n }\n if (moduleName == \"procurement\") {\n moduleName = \"purchase\"\n }\n let combinedFilters = \"\";\n const excelpath = \"generate-excel\";\n if (currentPath && specificFilters[currentPath]) {\n combinedFilters = specificFilters[currentPath];\n }\n if (currentPath === \"items\" || currentPath === 'item') {\n if (request?.title && request?.title == \"Non Inventory\") {\n request.title = \"non-inventory\"\n } else if (request?.title && request?.title == \"Assembly (Finished product)\") {\n request.title = \"assembly\"\n }\n combinedFilters += `&type.eq=${request?.title.toLowerCase()}`\n }\n if (request.filterQueryString) {\n const cleanedFilterQueryString = request.filterQueryString.replace(/[{}()]/g, \"\");\n if (combinedFilters) {\n combinedFilters = `(${combinedFilters}&${cleanedFilterQueryString})`;\n } else {\n combinedFilters = `(${cleanedFilterQueryString})`;\n }\n } else {\n combinedFilters = `(${combinedFilters})`;\n }\n if (combinedFilters === \"()\") {\n combinedFilters = \"\";\n }\n if (combinedFilters.includes(\"is_variant.eq=false|self_variant.eq=true\")) {\n if (moduleName == \"rental\") {\n combinedFilters = combinedFilters.replace(\"is_variant.eq=false|self_variant.eq=true\", \"(is_variant.eq=false|self_variant.eq=true&is_rental.eq=1)\");\n } else {\n combinedFilters = combinedFilters.replace(\"is_variant.eq=false|self_variant.eq=true\", \"(is_variant.eq=false|self_variant.eq=true)\");\n }\n }\n\n\n\n if (currentPath && !specificFilters[currentPath] && !request.filterQueryString) {\n combinedFilters = \"\"\n }\n\n let subModuleName = subModuleMappings[currentPath || \"\"] || currentPath;\n console.log(\"combinedFiltersNEWWWWWWWWWW\", moduleName, subModuleName, combinedFilters)\n if (moduleName == \"sales\" && subModuleName == \"quotation\") {\n combinedFilters = '(is_rental.eq=0)'\n }\n if (moduleName == \"sales\" && subModuleName == \"sales-orders\") {\n combinedFilters = '(is_rental.eq=0)'\n }\n if (moduleName == \"rental\" && subModuleName == \"rental-lead\") {\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == \"sales\" && subModuleName == \"lead\") {\n combinedFilters = '(is_rental.eq=0)'\n }\n\n if (\n moduleName === \"purchase\" &&\n (subModuleName === \"purchase-requests\" || subModuleName === \"rfq\" || subModuleName === \"purchase-orders\")\n ) {\n combinedFilters = '(is_rental.eq=0)';\n }\n\n if (moduleName == \"rental\" && subModuleName == \"quotation\") {\n console.log(\"rental quotation::::::::::::::::::;\")\n subModuleName = \"rental-quotations\"\n }\n if (moduleName == \"rental\" && subModuleName == \"opportunity\") {\n subModuleName = \"rental-opportunity\"\n }\n if (moduleName == 'rental' && subModuleName == 'item') {\n moduleName = \"inventory\"\n subModuleName = 'inventory-items'\n }\n if (moduleName == 'rental' && subModuleName == 'category') {\n moduleName = \"inventory\"\n subModuleName = 'category-items'\n }\n if (moduleName == 'rental' && subModuleName == 'purchase-requests') {\n subModuleName = 'cross-hire-requests'\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == 'rental' && subModuleName == 'rfq' && currentModule != 'purchase') {\n subModuleName = 'cross-hire-rfq'\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == 'rental' && subModuleName == 'rfq' && currentModule == 'purchase') {\n moduleName = 'purchase'\n combinedFilters = '(is_rental.eq=0)'\n }\n\n if (moduleName == 'rental' && subModuleName == 'orders' && request.title !== 'Rental Orders' && request.title !== 'Replacement Orders') {\n console.log(\"combinedFilters\", combinedFilters);\n subModuleName = 'cross-hire-orders'\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == 'rental' && (subModuleName == 'orders' || subModuleName == 'cross-hire-orders') && currentModule == 'purchase') {\n moduleName = 'purchase'\n subModuleName = \"purchase-orders\"\n combinedFilters = '(is_rental.eq=0)'\n }\n if (moduleName == 'rental' && subModuleName == 'rental-quotations' && request.title == \"Quotations\") {\n combinedFilters = '(is_visible.eq=1&is_rental.eq=1&is_replacement.eq=0)'\n }\n if (moduleName == 'rental' && subModuleName == 'rental-quotations' && request.title == \"Replacement Quotations\") {\n combinedFilters = '(is_visible.eq=1&is_rental.eq=1&is_replacement.eq=1)'\n }\n if (moduleName == 'rental' && subModuleName == 'orders' && request.title == 'Rental Orders') {\n subModuleName = 'rental-orders'\n combinedFilters = '(is_rental.eq=1&is_replacement.eq=0)'\n }\n if (moduleName == 'rental' && subModuleName == 'orders' && request.title == 'Replacement Orders') {\n subModuleName = 'rental-orders'\n combinedFilters = '(is_rental.eq=1&is_replacement.eq=1)'\n }\n console.log(\"moduleName\", moduleName, subModuleName, request.title)\n const queryParams: Record<string, string> = {};\n if (request.selectedIds && combinedFilters) {\n if (request.selectedIds.length > 0) {\n combinedFilters = `(${combinedFilters}&id.in=${request.selectedIds})`;\n }\n } else if (request.selectedIds) {\n if (request.selectedIds.length > 0) {\n combinedFilters = `(id.in=${request.selectedIds})`;\n }\n }\n if (combinedFilters) {\n queryParams.filters = combinedFilters;\n }\n const queryString = new URLSearchParams(queryParams).toString();\n const response = await fetch(\n `${baseUrl}/${moduleName}/v1/${subModuleName}/${excelpath}${queryString ? `?${queryString}` : \"\"\n }`,\n {\n headers,\n }\n );\n\n if (!response.ok) {\n throw new Error(await response.text());\n }\n\n return await response;\n};\n\nexport const getPdfExportTemplate = async (request: any) => {\n const baseUrl = `${getApiConfig().backendBaseUrl}`;\n const headers = {};\n\n if (request[\"x-token\"] !== undefined) {\n headers[\"x-token\"] = request[\"x-token\"];\n delete request[\"x-token\"];\n }\n if (request[\"Content-Type\"] !== undefined) {\n headers[\"Content-Type\"] = request[\"Content-Type\"];\n delete request[\"Content-Type\"];\n }\n const pathParts = window.location.pathname.split(\"/\");\n const currentPath = pathParts.pop();\n const currentModule = pathParts[3];\n let moduleName = pathParts[2];\n\n if (currentPath == \"demand-planning\") {\n moduleName = \"purchase\"\n }\n if (moduleName == \"crm\") {\n moduleName = \"sales\"\n }\n if (moduleName == \"procurement\") {\n moduleName = \"purchase\"\n }\n let combinedFilters = \"\";\n const pdfpath = \"generate-pdf\";\n if (currentPath && specificFilters[currentPath]) {\n combinedFilters = specificFilters[currentPath];\n }\n if (currentPath === \"items\" || currentPath === 'item') {\n if (request?.title && request?.title == \"Non Inventory\") {\n request.title = \"non-inventory\"\n } else if (request?.title && request?.title == \"Assembly (Finished product)\") {\n request.title = \"assembly\"\n }\n combinedFilters += `&type.eq=${request?.title.toLowerCase()}`\n }\n if (request.filterQueryString) {\n const cleanedFilterQueryString = request.filterQueryString.replace(/[{}()]/g, \"\");\n if (combinedFilters) {\n combinedFilters = `(${combinedFilters}&${cleanedFilterQueryString})`;\n } else {\n combinedFilters = `(${cleanedFilterQueryString})`;\n }\n } else {\n combinedFilters = `(${combinedFilters})`;\n }\n if (combinedFilters === \"()\") {\n combinedFilters = \"\";\n }\n if (combinedFilters.includes(\"is_variant.eq=false|self_variant.eq=true\")) {\n if (moduleName == \"rental\") {\n combinedFilters = combinedFilters.replace(\"is_variant.eq=false|self_variant.eq=true\", \"(is_variant.eq=false|self_variant.eq=true&is_rental.eq=1)\");\n } else {\n combinedFilters = combinedFilters.replace(\"is_variant.eq=false|self_variant.eq=true\", \"(is_variant.eq=false|self_variant.eq=true)\");\n }\n }\n\n if (currentPath && !specificFilters[currentPath] && !request.filterQueryString) {\n combinedFilters = \"\"\n }\n\n let subModuleName = subModuleMappings[currentPath || \"\"] || currentPath;\n\n if (moduleName == \"sales\" && subModuleName == \"quotation\") {\n combinedFilters = '(is_rental.eq=0)'\n }\n if (moduleName == \"sales\" && subModuleName == \"sales-orders\") {\n combinedFilters = '(is_rental.eq=0)'\n }\n if (moduleName == \"rental\" && subModuleName == \"rental-lead\") {\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == \"sales\" && subModuleName == \"lead\") {\n combinedFilters = '(is_rental.eq=0)'\n }\n\n if (\n moduleName === \"purchase\" &&\n (subModuleName === \"purchase-requests\" || subModuleName === \"rfq\" || subModuleName === \"purchase-orders\")\n ) {\n combinedFilters = '(is_rental.eq=0)';\n }\n\n if (moduleName == \"rental\" && subModuleName == \"quotation\") {\n subModuleName = \"rental-quotations\"\n }\n if (moduleName == \"rental\" && subModuleName == \"opportunity\") {\n subModuleName = \"rental-opportunity\"\n }\n if (moduleName == 'rental' && subModuleName == 'item') {\n moduleName = \"inventory\"\n subModuleName = 'inventory-items'\n }\n if (moduleName == 'rental' && subModuleName == 'category') {\n moduleName = \"inventory\"\n subModuleName = 'category-items'\n }\n if (moduleName == 'rental' && subModuleName == 'purchase-requests') {\n subModuleName = 'cross-hire-requests'\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == 'rental' && subModuleName == 'rfq' && currentModule != 'purchase') {\n subModuleName = 'cross-hire-rfq'\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == 'rental' && subModuleName == 'rfq' && currentModule == 'purchase') {\n moduleName = 'purchase'\n combinedFilters = '(is_rental.eq=0)'\n }\n\n if (moduleName == 'rental' && subModuleName == 'orders' && request.title !== 'Rental Orders' && request.title !== 'Replacement Orders') {\n subModuleName = 'cross-hire-orders'\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == 'rental' && (subModuleName == 'orders' || subModuleName == 'cross-hire-orders') && currentModule == 'purchase') {\n moduleName = 'purchase'\n subModuleName = \"purchase-orders\"\n combinedFilters = '(is_rental.eq=0)'\n }\n if (moduleName == 'rental' && subModuleName == 'rental-quotations' && request.title == \"Quotations\") {\n combinedFilters = '(is_visible.eq=1&is_rental.eq=1&is_replacement.eq=0)'\n }\n if (moduleName == 'rental' && subModuleName == 'rental-quotations' && request.title == \"Replacement Quotations\") {\n combinedFilters = '(is_visible.eq=1&is_rental.eq=1&is_replacement.eq=1)'\n }\n if (moduleName == 'rental' && subModuleName == 'orders' && request.title == 'Rental Orders') {\n subModuleName = 'rental-orders'\n combinedFilters = '(is_rental.eq=1&is_replacement.eq=0)'\n }\n if (moduleName == 'rental' && subModuleName == 'orders' && request.title == 'Replacement Orders') {\n subModuleName = 'rental-orders'\n combinedFilters = '(is_rental.eq=1&is_replacement.eq=1)'\n }\n\n const queryParams: Record<string, string> = {};\n\n // Handle selected rows - send as separate parameter instead of adding to filters\n if (request.selectedIds && request.selectedIds.length > 0) {\n // Extract IDs - handle both array of IDs and array of objects\n let rowIds: string[] = [];\n if (Array.isArray(request.selectedIds)) {\n rowIds = request.selectedIds.map((item: any) => {\n // If item is an object with 'id' property, extract it\n if (typeof item === 'object' && item !== null && 'id' in item) {\n return String(item.id);\n }\n // Otherwise, convert directly to string\n return String(item);\n }).filter((id: string) => id && id !== 'undefined' && id !== 'null');\n } else {\n rowIds = [String(request.selectedIds)];\n }\n\n if (rowIds.length > 0) {\n queryParams.selectedRows = rowIds.join(',');\n console.log(\"Sending selectedRows:\", queryParams.selectedRows);\n }\n }\n\n // Extract visible columns from activePage - filter only visible ones and get their keys and labels\n if (request.activePage?.visible_columns && request.activePage.visible_columns.length > 0) {\n const visibleColumns = request.columns\n .filter((col: any) => col.visible !== false)\n .map((col: any) => {\n return {\n key: col.accessorKey || col.key,\n label: col.header\n };\n })\n .filter((col: any) => col.key);\n\n if (visibleColumns.length > 0) {\n queryParams.columns = JSON.stringify(visibleColumns);\n }\n }\n\n // Extract sort/order from activePage to maintain display order in PDF\n if (request.activePage?.sort) {\n const hasSort = Array.isArray(request.activePage.sort)\n ? request.activePage.sort.length > 0\n : Object.keys(request.activePage.sort).length > 0;\n\n if (hasSort) {\n let orderObject = {};\n\n if (Array.isArray(request.activePage.sort) && request.activePage.sort.length > 0) {\n // MRT array format: [{ id: 'column', desc: false }]\n const sortItem = request.activePage.sort[0];\n orderObject[sortItem.id] = sortItem.desc ? 'desc' : 'asc';\n } else if (typeof request.activePage.sort === 'object') {\n if (request.activePage.sort.id !== undefined && request.activePage.sort.desc !== undefined) {\n // Single sort object: { id: 'column', desc: true }\n orderObject[request.activePage.sort.id] = request.activePage.sort.desc ? 'desc' : 'asc';\n } else {\n // Already in backend format: { column: 'asc' }\n orderObject = request.activePage.sort;\n }\n }\n\n queryParams.order = JSON.stringify(orderObject);\n }\n }\n\n if (combinedFilters) {\n queryParams.filters = combinedFilters;\n }\n const queryString = new URLSearchParams(queryParams).toString();\n const response = await fetch(\n `${baseUrl}/${moduleName}/v1/${subModuleName}/${pdfpath}${queryString ? `?${queryString}` : \"\"\n }`,\n {\n headers,\n }\n );\n\n if (!response.ok) {\n throw new Error(await response.text());\n }\n\n return await response;\n};\n\nexport const removeIdStaticIdsFromMongoObject = (data: any) => {\n const newData = data.map((ele: { _id: string | number }) => {\n if (typeof ele._id === \"number\") {\n return { ...ele, _id: null };\n }\n return ele;\n });\n\n return newData;\n};\n\n/**\n * * FILE UPLOAD\n */\nconst spliceUploadedLocation = (uploadedlocation: string) => {\n const splitLocation = uploadedlocation.split(\"/\");\n if (splitLocation.length) {\n splitLocation.splice(0, splitLocation.length - 2);\n return splitLocation.join(\"/\");\n }\n\n return uploadedlocation;\n};\n\n/**\n * Fetch with retry logic for network resilience\n */\nasync function fetchWithRetry(\n url: string,\n options: RequestInit,\n maxRetries: number,\n retryDelay: number\n): Promise<Response> {\n let lastError: Error;\n\n for (let attempt = 0; attempt <= maxRetries; attempt++) {\n try {\n const response = await fetch(url, options);\n\n // If it's a server error (5xx), retry\n if (response.status >= 500 && attempt < maxRetries) {\n throw new Error(`Server error: ${response.status} ${response.statusText}`);\n }\n\n return response;\n } catch (error: any) {\n lastError = error;\n\n // Don't retry for abort signals or client errors (4xx)\n if (error.name === 'AbortError') {\n throw error;\n }\n\n if (attempt < maxRetries) {\n const delay = retryDelay * Math.pow(2, attempt); // Exponential backoff\n console.warn(`Attempt ${attempt + 1} failed, retrying in ${delay}ms...`, error.message);\n await new Promise(resolve => setTimeout(resolve, delay));\n }\n }\n }\n\n throw lastError!;\n}\n\n/**\n * Helper function to format file size in human-readable format\n */\nfunction formatFileSize(bytes: number): string {\n if (bytes === 0) return '0 Bytes';\n const k = 1024;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\n}\n\n// Interface declarations moved to exported section below\nexport interface UploadOptions {\n onProgress?: (progress: ProgressInfo) => void;\n chunkSize?: number;\n retryAttempts?: number;\n retryDelay?: number;\n}\n\nexport interface ProgressInfo {\n fileName: string;\n progress: number;\n bytesUploaded: number;\n totalBytes: number;\n fileIndex?: number;\n totalFiles?: number;\n}\n\nexport interface FileUploadResponse {\n data: {\n preSignedData: {\n uploadId: string;\n fileName: string;\n preSignedUrls: Array<{\n partNumber: number;\n presignedUrl: string;\n }>;\n location?: string;\n presignedUrl?: string; // For single part uploads\n };\n };\n}\n\nexport interface CompleteUploadResponse {\n data: {\n location: string;\n };\n}\n\nexport interface UploadPart {\n partNumber: number;\n etag: string;\n}\n\nexport const handleRegularUpload = async (\n files: File[],\n controller: AbortController,\n module: string,\n options: UploadOptions = {}\n): Promise<string[]> => {\n const BASE_URL = `${getApiConfig().backendBaseUrl}/${module}/v1/file-upload/`;\n const COMPLETE_BASE_URL = `${getApiConfig().backendBaseUrl}/${module}/v1/file-upload/mark-complete`;\n const authToken = localStorage.getItem(auth.storageTokenKeyName);\n\n const {\n onProgress,\n chunkSize = 5 * 1024 * 1024, // 5MB default chunk size (S3 minimum for multipart)\n retryAttempts = 3,\n retryDelay = 1000\n } = options;\n\n if (!authToken) {\n throw new Error('Authentication token not found. Please log in again.');\n }\n\n // Validate chunk size for multipart uploads\n // if (chunkSize < 1024 * 1024) {\n // console.warn('Chunk size less than 5MB may cause issues with S3 multipart uploads');\n // }\n\n try {\n const uploaded: string[] = [];\n\n // Process files sequentially to maintain order and avoid overwhelming the server\n for (let fileIndex = 0; fileIndex < files.length; fileIndex++) {\n const file = files[fileIndex];\n\n if (controller.signal.aborted) {\n throw new Error('Upload cancelled by user');\n }\n\n console.log(`🚀 Uploading file ${fileIndex + 1}/${files.length}:`, file.name, `(${formatFileSize(file.size)})`);\n\n try {\n const uploadedLocation = await uploadSingleFile(\n file,\n fileIndex,\n files.length,\n controller,\n BASE_URL,\n COMPLETE_BASE_URL,\n authToken,\n chunkSize,\n retryAttempts,\n retryDelay,\n onProgress\n );\n\n uploaded.push(uploadedLocation);\n console.log(`✅ Successfully uploaded: ${file.name}`);\n\n } catch (fileError: any) {\n console.error(`❌ Failed to upload ${file.name}:`, fileError.message);\n throw new Error(`Failed to upload ${file.name}: ${fileError.message}`);\n }\n }\n\n return uploaded;\n } catch (error: any) {\n console.error('❌ Upload process failed:', error.message);\n throw new Error(error.message || 'Upload failed');\n }\n};\n\nconst uploadSingleFile = async (\n file: File,\n fileIndex: number,\n totalFiles: number,\n controller: AbortController,\n baseUrl: string,\n completeUrl: string,\n authToken: string,\n chunkSize: number,\n retryAttempts: number,\n retryDelay: number,\n onProgress?: (progress: ProgressInfo) => void\n): Promise<string> => {\n const isMultipart = file.size > chunkSize;\n const totalParts = isMultipart ? Math.ceil(file.size / chunkSize) : 1;\n\n // Step 1: Get pre-signed URLs\n console.log(`📋 Requesting ${totalParts} pre-signed URLs for ${file.name}`);\n\n const preSignedResponse = await fetchWithRetry(\n `${baseUrl}?key=${encodeURIComponent(file.name)}&partCount=${totalParts}&mimeType=${encodeURIComponent(file.type)}`,\n {\n method: 'GET',\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file.size.toString(),\n \"x-token\": authToken,\n },\n signal: controller.signal,\n },\n retryAttempts,\n retryDelay\n );\n\n if (!preSignedResponse.ok) {\n const errorData = await preSignedResponse.json().catch(() => ({}));\n throw new Error(`Failed to get pre-signed URL: ${errorData.message || preSignedResponse.statusText}`);\n }\n\n const pData: FileUploadResponse = await preSignedResponse.json();\n const preSignedData = pData?.data?.preSignedData;\n\n if (!preSignedData) {\n throw new Error('Invalid pre-signed URL response format');\n }\n\n const { uploadId, preSignedUrls, presignedUrl, location } = preSignedData;\n\n // Step 2: Upload file parts\n if (isMultipart) {\n return await handleMultipartUpload(\n file,\n fileIndex,\n totalFiles,\n uploadId,\n preSignedUrls,\n controller,\n completeUrl,\n authToken,\n chunkSize,\n retryAttempts,\n retryDelay,\n onProgress\n );\n } else {\n return await handleSinglePartUpload(\n file,\n fileIndex,\n totalFiles,\n presignedUrl || preSignedUrls?.[0]?.presignedUrl,\n location,\n controller,\n onProgress\n );\n }\n};\n\nconst handleSinglePartUpload = async (\n file: File,\n fileIndex: number,\n totalFiles: number,\n presignedUrl: string,\n location: string | undefined,\n controller: AbortController,\n onProgress?: (progress: ProgressInfo) => void\n): Promise<string> => {\n if (!presignedUrl) {\n throw new Error('No presigned URL provided for single part upload');\n }\n\n console.log(`📤 Uploading single part for ${file.name}`);\n\n const response = await fetch(presignedUrl, {\n method: \"PUT\",\n body: file,\n headers: {\n \"Content-Type\": file.type || \"application/octet-stream\",\n \"Content-Length\": file.size.toString(),\n },\n signal: controller.signal,\n });\n\n if (!response.ok) {\n throw new Error(`Single part upload failed: ${response.statusText}`);\n }\n\n // Report completion\n onProgress?.({\n fileName: file.name,\n progress: 100,\n bytesUploaded: file.size,\n totalBytes: file.size,\n fileIndex: fileIndex + 1,\n totalFiles\n });\n\n if (!location) {\n throw new Error('No location provided for single part upload');\n }\n\n return spliceUploadedLocation(location);\n};\n\nconst handleMultipartUpload = async (\n file: File,\n fileIndex: number,\n totalFiles: number,\n uploadId: string,\n preSignedUrls: Array<{ partNumber: number; presignedUrl: string }>,\n controller: AbortController,\n completeUrl: string,\n authToken: string,\n chunkSize: number,\n retryAttempts: number,\n retryDelay: number,\n onProgress?: (progress: ProgressInfo) => void\n): Promise<string> => {\n if (!uploadId || !preSignedUrls || preSignedUrls.length === 0) {\n throw new Error('Invalid multipart upload data: missing uploadId or preSignedUrls');\n }\n\n console.log(`📤 Starting multipart upload for ${file.name} (${preSignedUrls.length} parts)`);\n\n const uploadedParts: UploadPart[] = [];\n let totalBytesUploaded = 0;\n\n // Upload each part\n for (let i = 0; i < preSignedUrls.length; i++) {\n if (controller.signal.aborted) {\n throw new Error('Upload cancelled by user');\n }\n\n const { partNumber, presignedUrl } = preSignedUrls[i];\n const start = i * chunkSize;\n const end = Math.min(start + chunkSize, file.size);\n const chunk = file.slice(start, end);\n\n console.log(`📦 Uploading part ${partNumber}/${preSignedUrls.length} (${start}-${end})`);\n\n try {\n const partResponse = await fetchWithRetry(\n presignedUrl,\n {\n method: \"PUT\",\n body: chunk,\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n \"Content-Length\": chunk.size.toString(),\n },\n signal: controller.signal,\n },\n retryAttempts,\n retryDelay\n );\n\n if (!partResponse.ok) {\n throw new Error(`Part ${partNumber} upload failed: ${partResponse.statusText}`);\n }\n\n // Extract ETag from response headers (required for completion)\n // const etag = partResponse.headers.get('ETag');\n // if (!etag) {\n // throw new Error(`Part ${partNumber} upload succeeded but no ETag received`);\n // }\n\n uploadedParts.push({\n partNumber\n });\n\n totalBytesUploaded += chunk.size;\n\n // Report progress\n const progress = Math.round((totalBytesUploaded / file.size) * 100);\n onProgress?.({\n fileName: file.name,\n progress,\n bytesUploaded: totalBytesUploaded,\n totalBytes: file.size,\n fileIndex: fileIndex + 1,\n totalFiles\n });\n\n } catch (error: any) {\n if (error.name === 'AbortError') {\n throw new Error('Upload cancelled by user');\n }\n throw new Error(`Failed to upload part ${partNumber}: ${error.message}`);\n }\n }\n\n // Step 3: Complete the multipart upload\n console.log(`🔗 Completing multipart upload for ${file.name}`);\n\n // Sort parts by part number to ensure correct order\n uploadedParts.sort((a, b) => a.partNumber - b.partNumber);\n\n const completeResponse = await fetchWithRetry(\n completeUrl,\n {\n method: 'POST',\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-token\": authToken,\n },\n body: JSON.stringify({\n fileName: file.name,\n uploadId: uploadId,\n //parts: uploadedParts // Include the uploaded parts with ETags\n }),\n signal: controller.signal,\n },\n retryAttempts,\n retryDelay\n );\n\n if (!completeResponse.ok) {\n const errorData = await completeResponse.json().catch(() => ({}));\n throw new Error(`Failed to complete multipart upload: ${errorData.message || completeResponse.statusText}`);\n }\n\n const completeData: CompleteUploadResponse = await completeResponse.json();\n\n if (!completeData.data?.location) {\n throw new Error('Invalid completion response format - no location received');\n }\n\n return spliceUploadedLocation(completeData.data.location);\n};\n\n/**\n * Main upload function - handles file validation and orchestrates the upload process\n * @param files - Single file or array of files to upload\n * @param module - Module name for the upload endpoint (default: \"sales\")\n * @param options - Optional upload configuration\n * @returns Promise<string[]> - Array of uploaded file locations\n */\nexport const uploadFiles = async (\n files: any,\n module = \"sales\",\n options: UploadOptions = {}\n): Promise<string[]> => {\n if (Array.isArray(files) && files?.filter(i => i)?.length === 0) return [];\n try {\n let uFiles: string[] = [];\n const config = getApiConfig();\n const bUrl = config.s3BucketUrl;\n const bUrl2 = bUrl?.replace(\"https://\", \"\");\n\n const controller = new AbortController();\n\n // Normalize input to array and filter valid files\n const iFiles = files ? (Array.isArray(files) ? files : [files]) : [];\n\n const existingFiles = iFiles.filter((file) => !(file instanceof File));\n if (iFiles && iFiles.length) {\n // Filter to ensure only File objects are processed\n const validFiles = iFiles.filter((file) => file instanceof File);\n\n if (validFiles && validFiles.length) {\n console.log(`📁 Starting upload of ${validFiles.length} file(s) to module: ${module}`);\n uFiles = await handleRegularUpload(validFiles, controller, module, options);\n console.log(`✅ Successfully uploaded ${uFiles.length} file(s)`);\n } else {\n console.warn('⚠️ No valid File objects found in the provided input');\n }\n }\n\n return [...uFiles, ...existingFiles]?.map(f => f?.split(bUrl)?.join('')?.split(bUrl2)?.join(''))?.filter(Boolean) || [];\n } catch (error) {\n let errorMessage: string = \"Something went wrong during file upload.\";\n\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n\n console.error('❌ Upload failed:', errorMessage);\n throw new Error(errorMessage);\n }\n};\n\nexport const formatDateForPayload = (date: any) =>\n date && dayjs(date).isValid() ? dayjs(date).format(\"YYYY-MM-DD\") : undefined;\n\nexport const formatTimeForPayload = (date: any) =>\n date && dayjs(date).isValid() ? dayjs(date).format(\"HH:mm:ss\") : undefined;\n\nexport const formatDateTimeForPayload = (date: any) =>\n (date && dayjs(date).isValid()) ? dayjs(date).format(\"YYYY-MM-DD HH:mm:ss\") : undefined;\n\nexport function isJSONString(str: string | undefined) {\n if (!str) return false;\n\n try {\n return JSON.parse(str);\n } catch (e) {\n return false;\n }\n}\n\nexport const getErrorMessage = (error?: any) => {\n if (error instanceof Error) return error.message;\n else if (isJSONString(error)?.message) return isJSONString(error)?.message;\n else if (typeof error === 'string') return error;\n else return \"Something went wrong\";\n};\n\nexport const InvoiceStatus = {\n Approved: \"Approve\",\n Rejected: \"Reject\",\n};\n\n/**\n * Get the default currency symbol from localStorage user data.\n * This is a utility function (not a hook) so it can be safely called anywhere.\n * @param currencyData - Optional pre-fetched currency data to avoid localStorage lookup\n */\nexport const defaultCurrencySymbol = (currencyData?: { symbol?: string }) => {\n if (currencyData?.symbol) {\n return currencyData.symbol;\n }\n try {\n const userData = JSON.parse(localStorage.getItem('_u_data') || '{}');\n return userData?.currency_data?.symbol || \"\";\n } catch {\n return \"\";\n }\n};\n\nexport const getCurrencySymbol = (currencyData?: { symbol?: string, company_id?: number }) => {\n if (currencyData?.symbol) {\n return currencyData.symbol;\n }\n try {\n const userData = JSON.parse(localStorage.getItem('_u_data') || '{}');\n\n if (currencyData?.company_id && userData?.company_currencies) {\n const companyCurrency = userData.company_currencies[currencyData.company_id];\n if (companyCurrency?.symbol) {\n return companyCurrency.symbol;\n }\n }\n\n return userData?.currency_data?.symbol || \"\";\n } catch {\n return \"\";\n }\n};\n\n\n/**\n * Get the default currency format from localStorage user data.\n * This is a utility function (not a hook) so it can be safely called anywhere.\n * @param currencyData - Optional pre-fetched currency data to avoid localStorage lookup\n */\nexport const defaultCurrencyFormat = (currencyData?: { number_format?: string }) => {\n if (currencyData?.number_format) {\n return currencyData.number_format;\n }\n try {\n const userData = JSON.parse(localStorage.getItem('_u_data') || '{}');\n return userData?.currency_data?.number_format || \"\";\n } catch {\n return \"\";\n }\n};\n\nexport const getCurrencyFormat = (currencyData?: { number_format?: string, company_id?: number }) => {\n if (currencyData?.number_format) {\n return currencyData.number_format;\n }\n try {\n const userData = JSON.parse(localStorage.getItem('_u_data') || '{}');\n\n if (currencyData?.company_id && userData?.company_currency_formats) {\n const companyCurrencyFormat = userData.company_currencies[currencyData.company_id]\n if (companyCurrencyFormat?.number_format) {\n return companyCurrencyFormat.number_format;\n }\n }\n\n return userData?.currency_data?.number_format || \"\";\n } catch {\n return \"\";\n }\n};\n\n/**\n * Get the default company from localStorage user data.\n * This is a utility function (not a hook) so it can be safely called anywhere.\n * @param userData - Optional pre-fetched user data to avoid localStorage lookup\n */\nexport const defaultCompany = (userData?: { accessCompanies?: number[]; company_id?: number | null }) => {\n let user = userData;\n if (!user) {\n try {\n user = JSON.parse(localStorage.getItem('_u_data') || '{}');\n } catch {\n return null;\n }\n }\n const accessCompanies = user?.accessCompanies || [];\n const defaultCompanyId = user?.company_id || null;\n\n let dcId = defaultCompanyId;\n\n if (Array.isArray(accessCompanies) && accessCompanies?.length > 0) {\n if (!accessCompanies?.includes(defaultCompanyId as number)) {\n dcId = accessCompanies?.[0];\n }\n }\n\n return dcId ? Number(dcId) : null;\n};\n\nexport function omitDataKeys<T>(obj: T, extra?: Array<string>): T {\n // Default keys to omit\n const defaultOmitKeys = [\n \"created_at\",\n \"updated_at\",\n \"created_by\",\n \"created_user\",\n \"updated_by\",\n \"updated_user\",\n \"is_deleted\",\n \"deleted_user\",\n \"deleted_by\",\n \"deleted_at\",\n ...(extra ? extra : []),\n ];\n\n // Handle arrays separately without converting them to objects\n if (Array.isArray(obj)) {\n // Recursively process array elements\n return obj.map((item) => omitDataKeys(item, extra)) as unknown as T;\n }\n\n // Check if obj is an object\n if (_.isObject(obj) && !Array.isArray(obj)) {\n // Recursively apply omit on each property of the object\n return _.mapValues(\n _.omitBy(\n obj,\n (_, key) =>\n defaultOmitKeys.includes(key) ||\n key.endsWith(\"_data\") ||\n key.endsWith(\"_status\")\n ),\n (value) => {\n // Recurse on nested objects, excluding Day.js instances\n if (_.isObject(value) && !dayjs.isDayjs(value)) {\n return omitDataKeys(value, extra);\n }\n return value;\n }\n ) as T;\n }\n\n // If it's neither an object nor an array, return the value as is (e.g., strings, numbers)\n return obj;\n}\n\n// Define a type for the input objects in the array\nexport interface DataObject {\n [key: string]: any;\n}\n\n// Define a type for the processed object with label and value\nexport interface LabelValueObject extends DataObject {\n label: string;\n value: string | number | null;\n}\n\n/**\n * A global function to process an array of objects and return formatted label-value pairs.\n *\n * @param {Array<T>} dataArray - The array of objects to be processed.\n * @param {Array<T>} fallbackArray - The fallback array if dataArray is empty.\n * @param {Array<keyof T | string>} labelKeys - The keys to be concatenated for the label.\n * @param {keyof T | string} valueKey - The key to be used for the value.\n * @param {Function} [labelFormatter] - Optional custom formatter for label.\n * @returns {Array<LabelValueObject>} - The processed array of label-value objects.\n */\nexport const getLabelValuePairs = <T extends DataObject>(\n dataArray: T[],\n fallbackArray: T[],\n labelKeys: (keyof T | string)[],\n valueKey: keyof T | string,\n labelFormatter?: (item: T) => string\n): LabelValueObject[] => {\n return (\n _.map(dataArray, (item: T) => {\n const label = labelFormatter\n ? labelFormatter(item)\n : _.compact(labelKeys.map((key) => _.get(item, key, \"\"))).filter(v => Boolean(v?.trim())).join(\", \");\n\n return {\n ...item,\n label,\n value: _.get(item, valueKey, null),\n };\n }) || fallbackArray\n );\n};\nexport function formatEmptyDataToNull<T>(obj: T): T {\n // Check if the input is an array and process each item recursively\n if (Array.isArray(obj)) {\n return obj.map((item) => formatEmptyDataToNull(item)) as unknown as T;\n }\n\n // If it's an object, iterate through the values and apply transformations\n if (_.isObject(obj)) {\n return _.mapValues(obj, (value, key) => {\n // Recursively handle nested objects or arrays\n if (\n Array.isArray(value)\n ) {\n return (value);\n }\n if (\n _.isObject(value) &&\n !dayjs.isDayjs(value) &&\n !(value instanceof File)\n ) {\n return formatEmptyDataToNull(value);\n }\n\n // Replace empty values (except 0) with null\n if (!value && value !== 0 && value !== false) {\n return null;\n }\n\n // Special handling for specific key patterns\n if (\n (key.includes(\"_id\") && !key.includes(\"_ids\")) ||\n key.includes(\"_amount\")\n ) {\n // Convert values for '_id' or '_amount' keys to numbers\n return Array.isArray(value) ? value.map(Number) : Number(value);\n } else if (key.includes(\"date_time\")) {\n // Format date fields\n return formatDateTimeForPayload(value);\n } else if (key.includes(\"date\")) {\n // Format date fields\n return formatDateForPayload(value);\n } else if (key.includes(\"_time\")) {\n // Format time fields\n return formatTimeForPayload(value);\n } else if (Array.isArray(value)) {\n // Ensure arrays are not replaced by null if they're empty\n return value.length ? value : [];\n }\n\n // Return the original value if no other transformation applies\n return value;\n }) as T;\n }\n\n // If it's neither an object nor an array, return the value as is\n return obj;\n}\n\nexport function downloadFile(fileUrl: string, fileName = \"\") {\n console.log(fileUrl);\n if (!fileUrl || fileUrl === \"\") return;\n const a = document.createElement(\"a\");\n a.target = \"_blank\";\n a.href = fileUrl;\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n}\n\n//Download Doc\n//eslint-disable-next-line\nexport const downloadDoc = async ({\n api,\n // fileName,\n raw\n}: {\n api: string,\n fileName: string,\n raw: any\n}) => {\n const headers = {\n \"Content-Type\": \"application/json\",\n ...getToken()\n };\n const config = getApiConfig();\n const response = await fetch(`${config.backendBaseUrl}/${api}`,\n {\n method: \"POST\",\n headers,\n body: raw,\n redirect: \"follow\",\n }\n );\n\n if (!response.ok) {\n throw new Error(await response.text());\n }\n const blob = await response.blob();\n const url = window.URL.createObjectURL(blob);\n window.open(url, '_blank');\n // Revoke the blob URL after some time to avoid memory leaks\n setTimeout(() => window.URL.revokeObjectURL(url), 1000);\n // const a = document.createElement(\"a\");\n // a.href = url;\n // a.download = fileName;\n // document.body.appendChild(a);\n // a.click();\n // a.remove();\n // window.URL.revokeObjectURL(url);\n}\n\nexport function formatResponseDatesToDayJS<T>(obj: T): T {\n // Check if the input is an array and process each item recursively\n if (Array.isArray(obj)) {\n return obj.map((item) => formatResponseDatesToDayJS(item)) as unknown as T;\n }\n\n if (_.isObject(obj)) {\n return _.mapValues(obj, (value, key) => {\n if (_.isObject(value) && !dayjs.isDayjs(value)) {\n return formatResponseDatesToDayJS(value);\n }\n\n if (key.includes(\"date\") && value) {\n return dayjs.utc(value);\n }\n if (key.includes(\"_time\") && value) {\n return dayjs(`${dayjs().utc().format(\"YYYY-MM-DD\")} ${value}`);\n }\n\n return value;\n }) as T;\n }\n\n // If it's neither an object nor an array, return the value as is\n return obj;\n}\n\nexport const toFixedWithNumbers = (num: number) => num > 0 ? Number(num)?.toFixed(2) : num;\n\nexport const findById = (arr: Array<any>, id: any) =>\n arr.find((a) => a.id == id);\n\nexport const getTaxAmountFromMultipleTaxCodes = (\n amount: number,\n taxCodes = [],\n detail = false\n) => {\n if (!amount) return 0;\n\n let totalTaxAmount = 0;\n const taxCodeDetail = taxCodes?.map((code: any) => {\n const taxAmount = amount * (code.rate / 100);\n totalTaxAmount += taxAmount;\n\n return {\n id: code.id,\n name: code.name,\n rate: code.rate,\n tax_amount: taxAmount,\n };\n });\n\n if (detail) {\n return taxCodeDetail;\n }\n return totalTaxAmount;\n};\n\nexport const getTaxAmountDataFromMultipleTaxCodes = (\n grossAmount: number,\n netAmount: number,\n taxCodes = [],\n detail = false\n) => {\n let totalTaxAmount = 0;\n let totalTaxRate = 0;\n const taxCodeDetail = taxCodes.map((code: any) => {\n const taxBaseAmount =\n code.applies_to === \"Gross\" ? netAmount : grossAmount;\n // const taxAmount = grossAmount * (code.rate / 100);\n const taxAmount = taxBaseAmount * (code.rate / 100);\n totalTaxAmount += taxAmount;\n totalTaxRate += code.rate;\n\n return {\n id: code.id,\n name: code.name,\n rate: code.rate,\n tax_amount: taxAmount,\n };\n });\n\n if (detail) {\n return taxCodeDetail;\n }\n return {\n amount: totalTaxAmount,\n rate: totalTaxRate,\n };\n};\n\nexport const calculateAmountData = (quantity: number, rate: number, discount_rate: number | null, discounted_items: any, taxCodes = []) => {\n const amount = quantity * rate;\n let discountAmount = Number(discount_rate);\n if (discounted_items?.discount_category === \"rate\") {\n discountAmount = discount_rate ? amount * (discount_rate / 100) : 0;\n }\n let grossAmount = amount - discountAmount || 0;\n if (grossAmount < 0) {\n grossAmount = 0;\n }\n const taxData = getTaxAmountDataFromMultipleTaxCodes(\n grossAmount,\n amount,\n taxCodes\n );\n\n const taxAmount = taxData?.amount || 0;\n const taxRate = taxData?.rate || 0;\n\n const netAmount = grossAmount + Number(taxAmount) || 0;\n const totalAmount = grossAmount + Number(taxAmount) || 0;\n\n return { grossAmount, taxAmount, taxRate, discountAmount, netAmount, totalAmount }\n}\n\nexport type AnyObject = Record<string, any>;\n\nexport const hasValue = (\n object: AnyObject,\n skipFields: string[] = []\n): boolean => {\n const checkValue = (value: any, skipFields: string[]): boolean => {\n if (_.isArray(value)) {\n // If it's an array, recursively check its elements\n return _.some(value, (item) => checkValue(item, skipFields));\n }\n\n if (_.isPlainObject(value)) {\n // If it's an object, recursively check its keys and values\n return _.some(value, (val, key) => {\n if (skipFields.includes(key)) return false; // Skip specified fields\n return checkValue(val, skipFields);\n });\n }\n\n // Return true for any non-null, non-undefined, and non-empty value\n return !_.isNil(value) && !_.isEmpty(value);\n };\n\n return checkValue(object, skipFields);\n};\nexport const formatAmountWithCurrency = (\n amount: number,\n currencySymbol?: string\n): string => {\n if (!amount) {\n return `${currencySymbol ? currencySymbol : \"\"}`;\n }\n const defaultSymbol = defaultCurrencySymbol();\n const symbol = currencySymbol || defaultSymbol;\n\n return `${symbol} ${Number(amount).toFixed(2)}`;\n};\nexport const formatAmountWithCurrencyData = (\n amount: number,\n currencySymbol?: string\n): string => {\n if (!amount) {\n return \"\";\n }\n const symbol = currencySymbol || '';\n\n return `${symbol} ${Number(amount).toFixed(2)}`;\n};\n\nexport type ManageItemsOptions = {\n key: string;\n action: \"add\" | \"update\" | \"delete\";\n value: any;\n items: any[];\n itemIndex: number\n};\n\nexport const manageItems = ({\n key,\n action,\n value,\n items = [],\n itemIndex\n}: ManageItemsOptions): any[] => {\n switch (action) {\n case \"add\": {\n // const existingItem = items?.find((item) => item[key] === value[key]);\n // if (existingItem) {\n // // Update the existing item\n // return items?.map((item) => (item[key] === value[key] ? value : item));\n // }\n // Add a new item\n return [...items, value];\n }\n\n case \"update\": {\n // Update an existing item\n return items.map((item, index) => ((itemIndex >= 0 ? itemIndex === index : item[key] === value[key]) ? value : item));\n }\n\n case \"delete\": {\n // Delete an item based on\n if (value?.index !== undefined) {\n return items.filter((_, index) => index !== value.index);\n }\n return items.filter((item) => item[key] !== value[key]);\n }\n\n default:\n console.warn(`Unsupported action type: ${action}`);\n return items;\n }\n};\n\nexport function getPartyName(\n party: Record<any, any> | null | undefined\n): string {\n if (!party) return \"\";\n\n const {\n name = \"\",\n first_name = \"\",\n middle_name = \"\",\n last_name = \"\",\n company_name = \"\",\n } = party;\n\n // Trim values and handle potential null values\n const trimmedName = name?.trim() || \"\";\n const trimmedFirstName = first_name?.trim() || \"\";\n const trimmedMiddleName = middle_name?.trim() || \"\";\n const trimmedLastName = last_name?.trim() || \"\";\n const trimmedCompanyName = company_name?.trim() || \"\";\n\n\n if (party?.account_type === 'Individual') {\n return [trimmedFirstName, trimmedMiddleName, trimmedLastName].filter(Boolean).join(' ');\n } else if (party?.account_type === 'Company') {\n return trimmedCompanyName\n } else {\n if (trimmedName) return trimmedName;\n if (trimmedFirstName) {\n return [trimmedFirstName, trimmedMiddleName, trimmedLastName].filter(Boolean).join(' ');\n }\n if (trimmedCompanyName) return trimmedCompanyName;\n }\n\n return \"\";\n}\n\nexport const partyEmailIds = (json: any): string => {\n if (!json) return \"\";\n\n try {\n const parsed = JSON.parse(json);\n return Array.isArray(parsed) ? parsed.join(\", \") : \"\";\n } catch {\n return json;\n }\n};\n\nexport function formatResponseOnlyDatesToDayJS<T>(obj: T): T {\n // Check if the input is an array and process each item recursively\n if (Array.isArray(obj)) {\n return obj.map((item) => formatResponseDatesToDayJS(item)) as unknown as T;\n }\n\n if (_.isObject(obj)) {\n return _.mapValues(obj, (value, key) => {\n if (_.isObject(value) && !dayjs.isDayjs(value)) {\n return formatResponseDatesToDayJS(value);\n }\n\n if (key.includes(\"date\") && value) {\n return dayjs(value);\n }\n\n return value;\n }) as T;\n }\n\n // If it's neither an object nor an array, return the value as is\n return obj;\n}\n\n\n/* fetch exchange & reverse rates */\nexport const fetchExchageRate = async (id: string, type: string = 'Buying') => {\n try {\n const response = await postV1CurrencyInfo({\n currancy_id: id,\n type: type,\n ...getToken()\n });\n\n const { exchange_rate = 1, reverse_rate = 1 } = response?.data || {};\n return { exchange_rate, reverse_rate };\n } catch (error) {\n return { exchange_rate: 1, reverse_rate: 1 };\n }\n};\n\n\nexport const showSnackBar = (error: any) => {\n const message = getErrorMessage(error?.message)\n enqueueSnackbar(message, {\n variant: \"error\",\n });\n}\n\nexport const fetchCompanyLocations = async (companyId: number) => {\n\n const res = await fetchApi(\n {\n apiKey: 'location',\n filters: {\n filters: { '&company_id.in': companyId }\n }\n });\n return res?.data || []\n}\n\nexport const fetchItems = async (itemId: number, attributes?: string) => {\n\n const res = await fetchApi(\n {\n apiKey: 'items',\n filters: {\n filters: { '&id.in': itemId },\n select: attributes\n }\n });\n return res?.data || []\n}\n\n\nexport const getOptionsData = async (key: string, id: number, select?: any, isArray = false) => {\n const res = await fetchApi(\n {\n apiKey: key,\n filters: {\n filters: { '&id.in': id },\n select\n }\n });\n return isArray ? res?.data : Array.isArray(res?.data) ? res?.data[0] : null;\n}\n\n\nexport const fetchOptions = async (key: string, filters: any, select?: any, isArray = false) => {\n const res = await fetchApi(\n {\n apiKey: key,\n filters: {\n filters: filters,\n select\n }\n });\n return isArray ? res?.data : Array.isArray(res?.data) ? res?.data[0] : null;\n}\nexport const createdOnAndBy = (data: any) => {\n const { created_at = '', created_user = {}, created_by_data = {} } = data || {}\n const { first_name = '', last_name = '' } = Object.keys(created_user)?.length ? created_user : created_by_data\n const fName = first_name?.trim() || '';\n const lName = last_name?.trim() || '';\n const cAt = created_at?.trim() || '';\n\n const text = `Created on ${formatDate(cAt, 'DD MMM, YYYY')}`\n\n if (!(fName || lName)) return text;\n\n return `${text} · ${formatText(`${fName} ${lName}`)}`\n}\n\n/**\n * Returns the full name of an object based on the provided keys.\n * The object is expected to have the keys as its properties.\n * If the object is empty, returns a default value.\n * @param {Record<string, any>} obj - The object to process\n * @param {string[]} keys - The keys to use for forming the name\n * @returns {string} The full name of the object\n */\nexport const getName = (obj: Record<string, any>, keys: string[]) => {\n if (_.isEmpty(obj)) {\n // If the object is empty, return a default value\n return \"-\";\n }\n\n // Map over the keys and get the corresponding values from the object\n // Filter out any values that are falsy or have no trimmed value\n // Join the remaining values with a space in between\n return keys\n .map((key) => obj?.[key])\n .filter((n) => Boolean(n && n?.trim()))\n .join(\" \");\n};\n\nexport const getToken = (token = null) => {\n const timezone = moment.tz.guess();\n const offsetMinutes = moment.tz.zone(timezone).utcOffset(moment());\n const requestToken = {\n \"x-token\": token ? token : localStorage.getItem(auth.storageTokenKeyName) || undefined,\n \"x-timezone\": offsetMinutes,\n };\n\n return requestToken;\n};\n\nexport const checkForDuplicate = async (payload: any) => {\n try {\n const response = await postV1PartiesCheck({ ...getToken(), ...payload })\n return response?.data?.party_exists || false\n } catch (error) {\n throw new Error('An error occurred while checking for duplicates.')\n }\n}\n\nexport const partyDuplicateCheck = async (\n activeTab: number | string,\n fValues: Record<string, any>,\n defaultValues?: Record<string, any>\n): Promise<string | null> => {\n\n const values = { ...fValues };\n // Return early if activeTab is not 0 or required fields are not present\n if (activeTab !== 0 || !(values?.contact_no || values?.company_name)) {\n return null;\n }\n\n if (activeTab !== 0 || (!values?.contact_no && values?.company_name && values?.account_type !== 'Company')) {\n return null;\n }\n\n const phoneNumber = parsePhoneNumberFromString(values?.contact_no?.includes('+') ? values?.contact_no : `+${values?.contact_no}`);\n values.contact_no = phoneNumber?.nationalNumber || '';\n values.country_code = phoneNumber?.countryCallingCode || '';\n\n // Determine if contact number or company name values have changed\n const cDefaultValueContactNo = defaultValues?.contact_no || ''\n const cValueContactNo = displayPhone(values)\n\n const isDirtyPhone =\n !defaultValues ||\n cDefaultValueContactNo?.trim() !== cValueContactNo?.trim();\n const isDirtyCompanyName =\n !defaultValues ||\n defaultValues?.company_name?.trim() !== values?.company_name?.trim();\n\n // If neither field has changed, no need to check for duplicates\n if (!isDirtyPhone && !isDirtyCompanyName) {\n return null;\n }\n\n // Parse phone number to extract country code and national number\n const countryCode = phoneNumber?.nationalNumber ? phoneNumber?.countryCallingCode\n ? `+${phoneNumber?.countryCallingCode}` : ''\n : values?.country_code;\n const contactNo = phoneNumber?.nationalNumber || values?.contact_no;\n\n // Construct payload for duplicate check\n const duplicateCheckPayload = {\n party: {\n account_type: values?.account_type, // \"Individual\" or \"Company\"\n ...(isDirtyPhone && countryCode ? { country_code: countryCode } : {}),\n ...(isDirtyPhone && contactNo ? { contact_no: contactNo } : {}),\n ...(values?.account_type === 'Company' && isDirtyCompanyName\n ? { company_name: values?.company_name }\n : {}),\n },\n };\n\n try {\n // Call API to check for duplicates\n const isDuplicate = await checkForDuplicate(duplicateCheckPayload);\n\n if (isDuplicate) {\n // Prepare and return an appropriate error message\n const duplicateType =\n values?.account_type === 'Company' ? phoneNumber?.nationalNumber ? 'company name or phone' : 'company name' : 'phone number';\n return `Added ${duplicateType} already exists. Please add a different ${duplicateType}.`;\n }\n } catch (error: any) {\n // Return error message in case of API failure\n return error.message || 'An error occurred while checking for duplicates.';\n }\n\n // Return null if no duplicates are found\n return null;\n};\n\nexport const displayPhone = (data: Record<string, any>) => {\n const { contact_no = '', country_code = '' } = data || {}\n\n if (!contact_no) return ''\n\n if (country_code) {\n if (country_code?.includes(\"+\")) {\n return `${country_code}${contact_no}`\n }\n return `+${country_code}${contact_no}`\n }\n\n return contact_no?.includes(\"+\") ? contact_no : `+${contact_no}`\n}\n\nexport const getPartyDependentData = async (\n id: number,\n options?: any\n) => {\n let ad: any[] = [],\n co: any[] = [],\n cr = options?.currencies || [],\n cm = options?.companies || [],\n dsa = null,\n dba = null,\n pt = null,\n sp = null;\n\n const res = await getV1PartiesId({ id, ...getToken() });\n const p = res?.data?.parties?.party?.data || null;\n if (p) {\n const {\n payment_term = null,\n party_address_data = [],\n party_contact_data = [],\n currencies_data = [],\n companies_data = [],\n salesperson = null\n } = p;\n\n ad = party_address_data\n co = party_contact_data;\n cr = currencies_data;\n cm = companies_data;\n pt = payment_term;\n dsa = party_address_data?.find((addr: any) => Boolean(addr?.default_shipping_address));\n dba = party_address_data?.find((addr: any) => Boolean(addr?.default_billing_address));\n sp = salesperson\n }\n\n return {\n addresses: ad,\n contacts: co,\n currencies: cr,\n currencyIds: cr.map((c: any) => c.id),\n companies: cm,\n companyIds: cm.map((c: any) => c.id),\n paymentTerm: pt,\n defaultShipping: dsa,\n defaultBilling: dba,\n salesperson: sp\n };\n};\n\nexport interface PayloadMapping {\n [key: string]: string | string[] | ((values: Record<string, any>) => any);\n}\n\n/**\n * Maps API payload by transforming values based on the provided mapping configuration.\n * \n * @param {PayloadMapping} payloadMapping - An object defining the mapping configuration.\n * @param {Record<string, any>} values - The source values to be transformed.\n * @returns {Record<string, any>} The transformed payload object.\n */\nconst isEmptyValue = (value: any): boolean => {\n return _.isNil(value) || value === '' || (_.isObject(value) && _.isEmpty(value));\n};\n\nexport const mapApiPayload = (payloadMapping: PayloadMapping, values: Record<string, any>): Record<string, any> => {\n return _.mapValues(payloadMapping, (val) => {\n // If the mapping value is a function, execute it with the values as the argument\n if (_.isFunction(val)) {\n return (val as (values: Record<string, any>) => any)(values);\n }\n // If the mapping value is an array, map each element to its corresponding value in the source\n if (_.isArray(val)) {\n return (val as string[]).map((key) => _.get(values, key, null));\n }\n // If the mapping value is an object (excluding Day.js), recursively process it\n if (_.isObject(val) && !_.isFunction(val) && !dayjs.isDayjs(val)) {\n return mapApiPayload(val as PayloadMapping, values);\n }\n // Directly map a single key to its value in the source\n const result = _.get(values, val, null)\n return isEmptyValue(result) ? null : result\n });\n};\n\nexport const mapAsyncApiPayload = async (payloadMapping: PayloadMapping, values: Record<string, any>): Promise<Record<string, any>> => {\n const entries = Object.entries(payloadMapping).map(async ([key, val]) => {\n if (_.isFunction(val)) {\n return [key, await val(values)];\n }\n if (_.isArray(val)) {\n const resolvedArray = await Promise.all(val.map(async (key) => _.get(values, key, null)));\n return [key, resolvedArray];\n }\n if (_.isObject(val) && !_.isFunction(val) && !dayjs.isDayjs(val)) {\n return [key, await mapAsyncApiPayload(val as PayloadMapping, values)];\n }\n return [key, _.get(values, val, null)];\n });\n\n return Object.fromEntries(await Promise.all(entries));\n};\n\n\nexport const isBetweenTheDates = (startDate: any, endDate: any) => {\n if (!startDate || !endDate) return false;\n const start = dayjs(startDate).startOf('day');\n const end = dayjs(endDate).endOf('day');\n const currentDate = dayjs();\n return currentDate.isAfter(start) && currentDate.isBefore(end) || currentDate.isSame(start) || currentDate.isSame(end);\n};\n\nexport const setRateBasedOnPriceRules = (salesPrice: any, priceRules: any, addedQuantity: any) => {\n let updatedRate = salesPrice\n if (priceRules?.length) {\n const sortedPriceRules = _.orderBy(\n priceRules,\n ['minimum_quantity'],\n ['desc']\n );\n for (const pRules of sortedPriceRules) {\n if (Number(addedQuantity) >= Number(pRules?.minimum_quantity)) {\n if (isBetweenTheDates(pRules?.start_date, pRules?.end_date)) {\n updatedRate = Number(pRules?.unit_price) || undefined;\n break;\n }\n }\n }\n }\n return updatedRate\n};\n\n\nexport const uploadAttachments = async (files: any) => {\n let existingAttachments =\n files?.filter((i: File | string) => !(i instanceof File)) || [];\n const newFiles = files?.filter((i: File | string) => i instanceof File) || [];\n const config = getApiConfig();\n const bUrl = config.s3BucketUrl;\n existingAttachments = existingAttachments.map((ea: string) =>\n ea.replace(bUrl, \"\")\n );\n\n let uplaodedAttachments: string[] = [];\n\n if (newFiles.length) {\n uplaodedAttachments = await uploadFiles(newFiles, \"sales\");\n }\n\n uplaodedAttachments = [...uplaodedAttachments, ...existingAttachments];\n if (Array.isArray(uplaodedAttachments) && uplaodedAttachments?.length) {\n return uplaodedAttachments.join(\",\");\n }\n return null;\n};\n\nexport const addOrEditArray = (array: any[] = [], data: any) => {\n const { itemIndex, ...updatedData } = data;\n\n const newArray = [...array];\n\n if (newArray[itemIndex]) {\n newArray[itemIndex] = { ...updatedData };\n return newArray;\n }\n\n return [...newArray, updatedData];\n};\nexport const getAccessibleModules = (moduleNames: string[] = []): string[] => {\n const uData = localStorage.getItem(\"_u_data\");\n const userData = uData ? JSON.parse(uData) : {};\n const accessModules = userData?.module_access || [];\n\n const findSubModules = accessModules\n .filter(module => moduleNames.includes(module.module_name))\n .map(module => ({\n ...module,\n sub_modules: [...(module.sub_modules || []), { sub_module_name: \"dashboard\" }],\n }));\n\n const subModuleNamesSet = new Set(\n findSubModules.flatMap(module => module.sub_modules.map(subModule => subModule.sub_module_name))\n );\n\n const permission = JSON.parse(localStorage.getItem(\"role-permission\") || \"{}\");\n return Array.from(subModuleNamesSet).filter(subModule =>\n Object.keys(permission).some(key => key.startsWith(subModule.split(\"/\").pop()))\n ) as string[];\n};\n\nexport const filterAccessibleModules = (menu: any, moduleNames: string[] = []) => {\n const accessibleMenus = new Set(getAccessibleModules(moduleNames))\n\n\n return menu.reduce((filtered, item) => {\n const isSubModuleValid = item.bacSubModuleName && accessibleMenus.has(item.bacSubModuleName);\n const filteredSubmenu = item.submenu?.length ? filterAccessibleModules(item.submenu, moduleNames) : [];\n\n if (isSubModuleValid || filteredSubmenu.length) {\n filtered.push({ ...item, submenu: filteredSubmenu });\n }\n return filtered;\n }, []);\n}\n\n// Usage example:\n// const accessibleModules = getAccessibleModules([\"manufacturing\", \"inventory\", \"sales\"]);\n\n\nexport const checkDuplicateTracking = (data: any, typeOfTrcebility: string, trackRows: any[]) => {\n\n let isDuplicate = false\n let errorMsg = null\n // Check for duplicate tracking numbers\n const isSerialTracking = typeOfTrcebility === 'Serial Number Tracking';\n const trackingField = isSerialTracking ? 'serial_number' : 'lot_number';\n const inputValue = isSerialTracking\n ? data?.add_stock_transfer?.lot_number?.serial_number\n : data?.add_stock_transfer?.lot_number?.lot_number;\n errorMsg = isSerialTracking\n ? \"This serial Number is already available\"\n : \"This lot Number is already available\";\n\n if (trackRows[data?.itemIndex]?.[trackingField] == inputValue) {\n return { isDuplicate: false }\n }\n if (['Serial Number Tracking', 'Lot Tracking'].includes(typeOfTrcebility)) {\n isDuplicate = trackRows.some((o) =>\n o?.[trackingField] === inputValue\n );\n }\n return {\n isDuplicate,\n errorMsg\n }\n}\nexport function getNestedValue(obj: any, path: any) {\n return path.split('.').reduce((acc: any, key: any) => (acc && acc[key] !== undefined ? acc[key] : undefined), obj);\n}\n\n// export const calculatePeriods = (startDateTime: Date, endDateTime: Date) => {\n// const start = dayjs(startDateTime);\n// const end = dayjs(endDateTime);\n\n// if (end.isBefore(start)) {\n// return null;\n// }\n\n// const totalMinutes = end.diff(start, 'minute');\n// if (totalMinutes < 0) {\n// return null;\n// }\n\n// let current = dayjs(start);\n// let years = 0;\n// let months = 0;\n// let days = 0;\n// let hours = 0;\n// // let minutes = 0;\n\n// // Calculate years\n// while (current.add(1, 'year').isBefore(end) || current.add(1, 'year').isSame(end)) {\n// years++;\n// current = current.add(1, 'year');\n// }\n\n// // Calculate months\n// while (current.add(1, 'month').isBefore(end) || current.add(1, 'month').isSame(end)) {\n// months++;\n// current = current.add(1, 'month');\n// }\n\n// // Calculate days \n// while (current.add(1, 'day').isBefore(end) || current.add(1, 'day').isSame(end)) {\n// days++;\n// current = current.add(1, 'day');\n// }\n\n// // Calculate hours\n// while (current.add(1, 'hour').isBefore(end) || current.add(1, 'hour').isSame(end)) {\n// hours++;\n// current = current.add(1, 'hour');\n// }\n\n// // Calculate remaining minutes\n// // minutes = end.diff(current, 'minute');\n\n// const parts = [];\n\n// if (years > 0) {\n// parts.push(`${years} ${years === 1 ? 'Year' : 'Years'}`);\n// }\n// if (months > 0) {\n// parts.push(`${months} ${months === 1 ? 'Month' : 'Months'}`);\n// }\n// if (days > 0) {\n// parts.push(`${days} ${days === 1 ? 'Day' : 'Days'}`);\n// }\n// if (hours > 0) {\n// parts.push(`${hours} ${hours === 1 ? 'Hour' : 'Hours'}`);\n// }\n// // if (minutes > 0) {\n// // parts.push(`${minutes} ${minutes === 1 ? 'Minute' : 'Minutes'}`);\n// // }\n\n// if (parts.length === 0) {\n// return '0 Minutes';\n// }\n\n// return parts.join(' ');\n// };\n//eslint-disable-next-line\nexport const calculatePeriods = (\n startDateTime: Date,\n endDateTime: Date,\n mode: 'Day' | 'Week' | 'Month' | 'Calendar Month' | 'Year' | 'Hour' = 'Month'\n) => {\n const start = dayjs(startDateTime);\n const end = dayjs(endDateTime);\n\n if (end.isBefore(start)) {\n return null;\n }\n\n switch (mode) {\n case 'Year': {\n const years = end.diff(start, 'year');\n const remainingMonths = end.diff(start.add(years, 'year'), 'month');\n return `${years} ${years === 1 ? 'Year' : 'Years'}${remainingMonths > 0 ? `, ${remainingMonths} ${remainingMonths === 1 ? 'Month' : 'Months'}` : ''}`;\n }\n\n case 'Month':\n case 'Calendar Month': {\n const months = end.diff(start, 'month');\n const remainingDays = end.diff(start.add(months, 'month'), 'day');\n return `${months} ${months === 1 ? 'Month' : 'Months'}${remainingDays > 0 ? `, ${remainingDays} ${remainingDays === 1 ? 'Day' : 'Days'}` : ''}`;\n }\n\n case 'Week': {\n const weeks = end.diff(start, 'week');\n const remainingDaysWeekly = end.diff(start.add(weeks, 'week'), 'day');\n return `${weeks} ${weeks === 1 ? 'Week' : 'Weeks'}${remainingDaysWeekly > 0 ? `, ${remainingDaysWeekly} ${remainingDaysWeekly === 1 ? 'Day' : 'Days'}` : ''}`;\n }\n\n case 'Day': {\n const totalHours = end.diff(start, 'hour');\n const days = Math.floor(totalHours / 24);\n const remainingHours = totalHours % 24;\n\n if (remainingHours > 0) {\n return `${days + 1} ${days + 1 === 1 ? 'Day' : 'Days'}`;\n }\n return `${days} ${days === 1 ? 'Day' : 'Days'}`;\n }\n\n case 'Hour': {\n const hours = end.diff(start, 'hour');\n return `${hours} ${hours === 1 ? 'Hour' : 'Hours'}`;\n }\n\n default:\n return 'Invalid mode';\n }\n};\nexport const removeIdFromObject = (array: any) => array?.map(i => ({\n ...i,\n id: undefined\n}))\n\nexport const fetchRentalResponseItems = async (filters: string) => {\n //eslint-disable-next-line\n try {\n const response = await getV1CrossHireRfqResponseItems({\n filters,\n ...getToken(),\n });\n\n return response?.data?.rfq_response_items ?? [];\n } catch (error) {\n throw error;\n }\n};\nexport const fetchRfqItemsByIdForResponse = async (filters: string) => {\n //eslint-disable-next-line\n try {\n const response = await getV1RfqResponseItems({\n filters,\n ...getToken(),\n });\n\n return response?.data?.rfq_response_items ?? [];\n } catch (error) {\n throw error;\n }\n};\n\nexport const appendConditionSafely = (original: string | undefined, newCondition: string): string => {\n const cleanConditionString = (str: string): string => {\n // Remove leading special chars except '('\n return str.trim().replace(/^([^\\w(]+)/, '');\n };\n\n const extractConditions = (str: string): string[] => {\n // Remove outermost brackets if they exist, then split by '&' or ','\n return str\n .trim()\n .replace(/^[(]|[)]$/g, '')\n .split(/[&,]/)\n .map((cond) => cond.trim())\n .filter(Boolean);\n };\n\n // If no original, clean newCondition and wrap in ()\n if (!original || typeof original !== 'string' || original.trim() === '') {\n const cleaned = cleanConditionString(newCondition);\n return `(${cleaned})`;\n }\n\n // Extract existing and new conditions\n const existingConditions = new Set<string>(extractConditions(original));\n const incomingConditions = extractConditions(newCondition);\n\n // Filter out duplicates\n const filteredNew = incomingConditions.filter(\n (cond) => !existingConditions.has(cond)\n );\n\n // Combine both\n const allConditions = [...existingConditions, ...filteredNew];\n return `(${allConditions.join('&')})`;\n};\n\n\nexport const fetchAssemblyItemData = async (itemId: number) => {\n const response = await getV1AssemblyItemsId({\n id: itemId,\n ...getToken()\n });\n return response?.data?.data || null;\n};\nexport const getFileName = (file) => {\n if (!file) return \"\"\n if (file instanceof File) {\n return file.name\n } else if (typeof file === 'string') {\n const parts = file?.split('/');\n return parts?.[parts?.length - 1];\n } else if (Array.isArray(file) && file?.length > 0) {\n return file.map(f => {\n if (f instanceof File) {\n return f.name\n }\n const parts = f?.split('/');\n return parts?.[parts?.length - 1];\n }).join(', ')\n }\n}\n\nexport const getFieldFilters = (fields: any[], fieldNames: string | string[]) => {\n if (!fields?.length) return Array.isArray(fieldNames) ? new Map() : {};\n const filters = new Map()\n if (Array.isArray(fieldNames) && fieldNames?.length) {\n fieldNames.forEach(f => {\n const filt = fields.find(fi => fi.name === f)?.field_properties?.customeFilter || {}\n filters.set(f, filt)\n })\n return filters\n }\n return fields.find(fi => fi.name === fieldNames)?.field_properties?.customeFilter || {}\n};\n\nexport const getNextScheduleDate = (currentDate: any, billingCycle: any) => {\n switch (billingCycle?.duration) {\n case 'Hour':\n return dayjs(currentDate).add(1, 'hour');\n case 'Day':\n return dayjs(currentDate).add(1, 'day');\n case 'Week':\n return dayjs(currentDate).add(1, 'week');\n case '2 Week':\n return dayjs(currentDate).add(2, 'week');\n case 'Month':\n // \"Month\" means actual 1 month (30 days)\n return dayjs(currentDate).add(30, 'day');\n case 'Calendar Month':\n // \"Calendar Month\" means end of the month\n return dayjs(currentDate).endOf('month').add(1, 'day').startOf('day');\n case 'Quarter':\n case '3 Month':\n return dayjs(currentDate).add(3, 'month');\n case '6 Month':\n return dayjs(currentDate).add(6, 'month');\n case 'Year':\n case '1 Year':\n return dayjs(currentDate).add(1, 'year');\n case '3 Year':\n return dayjs(currentDate).add(3, 'year');\n case '5 Year':\n case '5Year':\n return dayjs(currentDate).add(5, 'year');\n default:\n return dayjs(currentDate).add(1, 'month');\n }\n};\n//eslint-disable-next-line\nexport const getCountryIdByName = async (name: string) => {\n const response = await getV1LocationsCountries({\n filters: `(name.like=%${name}%)`,\n ...getToken(),\n });\n return response?.data?.countries?.[0]?.id || null;\n\n}\nexport const getSlicedValue = (value: string, length: number): string => {\n if (!value) return '';\n return value.slice(0, length);\n};\n\nexport const skuGenerator = ({\n name,\n category,\n sequence = '0001'\n}: {\n name: string;\n category: string;\n sequence?: string;\n}): string => {\n const cleanCategory = category.replace(/[^a-zA-Z0-9]/g, '');\n const cleanName = name.replace(/[^a-zA-Z0-9]/g, '');\n\n const categoryPart = getSlicedValue(cleanCategory, 3).toUpperCase();\n const namePart = getSlicedValue(cleanName, 3).toUpperCase();\n\n return `${categoryPart}-${namePart}-${sequence}`;\n};\n\nexport const checkSkuAndItemName = async (payload: any) => {\n const response = await postV1InventoryItemsCheck({\n ...payload,\n ...getToken(),\n });\n return response?.data?.item_exists || null;\n}\n\nexport const checkUniqueFields = async (payload: any) => {\n const apiPayload = {\n ...payload,\n ...(payload.name && {\n company_name: payload.name,\n }),\n ...getToken(),\n }\n delete apiPayload.name\n const response = await postV1LeadCheck(apiPayload)\n const itemExists = response?.data?.item_exists || {}\n const { name, ...rest } = itemExists\n\n return {\n ...rest,\n company_name: name,\n }\n}\n\nexport interface FormValues {\n [key: string]: any;\n}\n\n/**\n * Helper function to process field disabling logic\n */\nconst processFieldDisabling = (\n currentFieldValue: any,\n valueConfig: any,\n fieldsToDisableSet: Set<string>\n): void => {\n if (currentFieldValue !== null && currentFieldValue !== undefined) {\n // Convert current value to string for consistent comparison\n const valueKey = String(currentFieldValue);\n\n // Check for exact match first\n if (valueConfig[valueKey]) {\n valueConfig[valueKey].forEach((fieldName: string) => {\n fieldsToDisableSet.add(fieldName);\n });\n }\n // Check for type-specific matches (boolean, number)\n else if (typeof currentFieldValue === 'boolean' && valueConfig[currentFieldValue]) {\n valueConfig[currentFieldValue].forEach((fieldName: string) => {\n fieldsToDisableSet.add(fieldName);\n });\n }\n else if (typeof currentFieldValue === 'number' && valueConfig[currentFieldValue]) {\n valueConfig[currentFieldValue].forEach((fieldName: string) => {\n fieldsToDisableSet.add(fieldName);\n });\n }\n } else if (valueConfig?.['NO_VALUE']) {\n // Handle NO_VALUE case when field is empty/null/undefined\n valueConfig['NO_VALUE'].forEach((fieldName: string) => {\n fieldsToDisableSet.add(fieldName);\n });\n }\n};\n\n// Types for the configuration object\nexport interface UpdateFieldsDisabledConfig {\n data: any[];\n materialCostingType: string;\n formValues: FormValues;\n fieldsConfig?: FieldDisableConfig;\n isEditMode?: boolean;\n isAddMode?: boolean;\n alwaysDisabledFields?: string[];\n editModeDisabledFields?: string[];\n addModeDisabledFields?: string[];\n customDisabledFields?: string[];\n}\n\nexport const updateFieldsDisabledState = ({\n data,\n materialCostingType,\n formValues,\n fieldsConfig = INVENTORY_FIELDS_TO_BE_DISABLED,\n isEditMode = false,\n isAddMode = false,\n alwaysDisabledFields = INVENTORY_ALWAYS_DISABLED_FIELDS,\n editModeDisabledFields = INVENTORY_EDIT_MODE_DISABLED_FIELDS,\n addModeDisabledFields = INVENTORY_ADD_MODE_DISABLED_FIELDS,\n customDisabledFields = []\n}: UpdateFieldsDisabledConfig): any[] => {\n // Create a set to track all fields that should be disabled conditionally\n const conditionallyDisabledFields = new Set<string>();\n\n // Get all field names for the current material type (for material-specific fields)\n const materialTypeFieldNames = new Set(\n data\n ?.filter(field => field?.field_properties?.type === materialCostingType)\n ?.map(field => field?.name) || []\n );\n\n // Get all field names in the form (for global fields)\n const allFieldNames = new Set(data?.map(field => field?.name) || []);\n\n // Process each configuration entry for conditional disabling\n Object.entries(fieldsConfig).forEach(([configKey, valueConfig]) => {\n if (configKey === materialCostingType) {\n // Material-specific configuration (like pipe_costing)\n Object.entries(valueConfig).forEach(([dependentFieldName, nestedValueConfig]) => {\n if (materialTypeFieldNames.has(dependentFieldName)) {\n const fieldValue = formValues?.[dependentFieldName];\n processFieldDisabling(fieldValue, nestedValueConfig, conditionallyDisabledFields);\n }\n });\n } else if (allFieldNames.has(configKey)) {\n // Global field configuration (like is_rental)\n const currentFieldValue = formValues?.[configKey];\n processFieldDisabling(currentFieldValue, valueConfig, conditionallyDisabledFields);\n }\n });\n\n // Update form fields with disabled state\n return data.map(field => {\n // Check different types of disabled states\n const isAlwaysDisabled = alwaysDisabledFields.includes(field.name);\n const isEditModeDisabled = isEditMode && editModeDisabledFields.includes(field.name);\n const isAddModeDisabled = isAddMode && addModeDisabledFields.includes(field.name);\n const isConditionallyDisabled = conditionallyDisabledFields.has(field.name);\n const isCustomDisabled = customDisabledFields.includes(field.name);\n // const hasOriginalDisabled = field.disabled === true; // Only respect explicit true values\n\n // Field is disabled if any condition is met\n const isDisabled = isAlwaysDisabled || isEditModeDisabled || isAddModeDisabled || isConditionallyDisabled || isCustomDisabled;\n\n return {\n ...field,\n disabled: isDisabled,\n disableTableAddButton: isDisabled,\n disableDefaultActionColumn: isDisabled || Boolean(field?.disableDefaultActionColumn)\n };\n });\n};\n\nexport const remainingMaterialCostingTypes = (type: string | string[]) => {\n const types = Array.isArray(type) ? type : [type]\n\n return INVENTORY_MATERIAL_COSTING_TYPE_ARR.filter(\n mct => !types.includes(mct)\n )\n}\nexport const matchedMaterialCostingTypeLabel = (type: string | string[]) => {\n const types = Array.isArray(type) ? type : [type]\n\n return INVENTORY_MATERIAL_COSTING_TYPE_OPTIONS.find(o =>\n types.includes(o.value)\n )?.label || null\n}\n\nexport const fetchDataLocally = (params: any, arr: any) => {\n const { search = '', limit = 25, skip = 0 } = params;\n\n // Filter entityFields based on search term\n let filteredData = arr || [];\n if (search && search.length > 0) {\n const searchLower = search.toLowerCase();\n filteredData = filteredData.filter((item: any) => {\n const label = item?.label || item?.name || '';\n return label.toLowerCase().includes(searchLower);\n });\n }\n\n const totalCount = filteredData.length;\n\n const paginatedData = filteredData.slice(skip, skip + limit).map((item: any) => ({\n ...item,\n label: item?.label || item?.name,\n value: item?.value || item?.id || item?.name\n }));\n\n return {\n data: paginatedData,\n pagination: {\n totalCount\n }\n };\n}\n"],"names":["baseUrl","defaultHeaders","sanitizeUrl","setBaseUrl","setInventoryBaseUrl","SetAccountingBaseUrl","setCrmBaseUrl","setHrmsBaseUrl","setSystemFeatureBaseUrl","setDriveBaseUrl","setRentalBaseUrl","setManufacturingBaseUrl","setPurchaseBaseUrl","setPmsBaseUrl","_a","this","t","i","e","s","f","n","u","r","o","inventorySetBaseUrl","rbacSetBaseUrl","rentalSetBaseUrl","purchaseSetBaseUrl","hrmsSetBaseUrl","rule","combinator","_c","_b","_","skipFields","token","key"],"mappings":"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","x_google_ignoreList":[5]}
|
|
1
|
+
{"version":3,"file":"common-D59u5rE6.esm.js","sources":["../../src/api-client/api.workflow-automation/api.ts","../../src/api-client/api.hrms/api.ts","../../src/api-client/api.pms/api.ts","../../src/utils/api.ts","../../src/utils/format-text.ts","../../node_modules/dayjs/plugin/utc.js","../../src/utils/dateFormat.ts","../../src/utils/export-filters.ts","../../src/utils/constant.ts","../../src/utils/common.ts"],"sourcesContent":["// This client was generated by Platformatic from an OpenAPI specification.\n\nimport type { Api } from './api-types'\nimport type * as Types from './api-types'\n\n// The base URL for the API. This can be overridden by calling `setBaseUrl`.\nlet baseUrl = ''\n// The default headers to send within each request. This can be overridden by calling `setDefaultHeaders`.\nlet defaultHeaders = {}\n\nfunction sanitizeUrl(url: string) : string {\n if (url.endsWith('/')) { return url.slice(0, -1) } else { return url }\n}\nexport const setBaseUrl = (newUrl: string) : void => { baseUrl = sanitizeUrl(newUrl) }\n\nexport const setDefaultHeaders = (headers: Object): void => { defaultHeaders = headers }\n\ntype JSON = Record<string, unknown>\n/* @ts-ignore */\nfunction headersToJSON(headers: Headers): JSON {\n const output: JSON = {}\n headers.forEach((value, key) => {\n output[key] = value\n })\n return output\n}\n\nconst _getV1WorkflowReferences = async (url: string, request: Types.GetV1WorkflowReferencesRequest): Promise<Types.GetV1WorkflowReferencesResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowReferences: Api['getV1WorkflowReferences'] = async (request: Types.GetV1WorkflowReferencesRequest): Promise<Types.GetV1WorkflowReferencesResponses> => {\n return await _getV1WorkflowReferences(baseUrl, request)\n}\nconst _getV1WorkflowReferencesType = async (url: string, request: Types.GetV1WorkflowReferencesTypeRequest): Promise<Types.GetV1WorkflowReferencesTypeResponses> => {\n const queryParameters: (keyof Types.GetV1WorkflowReferencesTypeRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/${request['type']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowReferencesType: Api['getV1WorkflowReferencesType'] = async (request: Types.GetV1WorkflowReferencesTypeRequest): Promise<Types.GetV1WorkflowReferencesTypeResponses> => {\n return await _getV1WorkflowReferencesType(baseUrl, request)\n}\nconst _putV1WorkflowReferencesType = async (url: string, request: Types.PutV1WorkflowReferencesTypeRequest): Promise<Types.PutV1WorkflowReferencesTypeResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/${request['type']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1WorkflowReferencesType: Api['putV1WorkflowReferencesType'] = async (request: Types.PutV1WorkflowReferencesTypeRequest): Promise<Types.PutV1WorkflowReferencesTypeResponses> => {\n return await _putV1WorkflowReferencesType(baseUrl, request)\n}\nconst _getV1WorkflowReferencesHierarchicalType = async (url: string, request: Types.GetV1WorkflowReferencesHierarchicalTypeRequest): Promise<Types.GetV1WorkflowReferencesHierarchicalTypeResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/hierarchical/${request['type']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowReferencesHierarchicalType: Api['getV1WorkflowReferencesHierarchicalType'] = async (request: Types.GetV1WorkflowReferencesHierarchicalTypeRequest): Promise<Types.GetV1WorkflowReferencesHierarchicalTypeResponses> => {\n return await _getV1WorkflowReferencesHierarchicalType(baseUrl, request)\n}\nconst _postV1WorkflowReferencesTypeItems = async (url: string, request: Types.PostV1WorkflowReferencesTypeItemsRequest): Promise<Types.PostV1WorkflowReferencesTypeItemsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/${request['type']}/items`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1WorkflowReferencesTypeItems: Api['postV1WorkflowReferencesTypeItems'] = async (request: Types.PostV1WorkflowReferencesTypeItemsRequest): Promise<Types.PostV1WorkflowReferencesTypeItemsResponses> => {\n return await _postV1WorkflowReferencesTypeItems(baseUrl, request)\n}\nconst _deleteV1WorkflowReferencesTypeItemsValue = async (url: string, request: Types.DeleteV1WorkflowReferencesTypeItemsValueRequest): Promise<Types.DeleteV1WorkflowReferencesTypeItemsValueResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/${request['type']}/items/${request['value']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1WorkflowReferencesTypeItemsValue: Api['deleteV1WorkflowReferencesTypeItemsValue'] = async (request: Types.DeleteV1WorkflowReferencesTypeItemsValueRequest): Promise<Types.DeleteV1WorkflowReferencesTypeItemsValueResponses> => {\n return await _deleteV1WorkflowReferencesTypeItemsValue(baseUrl, request)\n}\nconst _getV1WorkflowReferencesFieldsEntityType = async (url: string, request: Types.GetV1WorkflowReferencesFieldsEntityTypeRequest): Promise<Types.GetV1WorkflowReferencesFieldsEntityTypeResponses> => {\n const queryParameters: (keyof Types.GetV1WorkflowReferencesFieldsEntityTypeRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/fields/${request['entity_type']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowReferencesFieldsEntityType: Api['getV1WorkflowReferencesFieldsEntityType'] = async (request: Types.GetV1WorkflowReferencesFieldsEntityTypeRequest): Promise<Types.GetV1WorkflowReferencesFieldsEntityTypeResponses> => {\n return await _getV1WorkflowReferencesFieldsEntityType(baseUrl, request)\n}\nconst _getV1WorkflowReferencesOperatorsEntityTypeFieldName = async (url: string, request: Types.GetV1WorkflowReferencesOperatorsEntityTypeFieldNameRequest): Promise<Types.GetV1WorkflowReferencesOperatorsEntityTypeFieldNameResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/operators/${request['entity_type']}/${request['field_name']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowReferencesOperatorsEntityTypeFieldName: Api['getV1WorkflowReferencesOperatorsEntityTypeFieldName'] = async (request: Types.GetV1WorkflowReferencesOperatorsEntityTypeFieldNameRequest): Promise<Types.GetV1WorkflowReferencesOperatorsEntityTypeFieldNameResponses> => {\n return await _getV1WorkflowReferencesOperatorsEntityTypeFieldName(baseUrl, request)\n}\nconst _getV1WorkflowReferencesEntityFieldOptionsEntityType = async (url: string, request: Types.GetV1WorkflowReferencesEntityFieldOptionsEntityTypeRequest): Promise<Types.GetV1WorkflowReferencesEntityFieldOptionsEntityTypeResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflow-references/entity-field-options/${request['entity_type']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowReferencesEntityFieldOptionsEntityType: Api['getV1WorkflowReferencesEntityFieldOptionsEntityType'] = async (request: Types.GetV1WorkflowReferencesEntityFieldOptionsEntityTypeRequest): Promise<Types.GetV1WorkflowReferencesEntityFieldOptionsEntityTypeResponses> => {\n return await _getV1WorkflowReferencesEntityFieldOptionsEntityType(baseUrl, request)\n}\nconst _getV1Workflows = async (url: string, request: Types.GetV1WorkflowsRequest): Promise<Types.GetV1WorkflowsResponses> => {\n const queryParameters: (keyof Types.GetV1WorkflowsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Workflows: Api['getV1Workflows'] = async (request: Types.GetV1WorkflowsRequest): Promise<Types.GetV1WorkflowsResponses> => {\n return await _getV1Workflows(baseUrl, request)\n}\nconst _postV1Workflows = async (url: string, request: Types.PostV1WorkflowsRequest): Promise<Types.PostV1WorkflowsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Workflows: Api['postV1Workflows'] = async (request: Types.PostV1WorkflowsRequest): Promise<Types.PostV1WorkflowsResponses> => {\n return await _postV1Workflows(baseUrl, request)\n}\nconst _getV1WorkflowsId = async (url: string, request: Types.GetV1WorkflowsIdRequest): Promise<Types.GetV1WorkflowsIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1WorkflowsId: Api['getV1WorkflowsId'] = async (request: Types.GetV1WorkflowsIdRequest): Promise<Types.GetV1WorkflowsIdResponses> => {\n return await _getV1WorkflowsId(baseUrl, request)\n}\nconst _putV1WorkflowsId = async (url: string, request: Types.PutV1WorkflowsIdRequest): Promise<Types.PutV1WorkflowsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1WorkflowsId: Api['putV1WorkflowsId'] = async (request: Types.PutV1WorkflowsIdRequest): Promise<Types.PutV1WorkflowsIdResponses> => {\n return await _putV1WorkflowsId(baseUrl, request)\n}\nconst _deleteV1WorkflowsId = async (url: string, request: Types.DeleteV1WorkflowsIdRequest): Promise<Types.DeleteV1WorkflowsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1WorkflowsId: Api['deleteV1WorkflowsId'] = async (request: Types.DeleteV1WorkflowsIdRequest): Promise<Types.DeleteV1WorkflowsIdResponses> => {\n return await _deleteV1WorkflowsId(baseUrl, request)\n}\nconst _postV1WorkflowsIdToggle = async (url: string, request: Types.PostV1WorkflowsIdToggleRequest): Promise<Types.PostV1WorkflowsIdToggleResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/${request['id']}/toggle`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1WorkflowsIdToggle: Api['postV1WorkflowsIdToggle'] = async (request: Types.PostV1WorkflowsIdToggleRequest): Promise<Types.PostV1WorkflowsIdToggleResponses> => {\n return await _postV1WorkflowsIdToggle(baseUrl, request)\n}\nconst _postV1WorkflowsTestTransform = async (url: string, request: Types.PostV1WorkflowsTestTransformRequest): Promise<Types.PostV1WorkflowsTestTransformResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/workflows/test-transform`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1WorkflowsTestTransform: Api['postV1WorkflowsTestTransform'] = async (request: Types.PostV1WorkflowsTestTransformRequest): Promise<Types.PostV1WorkflowsTestTransformResponses> => {\n return await _postV1WorkflowsTestTransform(baseUrl, request)\n}\ntype BuildOptions = {\n headers?: Object\n}\nexport default function build (url: string, options?: BuildOptions) {\n url = sanitizeUrl(url)\n if (options?.headers) {\n defaultHeaders = options.headers\n }\n return {\n getV1WorkflowReferences: _getV1WorkflowReferences.bind(url, ...arguments),\n getV1WorkflowReferencesType: _getV1WorkflowReferencesType.bind(url, ...arguments),\n putV1WorkflowReferencesType: _putV1WorkflowReferencesType.bind(url, ...arguments),\n getV1WorkflowReferencesHierarchicalType: _getV1WorkflowReferencesHierarchicalType.bind(url, ...arguments),\n postV1WorkflowReferencesTypeItems: _postV1WorkflowReferencesTypeItems.bind(url, ...arguments),\n deleteV1WorkflowReferencesTypeItemsValue: _deleteV1WorkflowReferencesTypeItemsValue.bind(url, ...arguments),\n getV1WorkflowReferencesFieldsEntityType: _getV1WorkflowReferencesFieldsEntityType.bind(url, ...arguments),\n getV1WorkflowReferencesOperatorsEntityTypeFieldName: _getV1WorkflowReferencesOperatorsEntityTypeFieldName.bind(url, ...arguments),\n getV1WorkflowReferencesEntityFieldOptionsEntityType: _getV1WorkflowReferencesEntityFieldOptionsEntityType.bind(url, ...arguments),\n getV1Workflows: _getV1Workflows.bind(url, ...arguments),\n postV1Workflows: _postV1Workflows.bind(url, ...arguments),\n getV1WorkflowsId: _getV1WorkflowsId.bind(url, ...arguments),\n putV1WorkflowsId: _putV1WorkflowsId.bind(url, ...arguments),\n deleteV1WorkflowsId: _deleteV1WorkflowsId.bind(url, ...arguments),\n postV1WorkflowsIdToggle: _postV1WorkflowsIdToggle.bind(url, ...arguments),\n postV1WorkflowsTestTransform: _postV1WorkflowsTestTransform.bind(url, ...arguments)\n }\n}","// This client was generated by Platformatic from an OpenAPI specification.\n\nimport type { Api } from './api-types'\nimport type * as Types from './api-types'\n\n// The base URL for the API. This can be overridden by calling `setBaseUrl`.\nlet baseUrl = ''\n// The default headers to send within each request. This can be overridden by calling `setDefaultHeaders`.\nlet defaultHeaders = {}\n\nfunction sanitizeUrl(url: string) : string {\n if (url.endsWith('/')) { return url.slice(0, -1) } else { return url }\n}\nexport const setBaseUrl = (newUrl: string) : void => { baseUrl = sanitizeUrl(newUrl) }\n\nexport const setDefaultHeaders = (headers: Object): void => { defaultHeaders = headers }\n\ntype JSON = Record<string, unknown>\n/* @ts-ignore */\nfunction headersToJSON(headers: Headers): JSON {\n const output: JSON = {}\n headers.forEach((value, key) => {\n output[key] = value\n })\n return output\n}\n\nconst _getV1FileUpload = async (url: string, request: Types.GetV1FileUploadRequest): Promise<Types.GetV1FileUploadResponses> => {\n const queryParameters: (keyof Types.GetV1FileUploadRequest)[] = ['key', 'mimeType', 'partCount']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['file-size'] !== undefined) {\n headers['file-size'] = request['file-size']\n delete request['file-size']\n }\n\n const response = await fetch(`${url}/v1/file-upload/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1FileUpload: Api['getV1FileUpload'] = async (request: Types.GetV1FileUploadRequest): Promise<Types.GetV1FileUploadResponses> => {\n return await _getV1FileUpload(baseUrl, request)\n}\nconst _postV1FileUploadMarkComplete = async (url: string, request: Types.PostV1FileUploadMarkCompleteRequest): Promise<Types.PostV1FileUploadMarkCompleteResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/file-upload/mark-complete`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1FileUploadMarkComplete: Api['postV1FileUploadMarkComplete'] = async (request: Types.PostV1FileUploadMarkCompleteRequest): Promise<Types.PostV1FileUploadMarkCompleteResponses> => {\n return await _postV1FileUploadMarkComplete(baseUrl, request)\n}\nconst _postV1DocumentMaster = async (url: string, request: Types.PostV1DocumentMasterRequest): Promise<Types.PostV1DocumentMasterResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DocumentMaster: Api['postV1DocumentMaster'] = async (request: Types.PostV1DocumentMasterRequest): Promise<Types.PostV1DocumentMasterResponses> => {\n return await _postV1DocumentMaster(baseUrl, request)\n}\nconst _getV1DocumentMaster = async (url: string, request: Types.GetV1DocumentMasterRequest): Promise<Types.GetV1DocumentMasterResponses> => {\n const queryParameters: (keyof Types.GetV1DocumentMasterRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DocumentMaster: Api['getV1DocumentMaster'] = async (request: Types.GetV1DocumentMasterRequest): Promise<Types.GetV1DocumentMasterResponses> => {\n return await _getV1DocumentMaster(baseUrl, request)\n}\nconst _getV1DocumentMasterId = async (url: string, request: Types.GetV1DocumentMasterIdRequest): Promise<Types.GetV1DocumentMasterIdResponses> => {\n const queryParameters: (keyof Types.GetV1DocumentMasterIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DocumentMasterId: Api['getV1DocumentMasterId'] = async (request: Types.GetV1DocumentMasterIdRequest): Promise<Types.GetV1DocumentMasterIdResponses> => {\n return await _getV1DocumentMasterId(baseUrl, request)\n}\nconst _putV1DocumentMasterId = async (url: string, request: Types.PutV1DocumentMasterIdRequest): Promise<Types.PutV1DocumentMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1DocumentMasterId: Api['putV1DocumentMasterId'] = async (request: Types.PutV1DocumentMasterIdRequest): Promise<Types.PutV1DocumentMasterIdResponses> => {\n return await _putV1DocumentMasterId(baseUrl, request)\n}\nconst _deleteV1DocumentMasterId = async (url: string, request: Types.DeleteV1DocumentMasterIdRequest): Promise<Types.DeleteV1DocumentMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1DocumentMasterId: Api['deleteV1DocumentMasterId'] = async (request: Types.DeleteV1DocumentMasterIdRequest): Promise<Types.DeleteV1DocumentMasterIdResponses> => {\n return await _deleteV1DocumentMasterId(baseUrl, request)\n}\nconst _patchV1DocumentMasterIdStatus = async (url: string, request: Types.PatchV1DocumentMasterIdStatusRequest): Promise<Types.PatchV1DocumentMasterIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1DocumentMasterIdStatus: Api['patchV1DocumentMasterIdStatus'] = async (request: Types.PatchV1DocumentMasterIdStatusRequest): Promise<Types.PatchV1DocumentMasterIdStatusResponses> => {\n return await _patchV1DocumentMasterIdStatus(baseUrl, request)\n}\nconst _postV1DocumentMasterSaveAsDraft = async (url: string, request: Types.PostV1DocumentMasterSaveAsDraftRequest): Promise<Types.PostV1DocumentMasterSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DocumentMasterSaveAsDraft: Api['postV1DocumentMasterSaveAsDraft'] = async (request: Types.PostV1DocumentMasterSaveAsDraftRequest): Promise<Types.PostV1DocumentMasterSaveAsDraftResponses> => {\n return await _postV1DocumentMasterSaveAsDraft(baseUrl, request)\n}\nconst _patchV1DocumentMasterIdSaveAsDraft = async (url: string, request: Types.PatchV1DocumentMasterIdSaveAsDraftRequest): Promise<Types.PatchV1DocumentMasterIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1DocumentMasterIdSaveAsDraft: Api['patchV1DocumentMasterIdSaveAsDraft'] = async (request: Types.PatchV1DocumentMasterIdSaveAsDraftRequest): Promise<Types.PatchV1DocumentMasterIdSaveAsDraftResponses> => {\n return await _patchV1DocumentMasterIdSaveAsDraft(baseUrl, request)\n}\nconst _getV1DocumentMasterGenerateExcel = async (url: string, request: Types.GetV1DocumentMasterGenerateExcelRequest): Promise<Types.GetV1DocumentMasterGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1DocumentMasterGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/document-master/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DocumentMasterGenerateExcel: Api['getV1DocumentMasterGenerateExcel'] = async (request: Types.GetV1DocumentMasterGenerateExcelRequest): Promise<Types.GetV1DocumentMasterGenerateExcelResponses> => {\n return await _getV1DocumentMasterGenerateExcel(baseUrl, request)\n}\nconst _postV1DocumentMasterImport = async (url: string, request: Types.PostV1DocumentMasterImportRequest): Promise<Types.PostV1DocumentMasterImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/document-master/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DocumentMasterImport: Api['postV1DocumentMasterImport'] = async (request: Types.PostV1DocumentMasterImportRequest): Promise<Types.PostV1DocumentMasterImportResponses> => {\n return await _postV1DocumentMasterImport(baseUrl, request)\n}\nconst _postV1CompanyCalendar = async (url: string, request: Types.PostV1CompanyCalendarRequest): Promise<Types.PostV1CompanyCalendarResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1CompanyCalendar: Api['postV1CompanyCalendar'] = async (request: Types.PostV1CompanyCalendarRequest): Promise<Types.PostV1CompanyCalendarResponses> => {\n return await _postV1CompanyCalendar(baseUrl, request)\n}\nconst _getV1CompanyCalendar = async (url: string, request: Types.GetV1CompanyCalendarRequest): Promise<Types.GetV1CompanyCalendarResponses> => {\n const queryParameters: (keyof Types.GetV1CompanyCalendarRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1CompanyCalendar: Api['getV1CompanyCalendar'] = async (request: Types.GetV1CompanyCalendarRequest): Promise<Types.GetV1CompanyCalendarResponses> => {\n return await _getV1CompanyCalendar(baseUrl, request)\n}\nconst _getV1CompanyCalendarId = async (url: string, request: Types.GetV1CompanyCalendarIdRequest): Promise<Types.GetV1CompanyCalendarIdResponses> => {\n const queryParameters: (keyof Types.GetV1CompanyCalendarIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1CompanyCalendarId: Api['getV1CompanyCalendarId'] = async (request: Types.GetV1CompanyCalendarIdRequest): Promise<Types.GetV1CompanyCalendarIdResponses> => {\n return await _getV1CompanyCalendarId(baseUrl, request)\n}\nconst _putV1CompanyCalendarId = async (url: string, request: Types.PutV1CompanyCalendarIdRequest): Promise<Types.PutV1CompanyCalendarIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1CompanyCalendarId: Api['putV1CompanyCalendarId'] = async (request: Types.PutV1CompanyCalendarIdRequest): Promise<Types.PutV1CompanyCalendarIdResponses> => {\n return await _putV1CompanyCalendarId(baseUrl, request)\n}\nconst _deleteV1CompanyCalendarId = async (url: string, request: Types.DeleteV1CompanyCalendarIdRequest): Promise<Types.DeleteV1CompanyCalendarIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1CompanyCalendarId: Api['deleteV1CompanyCalendarId'] = async (request: Types.DeleteV1CompanyCalendarIdRequest): Promise<Types.DeleteV1CompanyCalendarIdResponses> => {\n return await _deleteV1CompanyCalendarId(baseUrl, request)\n}\nconst _patchV1CompanyCalendarIdStatus = async (url: string, request: Types.PatchV1CompanyCalendarIdStatusRequest): Promise<Types.PatchV1CompanyCalendarIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1CompanyCalendarIdStatus: Api['patchV1CompanyCalendarIdStatus'] = async (request: Types.PatchV1CompanyCalendarIdStatusRequest): Promise<Types.PatchV1CompanyCalendarIdStatusResponses> => {\n return await _patchV1CompanyCalendarIdStatus(baseUrl, request)\n}\nconst _postV1CompanyCalendarSaveAsDraft = async (url: string, request: Types.PostV1CompanyCalendarSaveAsDraftRequest): Promise<Types.PostV1CompanyCalendarSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1CompanyCalendarSaveAsDraft: Api['postV1CompanyCalendarSaveAsDraft'] = async (request: Types.PostV1CompanyCalendarSaveAsDraftRequest): Promise<Types.PostV1CompanyCalendarSaveAsDraftResponses> => {\n return await _postV1CompanyCalendarSaveAsDraft(baseUrl, request)\n}\nconst _patchV1CompanyCalendarIdSaveAsDraft = async (url: string, request: Types.PatchV1CompanyCalendarIdSaveAsDraftRequest): Promise<Types.PatchV1CompanyCalendarIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1CompanyCalendarIdSaveAsDraft: Api['patchV1CompanyCalendarIdSaveAsDraft'] = async (request: Types.PatchV1CompanyCalendarIdSaveAsDraftRequest): Promise<Types.PatchV1CompanyCalendarIdSaveAsDraftResponses> => {\n return await _patchV1CompanyCalendarIdSaveAsDraft(baseUrl, request)\n}\nconst _getV1CompanyCalendarGenerateExcel = async (url: string, request: Types.GetV1CompanyCalendarGenerateExcelRequest): Promise<Types.GetV1CompanyCalendarGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1CompanyCalendarGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1CompanyCalendarGenerateExcel: Api['getV1CompanyCalendarGenerateExcel'] = async (request: Types.GetV1CompanyCalendarGenerateExcelRequest): Promise<Types.GetV1CompanyCalendarGenerateExcelResponses> => {\n return await _getV1CompanyCalendarGenerateExcel(baseUrl, request)\n}\nconst _postV1CompanyCalendarImport = async (url: string, request: Types.PostV1CompanyCalendarImportRequest): Promise<Types.PostV1CompanyCalendarImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company-calendar/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1CompanyCalendarImport: Api['postV1CompanyCalendarImport'] = async (request: Types.PostV1CompanyCalendarImportRequest): Promise<Types.PostV1CompanyCalendarImportResponses> => {\n return await _postV1CompanyCalendarImport(baseUrl, request)\n}\nconst _postV1LoanMaster = async (url: string, request: Types.PostV1LoanMasterRequest): Promise<Types.PostV1LoanMasterResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LoanMaster: Api['postV1LoanMaster'] = async (request: Types.PostV1LoanMasterRequest): Promise<Types.PostV1LoanMasterResponses> => {\n return await _postV1LoanMaster(baseUrl, request)\n}\nconst _getV1LoanMaster = async (url: string, request: Types.GetV1LoanMasterRequest): Promise<Types.GetV1LoanMasterResponses> => {\n const queryParameters: (keyof Types.GetV1LoanMasterRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanMaster: Api['getV1LoanMaster'] = async (request: Types.GetV1LoanMasterRequest): Promise<Types.GetV1LoanMasterResponses> => {\n return await _getV1LoanMaster(baseUrl, request)\n}\nconst _getV1LoanMasterId = async (url: string, request: Types.GetV1LoanMasterIdRequest): Promise<Types.GetV1LoanMasterIdResponses> => {\n const queryParameters: (keyof Types.GetV1LoanMasterIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanMasterId: Api['getV1LoanMasterId'] = async (request: Types.GetV1LoanMasterIdRequest): Promise<Types.GetV1LoanMasterIdResponses> => {\n return await _getV1LoanMasterId(baseUrl, request)\n}\nconst _putV1LoanMasterId = async (url: string, request: Types.PutV1LoanMasterIdRequest): Promise<Types.PutV1LoanMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LoanMasterId: Api['putV1LoanMasterId'] = async (request: Types.PutV1LoanMasterIdRequest): Promise<Types.PutV1LoanMasterIdResponses> => {\n return await _putV1LoanMasterId(baseUrl, request)\n}\nconst _deleteV1LoanMasterId = async (url: string, request: Types.DeleteV1LoanMasterIdRequest): Promise<Types.DeleteV1LoanMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1LoanMasterId: Api['deleteV1LoanMasterId'] = async (request: Types.DeleteV1LoanMasterIdRequest): Promise<Types.DeleteV1LoanMasterIdResponses> => {\n return await _deleteV1LoanMasterId(baseUrl, request)\n}\nconst _patchV1LoanMasterIdStatus = async (url: string, request: Types.PatchV1LoanMasterIdStatusRequest): Promise<Types.PatchV1LoanMasterIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LoanMasterIdStatus: Api['patchV1LoanMasterIdStatus'] = async (request: Types.PatchV1LoanMasterIdStatusRequest): Promise<Types.PatchV1LoanMasterIdStatusResponses> => {\n return await _patchV1LoanMasterIdStatus(baseUrl, request)\n}\nconst _postV1LoanMasterDraft = async (url: string, request: Types.PostV1LoanMasterDraftRequest): Promise<Types.PostV1LoanMasterDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-master/draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LoanMasterDraft: Api['postV1LoanMasterDraft'] = async (request: Types.PostV1LoanMasterDraftRequest): Promise<Types.PostV1LoanMasterDraftResponses> => {\n return await _postV1LoanMasterDraft(baseUrl, request)\n}\nconst _postV1LoanRequests = async (url: string, request: Types.PostV1LoanRequestsRequest): Promise<Types.PostV1LoanRequestsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LoanRequests: Api['postV1LoanRequests'] = async (request: Types.PostV1LoanRequestsRequest): Promise<Types.PostV1LoanRequestsResponses> => {\n return await _postV1LoanRequests(baseUrl, request)\n}\nconst _getV1LoanRequests = async (url: string, request: Types.GetV1LoanRequestsRequest): Promise<Types.GetV1LoanRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1LoanRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanRequests: Api['getV1LoanRequests'] = async (request: Types.GetV1LoanRequestsRequest): Promise<Types.GetV1LoanRequestsResponses> => {\n return await _getV1LoanRequests(baseUrl, request)\n}\nconst _getV1LoanRequestsEligibilityEmployeeIdLoanMasters = async (url: string, request: Types.GetV1LoanRequestsEligibilityEmployeeIdLoanMastersRequest): Promise<Types.GetV1LoanRequestsEligibilityEmployeeIdLoanMastersResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/eligibility/${request['employee_id']}/loan-masters`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanRequestsEligibilityEmployeeIdLoanMasters: Api['getV1LoanRequestsEligibilityEmployeeIdLoanMasters'] = async (request: Types.GetV1LoanRequestsEligibilityEmployeeIdLoanMastersRequest): Promise<Types.GetV1LoanRequestsEligibilityEmployeeIdLoanMastersResponses> => {\n return await _getV1LoanRequestsEligibilityEmployeeIdLoanMasters(baseUrl, request)\n}\nconst _postV1LoanRequestsCheckEligibility = async (url: string, request: Types.PostV1LoanRequestsCheckEligibilityRequest): Promise<Types.PostV1LoanRequestsCheckEligibilityResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/check-eligibility`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LoanRequestsCheckEligibility: Api['postV1LoanRequestsCheckEligibility'] = async (request: Types.PostV1LoanRequestsCheckEligibilityRequest): Promise<Types.PostV1LoanRequestsCheckEligibilityResponses> => {\n return await _postV1LoanRequestsCheckEligibility(baseUrl, request)\n}\nconst _postV1LoanRequestsPreviewEmi = async (url: string, request: Types.PostV1LoanRequestsPreviewEmiRequest): Promise<Types.PostV1LoanRequestsPreviewEmiResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/preview-emi`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LoanRequestsPreviewEmi: Api['postV1LoanRequestsPreviewEmi'] = async (request: Types.PostV1LoanRequestsPreviewEmiRequest): Promise<Types.PostV1LoanRequestsPreviewEmiResponses> => {\n return await _postV1LoanRequestsPreviewEmi(baseUrl, request)\n}\nconst _getV1LoanRequestsId = async (url: string, request: Types.GetV1LoanRequestsIdRequest): Promise<Types.GetV1LoanRequestsIdResponses> => {\n const queryParameters: (keyof Types.GetV1LoanRequestsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanRequestsId: Api['getV1LoanRequestsId'] = async (request: Types.GetV1LoanRequestsIdRequest): Promise<Types.GetV1LoanRequestsIdResponses> => {\n return await _getV1LoanRequestsId(baseUrl, request)\n}\nconst _putV1LoanRequestsId = async (url: string, request: Types.PutV1LoanRequestsIdRequest): Promise<Types.PutV1LoanRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LoanRequestsId: Api['putV1LoanRequestsId'] = async (request: Types.PutV1LoanRequestsIdRequest): Promise<Types.PutV1LoanRequestsIdResponses> => {\n return await _putV1LoanRequestsId(baseUrl, request)\n}\nconst _deleteV1LoanRequestsId = async (url: string, request: Types.DeleteV1LoanRequestsIdRequest): Promise<Types.DeleteV1LoanRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1LoanRequestsId: Api['deleteV1LoanRequestsId'] = async (request: Types.DeleteV1LoanRequestsIdRequest): Promise<Types.DeleteV1LoanRequestsIdResponses> => {\n return await _deleteV1LoanRequestsId(baseUrl, request)\n}\nconst _getV1LoanRequestsGenerateExcel = async (url: string, request: Types.GetV1LoanRequestsGenerateExcelRequest): Promise<Types.GetV1LoanRequestsGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1LoanRequestsGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-requests/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1LoanRequestsGenerateExcel: Api['getV1LoanRequestsGenerateExcel'] = async (request: Types.GetV1LoanRequestsGenerateExcelRequest): Promise<Types.GetV1LoanRequestsGenerateExcelResponses> => {\n return await _getV1LoanRequestsGenerateExcel(baseUrl, request)\n}\nconst _getV1LoanAllotments = async (url: string, request: Types.GetV1LoanAllotmentsRequest): Promise<Types.GetV1LoanAllotmentsResponses> => {\n const queryParameters: (keyof Types.GetV1LoanAllotmentsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanAllotments: Api['getV1LoanAllotments'] = async (request: Types.GetV1LoanAllotmentsRequest): Promise<Types.GetV1LoanAllotmentsResponses> => {\n return await _getV1LoanAllotments(baseUrl, request)\n}\nconst _getV1LoanAllotmentsMyApprovals = async (url: string, request: Types.GetV1LoanAllotmentsMyApprovalsRequest): Promise<Types.GetV1LoanAllotmentsMyApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1LoanAllotmentsMyApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'approval_status']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/my-approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanAllotmentsMyApprovals: Api['getV1LoanAllotmentsMyApprovals'] = async (request: Types.GetV1LoanAllotmentsMyApprovalsRequest): Promise<Types.GetV1LoanAllotmentsMyApprovalsResponses> => {\n return await _getV1LoanAllotmentsMyApprovals(baseUrl, request)\n}\nconst _getV1LoanAllotmentsId = async (url: string, request: Types.GetV1LoanAllotmentsIdRequest): Promise<Types.GetV1LoanAllotmentsIdResponses> => {\n const queryParameters: (keyof Types.GetV1LoanAllotmentsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanAllotmentsId: Api['getV1LoanAllotmentsId'] = async (request: Types.GetV1LoanAllotmentsIdRequest): Promise<Types.GetV1LoanAllotmentsIdResponses> => {\n return await _getV1LoanAllotmentsId(baseUrl, request)\n}\nconst _patchV1LoanAllotmentsIdStatus = async (url: string, request: Types.PatchV1LoanAllotmentsIdStatusRequest): Promise<Types.PatchV1LoanAllotmentsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LoanAllotmentsIdStatus: Api['patchV1LoanAllotmentsIdStatus'] = async (request: Types.PatchV1LoanAllotmentsIdStatusRequest): Promise<Types.PatchV1LoanAllotmentsIdStatusResponses> => {\n return await _patchV1LoanAllotmentsIdStatus(baseUrl, request)\n}\nconst _getV1LoanAllotmentsActiveLoans = async (url: string, request: Types.GetV1LoanAllotmentsActiveLoansRequest): Promise<Types.GetV1LoanAllotmentsActiveLoansResponses> => {\n const queryParameters: (keyof Types.GetV1LoanAllotmentsActiveLoansRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/active-loans?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanAllotmentsActiveLoans: Api['getV1LoanAllotmentsActiveLoans'] = async (request: Types.GetV1LoanAllotmentsActiveLoansRequest): Promise<Types.GetV1LoanAllotmentsActiveLoansResponses> => {\n return await _getV1LoanAllotmentsActiveLoans(baseUrl, request)\n}\nconst _getV1LoanAllotmentsActiveLoansId = async (url: string, request: Types.GetV1LoanAllotmentsActiveLoansIdRequest): Promise<Types.GetV1LoanAllotmentsActiveLoansIdResponses> => {\n const queryParameters: (keyof Types.GetV1LoanAllotmentsActiveLoansIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/active-loans/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanAllotmentsActiveLoansId: Api['getV1LoanAllotmentsActiveLoansId'] = async (request: Types.GetV1LoanAllotmentsActiveLoansIdRequest): Promise<Types.GetV1LoanAllotmentsActiveLoansIdResponses> => {\n return await _getV1LoanAllotmentsActiveLoansId(baseUrl, request)\n}\nconst _getV1LoanAllotmentsActiveLoansIdEmiScheduleExport = async (url: string, request: Types.GetV1LoanAllotmentsActiveLoansIdEmiScheduleExportRequest): Promise<Types.GetV1LoanAllotmentsActiveLoansIdEmiScheduleExportResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/loan-allotments/active-loans/${request['id']}/emi-schedule/export`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LoanAllotmentsActiveLoansIdEmiScheduleExport: Api['getV1LoanAllotmentsActiveLoansIdEmiScheduleExport'] = async (request: Types.GetV1LoanAllotmentsActiveLoansIdEmiScheduleExportRequest): Promise<Types.GetV1LoanAllotmentsActiveLoansIdEmiScheduleExportResponses> => {\n return await _getV1LoanAllotmentsActiveLoansIdEmiScheduleExport(baseUrl, request)\n}\nconst _getV1LeaveCategory = async (url: string, request: Types.GetV1LeaveCategoryRequest): Promise<Types.GetV1LeaveCategoryResponses> => {\n const queryParameters: (keyof Types.GetV1LeaveCategoryRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-category/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveCategory: Api['getV1LeaveCategory'] = async (request: Types.GetV1LeaveCategoryRequest): Promise<Types.GetV1LeaveCategoryResponses> => {\n return await _getV1LeaveCategory(baseUrl, request)\n}\nconst _getV1LeaveCategoryId = async (url: string, request: Types.GetV1LeaveCategoryIdRequest): Promise<Types.GetV1LeaveCategoryIdResponses> => {\n const queryParameters: (keyof Types.GetV1LeaveCategoryIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-category/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveCategoryId: Api['getV1LeaveCategoryId'] = async (request: Types.GetV1LeaveCategoryIdRequest): Promise<Types.GetV1LeaveCategoryIdResponses> => {\n return await _getV1LeaveCategoryId(baseUrl, request)\n}\nconst _getV1AccrualType = async (url: string, request: Types.GetV1AccrualTypeRequest): Promise<Types.GetV1AccrualTypeResponses> => {\n const queryParameters: (keyof Types.GetV1AccrualTypeRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-type/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AccrualType: Api['getV1AccrualType'] = async (request: Types.GetV1AccrualTypeRequest): Promise<Types.GetV1AccrualTypeResponses> => {\n return await _getV1AccrualType(baseUrl, request)\n}\nconst _getV1AccrualTypeId = async (url: string, request: Types.GetV1AccrualTypeIdRequest): Promise<Types.GetV1AccrualTypeIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-type/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AccrualTypeId: Api['getV1AccrualTypeId'] = async (request: Types.GetV1AccrualTypeIdRequest): Promise<Types.GetV1AccrualTypeIdResponses> => {\n return await _getV1AccrualTypeId(baseUrl, request)\n}\nconst _postV1AccrualMaster = async (url: string, request: Types.PostV1AccrualMasterRequest): Promise<Types.PostV1AccrualMasterResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AccrualMaster: Api['postV1AccrualMaster'] = async (request: Types.PostV1AccrualMasterRequest): Promise<Types.PostV1AccrualMasterResponses> => {\n return await _postV1AccrualMaster(baseUrl, request)\n}\nconst _getV1AccrualMaster = async (url: string, request: Types.GetV1AccrualMasterRequest): Promise<Types.GetV1AccrualMasterResponses> => {\n const queryParameters: (keyof Types.GetV1AccrualMasterRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AccrualMaster: Api['getV1AccrualMaster'] = async (request: Types.GetV1AccrualMasterRequest): Promise<Types.GetV1AccrualMasterResponses> => {\n return await _getV1AccrualMaster(baseUrl, request)\n}\nconst _getV1AccrualMasterId = async (url: string, request: Types.GetV1AccrualMasterIdRequest): Promise<Types.GetV1AccrualMasterIdResponses> => {\n const queryParameters: (keyof Types.GetV1AccrualMasterIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AccrualMasterId: Api['getV1AccrualMasterId'] = async (request: Types.GetV1AccrualMasterIdRequest): Promise<Types.GetV1AccrualMasterIdResponses> => {\n return await _getV1AccrualMasterId(baseUrl, request)\n}\nconst _putV1AccrualMasterId = async (url: string, request: Types.PutV1AccrualMasterIdRequest): Promise<Types.PutV1AccrualMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1AccrualMasterId: Api['putV1AccrualMasterId'] = async (request: Types.PutV1AccrualMasterIdRequest): Promise<Types.PutV1AccrualMasterIdResponses> => {\n return await _putV1AccrualMasterId(baseUrl, request)\n}\nconst _deleteV1AccrualMasterId = async (url: string, request: Types.DeleteV1AccrualMasterIdRequest): Promise<Types.DeleteV1AccrualMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1AccrualMasterId: Api['deleteV1AccrualMasterId'] = async (request: Types.DeleteV1AccrualMasterIdRequest): Promise<Types.DeleteV1AccrualMasterIdResponses> => {\n return await _deleteV1AccrualMasterId(baseUrl, request)\n}\nconst _patchV1AccrualMasterIdStatus = async (url: string, request: Types.PatchV1AccrualMasterIdStatusRequest): Promise<Types.PatchV1AccrualMasterIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1AccrualMasterIdStatus: Api['patchV1AccrualMasterIdStatus'] = async (request: Types.PatchV1AccrualMasterIdStatusRequest): Promise<Types.PatchV1AccrualMasterIdStatusResponses> => {\n return await _patchV1AccrualMasterIdStatus(baseUrl, request)\n}\nconst _postV1AccrualMasterDraft = async (url: string, request: Types.PostV1AccrualMasterDraftRequest): Promise<Types.PostV1AccrualMasterDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AccrualMasterDraft: Api['postV1AccrualMasterDraft'] = async (request: Types.PostV1AccrualMasterDraftRequest): Promise<Types.PostV1AccrualMasterDraftResponses> => {\n return await _postV1AccrualMasterDraft(baseUrl, request)\n}\nconst _patchV1AccrualMasterIdDraft = async (url: string, request: Types.PatchV1AccrualMasterIdDraftRequest): Promise<Types.PatchV1AccrualMasterIdDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/${request['id']}/draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1AccrualMasterIdDraft: Api['patchV1AccrualMasterIdDraft'] = async (request: Types.PatchV1AccrualMasterIdDraftRequest): Promise<Types.PatchV1AccrualMasterIdDraftResponses> => {\n return await _patchV1AccrualMasterIdDraft(baseUrl, request)\n}\nconst _getV1AccrualMasterGenerateExcel = async (url: string, request: Types.GetV1AccrualMasterGenerateExcelRequest): Promise<Types.GetV1AccrualMasterGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1AccrualMasterGenerateExcelRequest)[] = ['filters', 'order', 'limit', 'skip', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AccrualMasterGenerateExcel: Api['getV1AccrualMasterGenerateExcel'] = async (request: Types.GetV1AccrualMasterGenerateExcelRequest): Promise<Types.GetV1AccrualMasterGenerateExcelResponses> => {\n return await _getV1AccrualMasterGenerateExcel(baseUrl, request)\n}\nconst _postV1AccrualMasterImport = async (url: string, request: Types.PostV1AccrualMasterImportRequest): Promise<Types.PostV1AccrualMasterImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AccrualMasterImport: Api['postV1AccrualMasterImport'] = async (request: Types.PostV1AccrualMasterImportRequest): Promise<Types.PostV1AccrualMasterImportResponses> => {\n return await _postV1AccrualMasterImport(baseUrl, request)\n}\nconst _postV1AccrualMasterCalculateAmount = async (url: string, request: Types.PostV1AccrualMasterCalculateAmountRequest): Promise<Types.PostV1AccrualMasterCalculateAmountResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/accrual-master/calculate-amount`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AccrualMasterCalculateAmount: Api['postV1AccrualMasterCalculateAmount'] = async (request: Types.PostV1AccrualMasterCalculateAmountRequest): Promise<Types.PostV1AccrualMasterCalculateAmountResponses> => {\n return await _postV1AccrualMasterCalculateAmount(baseUrl, request)\n}\nconst _postV1LeavePolicyMaster = async (url: string, request: Types.PostV1LeavePolicyMasterRequest): Promise<Types.PostV1LeavePolicyMasterResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeavePolicyMaster: Api['postV1LeavePolicyMaster'] = async (request: Types.PostV1LeavePolicyMasterRequest): Promise<Types.PostV1LeavePolicyMasterResponses> => {\n return await _postV1LeavePolicyMaster(baseUrl, request)\n}\nconst _getV1LeavePolicyMaster = async (url: string, request: Types.GetV1LeavePolicyMasterRequest): Promise<Types.GetV1LeavePolicyMasterResponses> => {\n const queryParameters: (keyof Types.GetV1LeavePolicyMasterRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeavePolicyMaster: Api['getV1LeavePolicyMaster'] = async (request: Types.GetV1LeavePolicyMasterRequest): Promise<Types.GetV1LeavePolicyMasterResponses> => {\n return await _getV1LeavePolicyMaster(baseUrl, request)\n}\nconst _getV1LeavePolicyMasterId = async (url: string, request: Types.GetV1LeavePolicyMasterIdRequest): Promise<Types.GetV1LeavePolicyMasterIdResponses> => {\n const queryParameters: (keyof Types.GetV1LeavePolicyMasterIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeavePolicyMasterId: Api['getV1LeavePolicyMasterId'] = async (request: Types.GetV1LeavePolicyMasterIdRequest): Promise<Types.GetV1LeavePolicyMasterIdResponses> => {\n return await _getV1LeavePolicyMasterId(baseUrl, request)\n}\nconst _putV1LeavePolicyMasterId = async (url: string, request: Types.PutV1LeavePolicyMasterIdRequest): Promise<Types.PutV1LeavePolicyMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LeavePolicyMasterId: Api['putV1LeavePolicyMasterId'] = async (request: Types.PutV1LeavePolicyMasterIdRequest): Promise<Types.PutV1LeavePolicyMasterIdResponses> => {\n return await _putV1LeavePolicyMasterId(baseUrl, request)\n}\nconst _deleteV1LeavePolicyMasterId = async (url: string, request: Types.DeleteV1LeavePolicyMasterIdRequest): Promise<Types.DeleteV1LeavePolicyMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1LeavePolicyMasterId: Api['deleteV1LeavePolicyMasterId'] = async (request: Types.DeleteV1LeavePolicyMasterIdRequest): Promise<Types.DeleteV1LeavePolicyMasterIdResponses> => {\n return await _deleteV1LeavePolicyMasterId(baseUrl, request)\n}\nconst _patchV1LeavePolicyMasterIdStatus = async (url: string, request: Types.PatchV1LeavePolicyMasterIdStatusRequest): Promise<Types.PatchV1LeavePolicyMasterIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LeavePolicyMasterIdStatus: Api['patchV1LeavePolicyMasterIdStatus'] = async (request: Types.PatchV1LeavePolicyMasterIdStatusRequest): Promise<Types.PatchV1LeavePolicyMasterIdStatusResponses> => {\n return await _patchV1LeavePolicyMasterIdStatus(baseUrl, request)\n}\nconst _postV1LeavePolicyMasterSaveAsDraft = async (url: string, request: Types.PostV1LeavePolicyMasterSaveAsDraftRequest): Promise<Types.PostV1LeavePolicyMasterSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeavePolicyMasterSaveAsDraft: Api['postV1LeavePolicyMasterSaveAsDraft'] = async (request: Types.PostV1LeavePolicyMasterSaveAsDraftRequest): Promise<Types.PostV1LeavePolicyMasterSaveAsDraftResponses> => {\n return await _postV1LeavePolicyMasterSaveAsDraft(baseUrl, request)\n}\nconst _patchV1LeavePolicyMasterIdSaveAsDraft = async (url: string, request: Types.PatchV1LeavePolicyMasterIdSaveAsDraftRequest): Promise<Types.PatchV1LeavePolicyMasterIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LeavePolicyMasterIdSaveAsDraft: Api['patchV1LeavePolicyMasterIdSaveAsDraft'] = async (request: Types.PatchV1LeavePolicyMasterIdSaveAsDraftRequest): Promise<Types.PatchV1LeavePolicyMasterIdSaveAsDraftResponses> => {\n return await _patchV1LeavePolicyMasterIdSaveAsDraft(baseUrl, request)\n}\nconst _getV1LeavePolicyMasterGenerateExcel = async (url: string, request: Types.GetV1LeavePolicyMasterGenerateExcelRequest): Promise<Types.GetV1LeavePolicyMasterGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1LeavePolicyMasterGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeavePolicyMasterGenerateExcel: Api['getV1LeavePolicyMasterGenerateExcel'] = async (request: Types.GetV1LeavePolicyMasterGenerateExcelRequest): Promise<Types.GetV1LeavePolicyMasterGenerateExcelResponses> => {\n return await _getV1LeavePolicyMasterGenerateExcel(baseUrl, request)\n}\nconst _postV1LeavePolicyMasterImport = async (url: string, request: Types.PostV1LeavePolicyMasterImportRequest): Promise<Types.PostV1LeavePolicyMasterImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-policy-master/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeavePolicyMasterImport: Api['postV1LeavePolicyMasterImport'] = async (request: Types.PostV1LeavePolicyMasterImportRequest): Promise<Types.PostV1LeavePolicyMasterImportResponses> => {\n return await _postV1LeavePolicyMasterImport(baseUrl, request)\n}\nconst _postV1Grades = async (url: string, request: Types.PostV1GradesRequest): Promise<Types.PostV1GradesResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/grades/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Grades: Api['postV1Grades'] = async (request: Types.PostV1GradesRequest): Promise<Types.PostV1GradesResponses> => {\n return await _postV1Grades(baseUrl, request)\n}\nconst _getV1Grades = async (url: string, request: Types.GetV1GradesRequest): Promise<Types.GetV1GradesResponses> => {\n const queryParameters: (keyof Types.GetV1GradesRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/grades/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Grades: Api['getV1Grades'] = async (request: Types.GetV1GradesRequest): Promise<Types.GetV1GradesResponses> => {\n return await _getV1Grades(baseUrl, request)\n}\nconst _getV1GradesId = async (url: string, request: Types.GetV1GradesIdRequest): Promise<Types.GetV1GradesIdResponses> => {\n const queryParameters: (keyof Types.GetV1GradesIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/grades/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1GradesId: Api['getV1GradesId'] = async (request: Types.GetV1GradesIdRequest): Promise<Types.GetV1GradesIdResponses> => {\n return await _getV1GradesId(baseUrl, request)\n}\nconst _putV1GradesId = async (url: string, request: Types.PutV1GradesIdRequest): Promise<Types.PutV1GradesIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/grades/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1GradesId: Api['putV1GradesId'] = async (request: Types.PutV1GradesIdRequest): Promise<Types.PutV1GradesIdResponses> => {\n return await _putV1GradesId(baseUrl, request)\n}\nconst _deleteV1GradesId = async (url: string, request: Types.DeleteV1GradesIdRequest): Promise<Types.DeleteV1GradesIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/grades/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1GradesId: Api['deleteV1GradesId'] = async (request: Types.DeleteV1GradesIdRequest): Promise<Types.DeleteV1GradesIdResponses> => {\n return await _deleteV1GradesId(baseUrl, request)\n}\nconst _patchV1GradesIdStatus = async (url: string, request: Types.PatchV1GradesIdStatusRequest): Promise<Types.PatchV1GradesIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/grades/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1GradesIdStatus: Api['patchV1GradesIdStatus'] = async (request: Types.PatchV1GradesIdStatusRequest): Promise<Types.PatchV1GradesIdStatusResponses> => {\n return await _patchV1GradesIdStatus(baseUrl, request)\n}\nconst _postV1Teams = async (url: string, request: Types.PostV1TeamsRequest): Promise<Types.PostV1TeamsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/teams/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Teams: Api['postV1Teams'] = async (request: Types.PostV1TeamsRequest): Promise<Types.PostV1TeamsResponses> => {\n return await _postV1Teams(baseUrl, request)\n}\nconst _getV1Teams = async (url: string, request: Types.GetV1TeamsRequest): Promise<Types.GetV1TeamsResponses> => {\n const queryParameters: (keyof Types.GetV1TeamsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/teams/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Teams: Api['getV1Teams'] = async (request: Types.GetV1TeamsRequest): Promise<Types.GetV1TeamsResponses> => {\n return await _getV1Teams(baseUrl, request)\n}\nconst _getV1TeamsId = async (url: string, request: Types.GetV1TeamsIdRequest): Promise<Types.GetV1TeamsIdResponses> => {\n const queryParameters: (keyof Types.GetV1TeamsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/teams/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TeamsId: Api['getV1TeamsId'] = async (request: Types.GetV1TeamsIdRequest): Promise<Types.GetV1TeamsIdResponses> => {\n return await _getV1TeamsId(baseUrl, request)\n}\nconst _putV1TeamsId = async (url: string, request: Types.PutV1TeamsIdRequest): Promise<Types.PutV1TeamsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/teams/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1TeamsId: Api['putV1TeamsId'] = async (request: Types.PutV1TeamsIdRequest): Promise<Types.PutV1TeamsIdResponses> => {\n return await _putV1TeamsId(baseUrl, request)\n}\nconst _deleteV1TeamsId = async (url: string, request: Types.DeleteV1TeamsIdRequest): Promise<Types.DeleteV1TeamsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/teams/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1TeamsId: Api['deleteV1TeamsId'] = async (request: Types.DeleteV1TeamsIdRequest): Promise<Types.DeleteV1TeamsIdResponses> => {\n return await _deleteV1TeamsId(baseUrl, request)\n}\nconst _postV1Skills = async (url: string, request: Types.PostV1SkillsRequest): Promise<Types.PostV1SkillsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/skills/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Skills: Api['postV1Skills'] = async (request: Types.PostV1SkillsRequest): Promise<Types.PostV1SkillsResponses> => {\n return await _postV1Skills(baseUrl, request)\n}\nconst _getV1Skills = async (url: string, request: Types.GetV1SkillsRequest): Promise<Types.GetV1SkillsResponses> => {\n const queryParameters: (keyof Types.GetV1SkillsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/skills/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Skills: Api['getV1Skills'] = async (request: Types.GetV1SkillsRequest): Promise<Types.GetV1SkillsResponses> => {\n return await _getV1Skills(baseUrl, request)\n}\nconst _getV1SkillsId = async (url: string, request: Types.GetV1SkillsIdRequest): Promise<Types.GetV1SkillsIdResponses> => {\n const queryParameters: (keyof Types.GetV1SkillsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/skills/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1SkillsId: Api['getV1SkillsId'] = async (request: Types.GetV1SkillsIdRequest): Promise<Types.GetV1SkillsIdResponses> => {\n return await _getV1SkillsId(baseUrl, request)\n}\nconst _putV1SkillsId = async (url: string, request: Types.PutV1SkillsIdRequest): Promise<Types.PutV1SkillsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/skills/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1SkillsId: Api['putV1SkillsId'] = async (request: Types.PutV1SkillsIdRequest): Promise<Types.PutV1SkillsIdResponses> => {\n return await _putV1SkillsId(baseUrl, request)\n}\nconst _deleteV1SkillsId = async (url: string, request: Types.DeleteV1SkillsIdRequest): Promise<Types.DeleteV1SkillsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/skills/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1SkillsId: Api['deleteV1SkillsId'] = async (request: Types.DeleteV1SkillsIdRequest): Promise<Types.DeleteV1SkillsIdResponses> => {\n return await _deleteV1SkillsId(baseUrl, request)\n}\nconst _postV1Designation = async (url: string, request: Types.PostV1DesignationRequest): Promise<Types.PostV1DesignationResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/designation/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Designation: Api['postV1Designation'] = async (request: Types.PostV1DesignationRequest): Promise<Types.PostV1DesignationResponses> => {\n return await _postV1Designation(baseUrl, request)\n}\nconst _getV1Designation = async (url: string, request: Types.GetV1DesignationRequest): Promise<Types.GetV1DesignationResponses> => {\n const queryParameters: (keyof Types.GetV1DesignationRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/designation/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Designation: Api['getV1Designation'] = async (request: Types.GetV1DesignationRequest): Promise<Types.GetV1DesignationResponses> => {\n return await _getV1Designation(baseUrl, request)\n}\nconst _getV1DesignationId = async (url: string, request: Types.GetV1DesignationIdRequest): Promise<Types.GetV1DesignationIdResponses> => {\n const queryParameters: (keyof Types.GetV1DesignationIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/designation/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DesignationId: Api['getV1DesignationId'] = async (request: Types.GetV1DesignationIdRequest): Promise<Types.GetV1DesignationIdResponses> => {\n return await _getV1DesignationId(baseUrl, request)\n}\nconst _putV1DesignationId = async (url: string, request: Types.PutV1DesignationIdRequest): Promise<Types.PutV1DesignationIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/designation/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1DesignationId: Api['putV1DesignationId'] = async (request: Types.PutV1DesignationIdRequest): Promise<Types.PutV1DesignationIdResponses> => {\n return await _putV1DesignationId(baseUrl, request)\n}\nconst _deleteV1DesignationId = async (url: string, request: Types.DeleteV1DesignationIdRequest): Promise<Types.DeleteV1DesignationIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/designation/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1DesignationId: Api['deleteV1DesignationId'] = async (request: Types.DeleteV1DesignationIdRequest): Promise<Types.DeleteV1DesignationIdResponses> => {\n return await _deleteV1DesignationId(baseUrl, request)\n}\nconst _postV1DesignationDraft = async (url: string, request: Types.PostV1DesignationDraftRequest): Promise<Types.PostV1DesignationDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/designation/draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DesignationDraft: Api['postV1DesignationDraft'] = async (request: Types.PostV1DesignationDraftRequest): Promise<Types.PostV1DesignationDraftResponses> => {\n return await _postV1DesignationDraft(baseUrl, request)\n}\nconst _postV1Departments = async (url: string, request: Types.PostV1DepartmentsRequest): Promise<Types.PostV1DepartmentsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Departments: Api['postV1Departments'] = async (request: Types.PostV1DepartmentsRequest): Promise<Types.PostV1DepartmentsResponses> => {\n return await _postV1Departments(baseUrl, request)\n}\nconst _getV1Departments = async (url: string, request: Types.GetV1DepartmentsRequest): Promise<Types.GetV1DepartmentsResponses> => {\n const queryParameters: (keyof Types.GetV1DepartmentsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Departments: Api['getV1Departments'] = async (request: Types.GetV1DepartmentsRequest): Promise<Types.GetV1DepartmentsResponses> => {\n return await _getV1Departments(baseUrl, request)\n}\nconst _getV1DepartmentsGenerateExcel = async (url: string, request: Types.GetV1DepartmentsGenerateExcelRequest): Promise<Types.GetV1DepartmentsGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1DepartmentsGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/departments/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DepartmentsGenerateExcel: Api['getV1DepartmentsGenerateExcel'] = async (request: Types.GetV1DepartmentsGenerateExcelRequest): Promise<Types.GetV1DepartmentsGenerateExcelResponses> => {\n return await _getV1DepartmentsGenerateExcel(baseUrl, request)\n}\nconst _getV1DepartmentsId = async (url: string, request: Types.GetV1DepartmentsIdRequest): Promise<Types.GetV1DepartmentsIdResponses> => {\n const queryParameters: (keyof Types.GetV1DepartmentsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DepartmentsId: Api['getV1DepartmentsId'] = async (request: Types.GetV1DepartmentsIdRequest): Promise<Types.GetV1DepartmentsIdResponses> => {\n return await _getV1DepartmentsId(baseUrl, request)\n}\nconst _patchV1DepartmentsId = async (url: string, request: Types.PatchV1DepartmentsIdRequest): Promise<Types.PatchV1DepartmentsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/${request['id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1DepartmentsId: Api['patchV1DepartmentsId'] = async (request: Types.PatchV1DepartmentsIdRequest): Promise<Types.PatchV1DepartmentsIdResponses> => {\n return await _patchV1DepartmentsId(baseUrl, request)\n}\nconst _putV1DepartmentsId = async (url: string, request: Types.PutV1DepartmentsIdRequest): Promise<Types.PutV1DepartmentsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1DepartmentsId: Api['putV1DepartmentsId'] = async (request: Types.PutV1DepartmentsIdRequest): Promise<Types.PutV1DepartmentsIdResponses> => {\n return await _putV1DepartmentsId(baseUrl, request)\n}\nconst _deleteV1DepartmentsId = async (url: string, request: Types.DeleteV1DepartmentsIdRequest): Promise<Types.DeleteV1DepartmentsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1DepartmentsId: Api['deleteV1DepartmentsId'] = async (request: Types.DeleteV1DepartmentsIdRequest): Promise<Types.DeleteV1DepartmentsIdResponses> => {\n return await _deleteV1DepartmentsId(baseUrl, request)\n}\nconst _getV1DepartmentsIdSubDepartments = async (url: string, request: Types.GetV1DepartmentsIdSubDepartmentsRequest): Promise<Types.GetV1DepartmentsIdSubDepartmentsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/${request['id']}/sub-departments`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DepartmentsIdSubDepartments: Api['getV1DepartmentsIdSubDepartments'] = async (request: Types.GetV1DepartmentsIdSubDepartmentsRequest): Promise<Types.GetV1DepartmentsIdSubDepartmentsResponses> => {\n return await _getV1DepartmentsIdSubDepartments(baseUrl, request)\n}\nconst _getV1DepartmentsIdTeams = async (url: string, request: Types.GetV1DepartmentsIdTeamsRequest): Promise<Types.GetV1DepartmentsIdTeamsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/${request['id']}/teams`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DepartmentsIdTeams: Api['getV1DepartmentsIdTeams'] = async (request: Types.GetV1DepartmentsIdTeamsRequest): Promise<Types.GetV1DepartmentsIdTeamsResponses> => {\n return await _getV1DepartmentsIdTeams(baseUrl, request)\n}\nconst _postV1DepartmentsTeams = async (url: string, request: Types.PostV1DepartmentsTeamsRequest): Promise<Types.PostV1DepartmentsTeamsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/teams`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DepartmentsTeams: Api['postV1DepartmentsTeams'] = async (request: Types.PostV1DepartmentsTeamsRequest): Promise<Types.PostV1DepartmentsTeamsResponses> => {\n return await _postV1DepartmentsTeams(baseUrl, request)\n}\nconst _patchV1DepartmentsTeamsId = async (url: string, request: Types.PatchV1DepartmentsTeamsIdRequest): Promise<Types.PatchV1DepartmentsTeamsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/teams/${request['id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1DepartmentsTeamsId: Api['patchV1DepartmentsTeamsId'] = async (request: Types.PatchV1DepartmentsTeamsIdRequest): Promise<Types.PatchV1DepartmentsTeamsIdResponses> => {\n return await _patchV1DepartmentsTeamsId(baseUrl, request)\n}\nconst _deleteV1DepartmentsTeamsId = async (url: string, request: Types.DeleteV1DepartmentsTeamsIdRequest): Promise<Types.DeleteV1DepartmentsTeamsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/teams/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1DepartmentsTeamsId: Api['deleteV1DepartmentsTeamsId'] = async (request: Types.DeleteV1DepartmentsTeamsIdRequest): Promise<Types.DeleteV1DepartmentsTeamsIdResponses> => {\n return await _deleteV1DepartmentsTeamsId(baseUrl, request)\n}\nconst _getV1DepartmentsCheckCode = async (url: string, request: Types.GetV1DepartmentsCheckCodeRequest): Promise<Types.GetV1DepartmentsCheckCodeResponses> => {\n const queryParameters: (keyof Types.GetV1DepartmentsCheckCodeRequest)[] = ['company_id', 'department_code', 'exclude_id']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/check-code?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DepartmentsCheckCode: Api['getV1DepartmentsCheckCode'] = async (request: Types.GetV1DepartmentsCheckCodeRequest): Promise<Types.GetV1DepartmentsCheckCodeResponses> => {\n return await _getV1DepartmentsCheckCode(baseUrl, request)\n}\nconst _postV1DepartmentsImport = async (url: string, request: Types.PostV1DepartmentsImportRequest): Promise<Types.PostV1DepartmentsImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DepartmentsImport: Api['postV1DepartmentsImport'] = async (request: Types.PostV1DepartmentsImportRequest): Promise<Types.PostV1DepartmentsImportResponses> => {\n return await _postV1DepartmentsImport(baseUrl, request)\n}\nconst _postV1DepartmentsDraft = async (url: string, request: Types.PostV1DepartmentsDraftRequest): Promise<Types.PostV1DepartmentsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/departments/draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DepartmentsDraft: Api['postV1DepartmentsDraft'] = async (request: Types.PostV1DepartmentsDraftRequest): Promise<Types.PostV1DepartmentsDraftResponses> => {\n return await _postV1DepartmentsDraft(baseUrl, request)\n}\nconst _postV1Timezones = async (url: string, request: Types.PostV1TimezonesRequest): Promise<Types.PostV1TimezonesResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timezones/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Timezones: Api['postV1Timezones'] = async (request: Types.PostV1TimezonesRequest): Promise<Types.PostV1TimezonesResponses> => {\n return await _postV1Timezones(baseUrl, request)\n}\nconst _getV1Timezones = async (url: string, request: Types.GetV1TimezonesRequest): Promise<Types.GetV1TimezonesResponses> => {\n const queryParameters: (keyof Types.GetV1TimezonesRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timezones/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Timezones: Api['getV1Timezones'] = async (request: Types.GetV1TimezonesRequest): Promise<Types.GetV1TimezonesResponses> => {\n return await _getV1Timezones(baseUrl, request)\n}\nconst _getV1TimezonesId = async (url: string, request: Types.GetV1TimezonesIdRequest): Promise<Types.GetV1TimezonesIdResponses> => {\n const queryParameters: (keyof Types.GetV1TimezonesIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timezones/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimezonesId: Api['getV1TimezonesId'] = async (request: Types.GetV1TimezonesIdRequest): Promise<Types.GetV1TimezonesIdResponses> => {\n return await _getV1TimezonesId(baseUrl, request)\n}\nconst _putV1TimezonesId = async (url: string, request: Types.PutV1TimezonesIdRequest): Promise<Types.PutV1TimezonesIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timezones/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1TimezonesId: Api['putV1TimezonesId'] = async (request: Types.PutV1TimezonesIdRequest): Promise<Types.PutV1TimezonesIdResponses> => {\n return await _putV1TimezonesId(baseUrl, request)\n}\nconst _deleteV1TimezonesId = async (url: string, request: Types.DeleteV1TimezonesIdRequest): Promise<Types.DeleteV1TimezonesIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timezones/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1TimezonesId: Api['deleteV1TimezonesId'] = async (request: Types.DeleteV1TimezonesIdRequest): Promise<Types.DeleteV1TimezonesIdResponses> => {\n return await _deleteV1TimezonesId(baseUrl, request)\n}\nconst _postV1SalaryStructureMaster = async (url: string, request: Types.PostV1SalaryStructureMasterRequest): Promise<Types.PostV1SalaryStructureMasterResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalaryStructureMaster: Api['postV1SalaryStructureMaster'] = async (request: Types.PostV1SalaryStructureMasterRequest): Promise<Types.PostV1SalaryStructureMasterResponses> => {\n return await _postV1SalaryStructureMaster(baseUrl, request)\n}\nconst _getV1SalaryStructureMaster = async (url: string, request: Types.GetV1SalaryStructureMasterRequest): Promise<Types.GetV1SalaryStructureMasterResponses> => {\n const queryParameters: (keyof Types.GetV1SalaryStructureMasterRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1SalaryStructureMaster: Api['getV1SalaryStructureMaster'] = async (request: Types.GetV1SalaryStructureMasterRequest): Promise<Types.GetV1SalaryStructureMasterResponses> => {\n return await _getV1SalaryStructureMaster(baseUrl, request)\n}\nconst _getV1SalaryStructureMasterId = async (url: string, request: Types.GetV1SalaryStructureMasterIdRequest): Promise<Types.GetV1SalaryStructureMasterIdResponses> => {\n const queryParameters: (keyof Types.GetV1SalaryStructureMasterIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1SalaryStructureMasterId: Api['getV1SalaryStructureMasterId'] = async (request: Types.GetV1SalaryStructureMasterIdRequest): Promise<Types.GetV1SalaryStructureMasterIdResponses> => {\n return await _getV1SalaryStructureMasterId(baseUrl, request)\n}\nconst _putV1SalaryStructureMasterId = async (url: string, request: Types.PutV1SalaryStructureMasterIdRequest): Promise<Types.PutV1SalaryStructureMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1SalaryStructureMasterId: Api['putV1SalaryStructureMasterId'] = async (request: Types.PutV1SalaryStructureMasterIdRequest): Promise<Types.PutV1SalaryStructureMasterIdResponses> => {\n return await _putV1SalaryStructureMasterId(baseUrl, request)\n}\nconst _deleteV1SalaryStructureMasterId = async (url: string, request: Types.DeleteV1SalaryStructureMasterIdRequest): Promise<Types.DeleteV1SalaryStructureMasterIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1SalaryStructureMasterId: Api['deleteV1SalaryStructureMasterId'] = async (request: Types.DeleteV1SalaryStructureMasterIdRequest): Promise<Types.DeleteV1SalaryStructureMasterIdResponses> => {\n return await _deleteV1SalaryStructureMasterId(baseUrl, request)\n}\nconst _patchV1SalaryStructureMasterIdStatus = async (url: string, request: Types.PatchV1SalaryStructureMasterIdStatusRequest): Promise<Types.PatchV1SalaryStructureMasterIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1SalaryStructureMasterIdStatus: Api['patchV1SalaryStructureMasterIdStatus'] = async (request: Types.PatchV1SalaryStructureMasterIdStatusRequest): Promise<Types.PatchV1SalaryStructureMasterIdStatusResponses> => {\n return await _patchV1SalaryStructureMasterIdStatus(baseUrl, request)\n}\nconst _postV1SalaryStructureMasterSaveAsDraft = async (url: string, request: Types.PostV1SalaryStructureMasterSaveAsDraftRequest): Promise<Types.PostV1SalaryStructureMasterSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalaryStructureMasterSaveAsDraft: Api['postV1SalaryStructureMasterSaveAsDraft'] = async (request: Types.PostV1SalaryStructureMasterSaveAsDraftRequest): Promise<Types.PostV1SalaryStructureMasterSaveAsDraftResponses> => {\n return await _postV1SalaryStructureMasterSaveAsDraft(baseUrl, request)\n}\nconst _patchV1SalaryStructureMasterIdSaveAsDraft = async (url: string, request: Types.PatchV1SalaryStructureMasterIdSaveAsDraftRequest): Promise<Types.PatchV1SalaryStructureMasterIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1SalaryStructureMasterIdSaveAsDraft: Api['patchV1SalaryStructureMasterIdSaveAsDraft'] = async (request: Types.PatchV1SalaryStructureMasterIdSaveAsDraftRequest): Promise<Types.PatchV1SalaryStructureMasterIdSaveAsDraftResponses> => {\n return await _patchV1SalaryStructureMasterIdSaveAsDraft(baseUrl, request)\n}\nconst _postV1SalaryStructureMasterCalculate = async (url: string, request: Types.PostV1SalaryStructureMasterCalculateRequest): Promise<Types.PostV1SalaryStructureMasterCalculateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/calculate`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalaryStructureMasterCalculate: Api['postV1SalaryStructureMasterCalculate'] = async (request: Types.PostV1SalaryStructureMasterCalculateRequest): Promise<Types.PostV1SalaryStructureMasterCalculateResponses> => {\n return await _postV1SalaryStructureMasterCalculate(baseUrl, request)\n}\nconst _getV1SalaryStructureMasterGenerateExcel = async (url: string, request: Types.GetV1SalaryStructureMasterGenerateExcelRequest): Promise<Types.GetV1SalaryStructureMasterGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1SalaryStructureMasterGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1SalaryStructureMasterGenerateExcel: Api['getV1SalaryStructureMasterGenerateExcel'] = async (request: Types.GetV1SalaryStructureMasterGenerateExcelRequest): Promise<Types.GetV1SalaryStructureMasterGenerateExcelResponses> => {\n return await _getV1SalaryStructureMasterGenerateExcel(baseUrl, request)\n}\nconst _postV1SalaryStructureMasterImport = async (url: string, request: Types.PostV1SalaryStructureMasterImportRequest): Promise<Types.PostV1SalaryStructureMasterImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-structure-master/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalaryStructureMasterImport: Api['postV1SalaryStructureMasterImport'] = async (request: Types.PostV1SalaryStructureMasterImportRequest): Promise<Types.PostV1SalaryStructureMasterImportResponses> => {\n return await _postV1SalaryStructureMasterImport(baseUrl, request)\n}\nconst _postV1Employee = async (url: string, request: Types.PostV1EmployeeRequest): Promise<Types.PostV1EmployeeResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Employee: Api['postV1Employee'] = async (request: Types.PostV1EmployeeRequest): Promise<Types.PostV1EmployeeResponses> => {\n return await _postV1Employee(baseUrl, request)\n}\nconst _getV1Employee = async (url: string, request: Types.GetV1EmployeeRequest): Promise<Types.GetV1EmployeeResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Employee: Api['getV1Employee'] = async (request: Types.GetV1EmployeeRequest): Promise<Types.GetV1EmployeeResponses> => {\n return await _getV1Employee(baseUrl, request)\n}\nconst _getV1EmployeeId = async (url: string, request: Types.GetV1EmployeeIdRequest): Promise<Types.GetV1EmployeeIdResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeId: Api['getV1EmployeeId'] = async (request: Types.GetV1EmployeeIdRequest): Promise<Types.GetV1EmployeeIdResponses> => {\n return await _getV1EmployeeId(baseUrl, request)\n}\nconst _putV1EmployeeId = async (url: string, request: Types.PutV1EmployeeIdRequest): Promise<Types.PutV1EmployeeIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1EmployeeId: Api['putV1EmployeeId'] = async (request: Types.PutV1EmployeeIdRequest): Promise<Types.PutV1EmployeeIdResponses> => {\n return await _putV1EmployeeId(baseUrl, request)\n}\nconst _deleteV1EmployeeId = async (url: string, request: Types.DeleteV1EmployeeIdRequest): Promise<Types.DeleteV1EmployeeIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1EmployeeId: Api['deleteV1EmployeeId'] = async (request: Types.DeleteV1EmployeeIdRequest): Promise<Types.DeleteV1EmployeeIdResponses> => {\n return await _deleteV1EmployeeId(baseUrl, request)\n}\nconst _patchV1EmployeeIdStatus = async (url: string, request: Types.PatchV1EmployeeIdStatusRequest): Promise<Types.PatchV1EmployeeIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1EmployeeIdStatus: Api['patchV1EmployeeIdStatus'] = async (request: Types.PatchV1EmployeeIdStatusRequest): Promise<Types.PatchV1EmployeeIdStatusResponses> => {\n return await _patchV1EmployeeIdStatus(baseUrl, request)\n}\nconst _postV1EmployeeSaveAsDraft = async (url: string, request: Types.PostV1EmployeeSaveAsDraftRequest): Promise<Types.PostV1EmployeeSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1EmployeeSaveAsDraft: Api['postV1EmployeeSaveAsDraft'] = async (request: Types.PostV1EmployeeSaveAsDraftRequest): Promise<Types.PostV1EmployeeSaveAsDraftResponses> => {\n return await _postV1EmployeeSaveAsDraft(baseUrl, request)\n}\nconst _patchV1EmployeeIdSaveAsDraft = async (url: string, request: Types.PatchV1EmployeeIdSaveAsDraftRequest): Promise<Types.PatchV1EmployeeIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1EmployeeIdSaveAsDraft: Api['patchV1EmployeeIdSaveAsDraft'] = async (request: Types.PatchV1EmployeeIdSaveAsDraftRequest): Promise<Types.PatchV1EmployeeIdSaveAsDraftResponses> => {\n return await _patchV1EmployeeIdSaveAsDraft(baseUrl, request)\n}\nconst _getV1EmployeeIdContracts = async (url: string, request: Types.GetV1EmployeeIdContractsRequest): Promise<Types.GetV1EmployeeIdContractsResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeIdContractsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}/contracts?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeIdContracts: Api['getV1EmployeeIdContracts'] = async (request: Types.GetV1EmployeeIdContractsRequest): Promise<Types.GetV1EmployeeIdContractsResponses> => {\n return await _getV1EmployeeIdContracts(baseUrl, request)\n}\nconst _getV1EmployeeIdContractsContractId = async (url: string, request: Types.GetV1EmployeeIdContractsContractIdRequest): Promise<Types.GetV1EmployeeIdContractsContractIdResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeIdContractsContractIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/${request['id']}/contracts/${request['contract_id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeIdContractsContractId: Api['getV1EmployeeIdContractsContractId'] = async (request: Types.GetV1EmployeeIdContractsContractIdRequest): Promise<Types.GetV1EmployeeIdContractsContractIdResponses> => {\n return await _getV1EmployeeIdContractsContractId(baseUrl, request)\n}\nconst _getV1EmployeeGenerateExcel = async (url: string, request: Types.GetV1EmployeeGenerateExcelRequest): Promise<Types.GetV1EmployeeGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeGenerateExcelRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/employee/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeGenerateExcel: Api['getV1EmployeeGenerateExcel'] = async (request: Types.GetV1EmployeeGenerateExcelRequest): Promise<Types.GetV1EmployeeGenerateExcelResponses> => {\n return await _getV1EmployeeGenerateExcel(baseUrl, request)\n}\nconst _postV1EmployeeImport = async (url: string, request: Types.PostV1EmployeeImportRequest): Promise<Types.PostV1EmployeeImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1EmployeeImport: Api['postV1EmployeeImport'] = async (request: Types.PostV1EmployeeImportRequest): Promise<Types.PostV1EmployeeImportResponses> => {\n return await _postV1EmployeeImport(baseUrl, request)\n}\nconst _postV1EmployeeContracts = async (url: string, request: Types.PostV1EmployeeContractsRequest): Promise<Types.PostV1EmployeeContractsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1EmployeeContracts: Api['postV1EmployeeContracts'] = async (request: Types.PostV1EmployeeContractsRequest): Promise<Types.PostV1EmployeeContractsResponses> => {\n return await _postV1EmployeeContracts(baseUrl, request)\n}\nconst _getV1EmployeeContracts = async (url: string, request: Types.GetV1EmployeeContractsRequest): Promise<Types.GetV1EmployeeContractsResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeContractsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeContracts: Api['getV1EmployeeContracts'] = async (request: Types.GetV1EmployeeContractsRequest): Promise<Types.GetV1EmployeeContractsResponses> => {\n return await _getV1EmployeeContracts(baseUrl, request)\n}\nconst _getV1EmployeeContractsId = async (url: string, request: Types.GetV1EmployeeContractsIdRequest): Promise<Types.GetV1EmployeeContractsIdResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeContractsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeContractsId: Api['getV1EmployeeContractsId'] = async (request: Types.GetV1EmployeeContractsIdRequest): Promise<Types.GetV1EmployeeContractsIdResponses> => {\n return await _getV1EmployeeContractsId(baseUrl, request)\n}\nconst _putV1EmployeeContractsId = async (url: string, request: Types.PutV1EmployeeContractsIdRequest): Promise<Types.PutV1EmployeeContractsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1EmployeeContractsId: Api['putV1EmployeeContractsId'] = async (request: Types.PutV1EmployeeContractsIdRequest): Promise<Types.PutV1EmployeeContractsIdResponses> => {\n return await _putV1EmployeeContractsId(baseUrl, request)\n}\nconst _deleteV1EmployeeContractsId = async (url: string, request: Types.DeleteV1EmployeeContractsIdRequest): Promise<Types.DeleteV1EmployeeContractsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1EmployeeContractsId: Api['deleteV1EmployeeContractsId'] = async (request: Types.DeleteV1EmployeeContractsIdRequest): Promise<Types.DeleteV1EmployeeContractsIdResponses> => {\n return await _deleteV1EmployeeContractsId(baseUrl, request)\n}\nconst _patchV1EmployeeContractsIdStatus = async (url: string, request: Types.PatchV1EmployeeContractsIdStatusRequest): Promise<Types.PatchV1EmployeeContractsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1EmployeeContractsIdStatus: Api['patchV1EmployeeContractsIdStatus'] = async (request: Types.PatchV1EmployeeContractsIdStatusRequest): Promise<Types.PatchV1EmployeeContractsIdStatusResponses> => {\n return await _patchV1EmployeeContractsIdStatus(baseUrl, request)\n}\nconst _getV1EmployeeContractsExportExcel = async (url: string, request: Types.GetV1EmployeeContractsExportExcelRequest): Promise<Types.GetV1EmployeeContractsExportExcelResponses> => {\n const queryParameters: (keyof Types.GetV1EmployeeContractsExportExcelRequest)[] = ['filters', 'search', 'order', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/employee-contracts/export/excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1EmployeeContractsExportExcel: Api['getV1EmployeeContractsExportExcel'] = async (request: Types.GetV1EmployeeContractsExportExcelRequest): Promise<Types.GetV1EmployeeContractsExportExcelResponses> => {\n return await _getV1EmployeeContractsExportExcel(baseUrl, request)\n}\nconst _postV1HireRequests = async (url: string, request: Types.PostV1HireRequestsRequest): Promise<Types.PostV1HireRequestsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1HireRequests: Api['postV1HireRequests'] = async (request: Types.PostV1HireRequestsRequest): Promise<Types.PostV1HireRequestsResponses> => {\n return await _postV1HireRequests(baseUrl, request)\n}\nconst _getV1HireRequests = async (url: string, request: Types.GetV1HireRequestsRequest): Promise<Types.GetV1HireRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1HireRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1HireRequests: Api['getV1HireRequests'] = async (request: Types.GetV1HireRequestsRequest): Promise<Types.GetV1HireRequestsResponses> => {\n return await _getV1HireRequests(baseUrl, request)\n}\nconst _getV1HireRequestsRequisitionManagement = async (url: string, request: Types.GetV1HireRequestsRequisitionManagementRequest): Promise<Types.GetV1HireRequestsRequisitionManagementResponses> => {\n const queryParameters: (keyof Types.GetV1HireRequestsRequisitionManagementRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/requisition-management?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1HireRequestsRequisitionManagement: Api['getV1HireRequestsRequisitionManagement'] = async (request: Types.GetV1HireRequestsRequisitionManagementRequest): Promise<Types.GetV1HireRequestsRequisitionManagementResponses> => {\n return await _getV1HireRequestsRequisitionManagement(baseUrl, request)\n}\nconst _getV1HireRequestsIdCandidatesByStage = async (url: string, request: Types.GetV1HireRequestsIdCandidatesByStageRequest): Promise<Types.GetV1HireRequestsIdCandidatesByStageResponses> => {\n const queryParameters: (keyof Types.GetV1HireRequestsIdCandidatesByStageRequest)[] = ['stage', 'limit', 'skip']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['id']}/candidates-by-stage?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1HireRequestsIdCandidatesByStage: Api['getV1HireRequestsIdCandidatesByStage'] = async (request: Types.GetV1HireRequestsIdCandidatesByStageRequest): Promise<Types.GetV1HireRequestsIdCandidatesByStageResponses> => {\n return await _getV1HireRequestsIdCandidatesByStage(baseUrl, request)\n}\nconst _getV1HireRequestsId = async (url: string, request: Types.GetV1HireRequestsIdRequest): Promise<Types.GetV1HireRequestsIdResponses> => {\n const queryParameters: (keyof Types.GetV1HireRequestsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1HireRequestsId: Api['getV1HireRequestsId'] = async (request: Types.GetV1HireRequestsIdRequest): Promise<Types.GetV1HireRequestsIdResponses> => {\n return await _getV1HireRequestsId(baseUrl, request)\n}\nconst _putV1HireRequestsId = async (url: string, request: Types.PutV1HireRequestsIdRequest): Promise<Types.PutV1HireRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1HireRequestsId: Api['putV1HireRequestsId'] = async (request: Types.PutV1HireRequestsIdRequest): Promise<Types.PutV1HireRequestsIdResponses> => {\n return await _putV1HireRequestsId(baseUrl, request)\n}\nconst _deleteV1HireRequestsId = async (url: string, request: Types.DeleteV1HireRequestsIdRequest): Promise<Types.DeleteV1HireRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1HireRequestsId: Api['deleteV1HireRequestsId'] = async (request: Types.DeleteV1HireRequestsIdRequest): Promise<Types.DeleteV1HireRequestsIdResponses> => {\n return await _deleteV1HireRequestsId(baseUrl, request)\n}\nconst _patchV1HireRequestsIdStatus = async (url: string, request: Types.PatchV1HireRequestsIdStatusRequest): Promise<Types.PatchV1HireRequestsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1HireRequestsIdStatus: Api['patchV1HireRequestsIdStatus'] = async (request: Types.PatchV1HireRequestsIdStatusRequest): Promise<Types.PatchV1HireRequestsIdStatusResponses> => {\n return await _patchV1HireRequestsIdStatus(baseUrl, request)\n}\nconst _postV1HireRequestsSaveAsDraft = async (url: string, request: Types.PostV1HireRequestsSaveAsDraftRequest): Promise<Types.PostV1HireRequestsSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1HireRequestsSaveAsDraft: Api['postV1HireRequestsSaveAsDraft'] = async (request: Types.PostV1HireRequestsSaveAsDraftRequest): Promise<Types.PostV1HireRequestsSaveAsDraftResponses> => {\n return await _postV1HireRequestsSaveAsDraft(baseUrl, request)\n}\nconst _patchV1HireRequestsIdSaveAsDraft = async (url: string, request: Types.PatchV1HireRequestsIdSaveAsDraftRequest): Promise<Types.PatchV1HireRequestsIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1HireRequestsIdSaveAsDraft: Api['patchV1HireRequestsIdSaveAsDraft'] = async (request: Types.PatchV1HireRequestsIdSaveAsDraftRequest): Promise<Types.PatchV1HireRequestsIdSaveAsDraftResponses> => {\n return await _patchV1HireRequestsIdSaveAsDraft(baseUrl, request)\n}\nconst _getV1HireRequestsGenerateExcel = async (url: string, request: Types.GetV1HireRequestsGenerateExcelRequest): Promise<Types.GetV1HireRequestsGenerateExcelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/generate-excel`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1HireRequestsGenerateExcel: Api['getV1HireRequestsGenerateExcel'] = async (request: Types.GetV1HireRequestsGenerateExcelRequest): Promise<Types.GetV1HireRequestsGenerateExcelResponses> => {\n return await _getV1HireRequestsGenerateExcel(baseUrl, request)\n}\nconst _postV1HireRequestsImport = async (url: string, request: Types.PostV1HireRequestsImportRequest): Promise<Types.PostV1HireRequestsImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1HireRequestsImport: Api['postV1HireRequestsImport'] = async (request: Types.PostV1HireRequestsImportRequest): Promise<Types.PostV1HireRequestsImportResponses> => {\n return await _postV1HireRequestsImport(baseUrl, request)\n}\nconst _postV1HireRequestsHireRequestIdBudgets = async (url: string, request: Types.PostV1HireRequestsHireRequestIdBudgetsRequest): Promise<Types.PostV1HireRequestsHireRequestIdBudgetsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['hire_request_id']}/budgets`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1HireRequestsHireRequestIdBudgets: Api['postV1HireRequestsHireRequestIdBudgets'] = async (request: Types.PostV1HireRequestsHireRequestIdBudgetsRequest): Promise<Types.PostV1HireRequestsHireRequestIdBudgetsResponses> => {\n return await _postV1HireRequestsHireRequestIdBudgets(baseUrl, request)\n}\nconst _putV1HireRequestsHireRequestIdBudgetsId = async (url: string, request: Types.PutV1HireRequestsHireRequestIdBudgetsIdRequest): Promise<Types.PutV1HireRequestsHireRequestIdBudgetsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/hire-requests/${request['hire_request_id']}/budgets/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1HireRequestsHireRequestIdBudgetsId: Api['putV1HireRequestsHireRequestIdBudgetsId'] = async (request: Types.PutV1HireRequestsHireRequestIdBudgetsIdRequest): Promise<Types.PutV1HireRequestsHireRequestIdBudgetsIdResponses> => {\n return await _putV1HireRequestsHireRequestIdBudgetsId(baseUrl, request)\n}\nconst _postV1JobPosts = async (url: string, request: Types.PostV1JobPostsRequest): Promise<Types.PostV1JobPostsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1JobPosts: Api['postV1JobPosts'] = async (request: Types.PostV1JobPostsRequest): Promise<Types.PostV1JobPostsResponses> => {\n return await _postV1JobPosts(baseUrl, request)\n}\nconst _getV1JobPosts = async (url: string, request: Types.GetV1JobPostsRequest): Promise<Types.GetV1JobPostsResponses> => {\n const queryParameters: (keyof Types.GetV1JobPostsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1JobPosts: Api['getV1JobPosts'] = async (request: Types.GetV1JobPostsRequest): Promise<Types.GetV1JobPostsResponses> => {\n return await _getV1JobPosts(baseUrl, request)\n}\nconst _getV1JobPostsId = async (url: string, request: Types.GetV1JobPostsIdRequest): Promise<Types.GetV1JobPostsIdResponses> => {\n const queryParameters: (keyof Types.GetV1JobPostsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1JobPostsId: Api['getV1JobPostsId'] = async (request: Types.GetV1JobPostsIdRequest): Promise<Types.GetV1JobPostsIdResponses> => {\n return await _getV1JobPostsId(baseUrl, request)\n}\nconst _putV1JobPostsId = async (url: string, request: Types.PutV1JobPostsIdRequest): Promise<Types.PutV1JobPostsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1JobPostsId: Api['putV1JobPostsId'] = async (request: Types.PutV1JobPostsIdRequest): Promise<Types.PutV1JobPostsIdResponses> => {\n return await _putV1JobPostsId(baseUrl, request)\n}\nconst _deleteV1JobPostsId = async (url: string, request: Types.DeleteV1JobPostsIdRequest): Promise<Types.DeleteV1JobPostsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1JobPostsId: Api['deleteV1JobPostsId'] = async (request: Types.DeleteV1JobPostsIdRequest): Promise<Types.DeleteV1JobPostsIdResponses> => {\n return await _deleteV1JobPostsId(baseUrl, request)\n}\nconst _patchV1JobPostsIdStatus = async (url: string, request: Types.PatchV1JobPostsIdStatusRequest): Promise<Types.PatchV1JobPostsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1JobPostsIdStatus: Api['patchV1JobPostsIdStatus'] = async (request: Types.PatchV1JobPostsIdStatusRequest): Promise<Types.PatchV1JobPostsIdStatusResponses> => {\n return await _patchV1JobPostsIdStatus(baseUrl, request)\n}\nconst _postV1JobPostsSaveAsDraft = async (url: string, request: Types.PostV1JobPostsSaveAsDraftRequest): Promise<Types.PostV1JobPostsSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1JobPostsSaveAsDraft: Api['postV1JobPostsSaveAsDraft'] = async (request: Types.PostV1JobPostsSaveAsDraftRequest): Promise<Types.PostV1JobPostsSaveAsDraftResponses> => {\n return await _postV1JobPostsSaveAsDraft(baseUrl, request)\n}\nconst _patchV1JobPostsIdSaveAsDraft = async (url: string, request: Types.PatchV1JobPostsIdSaveAsDraftRequest): Promise<Types.PatchV1JobPostsIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/job-posts/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1JobPostsIdSaveAsDraft: Api['patchV1JobPostsIdSaveAsDraft'] = async (request: Types.PatchV1JobPostsIdSaveAsDraftRequest): Promise<Types.PatchV1JobPostsIdSaveAsDraftResponses> => {\n return await _patchV1JobPostsIdSaveAsDraft(baseUrl, request)\n}\nconst _postV1InterviewRounds = async (url: string, request: Types.PostV1InterviewRoundsRequest): Promise<Types.PostV1InterviewRoundsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-rounds/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1InterviewRounds: Api['postV1InterviewRounds'] = async (request: Types.PostV1InterviewRoundsRequest): Promise<Types.PostV1InterviewRoundsResponses> => {\n return await _postV1InterviewRounds(baseUrl, request)\n}\nconst _getV1InterviewRounds = async (url: string, request: Types.GetV1InterviewRoundsRequest): Promise<Types.GetV1InterviewRoundsResponses> => {\n const queryParameters: (keyof Types.GetV1InterviewRoundsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-rounds/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1InterviewRounds: Api['getV1InterviewRounds'] = async (request: Types.GetV1InterviewRoundsRequest): Promise<Types.GetV1InterviewRoundsResponses> => {\n return await _getV1InterviewRounds(baseUrl, request)\n}\nconst _getV1InterviewRoundsId = async (url: string, request: Types.GetV1InterviewRoundsIdRequest): Promise<Types.GetV1InterviewRoundsIdResponses> => {\n const queryParameters: (keyof Types.GetV1InterviewRoundsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-rounds/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1InterviewRoundsId: Api['getV1InterviewRoundsId'] = async (request: Types.GetV1InterviewRoundsIdRequest): Promise<Types.GetV1InterviewRoundsIdResponses> => {\n return await _getV1InterviewRoundsId(baseUrl, request)\n}\nconst _putV1InterviewRoundsId = async (url: string, request: Types.PutV1InterviewRoundsIdRequest): Promise<Types.PutV1InterviewRoundsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-rounds/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1InterviewRoundsId: Api['putV1InterviewRoundsId'] = async (request: Types.PutV1InterviewRoundsIdRequest): Promise<Types.PutV1InterviewRoundsIdResponses> => {\n return await _putV1InterviewRoundsId(baseUrl, request)\n}\nconst _deleteV1InterviewRoundsId = async (url: string, request: Types.DeleteV1InterviewRoundsIdRequest): Promise<Types.DeleteV1InterviewRoundsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-rounds/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1InterviewRoundsId: Api['deleteV1InterviewRoundsId'] = async (request: Types.DeleteV1InterviewRoundsIdRequest): Promise<Types.DeleteV1InterviewRoundsIdResponses> => {\n return await _deleteV1InterviewRoundsId(baseUrl, request)\n}\nconst _patchV1InterviewRoundsIdReschedule = async (url: string, request: Types.PatchV1InterviewRoundsIdRescheduleRequest): Promise<Types.PatchV1InterviewRoundsIdRescheduleResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-rounds/${request['id']}/reschedule`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1InterviewRoundsIdReschedule: Api['patchV1InterviewRoundsIdReschedule'] = async (request: Types.PatchV1InterviewRoundsIdRescheduleRequest): Promise<Types.PatchV1InterviewRoundsIdRescheduleResponses> => {\n return await _patchV1InterviewRoundsIdReschedule(baseUrl, request)\n}\nconst _postV1Candidates = async (url: string, request: Types.PostV1CandidatesRequest): Promise<Types.PostV1CandidatesResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Candidates: Api['postV1Candidates'] = async (request: Types.PostV1CandidatesRequest): Promise<Types.PostV1CandidatesResponses> => {\n return await _postV1Candidates(baseUrl, request)\n}\nconst _getV1Candidates = async (url: string, request: Types.GetV1CandidatesRequest): Promise<Types.GetV1CandidatesResponses> => {\n const queryParameters: (keyof Types.GetV1CandidatesRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Candidates: Api['getV1Candidates'] = async (request: Types.GetV1CandidatesRequest): Promise<Types.GetV1CandidatesResponses> => {\n return await _getV1Candidates(baseUrl, request)\n}\nconst _getV1CandidatesId = async (url: string, request: Types.GetV1CandidatesIdRequest): Promise<Types.GetV1CandidatesIdResponses> => {\n const queryParameters: (keyof Types.GetV1CandidatesIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1CandidatesId: Api['getV1CandidatesId'] = async (request: Types.GetV1CandidatesIdRequest): Promise<Types.GetV1CandidatesIdResponses> => {\n return await _getV1CandidatesId(baseUrl, request)\n}\nconst _putV1CandidatesId = async (url: string, request: Types.PutV1CandidatesIdRequest): Promise<Types.PutV1CandidatesIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1CandidatesId: Api['putV1CandidatesId'] = async (request: Types.PutV1CandidatesIdRequest): Promise<Types.PutV1CandidatesIdResponses> => {\n return await _putV1CandidatesId(baseUrl, request)\n}\nconst _deleteV1CandidatesId = async (url: string, request: Types.DeleteV1CandidatesIdRequest): Promise<Types.DeleteV1CandidatesIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1CandidatesId: Api['deleteV1CandidatesId'] = async (request: Types.DeleteV1CandidatesIdRequest): Promise<Types.DeleteV1CandidatesIdResponses> => {\n return await _deleteV1CandidatesId(baseUrl, request)\n}\nconst _patchV1CandidatesIdStatus = async (url: string, request: Types.PatchV1CandidatesIdStatusRequest): Promise<Types.PatchV1CandidatesIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1CandidatesIdStatus: Api['patchV1CandidatesIdStatus'] = async (request: Types.PatchV1CandidatesIdStatusRequest): Promise<Types.PatchV1CandidatesIdStatusResponses> => {\n return await _patchV1CandidatesIdStatus(baseUrl, request)\n}\nconst _postV1CandidatesSaveAsDraft = async (url: string, request: Types.PostV1CandidatesSaveAsDraftRequest): Promise<Types.PostV1CandidatesSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1CandidatesSaveAsDraft: Api['postV1CandidatesSaveAsDraft'] = async (request: Types.PostV1CandidatesSaveAsDraftRequest): Promise<Types.PostV1CandidatesSaveAsDraftResponses> => {\n return await _postV1CandidatesSaveAsDraft(baseUrl, request)\n}\nconst _patchV1CandidatesIdSaveAsDraft = async (url: string, request: Types.PatchV1CandidatesIdSaveAsDraftRequest): Promise<Types.PatchV1CandidatesIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1CandidatesIdSaveAsDraft: Api['patchV1CandidatesIdSaveAsDraft'] = async (request: Types.PatchV1CandidatesIdSaveAsDraftRequest): Promise<Types.PatchV1CandidatesIdSaveAsDraftResponses> => {\n return await _patchV1CandidatesIdSaveAsDraft(baseUrl, request)\n}\nconst _patchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdReschedule = async (url: string, request: Types.PatchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdRescheduleRequest): Promise<Types.PatchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdRescheduleResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/${request['candidate_id']}/interview-rounds/${request['candidate_interview_round_id']}/reschedule`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdReschedule: Api['patchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdReschedule'] = async (request: Types.PatchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdRescheduleRequest): Promise<Types.PatchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdRescheduleResponses> => {\n return await _patchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdReschedule(baseUrl, request)\n}\nconst _getV1CandidatesGenerateExcel = async (url: string, request: Types.GetV1CandidatesGenerateExcelRequest): Promise<Types.GetV1CandidatesGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1CandidatesGenerateExcelRequest)[] = ['resource', 'filters', 'order', 'search', 'hire_request_id']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/candidates/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1CandidatesGenerateExcel: Api['getV1CandidatesGenerateExcel'] = async (request: Types.GetV1CandidatesGenerateExcelRequest): Promise<Types.GetV1CandidatesGenerateExcelResponses> => {\n return await _getV1CandidatesGenerateExcel(baseUrl, request)\n}\nconst _postV1CandidatesImport = async (url: string, request: Types.PostV1CandidatesImportRequest): Promise<Types.PostV1CandidatesImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/candidates/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1CandidatesImport: Api['postV1CandidatesImport'] = async (request: Types.PostV1CandidatesImportRequest): Promise<Types.PostV1CandidatesImportResponses> => {\n return await _postV1CandidatesImport(baseUrl, request)\n}\nconst _postV1InterviewFeedbacks = async (url: string, request: Types.PostV1InterviewFeedbacksRequest): Promise<Types.PostV1InterviewFeedbacksResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-feedbacks/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1InterviewFeedbacks: Api['postV1InterviewFeedbacks'] = async (request: Types.PostV1InterviewFeedbacksRequest): Promise<Types.PostV1InterviewFeedbacksResponses> => {\n return await _postV1InterviewFeedbacks(baseUrl, request)\n}\nconst _getV1InterviewFeedbacks = async (url: string, request: Types.GetV1InterviewFeedbacksRequest): Promise<Types.GetV1InterviewFeedbacksResponses> => {\n const queryParameters: (keyof Types.GetV1InterviewFeedbacksRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-feedbacks/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1InterviewFeedbacks: Api['getV1InterviewFeedbacks'] = async (request: Types.GetV1InterviewFeedbacksRequest): Promise<Types.GetV1InterviewFeedbacksResponses> => {\n return await _getV1InterviewFeedbacks(baseUrl, request)\n}\nconst _getV1InterviewFeedbacksId = async (url: string, request: Types.GetV1InterviewFeedbacksIdRequest): Promise<Types.GetV1InterviewFeedbacksIdResponses> => {\n const queryParameters: (keyof Types.GetV1InterviewFeedbacksIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-feedbacks/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1InterviewFeedbacksId: Api['getV1InterviewFeedbacksId'] = async (request: Types.GetV1InterviewFeedbacksIdRequest): Promise<Types.GetV1InterviewFeedbacksIdResponses> => {\n return await _getV1InterviewFeedbacksId(baseUrl, request)\n}\nconst _putV1InterviewFeedbacksId = async (url: string, request: Types.PutV1InterviewFeedbacksIdRequest): Promise<Types.PutV1InterviewFeedbacksIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-feedbacks/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1InterviewFeedbacksId: Api['putV1InterviewFeedbacksId'] = async (request: Types.PutV1InterviewFeedbacksIdRequest): Promise<Types.PutV1InterviewFeedbacksIdResponses> => {\n return await _putV1InterviewFeedbacksId(baseUrl, request)\n}\nconst _deleteV1InterviewFeedbacksId = async (url: string, request: Types.DeleteV1InterviewFeedbacksIdRequest): Promise<Types.DeleteV1InterviewFeedbacksIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/interview-feedbacks/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1InterviewFeedbacksId: Api['deleteV1InterviewFeedbacksId'] = async (request: Types.DeleteV1InterviewFeedbacksIdRequest): Promise<Types.DeleteV1InterviewFeedbacksIdResponses> => {\n return await _deleteV1InterviewFeedbacksId(baseUrl, request)\n}\nconst _getV1TalentPoolDashboard = async (url: string, request: Types.GetV1TalentPoolDashboardRequest): Promise<Types.GetV1TalentPoolDashboardResponses> => {\n const queryParameters: (keyof Types.GetV1TalentPoolDashboardRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'filter']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/talent-pool-dashboard/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TalentPoolDashboard: Api['getV1TalentPoolDashboard'] = async (request: Types.GetV1TalentPoolDashboardRequest): Promise<Types.GetV1TalentPoolDashboardResponses> => {\n return await _getV1TalentPoolDashboard(baseUrl, request)\n}\nconst _getV1TalentPoolDashboardSummaryStats = async (url: string, request: Types.GetV1TalentPoolDashboardSummaryStatsRequest): Promise<Types.GetV1TalentPoolDashboardSummaryStatsResponses> => {\n const queryParameters: (keyof Types.GetV1TalentPoolDashboardSummaryStatsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'filter']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/talent-pool-dashboard/summary-stats?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TalentPoolDashboardSummaryStats: Api['getV1TalentPoolDashboardSummaryStats'] = async (request: Types.GetV1TalentPoolDashboardSummaryStatsRequest): Promise<Types.GetV1TalentPoolDashboardSummaryStatsResponses> => {\n return await _getV1TalentPoolDashboardSummaryStats(baseUrl, request)\n}\nconst _getV1TalentPoolDashboardRecentCandidates = async (url: string, request: Types.GetV1TalentPoolDashboardRecentCandidatesRequest): Promise<Types.GetV1TalentPoolDashboardRecentCandidatesResponses> => {\n const queryParameters: (keyof Types.GetV1TalentPoolDashboardRecentCandidatesRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'filter']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/talent-pool-dashboard/recent-candidates?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TalentPoolDashboardRecentCandidates: Api['getV1TalentPoolDashboardRecentCandidates'] = async (request: Types.GetV1TalentPoolDashboardRecentCandidatesRequest): Promise<Types.GetV1TalentPoolDashboardRecentCandidatesResponses> => {\n return await _getV1TalentPoolDashboardRecentCandidates(baseUrl, request)\n}\nconst _getV1TalentPoolDashboardRecentEvaluations = async (url: string, request: Types.GetV1TalentPoolDashboardRecentEvaluationsRequest): Promise<Types.GetV1TalentPoolDashboardRecentEvaluationsResponses> => {\n const queryParameters: (keyof Types.GetV1TalentPoolDashboardRecentEvaluationsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'filter']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/talent-pool-dashboard/recent-evaluations?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TalentPoolDashboardRecentEvaluations: Api['getV1TalentPoolDashboardRecentEvaluations'] = async (request: Types.GetV1TalentPoolDashboardRecentEvaluationsRequest): Promise<Types.GetV1TalentPoolDashboardRecentEvaluationsResponses> => {\n return await _getV1TalentPoolDashboardRecentEvaluations(baseUrl, request)\n}\nconst _getV1TalentPoolDashboardUpcomingInterviews = async (url: string, request: Types.GetV1TalentPoolDashboardUpcomingInterviewsRequest): Promise<Types.GetV1TalentPoolDashboardUpcomingInterviewsResponses> => {\n const queryParameters: (keyof Types.GetV1TalentPoolDashboardUpcomingInterviewsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'filter']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/talent-pool-dashboard/upcoming-interviews?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TalentPoolDashboardUpcomingInterviews: Api['getV1TalentPoolDashboardUpcomingInterviews'] = async (request: Types.GetV1TalentPoolDashboardUpcomingInterviewsRequest): Promise<Types.GetV1TalentPoolDashboardUpcomingInterviewsResponses> => {\n return await _getV1TalentPoolDashboardUpcomingInterviews(baseUrl, request)\n}\nconst _getV1Dashboard = async (url: string, request: Types.GetV1DashboardRequest): Promise<Types.GetV1DashboardResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Dashboard: Api['getV1Dashboard'] = async (request: Types.GetV1DashboardRequest): Promise<Types.GetV1DashboardResponses> => {\n return await _getV1Dashboard(baseUrl, request)\n}\nconst _getV1DashboardHeaderStats = async (url: string, request: Types.GetV1DashboardHeaderStatsRequest): Promise<Types.GetV1DashboardHeaderStatsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/header-stats`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardHeaderStats: Api['getV1DashboardHeaderStats'] = async (request: Types.GetV1DashboardHeaderStatsRequest): Promise<Types.GetV1DashboardHeaderStatsResponses> => {\n return await _getV1DashboardHeaderStats(baseUrl, request)\n}\nconst _getV1DashboardEmployeesByDepartment = async (url: string, request: Types.GetV1DashboardEmployeesByDepartmentRequest): Promise<Types.GetV1DashboardEmployeesByDepartmentResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employees-by-department`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeesByDepartment: Api['getV1DashboardEmployeesByDepartment'] = async (request: Types.GetV1DashboardEmployeesByDepartmentRequest): Promise<Types.GetV1DashboardEmployeesByDepartmentResponses> => {\n return await _getV1DashboardEmployeesByDepartment(baseUrl, request)\n}\nconst _getV1DashboardAvailabilityStats = async (url: string, request: Types.GetV1DashboardAvailabilityStatsRequest): Promise<Types.GetV1DashboardAvailabilityStatsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/availability-stats`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardAvailabilityStats: Api['getV1DashboardAvailabilityStats'] = async (request: Types.GetV1DashboardAvailabilityStatsRequest): Promise<Types.GetV1DashboardAvailabilityStatsResponses> => {\n return await _getV1DashboardAvailabilityStats(baseUrl, request)\n}\nconst _getV1DashboardResourceAllocation = async (url: string, request: Types.GetV1DashboardResourceAllocationRequest): Promise<Types.GetV1DashboardResourceAllocationResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardResourceAllocationRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/resource-allocation?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardResourceAllocation: Api['getV1DashboardResourceAllocation'] = async (request: Types.GetV1DashboardResourceAllocationRequest): Promise<Types.GetV1DashboardResourceAllocationResponses> => {\n return await _getV1DashboardResourceAllocation(baseUrl, request)\n}\nconst _getV1DashboardBirthdayDashboard = async (url: string, request: Types.GetV1DashboardBirthdayDashboardRequest): Promise<Types.GetV1DashboardBirthdayDashboardResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardBirthdayDashboardRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/birthday-dashboard?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardBirthdayDashboard: Api['getV1DashboardBirthdayDashboard'] = async (request: Types.GetV1DashboardBirthdayDashboardRequest): Promise<Types.GetV1DashboardBirthdayDashboardResponses> => {\n return await _getV1DashboardBirthdayDashboard(baseUrl, request)\n}\nconst _getV1DashboardLeaveRequests = async (url: string, request: Types.GetV1DashboardLeaveRequestsRequest): Promise<Types.GetV1DashboardLeaveRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardLeaveRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/leave-requests?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardLeaveRequests: Api['getV1DashboardLeaveRequests'] = async (request: Types.GetV1DashboardLeaveRequestsRequest): Promise<Types.GetV1DashboardLeaveRequestsResponses> => {\n return await _getV1DashboardLeaveRequests(baseUrl, request)\n}\nconst _getV1DashboardResignationRequests = async (url: string, request: Types.GetV1DashboardResignationRequestsRequest): Promise<Types.GetV1DashboardResignationRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardResignationRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/resignation-requests?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardResignationRequests: Api['getV1DashboardResignationRequests'] = async (request: Types.GetV1DashboardResignationRequestsRequest): Promise<Types.GetV1DashboardResignationRequestsResponses> => {\n return await _getV1DashboardResignationRequests(baseUrl, request)\n}\nconst _getV1DashboardIssueHrLetters = async (url: string, request: Types.GetV1DashboardIssueHrLettersRequest): Promise<Types.GetV1DashboardIssueHrLettersResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardIssueHrLettersRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/issue-hr-letters?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardIssueHrLetters: Api['getV1DashboardIssueHrLetters'] = async (request: Types.GetV1DashboardIssueHrLettersRequest): Promise<Types.GetV1DashboardIssueHrLettersResponses> => {\n return await _getV1DashboardIssueHrLetters(baseUrl, request)\n}\nconst _getV1DashboardApprovalDashboard = async (url: string, request: Types.GetV1DashboardApprovalDashboardRequest): Promise<Types.GetV1DashboardApprovalDashboardResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardApprovalDashboardRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/approval-dashboard?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardApprovalDashboard: Api['getV1DashboardApprovalDashboard'] = async (request: Types.GetV1DashboardApprovalDashboardRequest): Promise<Types.GetV1DashboardApprovalDashboardResponses> => {\n return await _getV1DashboardApprovalDashboard(baseUrl, request)\n}\nconst _getV1DashboardOngoingJobs = async (url: string, request: Types.GetV1DashboardOngoingJobsRequest): Promise<Types.GetV1DashboardOngoingJobsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardOngoingJobsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/ongoing-jobs?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardOngoingJobs: Api['getV1DashboardOngoingJobs'] = async (request: Types.GetV1DashboardOngoingJobsRequest): Promise<Types.GetV1DashboardOngoingJobsResponses> => {\n return await _getV1DashboardOngoingJobs(baseUrl, request)\n}\nconst _getV1DashboardNewHireRequests = async (url: string, request: Types.GetV1DashboardNewHireRequestsRequest): Promise<Types.GetV1DashboardNewHireRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardNewHireRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/new-hire-requests?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardNewHireRequests: Api['getV1DashboardNewHireRequests'] = async (request: Types.GetV1DashboardNewHireRequestsRequest): Promise<Types.GetV1DashboardNewHireRequestsResponses> => {\n return await _getV1DashboardNewHireRequests(baseUrl, request)\n}\nconst _getV1DashboardEventsDashboard = async (url: string, request: Types.GetV1DashboardEventsDashboardRequest): Promise<Types.GetV1DashboardEventsDashboardResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEventsDashboardRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/events-dashboard?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEventsDashboard: Api['getV1DashboardEventsDashboard'] = async (request: Types.GetV1DashboardEventsDashboardRequest): Promise<Types.GetV1DashboardEventsDashboardResponses> => {\n return await _getV1DashboardEventsDashboard(baseUrl, request)\n}\nconst _getV1DashboardTaskSignoffs = async (url: string, request: Types.GetV1DashboardTaskSignoffsRequest): Promise<Types.GetV1DashboardTaskSignoffsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardTaskSignoffsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/task-signoffs?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardTaskSignoffs: Api['getV1DashboardTaskSignoffs'] = async (request: Types.GetV1DashboardTaskSignoffsRequest): Promise<Types.GetV1DashboardTaskSignoffsResponses> => {\n return await _getV1DashboardTaskSignoffs(baseUrl, request)\n}\nconst _getV1DashboardKpiStatistics = async (url: string, request: Types.GetV1DashboardKpiStatisticsRequest): Promise<Types.GetV1DashboardKpiStatisticsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/kpi-statistics`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardKpiStatistics: Api['getV1DashboardKpiStatistics'] = async (request: Types.GetV1DashboardKpiStatisticsRequest): Promise<Types.GetV1DashboardKpiStatisticsResponses> => {\n return await _getV1DashboardKpiStatistics(baseUrl, request)\n}\nconst _getV1DashboardRpsStatistics = async (url: string, request: Types.GetV1DashboardRpsStatisticsRequest): Promise<Types.GetV1DashboardRpsStatisticsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/rps-statistics`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardRpsStatistics: Api['getV1DashboardRpsStatistics'] = async (request: Types.GetV1DashboardRpsStatisticsRequest): Promise<Types.GetV1DashboardRpsStatisticsResponses> => {\n return await _getV1DashboardRpsStatistics(baseUrl, request)\n}\nconst _getV1DashboardPayrollStatistics = async (url: string, request: Types.GetV1DashboardPayrollStatisticsRequest): Promise<Types.GetV1DashboardPayrollStatisticsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardPayrollStatisticsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/payroll-statistics?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardPayrollStatistics: Api['getV1DashboardPayrollStatistics'] = async (request: Types.GetV1DashboardPayrollStatisticsRequest): Promise<Types.GetV1DashboardPayrollStatisticsResponses> => {\n return await _getV1DashboardPayrollStatistics(baseUrl, request)\n}\nconst _getV1DashboardAttendanceTrends = async (url: string, request: Types.GetV1DashboardAttendanceTrendsRequest): Promise<Types.GetV1DashboardAttendanceTrendsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardAttendanceTrendsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/attendance-trends?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardAttendanceTrends: Api['getV1DashboardAttendanceTrends'] = async (request: Types.GetV1DashboardAttendanceTrendsRequest): Promise<Types.GetV1DashboardAttendanceTrendsResponses> => {\n return await _getV1DashboardAttendanceTrends(baseUrl, request)\n}\nconst _getV1DashboardDepartmentHeadcount = async (url: string, request: Types.GetV1DashboardDepartmentHeadcountRequest): Promise<Types.GetV1DashboardDepartmentHeadcountResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/department-headcount`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardDepartmentHeadcount: Api['getV1DashboardDepartmentHeadcount'] = async (request: Types.GetV1DashboardDepartmentHeadcountRequest): Promise<Types.GetV1DashboardDepartmentHeadcountResponses> => {\n return await _getV1DashboardDepartmentHeadcount(baseUrl, request)\n}\nconst _getV1DashboardLeaveBalanceSummary = async (url: string, request: Types.GetV1DashboardLeaveBalanceSummaryRequest): Promise<Types.GetV1DashboardLeaveBalanceSummaryResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/leave-balance-summary`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardLeaveBalanceSummary: Api['getV1DashboardLeaveBalanceSummary'] = async (request: Types.GetV1DashboardLeaveBalanceSummaryRequest): Promise<Types.GetV1DashboardLeaveBalanceSummaryResponses> => {\n return await _getV1DashboardLeaveBalanceSummary(baseUrl, request)\n}\nconst _getV1DashboardRecruitmentFunnel = async (url: string, request: Types.GetV1DashboardRecruitmentFunnelRequest): Promise<Types.GetV1DashboardRecruitmentFunnelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/recruitment-funnel`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardRecruitmentFunnel: Api['getV1DashboardRecruitmentFunnel'] = async (request: Types.GetV1DashboardRecruitmentFunnelRequest): Promise<Types.GetV1DashboardRecruitmentFunnelResponses> => {\n return await _getV1DashboardRecruitmentFunnel(baseUrl, request)\n}\nconst _getV1DashboardTeamCalendar = async (url: string, request: Types.GetV1DashboardTeamCalendarRequest): Promise<Types.GetV1DashboardTeamCalendarResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardTeamCalendarRequest)[] = ['month', 'year']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/team-calendar?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardTeamCalendar: Api['getV1DashboardTeamCalendar'] = async (request: Types.GetV1DashboardTeamCalendarRequest): Promise<Types.GetV1DashboardTeamCalendarResponses> => {\n return await _getV1DashboardTeamCalendar(baseUrl, request)\n}\nconst _getV1DashboardTaskOverview = async (url: string, request: Types.GetV1DashboardTaskOverviewRequest): Promise<Types.GetV1DashboardTaskOverviewResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/task-overview`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardTaskOverview: Api['getV1DashboardTaskOverview'] = async (request: Types.GetV1DashboardTaskOverviewRequest): Promise<Types.GetV1DashboardTaskOverviewResponses> => {\n return await _getV1DashboardTaskOverview(baseUrl, request)\n}\nconst _getV1DashboardAnnouncements = async (url: string, request: Types.GetV1DashboardAnnouncementsRequest): Promise<Types.GetV1DashboardAnnouncementsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardAnnouncementsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/announcements?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardAnnouncements: Api['getV1DashboardAnnouncements'] = async (request: Types.GetV1DashboardAnnouncementsRequest): Promise<Types.GetV1DashboardAnnouncementsResponses> => {\n return await _getV1DashboardAnnouncements(baseUrl, request)\n}\nconst _getV1DashboardLeaveStatistics = async (url: string, request: Types.GetV1DashboardLeaveStatisticsRequest): Promise<Types.GetV1DashboardLeaveStatisticsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/leave-statistics`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardLeaveStatistics: Api['getV1DashboardLeaveStatistics'] = async (request: Types.GetV1DashboardLeaveStatisticsRequest): Promise<Types.GetV1DashboardLeaveStatisticsResponses> => {\n return await _getV1DashboardLeaveStatistics(baseUrl, request)\n}\nconst _getV1DashboardPendingInterviews = async (url: string, request: Types.GetV1DashboardPendingInterviewsRequest): Promise<Types.GetV1DashboardPendingInterviewsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardPendingInterviewsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/pending-interviews?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardPendingInterviews: Api['getV1DashboardPendingInterviews'] = async (request: Types.GetV1DashboardPendingInterviewsRequest): Promise<Types.GetV1DashboardPendingInterviewsResponses> => {\n return await _getV1DashboardPendingInterviews(baseUrl, request)\n}\nconst _getV1DashboardVacationPlanConflicts = async (url: string, request: Types.GetV1DashboardVacationPlanConflictsRequest): Promise<Types.GetV1DashboardVacationPlanConflictsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardVacationPlanConflictsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'status', 'months', 'days', 'tab']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/vacation-plan-conflicts?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardVacationPlanConflicts: Api['getV1DashboardVacationPlanConflicts'] = async (request: Types.GetV1DashboardVacationPlanConflictsRequest): Promise<Types.GetV1DashboardVacationPlanConflictsResponses> => {\n return await _getV1DashboardVacationPlanConflicts(baseUrl, request)\n}\nconst _getV1DashboardManagerHeaderStats = async (url: string, request: Types.GetV1DashboardManagerHeaderStatsRequest): Promise<Types.GetV1DashboardManagerHeaderStatsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/manager-header-stats`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardManagerHeaderStats: Api['getV1DashboardManagerHeaderStats'] = async (request: Types.GetV1DashboardManagerHeaderStatsRequest): Promise<Types.GetV1DashboardManagerHeaderStatsResponses> => {\n return await _getV1DashboardManagerHeaderStats(baseUrl, request)\n}\nconst _getV1DashboardManagerKpiStatistics = async (url: string, request: Types.GetV1DashboardManagerKpiStatisticsRequest): Promise<Types.GetV1DashboardManagerKpiStatisticsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardManagerKpiStatisticsRequest)[] = ['months']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/manager-kpi-statistics?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardManagerKpiStatistics: Api['getV1DashboardManagerKpiStatistics'] = async (request: Types.GetV1DashboardManagerKpiStatisticsRequest): Promise<Types.GetV1DashboardManagerKpiStatisticsResponses> => {\n return await _getV1DashboardManagerKpiStatistics(baseUrl, request)\n}\nconst _getV1DashboardEmployee = async (url: string, request: Types.GetV1DashboardEmployeeRequest): Promise<Types.GetV1DashboardEmployeeResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployee: Api['getV1DashboardEmployee'] = async (request: Types.GetV1DashboardEmployeeRequest): Promise<Types.GetV1DashboardEmployeeResponses> => {\n return await _getV1DashboardEmployee(baseUrl, request)\n}\nconst _getV1DashboardEmployeeWorkingHours = async (url: string, request: Types.GetV1DashboardEmployeeWorkingHoursRequest): Promise<Types.GetV1DashboardEmployeeWorkingHoursResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeWorkingHoursRequest)[] = ['start_date', 'end_date', 'source']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/working-hours?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeWorkingHours: Api['getV1DashboardEmployeeWorkingHours'] = async (request: Types.GetV1DashboardEmployeeWorkingHoursRequest): Promise<Types.GetV1DashboardEmployeeWorkingHoursResponses> => {\n return await _getV1DashboardEmployeeWorkingHours(baseUrl, request)\n}\nconst _getV1DashboardEmployeeAttendance = async (url: string, request: Types.GetV1DashboardEmployeeAttendanceRequest): Promise<Types.GetV1DashboardEmployeeAttendanceResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeAttendanceRequest)[] = ['date']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/attendance?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeAttendance: Api['getV1DashboardEmployeeAttendance'] = async (request: Types.GetV1DashboardEmployeeAttendanceRequest): Promise<Types.GetV1DashboardEmployeeAttendanceResponses> => {\n return await _getV1DashboardEmployeeAttendance(baseUrl, request)\n}\nconst _getV1DashboardEmployeeAttendanceBreaks = async (url: string, request: Types.GetV1DashboardEmployeeAttendanceBreaksRequest): Promise<Types.GetV1DashboardEmployeeAttendanceBreaksResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeAttendanceBreaksRequest)[] = ['date']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/attendance-breaks?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeAttendanceBreaks: Api['getV1DashboardEmployeeAttendanceBreaks'] = async (request: Types.GetV1DashboardEmployeeAttendanceBreaksRequest): Promise<Types.GetV1DashboardEmployeeAttendanceBreaksResponses> => {\n return await _getV1DashboardEmployeeAttendanceBreaks(baseUrl, request)\n}\nconst _getV1DashboardEmployeeAttendanceHistory = async (url: string, request: Types.GetV1DashboardEmployeeAttendanceHistoryRequest): Promise<Types.GetV1DashboardEmployeeAttendanceHistoryResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeAttendanceHistoryRequest)[] = ['start_date', 'end_date', 'skip', 'limit']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/attendance-history?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeAttendanceHistory: Api['getV1DashboardEmployeeAttendanceHistory'] = async (request: Types.GetV1DashboardEmployeeAttendanceHistoryRequest): Promise<Types.GetV1DashboardEmployeeAttendanceHistoryResponses> => {\n return await _getV1DashboardEmployeeAttendanceHistory(baseUrl, request)\n}\nconst _getV1DashboardEmployeeRequests = async (url: string, request: Types.GetV1DashboardEmployeeRequestsRequest): Promise<Types.GetV1DashboardEmployeeRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeRequestsRequest)[] = ['skip', 'limit', 'request_type', 'status', 'duration']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/requests?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeRequests: Api['getV1DashboardEmployeeRequests'] = async (request: Types.GetV1DashboardEmployeeRequestsRequest): Promise<Types.GetV1DashboardEmployeeRequestsResponses> => {\n return await _getV1DashboardEmployeeRequests(baseUrl, request)\n}\nconst _getV1DashboardEmployeeLoans = async (url: string, request: Types.GetV1DashboardEmployeeLoansRequest): Promise<Types.GetV1DashboardEmployeeLoansResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/loans`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeLoans: Api['getV1DashboardEmployeeLoans'] = async (request: Types.GetV1DashboardEmployeeLoansRequest): Promise<Types.GetV1DashboardEmployeeLoansResponses> => {\n return await _getV1DashboardEmployeeLoans(baseUrl, request)\n}\nconst _getV1DashboardEmployeeHolidaysEvents = async (url: string, request: Types.GetV1DashboardEmployeeHolidaysEventsRequest): Promise<Types.GetV1DashboardEmployeeHolidaysEventsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeHolidaysEventsRequest)[] = ['skip', 'limit']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/holidays-events?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeHolidaysEvents: Api['getV1DashboardEmployeeHolidaysEvents'] = async (request: Types.GetV1DashboardEmployeeHolidaysEventsRequest): Promise<Types.GetV1DashboardEmployeeHolidaysEventsResponses> => {\n return await _getV1DashboardEmployeeHolidaysEvents(baseUrl, request)\n}\nconst _getV1DashboardEmployeeAssets = async (url: string, request: Types.GetV1DashboardEmployeeAssetsRequest): Promise<Types.GetV1DashboardEmployeeAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeAssetsRequest)[] = ['skip', 'limit']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeAssets: Api['getV1DashboardEmployeeAssets'] = async (request: Types.GetV1DashboardEmployeeAssetsRequest): Promise<Types.GetV1DashboardEmployeeAssetsResponses> => {\n return await _getV1DashboardEmployeeAssets(baseUrl, request)\n}\nconst _getV1DashboardEmployeeActivities = async (url: string, request: Types.GetV1DashboardEmployeeActivitiesRequest): Promise<Types.GetV1DashboardEmployeeActivitiesResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeActivitiesRequest)[] = ['skip', 'limit']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/activities?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeActivities: Api['getV1DashboardEmployeeActivities'] = async (request: Types.GetV1DashboardEmployeeActivitiesRequest): Promise<Types.GetV1DashboardEmployeeActivitiesResponses> => {\n return await _getV1DashboardEmployeeActivities(baseUrl, request)\n}\nconst _getV1DashboardEmployeeWorkingStatistics = async (url: string, request: Types.GetV1DashboardEmployeeWorkingStatisticsRequest): Promise<Types.GetV1DashboardEmployeeWorkingStatisticsResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeWorkingStatisticsRequest)[] = ['months', 'source']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/working-statistics?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeWorkingStatistics: Api['getV1DashboardEmployeeWorkingStatistics'] = async (request: Types.GetV1DashboardEmployeeWorkingStatisticsRequest): Promise<Types.GetV1DashboardEmployeeWorkingStatisticsResponses> => {\n return await _getV1DashboardEmployeeWorkingStatistics(baseUrl, request)\n}\nconst _getV1DashboardEmployeeTasks = async (url: string, request: Types.GetV1DashboardEmployeeTasksRequest): Promise<Types.GetV1DashboardEmployeeTasksResponses> => {\n const queryParameters: (keyof Types.GetV1DashboardEmployeeTasksRequest)[] = ['skip', 'limit', 'status']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/dashboard/employee/tasks?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DashboardEmployeeTasks: Api['getV1DashboardEmployeeTasks'] = async (request: Types.GetV1DashboardEmployeeTasksRequest): Promise<Types.GetV1DashboardEmployeeTasksResponses> => {\n return await _getV1DashboardEmployeeTasks(baseUrl, request)\n}\nconst _postV1OfferLetters = async (url: string, request: Types.PostV1OfferLettersRequest): Promise<Types.PostV1OfferLettersResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1OfferLetters: Api['postV1OfferLetters'] = async (request: Types.PostV1OfferLettersRequest): Promise<Types.PostV1OfferLettersResponses> => {\n return await _postV1OfferLetters(baseUrl, request)\n}\nconst _getV1OfferLetters = async (url: string, request: Types.GetV1OfferLettersRequest): Promise<Types.GetV1OfferLettersResponses> => {\n const queryParameters: (keyof Types.GetV1OfferLettersRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OfferLetters: Api['getV1OfferLetters'] = async (request: Types.GetV1OfferLettersRequest): Promise<Types.GetV1OfferLettersResponses> => {\n return await _getV1OfferLetters(baseUrl, request)\n}\nconst _getV1OfferLettersId = async (url: string, request: Types.GetV1OfferLettersIdRequest): Promise<Types.GetV1OfferLettersIdResponses> => {\n const queryParameters: (keyof Types.GetV1OfferLettersIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OfferLettersId: Api['getV1OfferLettersId'] = async (request: Types.GetV1OfferLettersIdRequest): Promise<Types.GetV1OfferLettersIdResponses> => {\n return await _getV1OfferLettersId(baseUrl, request)\n}\nconst _putV1OfferLettersId = async (url: string, request: Types.PutV1OfferLettersIdRequest): Promise<Types.PutV1OfferLettersIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1OfferLettersId: Api['putV1OfferLettersId'] = async (request: Types.PutV1OfferLettersIdRequest): Promise<Types.PutV1OfferLettersIdResponses> => {\n return await _putV1OfferLettersId(baseUrl, request)\n}\nconst _deleteV1OfferLettersId = async (url: string, request: Types.DeleteV1OfferLettersIdRequest): Promise<Types.DeleteV1OfferLettersIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1OfferLettersId: Api['deleteV1OfferLettersId'] = async (request: Types.DeleteV1OfferLettersIdRequest): Promise<Types.DeleteV1OfferLettersIdResponses> => {\n return await _deleteV1OfferLettersId(baseUrl, request)\n}\nconst _patchV1OfferLettersIdStatus = async (url: string, request: Types.PatchV1OfferLettersIdStatusRequest): Promise<Types.PatchV1OfferLettersIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1OfferLettersIdStatus: Api['patchV1OfferLettersIdStatus'] = async (request: Types.PatchV1OfferLettersIdStatusRequest): Promise<Types.PatchV1OfferLettersIdStatusResponses> => {\n return await _patchV1OfferLettersIdStatus(baseUrl, request)\n}\nconst _patchV1OfferLettersIdDocumentsDocumentId = async (url: string, request: Types.PatchV1OfferLettersIdDocumentsDocumentIdRequest): Promise<Types.PatchV1OfferLettersIdDocumentsDocumentIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}/documents/${request['document_id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1OfferLettersIdDocumentsDocumentId: Api['patchV1OfferLettersIdDocumentsDocumentId'] = async (request: Types.PatchV1OfferLettersIdDocumentsDocumentIdRequest): Promise<Types.PatchV1OfferLettersIdDocumentsDocumentIdResponses> => {\n return await _patchV1OfferLettersIdDocumentsDocumentId(baseUrl, request)\n}\nconst _postV1OfferLettersIdDocumentsDocumentIdVerify = async (url: string, request: Types.PostV1OfferLettersIdDocumentsDocumentIdVerifyRequest): Promise<Types.PostV1OfferLettersIdDocumentsDocumentIdVerifyResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}/documents/${request['document_id']}/verify`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1OfferLettersIdDocumentsDocumentIdVerify: Api['postV1OfferLettersIdDocumentsDocumentIdVerify'] = async (request: Types.PostV1OfferLettersIdDocumentsDocumentIdVerifyRequest): Promise<Types.PostV1OfferLettersIdDocumentsDocumentIdVerifyResponses> => {\n return await _postV1OfferLettersIdDocumentsDocumentIdVerify(baseUrl, request)\n}\nconst _getV1OfferLettersGenerateExcel = async (url: string, request: Types.GetV1OfferLettersGenerateExcelRequest): Promise<Types.GetV1OfferLettersGenerateExcelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/generate-excel`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1OfferLettersGenerateExcel: Api['getV1OfferLettersGenerateExcel'] = async (request: Types.GetV1OfferLettersGenerateExcelRequest): Promise<Types.GetV1OfferLettersGenerateExcelResponses> => {\n return await _getV1OfferLettersGenerateExcel(baseUrl, request)\n}\nconst _postV1OfferLettersImport = async (url: string, request: Types.PostV1OfferLettersImportRequest): Promise<Types.PostV1OfferLettersImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1OfferLettersImport: Api['postV1OfferLettersImport'] = async (request: Types.PostV1OfferLettersImportRequest): Promise<Types.PostV1OfferLettersImportResponses> => {\n return await _postV1OfferLettersImport(baseUrl, request)\n}\nconst _getV1OfferLettersExportExcel = async (url: string, request: Types.GetV1OfferLettersExportExcelRequest): Promise<Types.GetV1OfferLettersExportExcelResponses> => {\n const queryParameters: (keyof Types.GetV1OfferLettersExportExcelRequest)[] = ['filters', 'order', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/export/excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OfferLettersExportExcel: Api['getV1OfferLettersExportExcel'] = async (request: Types.GetV1OfferLettersExportExcelRequest): Promise<Types.GetV1OfferLettersExportExcelResponses> => {\n return await _getV1OfferLettersExportExcel(baseUrl, request)\n}\nconst _postV1OfferLettersSaveAsDraft = async (url: string, request: Types.PostV1OfferLettersSaveAsDraftRequest): Promise<Types.PostV1OfferLettersSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1OfferLettersSaveAsDraft: Api['postV1OfferLettersSaveAsDraft'] = async (request: Types.PostV1OfferLettersSaveAsDraftRequest): Promise<Types.PostV1OfferLettersSaveAsDraftResponses> => {\n return await _postV1OfferLettersSaveAsDraft(baseUrl, request)\n}\nconst _patchV1OfferLettersIdSaveAsDraft = async (url: string, request: Types.PatchV1OfferLettersIdSaveAsDraftRequest): Promise<Types.PatchV1OfferLettersIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1OfferLettersIdSaveAsDraft: Api['patchV1OfferLettersIdSaveAsDraft'] = async (request: Types.PatchV1OfferLettersIdSaveAsDraftRequest): Promise<Types.PatchV1OfferLettersIdSaveAsDraftResponses> => {\n return await _patchV1OfferLettersIdSaveAsDraft(baseUrl, request)\n}\nconst _getV1OfferLettersIdPreviewPdf = async (url: string, request: Types.GetV1OfferLettersIdPreviewPdfRequest): Promise<Types.GetV1OfferLettersIdPreviewPdfResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}/preview-pdf`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1OfferLettersIdPreviewPdf: Api['getV1OfferLettersIdPreviewPdf'] = async (request: Types.GetV1OfferLettersIdPreviewPdfRequest): Promise<Types.GetV1OfferLettersIdPreviewPdfResponses> => {\n return await _getV1OfferLettersIdPreviewPdf(baseUrl, request)\n}\nconst _postV1OfferLettersIdSend = async (url: string, request: Types.PostV1OfferLettersIdSendRequest): Promise<Types.PostV1OfferLettersIdSendResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/offer-letters/${request['id']}/send`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1OfferLettersIdSend: Api['postV1OfferLettersIdSend'] = async (request: Types.PostV1OfferLettersIdSendRequest): Promise<Types.PostV1OfferLettersIdSendResponses> => {\n return await _postV1OfferLettersIdSend(baseUrl, request)\n}\nconst _getV1OfferLettersPublicWelcomeToken = async (url: string, request: Types.GetV1OfferLettersPublicWelcomeTokenRequest): Promise<Types.GetV1OfferLettersPublicWelcomeTokenResponses> => {\n const headers = {\n ...defaultHeaders\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1OfferLettersPublicWelcomeToken: Api['getV1OfferLettersPublicWelcomeToken'] = async (request: Types.GetV1OfferLettersPublicWelcomeTokenRequest): Promise<Types.GetV1OfferLettersPublicWelcomeTokenResponses> => {\n return await _getV1OfferLettersPublicWelcomeToken(baseUrl, request)\n}\nconst _getV1OfferLettersPublicWelcomeTokenPdf = async (url: string, request: Types.GetV1OfferLettersPublicWelcomeTokenPdfRequest): Promise<Types.GetV1OfferLettersPublicWelcomeTokenPdfResponses> => {\n const headers = {\n ...defaultHeaders\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}/pdf`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1OfferLettersPublicWelcomeTokenPdf: Api['getV1OfferLettersPublicWelcomeTokenPdf'] = async (request: Types.GetV1OfferLettersPublicWelcomeTokenPdfRequest): Promise<Types.GetV1OfferLettersPublicWelcomeTokenPdfResponses> => {\n return await _getV1OfferLettersPublicWelcomeTokenPdf(baseUrl, request)\n}\nconst _postV1OfferLettersPublicWelcomeTokenAccept = async (url: string, request: Types.PostV1OfferLettersPublicWelcomeTokenAcceptRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenAcceptResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}/accept`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1OfferLettersPublicWelcomeTokenAccept: Api['postV1OfferLettersPublicWelcomeTokenAccept'] = async (request: Types.PostV1OfferLettersPublicWelcomeTokenAcceptRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenAcceptResponses> => {\n return await _postV1OfferLettersPublicWelcomeTokenAccept(baseUrl, request)\n}\nconst _postV1OfferLettersPublicWelcomeTokenReject = async (url: string, request: Types.PostV1OfferLettersPublicWelcomeTokenRejectRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenRejectResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}/reject`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1OfferLettersPublicWelcomeTokenReject: Api['postV1OfferLettersPublicWelcomeTokenReject'] = async (request: Types.PostV1OfferLettersPublicWelcomeTokenRejectRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenRejectResponses> => {\n return await _postV1OfferLettersPublicWelcomeTokenReject(baseUrl, request)\n}\nconst _patchV1OfferLettersPublicWelcomeTokenDocumentsDocumentId = async (url: string, request: Types.PatchV1OfferLettersPublicWelcomeTokenDocumentsDocumentIdRequest): Promise<Types.PatchV1OfferLettersPublicWelcomeTokenDocumentsDocumentIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}/documents/${request['document_id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const patchV1OfferLettersPublicWelcomeTokenDocumentsDocumentId: Api['patchV1OfferLettersPublicWelcomeTokenDocumentsDocumentId'] = async (request: Types.PatchV1OfferLettersPublicWelcomeTokenDocumentsDocumentIdRequest): Promise<Types.PatchV1OfferLettersPublicWelcomeTokenDocumentsDocumentIdResponses> => {\n return await _patchV1OfferLettersPublicWelcomeTokenDocumentsDocumentId(baseUrl, request)\n}\nconst _postV1OfferLettersPublicWelcomeTokenSubmit = async (url: string, request: Types.PostV1OfferLettersPublicWelcomeTokenSubmitRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenSubmitResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}/submit`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1OfferLettersPublicWelcomeTokenSubmit: Api['postV1OfferLettersPublicWelcomeTokenSubmit'] = async (request: Types.PostV1OfferLettersPublicWelcomeTokenSubmitRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenSubmitResponses> => {\n return await _postV1OfferLettersPublicWelcomeTokenSubmit(baseUrl, request)\n}\nconst _postV1OfferLettersPublicWelcomeTokenDraft = async (url: string, request: Types.PostV1OfferLettersPublicWelcomeTokenDraftRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/offer-letters/public/welcome/${request['token']}/draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1OfferLettersPublicWelcomeTokenDraft: Api['postV1OfferLettersPublicWelcomeTokenDraft'] = async (request: Types.PostV1OfferLettersPublicWelcomeTokenDraftRequest): Promise<Types.PostV1OfferLettersPublicWelcomeTokenDraftResponses> => {\n return await _postV1OfferLettersPublicWelcomeTokenDraft(baseUrl, request)\n}\nconst _postV1TimeCards = async (url: string, request: Types.PostV1TimeCardsRequest): Promise<Types.PostV1TimeCardsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimeCards: Api['postV1TimeCards'] = async (request: Types.PostV1TimeCardsRequest): Promise<Types.PostV1TimeCardsResponses> => {\n return await _postV1TimeCards(baseUrl, request)\n}\nconst _getV1TimeCards = async (url: string, request: Types.GetV1TimeCardsRequest): Promise<Types.GetV1TimeCardsResponses> => {\n const queryParameters: (keyof Types.GetV1TimeCardsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimeCards: Api['getV1TimeCards'] = async (request: Types.GetV1TimeCardsRequest): Promise<Types.GetV1TimeCardsResponses> => {\n return await _getV1TimeCards(baseUrl, request)\n}\nconst _getV1TimeCardsId = async (url: string, request: Types.GetV1TimeCardsIdRequest): Promise<Types.GetV1TimeCardsIdResponses> => {\n const queryParameters: (keyof Types.GetV1TimeCardsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimeCardsId: Api['getV1TimeCardsId'] = async (request: Types.GetV1TimeCardsIdRequest): Promise<Types.GetV1TimeCardsIdResponses> => {\n return await _getV1TimeCardsId(baseUrl, request)\n}\nconst _putV1TimeCardsId = async (url: string, request: Types.PutV1TimeCardsIdRequest): Promise<Types.PutV1TimeCardsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1TimeCardsId: Api['putV1TimeCardsId'] = async (request: Types.PutV1TimeCardsIdRequest): Promise<Types.PutV1TimeCardsIdResponses> => {\n return await _putV1TimeCardsId(baseUrl, request)\n}\nconst _deleteV1TimeCardsId = async (url: string, request: Types.DeleteV1TimeCardsIdRequest): Promise<Types.DeleteV1TimeCardsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1TimeCardsId: Api['deleteV1TimeCardsId'] = async (request: Types.DeleteV1TimeCardsIdRequest): Promise<Types.DeleteV1TimeCardsIdResponses> => {\n return await _deleteV1TimeCardsId(baseUrl, request)\n}\nconst _postV1TimeCardsSaveAsDraft = async (url: string, request: Types.PostV1TimeCardsSaveAsDraftRequest): Promise<Types.PostV1TimeCardsSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimeCardsSaveAsDraft: Api['postV1TimeCardsSaveAsDraft'] = async (request: Types.PostV1TimeCardsSaveAsDraftRequest): Promise<Types.PostV1TimeCardsSaveAsDraftResponses> => {\n return await _postV1TimeCardsSaveAsDraft(baseUrl, request)\n}\nconst _patchV1TimeCardsIdSaveAsDraft = async (url: string, request: Types.PatchV1TimeCardsIdSaveAsDraftRequest): Promise<Types.PatchV1TimeCardsIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TimeCardsIdSaveAsDraft: Api['patchV1TimeCardsIdSaveAsDraft'] = async (request: Types.PatchV1TimeCardsIdSaveAsDraftRequest): Promise<Types.PatchV1TimeCardsIdSaveAsDraftResponses> => {\n return await _patchV1TimeCardsIdSaveAsDraft(baseUrl, request)\n}\nconst _postV1TimeCardsIdPost = async (url: string, request: Types.PostV1TimeCardsIdPostRequest): Promise<Types.PostV1TimeCardsIdPostResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}/post`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimeCardsIdPost: Api['postV1TimeCardsIdPost'] = async (request: Types.PostV1TimeCardsIdPostRequest): Promise<Types.PostV1TimeCardsIdPostResponses> => {\n return await _postV1TimeCardsIdPost(baseUrl, request)\n}\nconst _getV1TimeCardsGenerateExcel = async (url: string, request: Types.GetV1TimeCardsGenerateExcelRequest): Promise<Types.GetV1TimeCardsGenerateExcelResponses> => {\n const queryParameters: (keyof Types.GetV1TimeCardsGenerateExcelRequest)[] = ['resource', 'filters', 'order', 'search', 'company_id']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['Content-Type'] !== undefined) {\n headers['Content-Type'] = request['Content-Type']\n delete request['Content-Type']\n }\n\n const response = await fetch(`${url}/v1/time-cards/generate-excel?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimeCardsGenerateExcel: Api['getV1TimeCardsGenerateExcel'] = async (request: Types.GetV1TimeCardsGenerateExcelRequest): Promise<Types.GetV1TimeCardsGenerateExcelResponses> => {\n return await _getV1TimeCardsGenerateExcel(baseUrl, request)\n}\nconst _postV1TimeCardsImport = async (url: string, request: Types.PostV1TimeCardsImportRequest): Promise<Types.PostV1TimeCardsImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimeCardsImport: Api['postV1TimeCardsImport'] = async (request: Types.PostV1TimeCardsImportRequest): Promise<Types.PostV1TimeCardsImportResponses> => {\n return await _postV1TimeCardsImport(baseUrl, request)\n}\nconst _getV1TimeCardsIdEmployees = async (url: string, request: Types.GetV1TimeCardsIdEmployeesRequest): Promise<Types.GetV1TimeCardsIdEmployeesResponses> => {\n const queryParameters: (keyof Types.GetV1TimeCardsIdEmployeesRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}/employees?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimeCardsIdEmployees: Api['getV1TimeCardsIdEmployees'] = async (request: Types.GetV1TimeCardsIdEmployeesRequest): Promise<Types.GetV1TimeCardsIdEmployeesResponses> => {\n return await _getV1TimeCardsIdEmployees(baseUrl, request)\n}\nconst _postV1TimeCardsEmployees = async (url: string, request: Types.PostV1TimeCardsEmployeesRequest): Promise<Types.PostV1TimeCardsEmployeesResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/employees`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimeCardsEmployees: Api['postV1TimeCardsEmployees'] = async (request: Types.PostV1TimeCardsEmployeesRequest): Promise<Types.PostV1TimeCardsEmployeesResponses> => {\n return await _postV1TimeCardsEmployees(baseUrl, request)\n}\nconst _getV1TimeCardsIdEmployeeEmployeeId = async (url: string, request: Types.GetV1TimeCardsIdEmployeeEmployeeIdRequest): Promise<Types.GetV1TimeCardsIdEmployeeEmployeeIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/${request['id']}/employee/${request['employeeId']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimeCardsIdEmployeeEmployeeId: Api['getV1TimeCardsIdEmployeeEmployeeId'] = async (request: Types.GetV1TimeCardsIdEmployeeEmployeeIdRequest): Promise<Types.GetV1TimeCardsIdEmployeeEmployeeIdResponses> => {\n return await _getV1TimeCardsIdEmployeeEmployeeId(baseUrl, request)\n}\nconst _postV1TimeCardsEmployeeEmployeeId = async (url: string, request: Types.PostV1TimeCardsEmployeeEmployeeIdRequest): Promise<Types.PostV1TimeCardsEmployeeEmployeeIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/time-cards/employee/${request['employeeId']}`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimeCardsEmployeeEmployeeId: Api['postV1TimeCardsEmployeeEmployeeId'] = async (request: Types.PostV1TimeCardsEmployeeEmployeeIdRequest): Promise<Types.PostV1TimeCardsEmployeeEmployeeIdResponses> => {\n return await _postV1TimeCardsEmployeeEmployeeId(baseUrl, request)\n}\nconst _postV1Timesheets = async (url: string, request: Types.PostV1TimesheetsRequest): Promise<Types.PostV1TimesheetsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Timesheets: Api['postV1Timesheets'] = async (request: Types.PostV1TimesheetsRequest): Promise<Types.PostV1TimesheetsResponses> => {\n return await _postV1Timesheets(baseUrl, request)\n}\nconst _getV1Timesheets = async (url: string, request: Types.GetV1TimesheetsRequest): Promise<Types.GetV1TimesheetsResponses> => {\n const queryParameters: (keyof Types.GetV1TimesheetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Timesheets: Api['getV1Timesheets'] = async (request: Types.GetV1TimesheetsRequest): Promise<Types.GetV1TimesheetsResponses> => {\n return await _getV1Timesheets(baseUrl, request)\n}\nconst _getV1TimesheetsId = async (url: string, request: Types.GetV1TimesheetsIdRequest): Promise<Types.GetV1TimesheetsIdResponses> => {\n const queryParameters: (keyof Types.GetV1TimesheetsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimesheetsId: Api['getV1TimesheetsId'] = async (request: Types.GetV1TimesheetsIdRequest): Promise<Types.GetV1TimesheetsIdResponses> => {\n return await _getV1TimesheetsId(baseUrl, request)\n}\nconst _putV1TimesheetsId = async (url: string, request: Types.PutV1TimesheetsIdRequest): Promise<Types.PutV1TimesheetsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1TimesheetsId: Api['putV1TimesheetsId'] = async (request: Types.PutV1TimesheetsIdRequest): Promise<Types.PutV1TimesheetsIdResponses> => {\n return await _putV1TimesheetsId(baseUrl, request)\n}\nconst _deleteV1TimesheetsId = async (url: string, request: Types.DeleteV1TimesheetsIdRequest): Promise<Types.DeleteV1TimesheetsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1TimesheetsId: Api['deleteV1TimesheetsId'] = async (request: Types.DeleteV1TimesheetsIdRequest): Promise<Types.DeleteV1TimesheetsIdResponses> => {\n return await _deleteV1TimesheetsId(baseUrl, request)\n}\nconst _patchV1TimesheetsIdStatus = async (url: string, request: Types.PatchV1TimesheetsIdStatusRequest): Promise<Types.PatchV1TimesheetsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TimesheetsIdStatus: Api['patchV1TimesheetsIdStatus'] = async (request: Types.PatchV1TimesheetsIdStatusRequest): Promise<Types.PatchV1TimesheetsIdStatusResponses> => {\n return await _patchV1TimesheetsIdStatus(baseUrl, request)\n}\nconst _postV1TimesheetsSaveAsDraft = async (url: string, request: Types.PostV1TimesheetsSaveAsDraftRequest): Promise<Types.PostV1TimesheetsSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimesheetsSaveAsDraft: Api['postV1TimesheetsSaveAsDraft'] = async (request: Types.PostV1TimesheetsSaveAsDraftRequest): Promise<Types.PostV1TimesheetsSaveAsDraftResponses> => {\n return await _postV1TimesheetsSaveAsDraft(baseUrl, request)\n}\nconst _patchV1TimesheetsIdSaveAsDraft = async (url: string, request: Types.PatchV1TimesheetsIdSaveAsDraftRequest): Promise<Types.PatchV1TimesheetsIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TimesheetsIdSaveAsDraft: Api['patchV1TimesheetsIdSaveAsDraft'] = async (request: Types.PatchV1TimesheetsIdSaveAsDraftRequest): Promise<Types.PatchV1TimesheetsIdSaveAsDraftResponses> => {\n return await _patchV1TimesheetsIdSaveAsDraft(baseUrl, request)\n}\nconst _postV1TimesheetsGenerate = async (url: string, request: Types.PostV1TimesheetsGenerateRequest): Promise<Types.PostV1TimesheetsGenerateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/generate`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TimesheetsGenerate: Api['postV1TimesheetsGenerate'] = async (request: Types.PostV1TimesheetsGenerateRequest): Promise<Types.PostV1TimesheetsGenerateResponses> => {\n return await _postV1TimesheetsGenerate(baseUrl, request)\n}\nconst _getV1TimesheetsIdApprovalHistory = async (url: string, request: Types.GetV1TimesheetsIdApprovalHistoryRequest): Promise<Types.GetV1TimesheetsIdApprovalHistoryResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}/approval-history`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimesheetsIdApprovalHistory: Api['getV1TimesheetsIdApprovalHistory'] = async (request: Types.GetV1TimesheetsIdApprovalHistoryRequest): Promise<Types.GetV1TimesheetsIdApprovalHistoryResponses> => {\n return await _getV1TimesheetsIdApprovalHistory(baseUrl, request)\n}\nconst _getV1TimesheetsIdPdf = async (url: string, request: Types.GetV1TimesheetsIdPdfRequest): Promise<Types.GetV1TimesheetsIdPdfResponses> => {\n const queryParameters: (keyof Types.GetV1TimesheetsIdPdfRequest)[] = ['page']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/timesheets/${request['id']}/pdf?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TimesheetsIdPdf: Api['getV1TimesheetsIdPdf'] = async (request: Types.GetV1TimesheetsIdPdfRequest): Promise<Types.GetV1TimesheetsIdPdfResponses> => {\n return await _getV1TimesheetsIdPdf(baseUrl, request)\n}\nconst _postV1OrganisationStructure = async (url: string, request: Types.PostV1OrganisationStructureRequest): Promise<Types.PostV1OrganisationStructureResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1OrganisationStructure: Api['postV1OrganisationStructure'] = async (request: Types.PostV1OrganisationStructureRequest): Promise<Types.PostV1OrganisationStructureResponses> => {\n return await _postV1OrganisationStructure(baseUrl, request)\n}\nconst _getV1OrganisationStructure = async (url: string, request: Types.GetV1OrganisationStructureRequest): Promise<Types.GetV1OrganisationStructureResponses> => {\n const queryParameters: (keyof Types.GetV1OrganisationStructureRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OrganisationStructure: Api['getV1OrganisationStructure'] = async (request: Types.GetV1OrganisationStructureRequest): Promise<Types.GetV1OrganisationStructureResponses> => {\n return await _getV1OrganisationStructure(baseUrl, request)\n}\nconst _getV1OrganisationStructureId = async (url: string, request: Types.GetV1OrganisationStructureIdRequest): Promise<Types.GetV1OrganisationStructureIdResponses> => {\n const queryParameters: (keyof Types.GetV1OrganisationStructureIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OrganisationStructureId: Api['getV1OrganisationStructureId'] = async (request: Types.GetV1OrganisationStructureIdRequest): Promise<Types.GetV1OrganisationStructureIdResponses> => {\n return await _getV1OrganisationStructureId(baseUrl, request)\n}\nconst _putV1OrganisationStructureId = async (url: string, request: Types.PutV1OrganisationStructureIdRequest): Promise<Types.PutV1OrganisationStructureIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1OrganisationStructureId: Api['putV1OrganisationStructureId'] = async (request: Types.PutV1OrganisationStructureIdRequest): Promise<Types.PutV1OrganisationStructureIdResponses> => {\n return await _putV1OrganisationStructureId(baseUrl, request)\n}\nconst _deleteV1OrganisationStructureId = async (url: string, request: Types.DeleteV1OrganisationStructureIdRequest): Promise<Types.DeleteV1OrganisationStructureIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1OrganisationStructureId: Api['deleteV1OrganisationStructureId'] = async (request: Types.DeleteV1OrganisationStructureIdRequest): Promise<Types.DeleteV1OrganisationStructureIdResponses> => {\n return await _deleteV1OrganisationStructureId(baseUrl, request)\n}\nconst _putV1OrganisationStructureIdTeamsTeamNodeIdTransferMembers = async (url: string, request: Types.PutV1OrganisationStructureIdTeamsTeamNodeIdTransferMembersRequest): Promise<Types.PutV1OrganisationStructureIdTeamsTeamNodeIdTransferMembersResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/${request['id']}/teams/${request['team_node_id']}/transfer-members`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1OrganisationStructureIdTeamsTeamNodeIdTransferMembers: Api['putV1OrganisationStructureIdTeamsTeamNodeIdTransferMembers'] = async (request: Types.PutV1OrganisationStructureIdTeamsTeamNodeIdTransferMembersRequest): Promise<Types.PutV1OrganisationStructureIdTeamsTeamNodeIdTransferMembersResponses> => {\n return await _putV1OrganisationStructureIdTeamsTeamNodeIdTransferMembers(baseUrl, request)\n}\nconst _getV1OrganisationStructureHierarchyLevels = async (url: string, request: Types.GetV1OrganisationStructureHierarchyLevelsRequest): Promise<Types.GetV1OrganisationStructureHierarchyLevelsResponses> => {\n const queryParameters: (keyof Types.GetV1OrganisationStructureHierarchyLevelsRequest)[] = ['company_ids', 'location_ids']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/hierarchy/levels?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OrganisationStructureHierarchyLevels: Api['getV1OrganisationStructureHierarchyLevels'] = async (request: Types.GetV1OrganisationStructureHierarchyLevelsRequest): Promise<Types.GetV1OrganisationStructureHierarchyLevelsResponses> => {\n return await _getV1OrganisationStructureHierarchyLevels(baseUrl, request)\n}\nconst _getV1OrganisationStructureHierarchy = async (url: string, request: Types.GetV1OrganisationStructureHierarchyRequest): Promise<Types.GetV1OrganisationStructureHierarchyResponses> => {\n const queryParameters: (keyof Types.GetV1OrganisationStructureHierarchyRequest)[] = ['employee_id', 'type']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/organisation-structure/hierarchy?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1OrganisationStructureHierarchy: Api['getV1OrganisationStructureHierarchy'] = async (request: Types.GetV1OrganisationStructureHierarchyRequest): Promise<Types.GetV1OrganisationStructureHierarchyResponses> => {\n return await _getV1OrganisationStructureHierarchy(baseUrl, request)\n}\nconst _postV1AssetRequests = async (url: string, request: Types.PostV1AssetRequestsRequest): Promise<Types.PostV1AssetRequestsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AssetRequests: Api['postV1AssetRequests'] = async (request: Types.PostV1AssetRequestsRequest): Promise<Types.PostV1AssetRequestsResponses> => {\n return await _postV1AssetRequests(baseUrl, request)\n}\nconst _getV1AssetRequests = async (url: string, request: Types.GetV1AssetRequestsRequest): Promise<Types.GetV1AssetRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1AssetRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetRequests: Api['getV1AssetRequests'] = async (request: Types.GetV1AssetRequestsRequest): Promise<Types.GetV1AssetRequestsResponses> => {\n return await _getV1AssetRequests(baseUrl, request)\n}\nconst _getV1AssetRequestsMyApprovals = async (url: string, request: Types.GetV1AssetRequestsMyApprovalsRequest): Promise<Types.GetV1AssetRequestsMyApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1AssetRequestsMyApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'approval_status']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/my-approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetRequestsMyApprovals: Api['getV1AssetRequestsMyApprovals'] = async (request: Types.GetV1AssetRequestsMyApprovalsRequest): Promise<Types.GetV1AssetRequestsMyApprovalsResponses> => {\n return await _getV1AssetRequestsMyApprovals(baseUrl, request)\n}\nconst _getV1AssetRequestsId = async (url: string, request: Types.GetV1AssetRequestsIdRequest): Promise<Types.GetV1AssetRequestsIdResponses> => {\n const queryParameters: (keyof Types.GetV1AssetRequestsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetRequestsId: Api['getV1AssetRequestsId'] = async (request: Types.GetV1AssetRequestsIdRequest): Promise<Types.GetV1AssetRequestsIdResponses> => {\n return await _getV1AssetRequestsId(baseUrl, request)\n}\nconst _putV1AssetRequestsId = async (url: string, request: Types.PutV1AssetRequestsIdRequest): Promise<Types.PutV1AssetRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1AssetRequestsId: Api['putV1AssetRequestsId'] = async (request: Types.PutV1AssetRequestsIdRequest): Promise<Types.PutV1AssetRequestsIdResponses> => {\n return await _putV1AssetRequestsId(baseUrl, request)\n}\nconst _deleteV1AssetRequestsId = async (url: string, request: Types.DeleteV1AssetRequestsIdRequest): Promise<Types.DeleteV1AssetRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1AssetRequestsId: Api['deleteV1AssetRequestsId'] = async (request: Types.DeleteV1AssetRequestsIdRequest): Promise<Types.DeleteV1AssetRequestsIdResponses> => {\n return await _deleteV1AssetRequestsId(baseUrl, request)\n}\nconst _patchV1AssetRequestsIdStatus = async (url: string, request: Types.PatchV1AssetRequestsIdStatusRequest): Promise<Types.PatchV1AssetRequestsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-requests/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1AssetRequestsIdStatus: Api['patchV1AssetRequestsIdStatus'] = async (request: Types.PatchV1AssetRequestsIdStatusRequest): Promise<Types.PatchV1AssetRequestsIdStatusResponses> => {\n return await _patchV1AssetRequestsIdStatus(baseUrl, request)\n}\nconst _getV1AssetAllocationInUseAssets = async (url: string, request: Types.GetV1AssetAllocationInUseAssetsRequest): Promise<Types.GetV1AssetAllocationInUseAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1AssetAllocationInUseAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-allocation/in-use-assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetAllocationInUseAssets: Api['getV1AssetAllocationInUseAssets'] = async (request: Types.GetV1AssetAllocationInUseAssetsRequest): Promise<Types.GetV1AssetAllocationInUseAssetsResponses> => {\n return await _getV1AssetAllocationInUseAssets(baseUrl, request)\n}\nconst _postV1AssetAllocationTransfer = async (url: string, request: Types.PostV1AssetAllocationTransferRequest): Promise<Types.PostV1AssetAllocationTransferResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-allocation/transfer`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AssetAllocationTransfer: Api['postV1AssetAllocationTransfer'] = async (request: Types.PostV1AssetAllocationTransferRequest): Promise<Types.PostV1AssetAllocationTransferResponses> => {\n return await _postV1AssetAllocationTransfer(baseUrl, request)\n}\nconst _getV1AssetAllocationRequestsIdAvailableAssets = async (url: string, request: Types.GetV1AssetAllocationRequestsIdAvailableAssetsRequest): Promise<Types.GetV1AssetAllocationRequestsIdAvailableAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1AssetAllocationRequestsIdAvailableAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-allocation/requests/${request['id']}/available-assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetAllocationRequestsIdAvailableAssets: Api['getV1AssetAllocationRequestsIdAvailableAssets'] = async (request: Types.GetV1AssetAllocationRequestsIdAvailableAssetsRequest): Promise<Types.GetV1AssetAllocationRequestsIdAvailableAssetsResponses> => {\n return await _getV1AssetAllocationRequestsIdAvailableAssets(baseUrl, request)\n}\nconst _postV1AssetAllocationRequestsIdAssign = async (url: string, request: Types.PostV1AssetAllocationRequestsIdAssignRequest): Promise<Types.PostV1AssetAllocationRequestsIdAssignResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-allocation/requests/${request['id']}/assign`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AssetAllocationRequestsIdAssign: Api['postV1AssetAllocationRequestsIdAssign'] = async (request: Types.PostV1AssetAllocationRequestsIdAssignRequest): Promise<Types.PostV1AssetAllocationRequestsIdAssignResponses> => {\n return await _postV1AssetAllocationRequestsIdAssign(baseUrl, request)\n}\nconst _postV1AssetAllocationRequestsIdUnassign = async (url: string, request: Types.PostV1AssetAllocationRequestsIdUnassignRequest): Promise<Types.PostV1AssetAllocationRequestsIdUnassignResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-allocation/requests/${request['id']}/unassign`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AssetAllocationRequestsIdUnassign: Api['postV1AssetAllocationRequestsIdUnassign'] = async (request: Types.PostV1AssetAllocationRequestsIdUnassignRequest): Promise<Types.PostV1AssetAllocationRequestsIdUnassignResponses> => {\n return await _postV1AssetAllocationRequestsIdUnassign(baseUrl, request)\n}\nconst _getV1ReceiveHandoverRequests = async (url: string, request: Types.GetV1ReceiveHandoverRequestsRequest): Promise<Types.GetV1ReceiveHandoverRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1ReceiveHandoverRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/requests?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ReceiveHandoverRequests: Api['getV1ReceiveHandoverRequests'] = async (request: Types.GetV1ReceiveHandoverRequestsRequest): Promise<Types.GetV1ReceiveHandoverRequestsResponses> => {\n return await _getV1ReceiveHandoverRequests(baseUrl, request)\n}\nconst _getV1ReceiveHandoverRequestsReturns = async (url: string, request: Types.GetV1ReceiveHandoverRequestsReturnsRequest): Promise<Types.GetV1ReceiveHandoverRequestsReturnsResponses> => {\n const queryParameters: (keyof Types.GetV1ReceiveHandoverRequestsReturnsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/requests/returns?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ReceiveHandoverRequestsReturns: Api['getV1ReceiveHandoverRequestsReturns'] = async (request: Types.GetV1ReceiveHandoverRequestsReturnsRequest): Promise<Types.GetV1ReceiveHandoverRequestsReturnsResponses> => {\n return await _getV1ReceiveHandoverRequestsReturns(baseUrl, request)\n}\nconst _getV1ReceiveHandoverRequestsId = async (url: string, request: Types.GetV1ReceiveHandoverRequestsIdRequest): Promise<Types.GetV1ReceiveHandoverRequestsIdResponses> => {\n const queryParameters: (keyof Types.GetV1ReceiveHandoverRequestsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/requests/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ReceiveHandoverRequestsId: Api['getV1ReceiveHandoverRequestsId'] = async (request: Types.GetV1ReceiveHandoverRequestsIdRequest): Promise<Types.GetV1ReceiveHandoverRequestsIdResponses> => {\n return await _getV1ReceiveHandoverRequestsId(baseUrl, request)\n}\nconst _postV1ReceiveHandoverRequestsIdComplete = async (url: string, request: Types.PostV1ReceiveHandoverRequestsIdCompleteRequest): Promise<Types.PostV1ReceiveHandoverRequestsIdCompleteResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/requests/${request['id']}/complete`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReceiveHandoverRequestsIdComplete: Api['postV1ReceiveHandoverRequestsIdComplete'] = async (request: Types.PostV1ReceiveHandoverRequestsIdCompleteRequest): Promise<Types.PostV1ReceiveHandoverRequestsIdCompleteResponses> => {\n return await _postV1ReceiveHandoverRequestsIdComplete(baseUrl, request)\n}\nconst _postV1ReceiveHandoverRequestsIdProcessHandover = async (url: string, request: Types.PostV1ReceiveHandoverRequestsIdProcessHandoverRequest): Promise<Types.PostV1ReceiveHandoverRequestsIdProcessHandoverResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/requests/${request['id']}/process-handover`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReceiveHandoverRequestsIdProcessHandover: Api['postV1ReceiveHandoverRequestsIdProcessHandover'] = async (request: Types.PostV1ReceiveHandoverRequestsIdProcessHandoverRequest): Promise<Types.PostV1ReceiveHandoverRequestsIdProcessHandoverResponses> => {\n return await _postV1ReceiveHandoverRequestsIdProcessHandover(baseUrl, request)\n}\nconst _getV1ReceiveHandoverMyAssets = async (url: string, request: Types.GetV1ReceiveHandoverMyAssetsRequest): Promise<Types.GetV1ReceiveHandoverMyAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1ReceiveHandoverMyAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/my-assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ReceiveHandoverMyAssets: Api['getV1ReceiveHandoverMyAssets'] = async (request: Types.GetV1ReceiveHandoverMyAssetsRequest): Promise<Types.GetV1ReceiveHandoverMyAssetsResponses> => {\n return await _getV1ReceiveHandoverMyAssets(baseUrl, request)\n}\nconst _getV1ReceiveHandoverMyAssetsId = async (url: string, request: Types.GetV1ReceiveHandoverMyAssetsIdRequest): Promise<Types.GetV1ReceiveHandoverMyAssetsIdResponses> => {\n const queryParameters: (keyof Types.GetV1ReceiveHandoverMyAssetsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/my-assets/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ReceiveHandoverMyAssetsId: Api['getV1ReceiveHandoverMyAssetsId'] = async (request: Types.GetV1ReceiveHandoverMyAssetsIdRequest): Promise<Types.GetV1ReceiveHandoverMyAssetsIdResponses> => {\n return await _getV1ReceiveHandoverMyAssetsId(baseUrl, request)\n}\nconst _postV1ReceiveHandoverMyAssetsIdReturn = async (url: string, request: Types.PostV1ReceiveHandoverMyAssetsIdReturnRequest): Promise<Types.PostV1ReceiveHandoverMyAssetsIdReturnResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/receive-handover/my-assets/${request['id']}/return`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReceiveHandoverMyAssetsIdReturn: Api['postV1ReceiveHandoverMyAssetsIdReturn'] = async (request: Types.PostV1ReceiveHandoverMyAssetsIdReturnRequest): Promise<Types.PostV1ReceiveHandoverMyAssetsIdReturnResponses> => {\n return await _postV1ReceiveHandoverMyAssetsIdReturn(baseUrl, request)\n}\nconst _getV1MyAssets = async (url: string, request: Types.GetV1MyAssetsRequest): Promise<Types.GetV1MyAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1MyAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/my-assets/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1MyAssets: Api['getV1MyAssets'] = async (request: Types.GetV1MyAssetsRequest): Promise<Types.GetV1MyAssetsResponses> => {\n return await _getV1MyAssets(baseUrl, request)\n}\nconst _getV1MyAssetsReceivedAssets = async (url: string, request: Types.GetV1MyAssetsReceivedAssetsRequest): Promise<Types.GetV1MyAssetsReceivedAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1MyAssetsReceivedAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/my-assets/received-assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1MyAssetsReceivedAssets: Api['getV1MyAssetsReceivedAssets'] = async (request: Types.GetV1MyAssetsReceivedAssetsRequest): Promise<Types.GetV1MyAssetsReceivedAssetsResponses> => {\n return await _getV1MyAssetsReceivedAssets(baseUrl, request)\n}\nconst _getV1MyAssetsId = async (url: string, request: Types.GetV1MyAssetsIdRequest): Promise<Types.GetV1MyAssetsIdResponses> => {\n const queryParameters: (keyof Types.GetV1MyAssetsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/my-assets/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1MyAssetsId: Api['getV1MyAssetsId'] = async (request: Types.GetV1MyAssetsIdRequest): Promise<Types.GetV1MyAssetsIdResponses> => {\n return await _getV1MyAssetsId(baseUrl, request)\n}\nconst _getV1MyAssetsCategoriesId = async (url: string, request: Types.GetV1MyAssetsCategoriesIdRequest): Promise<Types.GetV1MyAssetsCategoriesIdResponses> => {\n const queryParameters: (keyof Types.GetV1MyAssetsCategoriesIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'employee_asset_id']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/my-assets/categories/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1MyAssetsCategoriesId: Api['getV1MyAssetsCategoriesId'] = async (request: Types.GetV1MyAssetsCategoriesIdRequest): Promise<Types.GetV1MyAssetsCategoriesIdResponses> => {\n return await _getV1MyAssetsCategoriesId(baseUrl, request)\n}\nconst _postV1MyAssetsReturn = async (url: string, request: Types.PostV1MyAssetsReturnRequest): Promise<Types.PostV1MyAssetsReturnResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/my-assets/return`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MyAssetsReturn: Api['postV1MyAssetsReturn'] = async (request: Types.PostV1MyAssetsReturnRequest): Promise<Types.PostV1MyAssetsReturnResponses> => {\n return await _postV1MyAssetsReturn(baseUrl, request)\n}\nconst _postV1DamageLossClaims = async (url: string, request: Types.PostV1DamageLossClaimsRequest): Promise<Types.PostV1DamageLossClaimsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/damage-loss-claims/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DamageLossClaims: Api['postV1DamageLossClaims'] = async (request: Types.PostV1DamageLossClaimsRequest): Promise<Types.PostV1DamageLossClaimsResponses> => {\n return await _postV1DamageLossClaims(baseUrl, request)\n}\nconst _getV1DamageLossClaims = async (url: string, request: Types.GetV1DamageLossClaimsRequest): Promise<Types.GetV1DamageLossClaimsResponses> => {\n const queryParameters: (keyof Types.GetV1DamageLossClaimsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/damage-loss-claims/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DamageLossClaims: Api['getV1DamageLossClaims'] = async (request: Types.GetV1DamageLossClaimsRequest): Promise<Types.GetV1DamageLossClaimsResponses> => {\n return await _getV1DamageLossClaims(baseUrl, request)\n}\nconst _getV1DamageLossClaimsId = async (url: string, request: Types.GetV1DamageLossClaimsIdRequest): Promise<Types.GetV1DamageLossClaimsIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/damage-loss-claims/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1DamageLossClaimsId: Api['getV1DamageLossClaimsId'] = async (request: Types.GetV1DamageLossClaimsIdRequest): Promise<Types.GetV1DamageLossClaimsIdResponses> => {\n return await _getV1DamageLossClaimsId(baseUrl, request)\n}\nconst _putV1DamageLossClaimsId = async (url: string, request: Types.PutV1DamageLossClaimsIdRequest): Promise<Types.PutV1DamageLossClaimsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/damage-loss-claims/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1DamageLossClaimsId: Api['putV1DamageLossClaimsId'] = async (request: Types.PutV1DamageLossClaimsIdRequest): Promise<Types.PutV1DamageLossClaimsIdResponses> => {\n return await _putV1DamageLossClaimsId(baseUrl, request)\n}\nconst _patchV1DamageLossClaimsIdStatus = async (url: string, request: Types.PatchV1DamageLossClaimsIdStatusRequest): Promise<Types.PatchV1DamageLossClaimsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/damage-loss-claims/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1DamageLossClaimsIdStatus: Api['patchV1DamageLossClaimsIdStatus'] = async (request: Types.PatchV1DamageLossClaimsIdStatusRequest): Promise<Types.PatchV1DamageLossClaimsIdStatusResponses> => {\n return await _patchV1DamageLossClaimsIdStatus(baseUrl, request)\n}\nconst _postV1DamageLossClaimsIdSuggestSplit = async (url: string, request: Types.PostV1DamageLossClaimsIdSuggestSplitRequest): Promise<Types.PostV1DamageLossClaimsIdSuggestSplitResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/damage-loss-claims/${request['id']}/suggest-split`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1DamageLossClaimsIdSuggestSplit: Api['postV1DamageLossClaimsIdSuggestSplit'] = async (request: Types.PostV1DamageLossClaimsIdSuggestSplitRequest): Promise<Types.PostV1DamageLossClaimsIdSuggestSplitResponses> => {\n return await _postV1DamageLossClaimsIdSuggestSplit(baseUrl, request)\n}\nconst _getV1AssetTracker = async (url: string, request: Types.GetV1AssetTrackerRequest): Promise<Types.GetV1AssetTrackerResponses> => {\n const queryParameters: (keyof Types.GetV1AssetTrackerRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-tracker/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetTracker: Api['getV1AssetTracker'] = async (request: Types.GetV1AssetTrackerRequest): Promise<Types.GetV1AssetTrackerResponses> => {\n return await _getV1AssetTracker(baseUrl, request)\n}\nconst _getV1AssetTrackerAssetsName = async (url: string, request: Types.GetV1AssetTrackerAssetsNameRequest): Promise<Types.GetV1AssetTrackerAssetsNameResponses> => {\n const queryParameters: (keyof Types.GetV1AssetTrackerAssetsNameRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-tracker/assets/${request['name']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AssetTrackerAssetsName: Api['getV1AssetTrackerAssetsName'] = async (request: Types.GetV1AssetTrackerAssetsNameRequest): Promise<Types.GetV1AssetTrackerAssetsNameResponses> => {\n return await _getV1AssetTrackerAssetsName(baseUrl, request)\n}\nconst _postV1AssetTrackerAssetsAssetIdHistory = async (url: string, request: Types.PostV1AssetTrackerAssetsAssetIdHistoryRequest): Promise<Types.PostV1AssetTrackerAssetsAssetIdHistoryResponses> => {\n const queryParameters: (keyof Types.PostV1AssetTrackerAssetsAssetIdHistoryRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/asset-tracker/assets/${request['assetId']}/history?${searchParams.toString()}`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AssetTrackerAssetsAssetIdHistory: Api['postV1AssetTrackerAssetsAssetIdHistory'] = async (request: Types.PostV1AssetTrackerAssetsAssetIdHistoryRequest): Promise<Types.PostV1AssetTrackerAssetsAssetIdHistoryResponses> => {\n return await _postV1AssetTrackerAssetsAssetIdHistory(baseUrl, request)\n}\nconst _postV1ResourceAllocationRequests = async (url: string, request: Types.PostV1ResourceAllocationRequestsRequest): Promise<Types.PostV1ResourceAllocationRequestsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ResourceAllocationRequests: Api['postV1ResourceAllocationRequests'] = async (request: Types.PostV1ResourceAllocationRequestsRequest): Promise<Types.PostV1ResourceAllocationRequestsResponses> => {\n return await _postV1ResourceAllocationRequests(baseUrl, request)\n}\nconst _getV1ResourceAllocationRequests = async (url: string, request: Types.GetV1ResourceAllocationRequestsRequest): Promise<Types.GetV1ResourceAllocationRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1ResourceAllocationRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceAllocationRequests: Api['getV1ResourceAllocationRequests'] = async (request: Types.GetV1ResourceAllocationRequestsRequest): Promise<Types.GetV1ResourceAllocationRequestsResponses> => {\n return await _getV1ResourceAllocationRequests(baseUrl, request)\n}\nconst _getV1ResourceAllocationRequestsApprovals = async (url: string, request: Types.GetV1ResourceAllocationRequestsApprovalsRequest): Promise<Types.GetV1ResourceAllocationRequestsApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1ResourceAllocationRequestsApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceAllocationRequestsApprovals: Api['getV1ResourceAllocationRequestsApprovals'] = async (request: Types.GetV1ResourceAllocationRequestsApprovalsRequest): Promise<Types.GetV1ResourceAllocationRequestsApprovalsResponses> => {\n return await _getV1ResourceAllocationRequestsApprovals(baseUrl, request)\n}\nconst _getV1ResourceAllocationRequestsId = async (url: string, request: Types.GetV1ResourceAllocationRequestsIdRequest): Promise<Types.GetV1ResourceAllocationRequestsIdResponses> => {\n const queryParameters: (keyof Types.GetV1ResourceAllocationRequestsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceAllocationRequestsId: Api['getV1ResourceAllocationRequestsId'] = async (request: Types.GetV1ResourceAllocationRequestsIdRequest): Promise<Types.GetV1ResourceAllocationRequestsIdResponses> => {\n return await _getV1ResourceAllocationRequestsId(baseUrl, request)\n}\nconst _putV1ResourceAllocationRequestsId = async (url: string, request: Types.PutV1ResourceAllocationRequestsIdRequest): Promise<Types.PutV1ResourceAllocationRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1ResourceAllocationRequestsId: Api['putV1ResourceAllocationRequestsId'] = async (request: Types.PutV1ResourceAllocationRequestsIdRequest): Promise<Types.PutV1ResourceAllocationRequestsIdResponses> => {\n return await _putV1ResourceAllocationRequestsId(baseUrl, request)\n}\nconst _deleteV1ResourceAllocationRequestsId = async (url: string, request: Types.DeleteV1ResourceAllocationRequestsIdRequest): Promise<Types.DeleteV1ResourceAllocationRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1ResourceAllocationRequestsId: Api['deleteV1ResourceAllocationRequestsId'] = async (request: Types.DeleteV1ResourceAllocationRequestsIdRequest): Promise<Types.DeleteV1ResourceAllocationRequestsIdResponses> => {\n return await _deleteV1ResourceAllocationRequestsId(baseUrl, request)\n}\nconst _patchV1ResourceAllocationRequestsIdStatus = async (url: string, request: Types.PatchV1ResourceAllocationRequestsIdStatusRequest): Promise<Types.PatchV1ResourceAllocationRequestsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1ResourceAllocationRequestsIdStatus: Api['patchV1ResourceAllocationRequestsIdStatus'] = async (request: Types.PatchV1ResourceAllocationRequestsIdStatusRequest): Promise<Types.PatchV1ResourceAllocationRequestsIdStatusResponses> => {\n return await _patchV1ResourceAllocationRequestsIdStatus(baseUrl, request)\n}\nconst _getV1ResourceAllocationRequestsGenerateExcel = async (url: string, request: Types.GetV1ResourceAllocationRequestsGenerateExcelRequest): Promise<Types.GetV1ResourceAllocationRequestsGenerateExcelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-requests/generate-excel`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1ResourceAllocationRequestsGenerateExcel: Api['getV1ResourceAllocationRequestsGenerateExcel'] = async (request: Types.GetV1ResourceAllocationRequestsGenerateExcelRequest): Promise<Types.GetV1ResourceAllocationRequestsGenerateExcelResponses> => {\n return await _getV1ResourceAllocationRequestsGenerateExcel(baseUrl, request)\n}\nconst _getV1ResourceAllocationAssignments = async (url: string, request: Types.GetV1ResourceAllocationAssignmentsRequest): Promise<Types.GetV1ResourceAllocationAssignmentsResponses> => {\n const queryParameters: (keyof Types.GetV1ResourceAllocationAssignmentsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-assignments/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceAllocationAssignments: Api['getV1ResourceAllocationAssignments'] = async (request: Types.GetV1ResourceAllocationAssignmentsRequest): Promise<Types.GetV1ResourceAllocationAssignmentsResponses> => {\n return await _getV1ResourceAllocationAssignments(baseUrl, request)\n}\nconst _getV1ResourceAllocationAssignmentsId = async (url: string, request: Types.GetV1ResourceAllocationAssignmentsIdRequest): Promise<Types.GetV1ResourceAllocationAssignmentsIdResponses> => {\n const queryParameters: (keyof Types.GetV1ResourceAllocationAssignmentsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-assignments/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceAllocationAssignmentsId: Api['getV1ResourceAllocationAssignmentsId'] = async (request: Types.GetV1ResourceAllocationAssignmentsIdRequest): Promise<Types.GetV1ResourceAllocationAssignmentsIdResponses> => {\n return await _getV1ResourceAllocationAssignmentsId(baseUrl, request)\n}\nconst _patchV1ResourceAllocationAssignmentsId = async (url: string, request: Types.PatchV1ResourceAllocationAssignmentsIdRequest): Promise<Types.PatchV1ResourceAllocationAssignmentsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-assignments/${request['id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1ResourceAllocationAssignmentsId: Api['patchV1ResourceAllocationAssignmentsId'] = async (request: Types.PatchV1ResourceAllocationAssignmentsIdRequest): Promise<Types.PatchV1ResourceAllocationAssignmentsIdResponses> => {\n return await _patchV1ResourceAllocationAssignmentsId(baseUrl, request)\n}\nconst _getV1ResourceAllocationAssignmentsIdPositionPositionId = async (url: string, request: Types.GetV1ResourceAllocationAssignmentsIdPositionPositionIdRequest): Promise<Types.GetV1ResourceAllocationAssignmentsIdPositionPositionIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-assignments/${request['id']}/position/${request['positionId']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceAllocationAssignmentsIdPositionPositionId: Api['getV1ResourceAllocationAssignmentsIdPositionPositionId'] = async (request: Types.GetV1ResourceAllocationAssignmentsIdPositionPositionIdRequest): Promise<Types.GetV1ResourceAllocationAssignmentsIdPositionPositionIdResponses> => {\n return await _getV1ResourceAllocationAssignmentsIdPositionPositionId(baseUrl, request)\n}\nconst _postV1ResourceAllocationAssignmentsIdPositionPositionId = async (url: string, request: Types.PostV1ResourceAllocationAssignmentsIdPositionPositionIdRequest): Promise<Types.PostV1ResourceAllocationAssignmentsIdPositionPositionIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-assignments/${request['id']}/position/${request['positionId']}`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ResourceAllocationAssignmentsIdPositionPositionId: Api['postV1ResourceAllocationAssignmentsIdPositionPositionId'] = async (request: Types.PostV1ResourceAllocationAssignmentsIdPositionPositionIdRequest): Promise<Types.PostV1ResourceAllocationAssignmentsIdPositionPositionIdResponses> => {\n return await _postV1ResourceAllocationAssignmentsIdPositionPositionId(baseUrl, request)\n}\nconst _postV1ResourceAllocationAssignmentsAvailableEmployees = async (url: string, request: Types.PostV1ResourceAllocationAssignmentsAvailableEmployeesRequest): Promise<Types.PostV1ResourceAllocationAssignmentsAvailableEmployeesResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource-allocation-assignments/available-employees`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ResourceAllocationAssignmentsAvailableEmployees: Api['postV1ResourceAllocationAssignmentsAvailableEmployees'] = async (request: Types.PostV1ResourceAllocationAssignmentsAvailableEmployeesRequest): Promise<Types.PostV1ResourceAllocationAssignmentsAvailableEmployeesResponses> => {\n return await _postV1ResourceAllocationAssignmentsAvailableEmployees(baseUrl, request)\n}\nconst _postV1LeaveRequestsLeaveManagement = async (url: string, request: Types.PostV1LeaveRequestsLeaveManagementRequest): Promise<Types.PostV1LeaveRequestsLeaveManagementResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/leave-management`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveRequestsLeaveManagement: Api['postV1LeaveRequestsLeaveManagement'] = async (request: Types.PostV1LeaveRequestsLeaveManagementRequest): Promise<Types.PostV1LeaveRequestsLeaveManagementResponses> => {\n return await _postV1LeaveRequestsLeaveManagement(baseUrl, request)\n}\nconst _postV1LeaveRequests = async (url: string, request: Types.PostV1LeaveRequestsRequest): Promise<Types.PostV1LeaveRequestsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveRequests: Api['postV1LeaveRequests'] = async (request: Types.PostV1LeaveRequestsRequest): Promise<Types.PostV1LeaveRequestsResponses> => {\n return await _postV1LeaveRequests(baseUrl, request)\n}\nconst _getV1LeaveRequests = async (url: string, request: Types.GetV1LeaveRequestsRequest): Promise<Types.GetV1LeaveRequestsResponses> => {\n const queryParameters: (keyof Types.GetV1LeaveRequestsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveRequests: Api['getV1LeaveRequests'] = async (request: Types.GetV1LeaveRequestsRequest): Promise<Types.GetV1LeaveRequestsResponses> => {\n return await _getV1LeaveRequests(baseUrl, request)\n}\nconst _getV1LeaveRequestsPendingApprovals = async (url: string, request: Types.GetV1LeaveRequestsPendingApprovalsRequest): Promise<Types.GetV1LeaveRequestsPendingApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1LeaveRequestsPendingApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/pending-approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveRequestsPendingApprovals: Api['getV1LeaveRequestsPendingApprovals'] = async (request: Types.GetV1LeaveRequestsPendingApprovalsRequest): Promise<Types.GetV1LeaveRequestsPendingApprovalsResponses> => {\n return await _getV1LeaveRequestsPendingApprovals(baseUrl, request)\n}\nconst _getV1LeaveRequestsId = async (url: string, request: Types.GetV1LeaveRequestsIdRequest): Promise<Types.GetV1LeaveRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveRequestsId: Api['getV1LeaveRequestsId'] = async (request: Types.GetV1LeaveRequestsIdRequest): Promise<Types.GetV1LeaveRequestsIdResponses> => {\n return await _getV1LeaveRequestsId(baseUrl, request)\n}\nconst _putV1LeaveRequestsId = async (url: string, request: Types.PutV1LeaveRequestsIdRequest): Promise<Types.PutV1LeaveRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LeaveRequestsId: Api['putV1LeaveRequestsId'] = async (request: Types.PutV1LeaveRequestsIdRequest): Promise<Types.PutV1LeaveRequestsIdResponses> => {\n return await _putV1LeaveRequestsId(baseUrl, request)\n}\nconst _deleteV1LeaveRequestsId = async (url: string, request: Types.DeleteV1LeaveRequestsIdRequest): Promise<Types.DeleteV1LeaveRequestsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1LeaveRequestsId: Api['deleteV1LeaveRequestsId'] = async (request: Types.DeleteV1LeaveRequestsIdRequest): Promise<Types.DeleteV1LeaveRequestsIdResponses> => {\n return await _deleteV1LeaveRequestsId(baseUrl, request)\n}\nconst _postV1LeaveRequestsSaveAsDraft = async (url: string, request: Types.PostV1LeaveRequestsSaveAsDraftRequest): Promise<Types.PostV1LeaveRequestsSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveRequestsSaveAsDraft: Api['postV1LeaveRequestsSaveAsDraft'] = async (request: Types.PostV1LeaveRequestsSaveAsDraftRequest): Promise<Types.PostV1LeaveRequestsSaveAsDraftResponses> => {\n return await _postV1LeaveRequestsSaveAsDraft(baseUrl, request)\n}\nconst _patchV1LeaveRequestsIdSaveAsDraft = async (url: string, request: Types.PatchV1LeaveRequestsIdSaveAsDraftRequest): Promise<Types.PatchV1LeaveRequestsIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LeaveRequestsIdSaveAsDraft: Api['patchV1LeaveRequestsIdSaveAsDraft'] = async (request: Types.PatchV1LeaveRequestsIdSaveAsDraftRequest): Promise<Types.PatchV1LeaveRequestsIdSaveAsDraftResponses> => {\n return await _patchV1LeaveRequestsIdSaveAsDraft(baseUrl, request)\n}\nconst _patchV1LeaveRequestsIdStatus = async (url: string, request: Types.PatchV1LeaveRequestsIdStatusRequest): Promise<Types.PatchV1LeaveRequestsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LeaveRequestsIdStatus: Api['patchV1LeaveRequestsIdStatus'] = async (request: Types.PatchV1LeaveRequestsIdStatusRequest): Promise<Types.PatchV1LeaveRequestsIdStatusResponses> => {\n return await _patchV1LeaveRequestsIdStatus(baseUrl, request)\n}\nconst _getV1LeaveRequestsIdConflicts = async (url: string, request: Types.GetV1LeaveRequestsIdConflictsRequest): Promise<Types.GetV1LeaveRequestsIdConflictsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}/conflicts`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveRequestsIdConflicts: Api['getV1LeaveRequestsIdConflicts'] = async (request: Types.GetV1LeaveRequestsIdConflictsRequest): Promise<Types.GetV1LeaveRequestsIdConflictsResponses> => {\n return await _getV1LeaveRequestsIdConflicts(baseUrl, request)\n}\nconst _getV1LeaveRequestsIdApprovalHistory = async (url: string, request: Types.GetV1LeaveRequestsIdApprovalHistoryRequest): Promise<Types.GetV1LeaveRequestsIdApprovalHistoryResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}/approval-history`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveRequestsIdApprovalHistory: Api['getV1LeaveRequestsIdApprovalHistory'] = async (request: Types.GetV1LeaveRequestsIdApprovalHistoryRequest): Promise<Types.GetV1LeaveRequestsIdApprovalHistoryResponses> => {\n return await _getV1LeaveRequestsIdApprovalHistory(baseUrl, request)\n}\nconst _postV1LeaveRequestsIdAdvancePayment = async (url: string, request: Types.PostV1LeaveRequestsIdAdvancePaymentRequest): Promise<Types.PostV1LeaveRequestsIdAdvancePaymentResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['id']}/advance-payment`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveRequestsIdAdvancePayment: Api['postV1LeaveRequestsIdAdvancePayment'] = async (request: Types.PostV1LeaveRequestsIdAdvancePaymentRequest): Promise<Types.PostV1LeaveRequestsIdAdvancePaymentResponses> => {\n return await _postV1LeaveRequestsIdAdvancePayment(baseUrl, request)\n}\nconst _getV1LeaveRequestsGenerateExcel = async (url: string, request: Types.GetV1LeaveRequestsGenerateExcelRequest): Promise<Types.GetV1LeaveRequestsGenerateExcelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/generate-excel`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1LeaveRequestsGenerateExcel: Api['getV1LeaveRequestsGenerateExcel'] = async (request: Types.GetV1LeaveRequestsGenerateExcelRequest): Promise<Types.GetV1LeaveRequestsGenerateExcelResponses> => {\n return await _getV1LeaveRequestsGenerateExcel(baseUrl, request)\n}\nconst _postV1LeaveRequestsImport = async (url: string, request: Types.PostV1LeaveRequestsImportRequest): Promise<Types.PostV1LeaveRequestsImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1LeaveRequestsImport: Api['postV1LeaveRequestsImport'] = async (request: Types.PostV1LeaveRequestsImportRequest): Promise<Types.PostV1LeaveRequestsImportResponses> => {\n return await _postV1LeaveRequestsImport(baseUrl, request)\n}\nconst _putV1LeaveRequestsLeaveRequestIdAttachments = async (url: string, request: Types.PutV1LeaveRequestsLeaveRequestIdAttachmentsRequest): Promise<Types.PutV1LeaveRequestsLeaveRequestIdAttachmentsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-requests/${request['leave_request_id']}/attachments`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LeaveRequestsLeaveRequestIdAttachments: Api['putV1LeaveRequestsLeaveRequestIdAttachments'] = async (request: Types.PutV1LeaveRequestsLeaveRequestIdAttachmentsRequest): Promise<Types.PutV1LeaveRequestsLeaveRequestIdAttachmentsResponses> => {\n return await _putV1LeaveRequestsLeaveRequestIdAttachments(baseUrl, request)\n}\nconst _postV1LeaveManagement = async (url: string, request: Types.PostV1LeaveManagementRequest): Promise<Types.PostV1LeaveManagementResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveManagement: Api['postV1LeaveManagement'] = async (request: Types.PostV1LeaveManagementRequest): Promise<Types.PostV1LeaveManagementResponses> => {\n return await _postV1LeaveManagement(baseUrl, request)\n}\nconst _getV1LeaveManagement = async (url: string, request: Types.GetV1LeaveManagementRequest): Promise<Types.GetV1LeaveManagementResponses> => {\n const queryParameters: (keyof Types.GetV1LeaveManagementRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveManagement: Api['getV1LeaveManagement'] = async (request: Types.GetV1LeaveManagementRequest): Promise<Types.GetV1LeaveManagementResponses> => {\n return await _getV1LeaveManagement(baseUrl, request)\n}\nconst _getV1LeaveManagementPendingApprovals = async (url: string, request: Types.GetV1LeaveManagementPendingApprovalsRequest): Promise<Types.GetV1LeaveManagementPendingApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1LeaveManagementPendingApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/pending-approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveManagementPendingApprovals: Api['getV1LeaveManagementPendingApprovals'] = async (request: Types.GetV1LeaveManagementPendingApprovalsRequest): Promise<Types.GetV1LeaveManagementPendingApprovalsResponses> => {\n return await _getV1LeaveManagementPendingApprovals(baseUrl, request)\n}\nconst _getV1LeaveManagementId = async (url: string, request: Types.GetV1LeaveManagementIdRequest): Promise<Types.GetV1LeaveManagementIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveManagementId: Api['getV1LeaveManagementId'] = async (request: Types.GetV1LeaveManagementIdRequest): Promise<Types.GetV1LeaveManagementIdResponses> => {\n return await _getV1LeaveManagementId(baseUrl, request)\n}\nconst _putV1LeaveManagementId = async (url: string, request: Types.PutV1LeaveManagementIdRequest): Promise<Types.PutV1LeaveManagementIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LeaveManagementId: Api['putV1LeaveManagementId'] = async (request: Types.PutV1LeaveManagementIdRequest): Promise<Types.PutV1LeaveManagementIdResponses> => {\n return await _putV1LeaveManagementId(baseUrl, request)\n}\nconst _deleteV1LeaveManagementId = async (url: string, request: Types.DeleteV1LeaveManagementIdRequest): Promise<Types.DeleteV1LeaveManagementIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1LeaveManagementId: Api['deleteV1LeaveManagementId'] = async (request: Types.DeleteV1LeaveManagementIdRequest): Promise<Types.DeleteV1LeaveManagementIdResponses> => {\n return await _deleteV1LeaveManagementId(baseUrl, request)\n}\nconst _postV1LeaveManagementSaveAsDraft = async (url: string, request: Types.PostV1LeaveManagementSaveAsDraftRequest): Promise<Types.PostV1LeaveManagementSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveManagementSaveAsDraft: Api['postV1LeaveManagementSaveAsDraft'] = async (request: Types.PostV1LeaveManagementSaveAsDraftRequest): Promise<Types.PostV1LeaveManagementSaveAsDraftResponses> => {\n return await _postV1LeaveManagementSaveAsDraft(baseUrl, request)\n}\nconst _patchV1LeaveManagementIdSaveAsDraft = async (url: string, request: Types.PatchV1LeaveManagementIdSaveAsDraftRequest): Promise<Types.PatchV1LeaveManagementIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LeaveManagementIdSaveAsDraft: Api['patchV1LeaveManagementIdSaveAsDraft'] = async (request: Types.PatchV1LeaveManagementIdSaveAsDraftRequest): Promise<Types.PatchV1LeaveManagementIdSaveAsDraftResponses> => {\n return await _patchV1LeaveManagementIdSaveAsDraft(baseUrl, request)\n}\nconst _patchV1LeaveManagementIdStatus = async (url: string, request: Types.PatchV1LeaveManagementIdStatusRequest): Promise<Types.PatchV1LeaveManagementIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1LeaveManagementIdStatus: Api['patchV1LeaveManagementIdStatus'] = async (request: Types.PatchV1LeaveManagementIdStatusRequest): Promise<Types.PatchV1LeaveManagementIdStatusResponses> => {\n return await _patchV1LeaveManagementIdStatus(baseUrl, request)\n}\nconst _getV1LeaveManagementIdConflicts = async (url: string, request: Types.GetV1LeaveManagementIdConflictsRequest): Promise<Types.GetV1LeaveManagementIdConflictsResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}/conflicts`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveManagementIdConflicts: Api['getV1LeaveManagementIdConflicts'] = async (request: Types.GetV1LeaveManagementIdConflictsRequest): Promise<Types.GetV1LeaveManagementIdConflictsResponses> => {\n return await _getV1LeaveManagementIdConflicts(baseUrl, request)\n}\nconst _getV1LeaveManagementIdApprovalHistory = async (url: string, request: Types.GetV1LeaveManagementIdApprovalHistoryRequest): Promise<Types.GetV1LeaveManagementIdApprovalHistoryResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}/approval-history`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LeaveManagementIdApprovalHistory: Api['getV1LeaveManagementIdApprovalHistory'] = async (request: Types.GetV1LeaveManagementIdApprovalHistoryRequest): Promise<Types.GetV1LeaveManagementIdApprovalHistoryResponses> => {\n return await _getV1LeaveManagementIdApprovalHistory(baseUrl, request)\n}\nconst _postV1LeaveManagementIdAdvancePayment = async (url: string, request: Types.PostV1LeaveManagementIdAdvancePaymentRequest): Promise<Types.PostV1LeaveManagementIdAdvancePaymentResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['id']}/advance-payment`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1LeaveManagementIdAdvancePayment: Api['postV1LeaveManagementIdAdvancePayment'] = async (request: Types.PostV1LeaveManagementIdAdvancePaymentRequest): Promise<Types.PostV1LeaveManagementIdAdvancePaymentResponses> => {\n return await _postV1LeaveManagementIdAdvancePayment(baseUrl, request)\n}\nconst _putV1LeaveManagementLeaveRequestIdAttachments = async (url: string, request: Types.PutV1LeaveManagementLeaveRequestIdAttachmentsRequest): Promise<Types.PutV1LeaveManagementLeaveRequestIdAttachmentsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/leave-management/${request['leave_request_id']}/attachments`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1LeaveManagementLeaveRequestIdAttachments: Api['putV1LeaveManagementLeaveRequestIdAttachments'] = async (request: Types.PutV1LeaveManagementLeaveRequestIdAttachmentsRequest): Promise<Types.PutV1LeaveManagementLeaveRequestIdAttachmentsResponses> => {\n return await _putV1LeaveManagementLeaveRequestIdAttachments(baseUrl, request)\n}\nconst _postV1Resignations = async (url: string, request: Types.PostV1ResignationsRequest): Promise<Types.PostV1ResignationsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Resignations: Api['postV1Resignations'] = async (request: Types.PostV1ResignationsRequest): Promise<Types.PostV1ResignationsResponses> => {\n return await _postV1Resignations(baseUrl, request)\n}\nconst _getV1Resignations = async (url: string, request: Types.GetV1ResignationsRequest): Promise<Types.GetV1ResignationsResponses> => {\n const queryParameters: (keyof Types.GetV1ResignationsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Resignations: Api['getV1Resignations'] = async (request: Types.GetV1ResignationsRequest): Promise<Types.GetV1ResignationsResponses> => {\n return await _getV1Resignations(baseUrl, request)\n}\nconst _getV1ResignationsMyApprovals = async (url: string, request: Types.GetV1ResignationsMyApprovalsRequest): Promise<Types.GetV1ResignationsMyApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1ResignationsMyApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'approval_status']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/my-approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResignationsMyApprovals: Api['getV1ResignationsMyApprovals'] = async (request: Types.GetV1ResignationsMyApprovalsRequest): Promise<Types.GetV1ResignationsMyApprovalsResponses> => {\n return await _getV1ResignationsMyApprovals(baseUrl, request)\n}\nconst _getV1ResignationsId = async (url: string, request: Types.GetV1ResignationsIdRequest): Promise<Types.GetV1ResignationsIdResponses> => {\n const queryParameters: (keyof Types.GetV1ResignationsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResignationsId: Api['getV1ResignationsId'] = async (request: Types.GetV1ResignationsIdRequest): Promise<Types.GetV1ResignationsIdResponses> => {\n return await _getV1ResignationsId(baseUrl, request)\n}\nconst _putV1ResignationsId = async (url: string, request: Types.PutV1ResignationsIdRequest): Promise<Types.PutV1ResignationsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1ResignationsId: Api['putV1ResignationsId'] = async (request: Types.PutV1ResignationsIdRequest): Promise<Types.PutV1ResignationsIdResponses> => {\n return await _putV1ResignationsId(baseUrl, request)\n}\nconst _deleteV1ResignationsId = async (url: string, request: Types.DeleteV1ResignationsIdRequest): Promise<Types.DeleteV1ResignationsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1ResignationsId: Api['deleteV1ResignationsId'] = async (request: Types.DeleteV1ResignationsIdRequest): Promise<Types.DeleteV1ResignationsIdResponses> => {\n return await _deleteV1ResignationsId(baseUrl, request)\n}\nconst _getV1ResignationsIdAssignedAssets = async (url: string, request: Types.GetV1ResignationsIdAssignedAssetsRequest): Promise<Types.GetV1ResignationsIdAssignedAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1ResignationsIdAssignedAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/${request['id']}/assigned-assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResignationsIdAssignedAssets: Api['getV1ResignationsIdAssignedAssets'] = async (request: Types.GetV1ResignationsIdAssignedAssetsRequest): Promise<Types.GetV1ResignationsIdAssignedAssetsResponses> => {\n return await _getV1ResignationsIdAssignedAssets(baseUrl, request)\n}\nconst _patchV1ResignationsIdStatus = async (url: string, request: Types.PatchV1ResignationsIdStatusRequest): Promise<Types.PatchV1ResignationsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1ResignationsIdStatus: Api['patchV1ResignationsIdStatus'] = async (request: Types.PatchV1ResignationsIdStatusRequest): Promise<Types.PatchV1ResignationsIdStatusResponses> => {\n return await _patchV1ResignationsIdStatus(baseUrl, request)\n}\nconst _postV1ResignationsImport = async (url: string, request: Types.PostV1ResignationsImportRequest): Promise<Types.PostV1ResignationsImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1ResignationsImport: Api['postV1ResignationsImport'] = async (request: Types.PostV1ResignationsImportRequest): Promise<Types.PostV1ResignationsImportResponses> => {\n return await _postV1ResignationsImport(baseUrl, request)\n}\nconst _getV1ResignationsGenerateExcel = async (url: string, request: Types.GetV1ResignationsGenerateExcelRequest): Promise<Types.GetV1ResignationsGenerateExcelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignations/generate-excel`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1ResignationsGenerateExcel: Api['getV1ResignationsGenerateExcel'] = async (request: Types.GetV1ResignationsGenerateExcelRequest): Promise<Types.GetV1ResignationsGenerateExcelResponses> => {\n return await _getV1ResignationsGenerateExcel(baseUrl, request)\n}\nconst _postV1Terminations = async (url: string, request: Types.PostV1TerminationsRequest): Promise<Types.PostV1TerminationsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Terminations: Api['postV1Terminations'] = async (request: Types.PostV1TerminationsRequest): Promise<Types.PostV1TerminationsResponses> => {\n return await _postV1Terminations(baseUrl, request)\n}\nconst _getV1Terminations = async (url: string, request: Types.GetV1TerminationsRequest): Promise<Types.GetV1TerminationsResponses> => {\n const queryParameters: (keyof Types.GetV1TerminationsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Terminations: Api['getV1Terminations'] = async (request: Types.GetV1TerminationsRequest): Promise<Types.GetV1TerminationsResponses> => {\n return await _getV1Terminations(baseUrl, request)\n}\nconst _getV1TerminationsMyApprovals = async (url: string, request: Types.GetV1TerminationsMyApprovalsRequest): Promise<Types.GetV1TerminationsMyApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1TerminationsMyApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select', 'approval_status']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/my-approvals?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationsMyApprovals: Api['getV1TerminationsMyApprovals'] = async (request: Types.GetV1TerminationsMyApprovalsRequest): Promise<Types.GetV1TerminationsMyApprovalsResponses> => {\n return await _getV1TerminationsMyApprovals(baseUrl, request)\n}\nconst _getV1TerminationsId = async (url: string, request: Types.GetV1TerminationsIdRequest): Promise<Types.GetV1TerminationsIdResponses> => {\n const queryParameters: (keyof Types.GetV1TerminationsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationsId: Api['getV1TerminationsId'] = async (request: Types.GetV1TerminationsIdRequest): Promise<Types.GetV1TerminationsIdResponses> => {\n return await _getV1TerminationsId(baseUrl, request)\n}\nconst _putV1TerminationsId = async (url: string, request: Types.PutV1TerminationsIdRequest): Promise<Types.PutV1TerminationsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1TerminationsId: Api['putV1TerminationsId'] = async (request: Types.PutV1TerminationsIdRequest): Promise<Types.PutV1TerminationsIdResponses> => {\n return await _putV1TerminationsId(baseUrl, request)\n}\nconst _deleteV1TerminationsId = async (url: string, request: Types.DeleteV1TerminationsIdRequest): Promise<Types.DeleteV1TerminationsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1TerminationsId: Api['deleteV1TerminationsId'] = async (request: Types.DeleteV1TerminationsIdRequest): Promise<Types.DeleteV1TerminationsIdResponses> => {\n return await _deleteV1TerminationsId(baseUrl, request)\n}\nconst _getV1TerminationsIdAssignedAssets = async (url: string, request: Types.GetV1TerminationsIdAssignedAssetsRequest): Promise<Types.GetV1TerminationsIdAssignedAssetsResponses> => {\n const queryParameters: (keyof Types.GetV1TerminationsIdAssignedAssetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}/assigned-assets?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationsIdAssignedAssets: Api['getV1TerminationsIdAssignedAssets'] = async (request: Types.GetV1TerminationsIdAssignedAssetsRequest): Promise<Types.GetV1TerminationsIdAssignedAssetsResponses> => {\n return await _getV1TerminationsIdAssignedAssets(baseUrl, request)\n}\nconst _patchV1TerminationsIdInitiate = async (url: string, request: Types.PatchV1TerminationsIdInitiateRequest): Promise<Types.PatchV1TerminationsIdInitiateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}/initiate`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TerminationsIdInitiate: Api['patchV1TerminationsIdInitiate'] = async (request: Types.PatchV1TerminationsIdInitiateRequest): Promise<Types.PatchV1TerminationsIdInitiateResponses> => {\n return await _patchV1TerminationsIdInitiate(baseUrl, request)\n}\nconst _patchV1TerminationsIdStatus = async (url: string, request: Types.PatchV1TerminationsIdStatusRequest): Promise<Types.PatchV1TerminationsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TerminationsIdStatus: Api['patchV1TerminationsIdStatus'] = async (request: Types.PatchV1TerminationsIdStatusRequest): Promise<Types.PatchV1TerminationsIdStatusResponses> => {\n return await _patchV1TerminationsIdStatus(baseUrl, request)\n}\nconst _postV1TerminationsImport = async (url: string, request: Types.PostV1TerminationsImportRequest): Promise<Types.PostV1TerminationsImportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/import`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const postV1TerminationsImport: Api['postV1TerminationsImport'] = async (request: Types.PostV1TerminationsImportRequest): Promise<Types.PostV1TerminationsImportResponses> => {\n return await _postV1TerminationsImport(baseUrl, request)\n}\nconst _getV1TerminationsGenerateExcel = async (url: string, request: Types.GetV1TerminationsGenerateExcelRequest): Promise<Types.GetV1TerminationsGenerateExcelResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/generate-excel`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1TerminationsGenerateExcel: Api['getV1TerminationsGenerateExcel'] = async (request: Types.GetV1TerminationsGenerateExcelRequest): Promise<Types.GetV1TerminationsGenerateExcelResponses> => {\n return await _getV1TerminationsGenerateExcel(baseUrl, request)\n}\nconst _getV1TerminationsIdTerminationLetter = async (url: string, request: Types.GetV1TerminationsIdTerminationLetterRequest): Promise<Types.GetV1TerminationsIdTerminationLetterResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/terminations/${request['id']}/termination-letter`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationsIdTerminationLetter: Api['getV1TerminationsIdTerminationLetter'] = async (request: Types.GetV1TerminationsIdTerminationLetterRequest): Promise<Types.GetV1TerminationsIdTerminationLetterResponses> => {\n return await _getV1TerminationsIdTerminationLetter(baseUrl, request)\n}\nconst _patchV1ResignationSettlementsIdAssetClearance = async (url: string, request: Types.PatchV1ResignationSettlementsIdAssetClearanceRequest): Promise<Types.PatchV1ResignationSettlementsIdAssetClearanceResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/asset-clearance`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1ResignationSettlementsIdAssetClearance: Api['patchV1ResignationSettlementsIdAssetClearance'] = async (request: Types.PatchV1ResignationSettlementsIdAssetClearanceRequest): Promise<Types.PatchV1ResignationSettlementsIdAssetClearanceResponses> => {\n return await _patchV1ResignationSettlementsIdAssetClearance(baseUrl, request)\n}\nconst _getV1ResignationSettlementsIdDetail = async (url: string, request: Types.GetV1ResignationSettlementsIdDetailRequest): Promise<Types.GetV1ResignationSettlementsIdDetailResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/detail`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResignationSettlementsIdDetail: Api['getV1ResignationSettlementsIdDetail'] = async (request: Types.GetV1ResignationSettlementsIdDetailRequest): Promise<Types.GetV1ResignationSettlementsIdDetailResponses> => {\n return await _getV1ResignationSettlementsIdDetail(baseUrl, request)\n}\nconst _getV1ResignationSettlementsIdEmployeeFinancialOverview = async (url: string, request: Types.GetV1ResignationSettlementsIdEmployeeFinancialOverviewRequest): Promise<Types.GetV1ResignationSettlementsIdEmployeeFinancialOverviewResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/employee-financial-overview`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResignationSettlementsIdEmployeeFinancialOverview: Api['getV1ResignationSettlementsIdEmployeeFinancialOverview'] = async (request: Types.GetV1ResignationSettlementsIdEmployeeFinancialOverviewRequest): Promise<Types.GetV1ResignationSettlementsIdEmployeeFinancialOverviewResponses> => {\n return await _getV1ResignationSettlementsIdEmployeeFinancialOverview(baseUrl, request)\n}\nconst _getV1ResignationSettlementsId = async (url: string, request: Types.GetV1ResignationSettlementsIdRequest): Promise<Types.GetV1ResignationSettlementsIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResignationSettlementsId: Api['getV1ResignationSettlementsId'] = async (request: Types.GetV1ResignationSettlementsIdRequest): Promise<Types.GetV1ResignationSettlementsIdResponses> => {\n return await _getV1ResignationSettlementsId(baseUrl, request)\n}\nconst _postV1ResignationSettlementsIdComponents = async (url: string, request: Types.PostV1ResignationSettlementsIdComponentsRequest): Promise<Types.PostV1ResignationSettlementsIdComponentsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/components`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ResignationSettlementsIdComponents: Api['postV1ResignationSettlementsIdComponents'] = async (request: Types.PostV1ResignationSettlementsIdComponentsRequest): Promise<Types.PostV1ResignationSettlementsIdComponentsResponses> => {\n return await _postV1ResignationSettlementsIdComponents(baseUrl, request)\n}\nconst _deleteV1ResignationSettlementsIdComponentsComponentId = async (url: string, request: Types.DeleteV1ResignationSettlementsIdComponentsComponentIdRequest): Promise<Types.DeleteV1ResignationSettlementsIdComponentsComponentIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/components/${request['component_id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1ResignationSettlementsIdComponentsComponentId: Api['deleteV1ResignationSettlementsIdComponentsComponentId'] = async (request: Types.DeleteV1ResignationSettlementsIdComponentsComponentIdRequest): Promise<Types.DeleteV1ResignationSettlementsIdComponentsComponentIdResponses> => {\n return await _deleteV1ResignationSettlementsIdComponentsComponentId(baseUrl, request)\n}\nconst _patchV1ResignationSettlementsIdComponentsComponentId = async (url: string, request: Types.PatchV1ResignationSettlementsIdComponentsComponentIdRequest): Promise<Types.PatchV1ResignationSettlementsIdComponentsComponentIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/components/${request['component_id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1ResignationSettlementsIdComponentsComponentId: Api['patchV1ResignationSettlementsIdComponentsComponentId'] = async (request: Types.PatchV1ResignationSettlementsIdComponentsComponentIdRequest): Promise<Types.PatchV1ResignationSettlementsIdComponentsComponentIdResponses> => {\n return await _patchV1ResignationSettlementsIdComponentsComponentId(baseUrl, request)\n}\nconst _patchV1ResignationSettlementsIdStatus = async (url: string, request: Types.PatchV1ResignationSettlementsIdStatusRequest): Promise<Types.PatchV1ResignationSettlementsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resignation-settlements/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1ResignationSettlementsIdStatus: Api['patchV1ResignationSettlementsIdStatus'] = async (request: Types.PatchV1ResignationSettlementsIdStatusRequest): Promise<Types.PatchV1ResignationSettlementsIdStatusResponses> => {\n return await _patchV1ResignationSettlementsIdStatus(baseUrl, request)\n}\nconst _patchV1TerminationSettlementsIdAssetClearance = async (url: string, request: Types.PatchV1TerminationSettlementsIdAssetClearanceRequest): Promise<Types.PatchV1TerminationSettlementsIdAssetClearanceResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/asset-clearance`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TerminationSettlementsIdAssetClearance: Api['patchV1TerminationSettlementsIdAssetClearance'] = async (request: Types.PatchV1TerminationSettlementsIdAssetClearanceRequest): Promise<Types.PatchV1TerminationSettlementsIdAssetClearanceResponses> => {\n return await _patchV1TerminationSettlementsIdAssetClearance(baseUrl, request)\n}\nconst _getV1TerminationSettlementsIdDetail = async (url: string, request: Types.GetV1TerminationSettlementsIdDetailRequest): Promise<Types.GetV1TerminationSettlementsIdDetailResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/detail`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationSettlementsIdDetail: Api['getV1TerminationSettlementsIdDetail'] = async (request: Types.GetV1TerminationSettlementsIdDetailRequest): Promise<Types.GetV1TerminationSettlementsIdDetailResponses> => {\n return await _getV1TerminationSettlementsIdDetail(baseUrl, request)\n}\nconst _getV1TerminationSettlementsIdEmployeeFinancialOverview = async (url: string, request: Types.GetV1TerminationSettlementsIdEmployeeFinancialOverviewRequest): Promise<Types.GetV1TerminationSettlementsIdEmployeeFinancialOverviewResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/employee-financial-overview`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationSettlementsIdEmployeeFinancialOverview: Api['getV1TerminationSettlementsIdEmployeeFinancialOverview'] = async (request: Types.GetV1TerminationSettlementsIdEmployeeFinancialOverviewRequest): Promise<Types.GetV1TerminationSettlementsIdEmployeeFinancialOverviewResponses> => {\n return await _getV1TerminationSettlementsIdEmployeeFinancialOverview(baseUrl, request)\n}\nconst _getV1TerminationSettlementsId = async (url: string, request: Types.GetV1TerminationSettlementsIdRequest): Promise<Types.GetV1TerminationSettlementsIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1TerminationSettlementsId: Api['getV1TerminationSettlementsId'] = async (request: Types.GetV1TerminationSettlementsIdRequest): Promise<Types.GetV1TerminationSettlementsIdResponses> => {\n return await _getV1TerminationSettlementsId(baseUrl, request)\n}\nconst _postV1TerminationSettlementsIdComponents = async (url: string, request: Types.PostV1TerminationSettlementsIdComponentsRequest): Promise<Types.PostV1TerminationSettlementsIdComponentsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/components`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1TerminationSettlementsIdComponents: Api['postV1TerminationSettlementsIdComponents'] = async (request: Types.PostV1TerminationSettlementsIdComponentsRequest): Promise<Types.PostV1TerminationSettlementsIdComponentsResponses> => {\n return await _postV1TerminationSettlementsIdComponents(baseUrl, request)\n}\nconst _deleteV1TerminationSettlementsIdComponentsComponentId = async (url: string, request: Types.DeleteV1TerminationSettlementsIdComponentsComponentIdRequest): Promise<Types.DeleteV1TerminationSettlementsIdComponentsComponentIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/components/${request['component_id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1TerminationSettlementsIdComponentsComponentId: Api['deleteV1TerminationSettlementsIdComponentsComponentId'] = async (request: Types.DeleteV1TerminationSettlementsIdComponentsComponentIdRequest): Promise<Types.DeleteV1TerminationSettlementsIdComponentsComponentIdResponses> => {\n return await _deleteV1TerminationSettlementsIdComponentsComponentId(baseUrl, request)\n}\nconst _patchV1TerminationSettlementsIdComponentsComponentId = async (url: string, request: Types.PatchV1TerminationSettlementsIdComponentsComponentIdRequest): Promise<Types.PatchV1TerminationSettlementsIdComponentsComponentIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/components/${request['component_id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TerminationSettlementsIdComponentsComponentId: Api['patchV1TerminationSettlementsIdComponentsComponentId'] = async (request: Types.PatchV1TerminationSettlementsIdComponentsComponentIdRequest): Promise<Types.PatchV1TerminationSettlementsIdComponentsComponentIdResponses> => {\n return await _patchV1TerminationSettlementsIdComponentsComponentId(baseUrl, request)\n}\nconst _patchV1TerminationSettlementsIdStatus = async (url: string, request: Types.PatchV1TerminationSettlementsIdStatusRequest): Promise<Types.PatchV1TerminationSettlementsIdStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/termination-settlements/${request['id']}/status`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1TerminationSettlementsIdStatus: Api['patchV1TerminationSettlementsIdStatus'] = async (request: Types.PatchV1TerminationSettlementsIdStatusRequest): Promise<Types.PatchV1TerminationSettlementsIdStatusResponses> => {\n return await _patchV1TerminationSettlementsIdStatus(baseUrl, request)\n}\nconst _getV1MonthlyPayroll = async (url: string, request: Types.GetV1MonthlyPayrollRequest): Promise<Types.GetV1MonthlyPayrollResponses> => {\n const queryParameters: (keyof Types.GetV1MonthlyPayrollRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1MonthlyPayroll: Api['getV1MonthlyPayroll'] = async (request: Types.GetV1MonthlyPayrollRequest): Promise<Types.GetV1MonthlyPayrollResponses> => {\n return await _getV1MonthlyPayroll(baseUrl, request)\n}\nconst _postV1MonthlyPayroll = async (url: string, request: Types.PostV1MonthlyPayrollRequest): Promise<Types.PostV1MonthlyPayrollResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayroll: Api['postV1MonthlyPayroll'] = async (request: Types.PostV1MonthlyPayrollRequest): Promise<Types.PostV1MonthlyPayrollResponses> => {\n return await _postV1MonthlyPayroll(baseUrl, request)\n}\nconst _getV1MonthlyPayrollId = async (url: string, request: Types.GetV1MonthlyPayrollIdRequest): Promise<Types.GetV1MonthlyPayrollIdResponses> => {\n const queryParameters: (keyof Types.GetV1MonthlyPayrollIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1MonthlyPayrollId: Api['getV1MonthlyPayrollId'] = async (request: Types.GetV1MonthlyPayrollIdRequest): Promise<Types.GetV1MonthlyPayrollIdResponses> => {\n return await _getV1MonthlyPayrollId(baseUrl, request)\n}\nconst _putV1MonthlyPayrollId = async (url: string, request: Types.PutV1MonthlyPayrollIdRequest): Promise<Types.PutV1MonthlyPayrollIdResponses> => {\n const queryParameters: (keyof Types.PutV1MonthlyPayrollIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}?${searchParams.toString()}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1MonthlyPayrollId: Api['putV1MonthlyPayrollId'] = async (request: Types.PutV1MonthlyPayrollIdRequest): Promise<Types.PutV1MonthlyPayrollIdResponses> => {\n return await _putV1MonthlyPayrollId(baseUrl, request)\n}\nconst _deleteV1MonthlyPayrollId = async (url: string, request: Types.DeleteV1MonthlyPayrollIdRequest): Promise<Types.DeleteV1MonthlyPayrollIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1MonthlyPayrollId: Api['deleteV1MonthlyPayrollId'] = async (request: Types.DeleteV1MonthlyPayrollIdRequest): Promise<Types.DeleteV1MonthlyPayrollIdResponses> => {\n return await _deleteV1MonthlyPayrollId(baseUrl, request)\n}\nconst _postV1MonthlyPayrollSaveAsDraft = async (url: string, request: Types.PostV1MonthlyPayrollSaveAsDraftRequest): Promise<Types.PostV1MonthlyPayrollSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/save-as-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayrollSaveAsDraft: Api['postV1MonthlyPayrollSaveAsDraft'] = async (request: Types.PostV1MonthlyPayrollSaveAsDraftRequest): Promise<Types.PostV1MonthlyPayrollSaveAsDraftResponses> => {\n return await _postV1MonthlyPayrollSaveAsDraft(baseUrl, request)\n}\nconst _patchV1MonthlyPayrollIdSaveAsDraft = async (url: string, request: Types.PatchV1MonthlyPayrollIdSaveAsDraftRequest): Promise<Types.PatchV1MonthlyPayrollIdSaveAsDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}/save-as-draft`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1MonthlyPayrollIdSaveAsDraft: Api['patchV1MonthlyPayrollIdSaveAsDraft'] = async (request: Types.PatchV1MonthlyPayrollIdSaveAsDraftRequest): Promise<Types.PatchV1MonthlyPayrollIdSaveAsDraftResponses> => {\n return await _patchV1MonthlyPayrollIdSaveAsDraft(baseUrl, request)\n}\nconst _postV1MonthlyPayrollIdRun = async (url: string, request: Types.PostV1MonthlyPayrollIdRunRequest): Promise<Types.PostV1MonthlyPayrollIdRunResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}/run`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayrollIdRun: Api['postV1MonthlyPayrollIdRun'] = async (request: Types.PostV1MonthlyPayrollIdRunRequest): Promise<Types.PostV1MonthlyPayrollIdRunResponses> => {\n return await _postV1MonthlyPayrollIdRun(baseUrl, request)\n}\nconst _postV1MonthlyPayrollIdSubmit = async (url: string, request: Types.PostV1MonthlyPayrollIdSubmitRequest): Promise<Types.PostV1MonthlyPayrollIdSubmitResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}/submit`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayrollIdSubmit: Api['postV1MonthlyPayrollIdSubmit'] = async (request: Types.PostV1MonthlyPayrollIdSubmitRequest): Promise<Types.PostV1MonthlyPayrollIdSubmitResponses> => {\n return await _postV1MonthlyPayrollIdSubmit(baseUrl, request)\n}\nconst _postV1MonthlyPayrollIdApprove = async (url: string, request: Types.PostV1MonthlyPayrollIdApproveRequest): Promise<Types.PostV1MonthlyPayrollIdApproveResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}/approve`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayrollIdApprove: Api['postV1MonthlyPayrollIdApprove'] = async (request: Types.PostV1MonthlyPayrollIdApproveRequest): Promise<Types.PostV1MonthlyPayrollIdApproveResponses> => {\n return await _postV1MonthlyPayrollIdApprove(baseUrl, request)\n}\nconst _postV1MonthlyPayrollIdReject = async (url: string, request: Types.PostV1MonthlyPayrollIdRejectRequest): Promise<Types.PostV1MonthlyPayrollIdRejectResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}/reject`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayrollIdReject: Api['postV1MonthlyPayrollIdReject'] = async (request: Types.PostV1MonthlyPayrollIdRejectRequest): Promise<Types.PostV1MonthlyPayrollIdRejectResponses> => {\n return await _postV1MonthlyPayrollIdReject(baseUrl, request)\n}\nconst _postV1MonthlyPayrollIdValidate = async (url: string, request: Types.PostV1MonthlyPayrollIdValidateRequest): Promise<Types.PostV1MonthlyPayrollIdValidateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/monthly-payroll/${request['id']}/validate`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1MonthlyPayrollIdValidate: Api['postV1MonthlyPayrollIdValidate'] = async (request: Types.PostV1MonthlyPayrollIdValidateRequest): Promise<Types.PostV1MonthlyPayrollIdValidateResponses> => {\n return await _postV1MonthlyPayrollIdValidate(baseUrl, request)\n}\nconst _getV1SalarySheets = async (url: string, request: Types.GetV1SalarySheetsRequest): Promise<Types.GetV1SalarySheetsResponses> => {\n const queryParameters: (keyof Types.GetV1SalarySheetsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1SalarySheets: Api['getV1SalarySheets'] = async (request: Types.GetV1SalarySheetsRequest): Promise<Types.GetV1SalarySheetsResponses> => {\n return await _getV1SalarySheets(baseUrl, request)\n}\nconst _postV1SalarySheets = async (url: string, request: Types.PostV1SalarySheetsRequest): Promise<Types.PostV1SalarySheetsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalarySheets: Api['postV1SalarySheets'] = async (request: Types.PostV1SalarySheetsRequest): Promise<Types.PostV1SalarySheetsResponses> => {\n return await _postV1SalarySheets(baseUrl, request)\n}\nconst _getV1SalarySheetsId = async (url: string, request: Types.GetV1SalarySheetsIdRequest): Promise<Types.GetV1SalarySheetsIdResponses> => {\n const queryParameters: (keyof Types.GetV1SalarySheetsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1SalarySheetsId: Api['getV1SalarySheetsId'] = async (request: Types.GetV1SalarySheetsIdRequest): Promise<Types.GetV1SalarySheetsIdResponses> => {\n return await _getV1SalarySheetsId(baseUrl, request)\n}\nconst _putV1SalarySheetsId = async (url: string, request: Types.PutV1SalarySheetsIdRequest): Promise<Types.PutV1SalarySheetsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1SalarySheetsId: Api['putV1SalarySheetsId'] = async (request: Types.PutV1SalarySheetsIdRequest): Promise<Types.PutV1SalarySheetsIdResponses> => {\n return await _putV1SalarySheetsId(baseUrl, request)\n}\nconst _deleteV1SalarySheetsId = async (url: string, request: Types.DeleteV1SalarySheetsIdRequest): Promise<Types.DeleteV1SalarySheetsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1SalarySheetsId: Api['deleteV1SalarySheetsId'] = async (request: Types.DeleteV1SalarySheetsIdRequest): Promise<Types.DeleteV1SalarySheetsIdResponses> => {\n return await _deleteV1SalarySheetsId(baseUrl, request)\n}\nconst _postV1SalarySheetsLoadData = async (url: string, request: Types.PostV1SalarySheetsLoadDataRequest): Promise<Types.PostV1SalarySheetsLoadDataResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/load-data`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalarySheetsLoadData: Api['postV1SalarySheetsLoadData'] = async (request: Types.PostV1SalarySheetsLoadDataRequest): Promise<Types.PostV1SalarySheetsLoadDataResponses> => {\n return await _postV1SalarySheetsLoadData(baseUrl, request)\n}\nconst _postV1SalarySheetsIdValidate = async (url: string, request: Types.PostV1SalarySheetsIdValidateRequest): Promise<Types.PostV1SalarySheetsIdValidateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}/validate`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalarySheetsIdValidate: Api['postV1SalarySheetsIdValidate'] = async (request: Types.PostV1SalarySheetsIdValidateRequest): Promise<Types.PostV1SalarySheetsIdValidateResponses> => {\n return await _postV1SalarySheetsIdValidate(baseUrl, request)\n}\nconst _postV1SalarySheetsIdGenerateSif = async (url: string, request: Types.PostV1SalarySheetsIdGenerateSifRequest): Promise<Types.PostV1SalarySheetsIdGenerateSifResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}/generate-sif`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalarySheetsIdGenerateSif: Api['postV1SalarySheetsIdGenerateSif'] = async (request: Types.PostV1SalarySheetsIdGenerateSifRequest): Promise<Types.PostV1SalarySheetsIdGenerateSifResponses> => {\n return await _postV1SalarySheetsIdGenerateSif(baseUrl, request)\n}\nconst _postV1SalarySheetsIdMarkProcessed = async (url: string, request: Types.PostV1SalarySheetsIdMarkProcessedRequest): Promise<Types.PostV1SalarySheetsIdMarkProcessedResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}/mark-processed`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalarySheetsIdMarkProcessed: Api['postV1SalarySheetsIdMarkProcessed'] = async (request: Types.PostV1SalarySheetsIdMarkProcessedRequest): Promise<Types.PostV1SalarySheetsIdMarkProcessedResponses> => {\n return await _postV1SalarySheetsIdMarkProcessed(baseUrl, request)\n}\nconst _postV1SalarySheetsIdSaveDraft = async (url: string, request: Types.PostV1SalarySheetsIdSaveDraftRequest): Promise<Types.PostV1SalarySheetsIdSaveDraftResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}/save-draft`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1SalarySheetsIdSaveDraft: Api['postV1SalarySheetsIdSaveDraft'] = async (request: Types.PostV1SalarySheetsIdSaveDraftRequest): Promise<Types.PostV1SalarySheetsIdSaveDraftResponses> => {\n return await _postV1SalarySheetsIdSaveDraft(baseUrl, request)\n}\nconst _getV1SalarySheetsIdDownloadSif = async (url: string, request: Types.GetV1SalarySheetsIdDownloadSifRequest): Promise<Types.GetV1SalarySheetsIdDownloadSifResponses> => {\n const queryParameters: (keyof Types.GetV1SalarySheetsIdDownloadSifRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/salary-sheets/${request['id']}/download-sif?${searchParams.toString()}`, {\n headers\n })\n\n const textResponses = [200]\n if (textResponses.includes(response.status)) {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text()\n }\n }\n if (response.headers.get('content-type') === 'application/json') {\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.json() as any\n }\n }\n return {\n statusCode: response.status as 200,\n headers: headersToJSON(response.headers),\n body: await response.text() as any\n }\n}\n\nexport const getV1SalarySheetsIdDownloadSif: Api['getV1SalarySheetsIdDownloadSif'] = async (request: Types.GetV1SalarySheetsIdDownloadSifRequest): Promise<Types.GetV1SalarySheetsIdDownloadSifResponses> => {\n return await _getV1SalarySheetsIdDownloadSif(baseUrl, request)\n}\nconst _getV1Payslips = async (url: string, request: Types.GetV1PayslipsRequest): Promise<Types.GetV1PayslipsResponses> => {\n const queryParameters: (keyof Types.GetV1PayslipsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Payslips: Api['getV1Payslips'] = async (request: Types.GetV1PayslipsRequest): Promise<Types.GetV1PayslipsResponses> => {\n return await _getV1Payslips(baseUrl, request)\n}\nconst _getV1PayslipsId = async (url: string, request: Types.GetV1PayslipsIdRequest): Promise<Types.GetV1PayslipsIdResponses> => {\n const queryParameters: (keyof Types.GetV1PayslipsIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1PayslipsId: Api['getV1PayslipsId'] = async (request: Types.GetV1PayslipsIdRequest): Promise<Types.GetV1PayslipsIdResponses> => {\n return await _getV1PayslipsId(baseUrl, request)\n}\nconst _deleteV1PayslipsId = async (url: string, request: Types.DeleteV1PayslipsIdRequest): Promise<Types.DeleteV1PayslipsIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1PayslipsId: Api['deleteV1PayslipsId'] = async (request: Types.DeleteV1PayslipsIdRequest): Promise<Types.DeleteV1PayslipsIdResponses> => {\n return await _deleteV1PayslipsId(baseUrl, request)\n}\nconst _postV1PayslipsGenerate = async (url: string, request: Types.PostV1PayslipsGenerateRequest): Promise<Types.PostV1PayslipsGenerateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/generate`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1PayslipsGenerate: Api['postV1PayslipsGenerate'] = async (request: Types.PostV1PayslipsGenerateRequest): Promise<Types.PostV1PayslipsGenerateResponses> => {\n return await _postV1PayslipsGenerate(baseUrl, request)\n}\nconst _postV1PayslipsIdSendEmail = async (url: string, request: Types.PostV1PayslipsIdSendEmailRequest): Promise<Types.PostV1PayslipsIdSendEmailResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/${request['id']}/send-email`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1PayslipsIdSendEmail: Api['postV1PayslipsIdSendEmail'] = async (request: Types.PostV1PayslipsIdSendEmailRequest): Promise<Types.PostV1PayslipsIdSendEmailResponses> => {\n return await _postV1PayslipsIdSendEmail(baseUrl, request)\n}\nconst _postV1PayslipsIdPublishEss = async (url: string, request: Types.PostV1PayslipsIdPublishEssRequest): Promise<Types.PostV1PayslipsIdPublishEssResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/${request['id']}/publish-ess`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1PayslipsIdPublishEss: Api['postV1PayslipsIdPublishEss'] = async (request: Types.PostV1PayslipsIdPublishEssRequest): Promise<Types.PostV1PayslipsIdPublishEssResponses> => {\n return await _postV1PayslipsIdPublishEss(baseUrl, request)\n}\nconst _getV1PayslipsEmployeeEmployeeId = async (url: string, request: Types.GetV1PayslipsEmployeeEmployeeIdRequest): Promise<Types.GetV1PayslipsEmployeeEmployeeIdResponses> => {\n const queryParameters: (keyof Types.GetV1PayslipsEmployeeEmployeeIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/employee/${request['employeeId']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1PayslipsEmployeeEmployeeId: Api['getV1PayslipsEmployeeEmployeeId'] = async (request: Types.GetV1PayslipsEmployeeEmployeeIdRequest): Promise<Types.GetV1PayslipsEmployeeEmployeeIdResponses> => {\n return await _getV1PayslipsEmployeeEmployeeId(baseUrl, request)\n}\nconst _postV1PayslipsEmployeeEmployeeIdGenerate = async (url: string, request: Types.PostV1PayslipsEmployeeEmployeeIdGenerateRequest): Promise<Types.PostV1PayslipsEmployeeEmployeeIdGenerateResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/employee/${request['employeeId']}/generate`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1PayslipsEmployeeEmployeeIdGenerate: Api['postV1PayslipsEmployeeEmployeeIdGenerate'] = async (request: Types.PostV1PayslipsEmployeeEmployeeIdGenerateRequest): Promise<Types.PostV1PayslipsEmployeeEmployeeIdGenerateResponses> => {\n return await _postV1PayslipsEmployeeEmployeeIdGenerate(baseUrl, request)\n}\nconst _getV1PayslipsDownloadId = async (url: string, request: Types.GetV1PayslipsDownloadIdRequest): Promise<Types.GetV1PayslipsDownloadIdResponses> => {\n const queryParameters: (keyof Types.GetV1PayslipsDownloadIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/payslips/download/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1PayslipsDownloadId: Api['getV1PayslipsDownloadId'] = async (request: Types.GetV1PayslipsDownloadIdRequest): Promise<Types.GetV1PayslipsDownloadIdResponses> => {\n return await _getV1PayslipsDownloadId(baseUrl, request)\n}\nconst _postV1ReportsEmployeeList = async (url: string, request: Types.PostV1ReportsEmployeeListRequest): Promise<Types.PostV1ReportsEmployeeListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeList: Api['postV1ReportsEmployeeList'] = async (request: Types.PostV1ReportsEmployeeListRequest): Promise<Types.PostV1ReportsEmployeeListResponses> => {\n return await _postV1ReportsEmployeeList(baseUrl, request)\n}\nconst _postV1ReportsContractList = async (url: string, request: Types.PostV1ReportsContractListRequest): Promise<Types.PostV1ReportsContractListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/contract-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsContractList: Api['postV1ReportsContractList'] = async (request: Types.PostV1ReportsContractListRequest): Promise<Types.PostV1ReportsContractListResponses> => {\n return await _postV1ReportsContractList(baseUrl, request)\n}\nconst _postV1ReportsRecruitmentRequestList = async (url: string, request: Types.PostV1ReportsRecruitmentRequestListRequest): Promise<Types.PostV1ReportsRecruitmentRequestListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/recruitment-request-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsRecruitmentRequestList: Api['postV1ReportsRecruitmentRequestList'] = async (request: Types.PostV1ReportsRecruitmentRequestListRequest): Promise<Types.PostV1ReportsRecruitmentRequestListResponses> => {\n return await _postV1ReportsRecruitmentRequestList(baseUrl, request)\n}\nconst _postV1ReportsRecruitmentFulfilmentAnalysis = async (url: string, request: Types.PostV1ReportsRecruitmentFulfilmentAnalysisRequest): Promise<Types.PostV1ReportsRecruitmentFulfilmentAnalysisResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/recruitment-fulfilment-analysis`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsRecruitmentFulfilmentAnalysis: Api['postV1ReportsRecruitmentFulfilmentAnalysis'] = async (request: Types.PostV1ReportsRecruitmentFulfilmentAnalysisRequest): Promise<Types.PostV1ReportsRecruitmentFulfilmentAnalysisResponses> => {\n return await _postV1ReportsRecruitmentFulfilmentAnalysis(baseUrl, request)\n}\nconst _postV1ReportsDepartmentAnalysis = async (url: string, request: Types.PostV1ReportsDepartmentAnalysisRequest): Promise<Types.PostV1ReportsDepartmentAnalysisResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/department-analysis`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsDepartmentAnalysis: Api['postV1ReportsDepartmentAnalysis'] = async (request: Types.PostV1ReportsDepartmentAnalysisRequest): Promise<Types.PostV1ReportsDepartmentAnalysisResponses> => {\n return await _postV1ReportsDepartmentAnalysis(baseUrl, request)\n}\nconst _postV1ReportsEmployeeSalaryList = async (url: string, request: Types.PostV1ReportsEmployeeSalaryListRequest): Promise<Types.PostV1ReportsEmployeeSalaryListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-salary-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeSalaryList: Api['postV1ReportsEmployeeSalaryList'] = async (request: Types.PostV1ReportsEmployeeSalaryListRequest): Promise<Types.PostV1ReportsEmployeeSalaryListResponses> => {\n return await _postV1ReportsEmployeeSalaryList(baseUrl, request)\n}\nconst _postV1ReportsResignationRequestList = async (url: string, request: Types.PostV1ReportsResignationRequestListRequest): Promise<Types.PostV1ReportsResignationRequestListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/resignation-request-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsResignationRequestList: Api['postV1ReportsResignationRequestList'] = async (request: Types.PostV1ReportsResignationRequestListRequest): Promise<Types.PostV1ReportsResignationRequestListResponses> => {\n return await _postV1ReportsResignationRequestList(baseUrl, request)\n}\nconst _postV1ReportsTerminationRequestList = async (url: string, request: Types.PostV1ReportsTerminationRequestListRequest): Promise<Types.PostV1ReportsTerminationRequestListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/termination-request-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsTerminationRequestList: Api['postV1ReportsTerminationRequestList'] = async (request: Types.PostV1ReportsTerminationRequestListRequest): Promise<Types.PostV1ReportsTerminationRequestListResponses> => {\n return await _postV1ReportsTerminationRequestList(baseUrl, request)\n}\nconst _postV1ReportsFinalSettlementReport = async (url: string, request: Types.PostV1ReportsFinalSettlementReportRequest): Promise<Types.PostV1ReportsFinalSettlementReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/final-settlement-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsFinalSettlementReport: Api['postV1ReportsFinalSettlementReport'] = async (request: Types.PostV1ReportsFinalSettlementReportRequest): Promise<Types.PostV1ReportsFinalSettlementReportResponses> => {\n return await _postV1ReportsFinalSettlementReport(baseUrl, request)\n}\nconst _postV1ReportsEmployeeGratuityReport = async (url: string, request: Types.PostV1ReportsEmployeeGratuityReportRequest): Promise<Types.PostV1ReportsEmployeeGratuityReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-gratuity-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeGratuityReport: Api['postV1ReportsEmployeeGratuityReport'] = async (request: Types.PostV1ReportsEmployeeGratuityReportRequest): Promise<Types.PostV1ReportsEmployeeGratuityReportResponses> => {\n return await _postV1ReportsEmployeeGratuityReport(baseUrl, request)\n}\nconst _postV1ReportsEmployeeOvertimeReport = async (url: string, request: Types.PostV1ReportsEmployeeOvertimeReportRequest): Promise<Types.PostV1ReportsEmployeeOvertimeReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-overtime-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeOvertimeReport: Api['postV1ReportsEmployeeOvertimeReport'] = async (request: Types.PostV1ReportsEmployeeOvertimeReportRequest): Promise<Types.PostV1ReportsEmployeeOvertimeReportResponses> => {\n return await _postV1ReportsEmployeeOvertimeReport(baseUrl, request)\n}\nconst _postV1ReportsLeaveRequestList = async (url: string, request: Types.PostV1ReportsLeaveRequestListRequest): Promise<Types.PostV1ReportsLeaveRequestListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/leave-request-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsLeaveRequestList: Api['postV1ReportsLeaveRequestList'] = async (request: Types.PostV1ReportsLeaveRequestListRequest): Promise<Types.PostV1ReportsLeaveRequestListResponses> => {\n return await _postV1ReportsLeaveRequestList(baseUrl, request)\n}\nconst _postV1ReportsAnnualLeaveReport = async (url: string, request: Types.PostV1ReportsAnnualLeaveReportRequest): Promise<Types.PostV1ReportsAnnualLeaveReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/annual-leave-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsAnnualLeaveReport: Api['postV1ReportsAnnualLeaveReport'] = async (request: Types.PostV1ReportsAnnualLeaveReportRequest): Promise<Types.PostV1ReportsAnnualLeaveReportResponses> => {\n return await _postV1ReportsAnnualLeaveReport(baseUrl, request)\n}\nconst _postV1ReportsEmployeeLoanList = async (url: string, request: Types.PostV1ReportsEmployeeLoanListRequest): Promise<Types.PostV1ReportsEmployeeLoanListResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-loan-list`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeLoanList: Api['postV1ReportsEmployeeLoanList'] = async (request: Types.PostV1ReportsEmployeeLoanListRequest): Promise<Types.PostV1ReportsEmployeeLoanListResponses> => {\n return await _postV1ReportsEmployeeLoanList(baseUrl, request)\n}\nconst _postV1ReportsPendingLoanStatus = async (url: string, request: Types.PostV1ReportsPendingLoanStatusRequest): Promise<Types.PostV1ReportsPendingLoanStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/pending-loan-status`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsPendingLoanStatus: Api['postV1ReportsPendingLoanStatus'] = async (request: Types.PostV1ReportsPendingLoanStatusRequest): Promise<Types.PostV1ReportsPendingLoanStatusResponses> => {\n return await _postV1ReportsPendingLoanStatus(baseUrl, request)\n}\nconst _postV1ReportsSalarySheet = async (url: string, request: Types.PostV1ReportsSalarySheetRequest): Promise<Types.PostV1ReportsSalarySheetResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/salary-sheet`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsSalarySheet: Api['postV1ReportsSalarySheet'] = async (request: Types.PostV1ReportsSalarySheetRequest): Promise<Types.PostV1ReportsSalarySheetResponses> => {\n return await _postV1ReportsSalarySheet(baseUrl, request)\n}\nconst _postV1ReportsExpenseReimbursement = async (url: string, request: Types.PostV1ReportsExpenseReimbursementRequest): Promise<Types.PostV1ReportsExpenseReimbursementResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/expense-reimbursement`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsExpenseReimbursement: Api['postV1ReportsExpenseReimbursement'] = async (request: Types.PostV1ReportsExpenseReimbursementRequest): Promise<Types.PostV1ReportsExpenseReimbursementResponses> => {\n return await _postV1ReportsExpenseReimbursement(baseUrl, request)\n}\nconst _postV1ReportsTimeSheet = async (url: string, request: Types.PostV1ReportsTimeSheetRequest): Promise<Types.PostV1ReportsTimeSheetResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/time-sheet`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsTimeSheet: Api['postV1ReportsTimeSheet'] = async (request: Types.PostV1ReportsTimeSheetRequest): Promise<Types.PostV1ReportsTimeSheetResponses> => {\n return await _postV1ReportsTimeSheet(baseUrl, request)\n}\nconst _postV1ReportsResourceRequisitions = async (url: string, request: Types.PostV1ReportsResourceRequisitionsRequest): Promise<Types.PostV1ReportsResourceRequisitionsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/resource-requisitions`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsResourceRequisitions: Api['postV1ReportsResourceRequisitions'] = async (request: Types.PostV1ReportsResourceRequisitionsRequest): Promise<Types.PostV1ReportsResourceRequisitionsResponses> => {\n return await _postV1ReportsResourceRequisitions(baseUrl, request)\n}\nconst _postV1ReportsTimeCard = async (url: string, request: Types.PostV1ReportsTimeCardRequest): Promise<Types.PostV1ReportsTimeCardResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/time-card`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsTimeCard: Api['postV1ReportsTimeCard'] = async (request: Types.PostV1ReportsTimeCardRequest): Promise<Types.PostV1ReportsTimeCardResponses> => {\n return await _postV1ReportsTimeCard(baseUrl, request)\n}\nconst _postV1ReportsAttendanceSummary = async (url: string, request: Types.PostV1ReportsAttendanceSummaryRequest): Promise<Types.PostV1ReportsAttendanceSummaryResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/attendance-summary`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsAttendanceSummary: Api['postV1ReportsAttendanceSummary'] = async (request: Types.PostV1ReportsAttendanceSummaryRequest): Promise<Types.PostV1ReportsAttendanceSummaryResponses> => {\n return await _postV1ReportsAttendanceSummary(baseUrl, request)\n}\nconst _postV1ReportsMissingAttendance = async (url: string, request: Types.PostV1ReportsMissingAttendanceRequest): Promise<Types.PostV1ReportsMissingAttendanceResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/missing-attendance`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsMissingAttendance: Api['postV1ReportsMissingAttendance'] = async (request: Types.PostV1ReportsMissingAttendanceRequest): Promise<Types.PostV1ReportsMissingAttendanceResponses> => {\n return await _postV1ReportsMissingAttendance(baseUrl, request)\n}\nconst _postV1ReportsEmployeeAssetRecords = async (url: string, request: Types.PostV1ReportsEmployeeAssetRecordsRequest): Promise<Types.PostV1ReportsEmployeeAssetRecordsResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-asset-records`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeAssetRecords: Api['postV1ReportsEmployeeAssetRecords'] = async (request: Types.PostV1ReportsEmployeeAssetRecordsRequest): Promise<Types.PostV1ReportsEmployeeAssetRecordsResponses> => {\n return await _postV1ReportsEmployeeAssetRecords(baseUrl, request)\n}\nconst _postV1ReportsAssetDamage = async (url: string, request: Types.PostV1ReportsAssetDamageRequest): Promise<Types.PostV1ReportsAssetDamageResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/asset-damage`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsAssetDamage: Api['postV1ReportsAssetDamage'] = async (request: Types.PostV1ReportsAssetDamageRequest): Promise<Types.PostV1ReportsAssetDamageResponses> => {\n return await _postV1ReportsAssetDamage(baseUrl, request)\n}\nconst _postV1ReportsAssetStatus = async (url: string, request: Types.PostV1ReportsAssetStatusRequest): Promise<Types.PostV1ReportsAssetStatusResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/asset-status`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsAssetStatus: Api['postV1ReportsAssetStatus'] = async (request: Types.PostV1ReportsAssetStatusRequest): Promise<Types.PostV1ReportsAssetStatusResponses> => {\n return await _postV1ReportsAssetStatus(baseUrl, request)\n}\nconst _postV1ReportsEmployeeProbationReport = async (url: string, request: Types.PostV1ReportsEmployeeProbationReportRequest): Promise<Types.PostV1ReportsEmployeeProbationReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-probation-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeProbationReport: Api['postV1ReportsEmployeeProbationReport'] = async (request: Types.PostV1ReportsEmployeeProbationReportRequest): Promise<Types.PostV1ReportsEmployeeProbationReportResponses> => {\n return await _postV1ReportsEmployeeProbationReport(baseUrl, request)\n}\nconst _postV1ReportsEmployeeTurnoverReport = async (url: string, request: Types.PostV1ReportsEmployeeTurnoverReportRequest): Promise<Types.PostV1ReportsEmployeeTurnoverReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/employee-turnover-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsEmployeeTurnoverReport: Api['postV1ReportsEmployeeTurnoverReport'] = async (request: Types.PostV1ReportsEmployeeTurnoverReportRequest): Promise<Types.PostV1ReportsEmployeeTurnoverReportResponses> => {\n return await _postV1ReportsEmployeeTurnoverReport(baseUrl, request)\n}\nconst _postV1ReportsPayrollVarianceReport = async (url: string, request: Types.PostV1ReportsPayrollVarianceReportRequest): Promise<Types.PostV1ReportsPayrollVarianceReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/payroll-variance-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsPayrollVarianceReport: Api['postV1ReportsPayrollVarianceReport'] = async (request: Types.PostV1ReportsPayrollVarianceReportRequest): Promise<Types.PostV1ReportsPayrollVarianceReportResponses> => {\n return await _postV1ReportsPayrollVarianceReport(baseUrl, request)\n}\nconst _postV1ReportsExpiringDocumentsReport = async (url: string, request: Types.PostV1ReportsExpiringDocumentsReportRequest): Promise<Types.PostV1ReportsExpiringDocumentsReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/expiring-documents-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsExpiringDocumentsReport: Api['postV1ReportsExpiringDocumentsReport'] = async (request: Types.PostV1ReportsExpiringDocumentsReportRequest): Promise<Types.PostV1ReportsExpiringDocumentsReportResponses> => {\n return await _postV1ReportsExpiringDocumentsReport(baseUrl, request)\n}\nconst _postV1ReportsLeaveEncashmentReport = async (url: string, request: Types.PostV1ReportsLeaveEncashmentReportRequest): Promise<Types.PostV1ReportsLeaveEncashmentReportResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/reports/leave-encashment-report`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ReportsLeaveEncashmentReport: Api['postV1ReportsLeaveEncashmentReport'] = async (request: Types.PostV1ReportsLeaveEncashmentReportRequest): Promise<Types.PostV1ReportsLeaveEncashmentReportResponses> => {\n return await _postV1ReportsLeaveEncashmentReport(baseUrl, request)\n}\nconst _postV1AttendanceCheckIn = async (url: string, request: Types.PostV1AttendanceCheckInRequest): Promise<Types.PostV1AttendanceCheckInResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/attendance/check-in`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AttendanceCheckIn: Api['postV1AttendanceCheckIn'] = async (request: Types.PostV1AttendanceCheckInRequest): Promise<Types.PostV1AttendanceCheckInResponses> => {\n return await _postV1AttendanceCheckIn(baseUrl, request)\n}\nconst _postV1AttendanceCheckOut = async (url: string, request: Types.PostV1AttendanceCheckOutRequest): Promise<Types.PostV1AttendanceCheckOutResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/attendance/check-out`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AttendanceCheckOut: Api['postV1AttendanceCheckOut'] = async (request: Types.PostV1AttendanceCheckOutRequest): Promise<Types.PostV1AttendanceCheckOutResponses> => {\n return await _postV1AttendanceCheckOut(baseUrl, request)\n}\nconst _postV1AttendanceStartBreak = async (url: string, request: Types.PostV1AttendanceStartBreakRequest): Promise<Types.PostV1AttendanceStartBreakResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/attendance/start-break`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AttendanceStartBreak: Api['postV1AttendanceStartBreak'] = async (request: Types.PostV1AttendanceStartBreakRequest): Promise<Types.PostV1AttendanceStartBreakResponses> => {\n return await _postV1AttendanceStartBreak(baseUrl, request)\n}\nconst _postV1AttendanceEndBreak = async (url: string, request: Types.PostV1AttendanceEndBreakRequest): Promise<Types.PostV1AttendanceEndBreakResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/attendance/end-break`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AttendanceEndBreak: Api['postV1AttendanceEndBreak'] = async (request: Types.PostV1AttendanceEndBreakRequest): Promise<Types.PostV1AttendanceEndBreakResponses> => {\n return await _postV1AttendanceEndBreak(baseUrl, request)\n}\nconst _getV1AttendanceStatus = async (url: string, request: Types.GetV1AttendanceStatusRequest): Promise<Types.GetV1AttendanceStatusResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/attendance/status`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AttendanceStatus: Api['getV1AttendanceStatus'] = async (request: Types.GetV1AttendanceStatusRequest): Promise<Types.GetV1AttendanceStatusResponses> => {\n return await _getV1AttendanceStatus(baseUrl, request)\n}\nconst _getV1AttendanceSummaryAttendanceId = async (url: string, request: Types.GetV1AttendanceSummaryAttendanceIdRequest): Promise<Types.GetV1AttendanceSummaryAttendanceIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/attendance/summary/${request['attendanceId']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AttendanceSummaryAttendanceId: Api['getV1AttendanceSummaryAttendanceId'] = async (request: Types.GetV1AttendanceSummaryAttendanceIdRequest): Promise<Types.GetV1AttendanceSummaryAttendanceIdResponses> => {\n return await _getV1AttendanceSummaryAttendanceId(baseUrl, request)\n}\nconst _getV1Approvals = async (url: string, request: Types.GetV1ApprovalsRequest): Promise<Types.GetV1ApprovalsResponses> => {\n const queryParameters: (keyof Types.GetV1ApprovalsRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/approvals/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Approvals: Api['getV1Approvals'] = async (request: Types.GetV1ApprovalsRequest): Promise<Types.GetV1ApprovalsResponses> => {\n return await _getV1Approvals(baseUrl, request)\n}\ntype BuildOptions = {\n headers?: Object\n}\nexport default function build (url: string, options?: BuildOptions) {\n url = sanitizeUrl(url)\n if (options?.headers) {\n defaultHeaders = options.headers\n }\n return {\n getV1FileUpload: _getV1FileUpload.bind(url, ...arguments),\n postV1FileUploadMarkComplete: _postV1FileUploadMarkComplete.bind(url, ...arguments),\n postV1DocumentMaster: _postV1DocumentMaster.bind(url, ...arguments),\n getV1DocumentMaster: _getV1DocumentMaster.bind(url, ...arguments),\n getV1DocumentMasterId: _getV1DocumentMasterId.bind(url, ...arguments),\n putV1DocumentMasterId: _putV1DocumentMasterId.bind(url, ...arguments),\n deleteV1DocumentMasterId: _deleteV1DocumentMasterId.bind(url, ...arguments),\n patchV1DocumentMasterIdStatus: _patchV1DocumentMasterIdStatus.bind(url, ...arguments),\n postV1DocumentMasterSaveAsDraft: _postV1DocumentMasterSaveAsDraft.bind(url, ...arguments),\n patchV1DocumentMasterIdSaveAsDraft: _patchV1DocumentMasterIdSaveAsDraft.bind(url, ...arguments),\n getV1DocumentMasterGenerateExcel: _getV1DocumentMasterGenerateExcel.bind(url, ...arguments),\n postV1DocumentMasterImport: _postV1DocumentMasterImport.bind(url, ...arguments),\n postV1CompanyCalendar: _postV1CompanyCalendar.bind(url, ...arguments),\n getV1CompanyCalendar: _getV1CompanyCalendar.bind(url, ...arguments),\n getV1CompanyCalendarId: _getV1CompanyCalendarId.bind(url, ...arguments),\n putV1CompanyCalendarId: _putV1CompanyCalendarId.bind(url, ...arguments),\n deleteV1CompanyCalendarId: _deleteV1CompanyCalendarId.bind(url, ...arguments),\n patchV1CompanyCalendarIdStatus: _patchV1CompanyCalendarIdStatus.bind(url, ...arguments),\n postV1CompanyCalendarSaveAsDraft: _postV1CompanyCalendarSaveAsDraft.bind(url, ...arguments),\n patchV1CompanyCalendarIdSaveAsDraft: _patchV1CompanyCalendarIdSaveAsDraft.bind(url, ...arguments),\n getV1CompanyCalendarGenerateExcel: _getV1CompanyCalendarGenerateExcel.bind(url, ...arguments),\n postV1CompanyCalendarImport: _postV1CompanyCalendarImport.bind(url, ...arguments),\n postV1LoanMaster: _postV1LoanMaster.bind(url, ...arguments),\n getV1LoanMaster: _getV1LoanMaster.bind(url, ...arguments),\n getV1LoanMasterId: _getV1LoanMasterId.bind(url, ...arguments),\n putV1LoanMasterId: _putV1LoanMasterId.bind(url, ...arguments),\n deleteV1LoanMasterId: _deleteV1LoanMasterId.bind(url, ...arguments),\n patchV1LoanMasterIdStatus: _patchV1LoanMasterIdStatus.bind(url, ...arguments),\n postV1LoanMasterDraft: _postV1LoanMasterDraft.bind(url, ...arguments),\n postV1LoanRequests: _postV1LoanRequests.bind(url, ...arguments),\n getV1LoanRequests: _getV1LoanRequests.bind(url, ...arguments),\n getV1LoanRequestsEligibilityEmployeeIdLoanMasters: _getV1LoanRequestsEligibilityEmployeeIdLoanMasters.bind(url, ...arguments),\n postV1LoanRequestsCheckEligibility: _postV1LoanRequestsCheckEligibility.bind(url, ...arguments),\n postV1LoanRequestsPreviewEmi: _postV1LoanRequestsPreviewEmi.bind(url, ...arguments),\n getV1LoanRequestsId: _getV1LoanRequestsId.bind(url, ...arguments),\n putV1LoanRequestsId: _putV1LoanRequestsId.bind(url, ...arguments),\n deleteV1LoanRequestsId: _deleteV1LoanRequestsId.bind(url, ...arguments),\n getV1LoanRequestsGenerateExcel: _getV1LoanRequestsGenerateExcel.bind(url, ...arguments),\n getV1LoanAllotments: _getV1LoanAllotments.bind(url, ...arguments),\n getV1LoanAllotmentsMyApprovals: _getV1LoanAllotmentsMyApprovals.bind(url, ...arguments),\n getV1LoanAllotmentsId: _getV1LoanAllotmentsId.bind(url, ...arguments),\n patchV1LoanAllotmentsIdStatus: _patchV1LoanAllotmentsIdStatus.bind(url, ...arguments),\n getV1LoanAllotmentsActiveLoans: _getV1LoanAllotmentsActiveLoans.bind(url, ...arguments),\n getV1LoanAllotmentsActiveLoansId: _getV1LoanAllotmentsActiveLoansId.bind(url, ...arguments),\n getV1LoanAllotmentsActiveLoansIdEmiScheduleExport: _getV1LoanAllotmentsActiveLoansIdEmiScheduleExport.bind(url, ...arguments),\n getV1LeaveCategory: _getV1LeaveCategory.bind(url, ...arguments),\n getV1LeaveCategoryId: _getV1LeaveCategoryId.bind(url, ...arguments),\n getV1AccrualType: _getV1AccrualType.bind(url, ...arguments),\n getV1AccrualTypeId: _getV1AccrualTypeId.bind(url, ...arguments),\n postV1AccrualMaster: _postV1AccrualMaster.bind(url, ...arguments),\n getV1AccrualMaster: _getV1AccrualMaster.bind(url, ...arguments),\n getV1AccrualMasterId: _getV1AccrualMasterId.bind(url, ...arguments),\n putV1AccrualMasterId: _putV1AccrualMasterId.bind(url, ...arguments),\n deleteV1AccrualMasterId: _deleteV1AccrualMasterId.bind(url, ...arguments),\n patchV1AccrualMasterIdStatus: _patchV1AccrualMasterIdStatus.bind(url, ...arguments),\n postV1AccrualMasterDraft: _postV1AccrualMasterDraft.bind(url, ...arguments),\n patchV1AccrualMasterIdDraft: _patchV1AccrualMasterIdDraft.bind(url, ...arguments),\n getV1AccrualMasterGenerateExcel: _getV1AccrualMasterGenerateExcel.bind(url, ...arguments),\n postV1AccrualMasterImport: _postV1AccrualMasterImport.bind(url, ...arguments),\n postV1AccrualMasterCalculateAmount: _postV1AccrualMasterCalculateAmount.bind(url, ...arguments),\n postV1LeavePolicyMaster: _postV1LeavePolicyMaster.bind(url, ...arguments),\n getV1LeavePolicyMaster: _getV1LeavePolicyMaster.bind(url, ...arguments),\n getV1LeavePolicyMasterId: _getV1LeavePolicyMasterId.bind(url, ...arguments),\n putV1LeavePolicyMasterId: _putV1LeavePolicyMasterId.bind(url, ...arguments),\n deleteV1LeavePolicyMasterId: _deleteV1LeavePolicyMasterId.bind(url, ...arguments),\n patchV1LeavePolicyMasterIdStatus: _patchV1LeavePolicyMasterIdStatus.bind(url, ...arguments),\n postV1LeavePolicyMasterSaveAsDraft: _postV1LeavePolicyMasterSaveAsDraft.bind(url, ...arguments),\n patchV1LeavePolicyMasterIdSaveAsDraft: _patchV1LeavePolicyMasterIdSaveAsDraft.bind(url, ...arguments),\n getV1LeavePolicyMasterGenerateExcel: _getV1LeavePolicyMasterGenerateExcel.bind(url, ...arguments),\n postV1LeavePolicyMasterImport: _postV1LeavePolicyMasterImport.bind(url, ...arguments),\n postV1Grades: _postV1Grades.bind(url, ...arguments),\n getV1Grades: _getV1Grades.bind(url, ...arguments),\n getV1GradesId: _getV1GradesId.bind(url, ...arguments),\n putV1GradesId: _putV1GradesId.bind(url, ...arguments),\n deleteV1GradesId: _deleteV1GradesId.bind(url, ...arguments),\n patchV1GradesIdStatus: _patchV1GradesIdStatus.bind(url, ...arguments),\n postV1Teams: _postV1Teams.bind(url, ...arguments),\n getV1Teams: _getV1Teams.bind(url, ...arguments),\n getV1TeamsId: _getV1TeamsId.bind(url, ...arguments),\n putV1TeamsId: _putV1TeamsId.bind(url, ...arguments),\n deleteV1TeamsId: _deleteV1TeamsId.bind(url, ...arguments),\n postV1Skills: _postV1Skills.bind(url, ...arguments),\n getV1Skills: _getV1Skills.bind(url, ...arguments),\n getV1SkillsId: _getV1SkillsId.bind(url, ...arguments),\n putV1SkillsId: _putV1SkillsId.bind(url, ...arguments),\n deleteV1SkillsId: _deleteV1SkillsId.bind(url, ...arguments),\n postV1Designation: _postV1Designation.bind(url, ...arguments),\n getV1Designation: _getV1Designation.bind(url, ...arguments),\n getV1DesignationId: _getV1DesignationId.bind(url, ...arguments),\n putV1DesignationId: _putV1DesignationId.bind(url, ...arguments),\n deleteV1DesignationId: _deleteV1DesignationId.bind(url, ...arguments),\n postV1DesignationDraft: _postV1DesignationDraft.bind(url, ...arguments),\n postV1Departments: _postV1Departments.bind(url, ...arguments),\n getV1Departments: _getV1Departments.bind(url, ...arguments),\n getV1DepartmentsGenerateExcel: _getV1DepartmentsGenerateExcel.bind(url, ...arguments),\n getV1DepartmentsId: _getV1DepartmentsId.bind(url, ...arguments),\n patchV1DepartmentsId: _patchV1DepartmentsId.bind(url, ...arguments),\n putV1DepartmentsId: _putV1DepartmentsId.bind(url, ...arguments),\n deleteV1DepartmentsId: _deleteV1DepartmentsId.bind(url, ...arguments),\n getV1DepartmentsIdSubDepartments: _getV1DepartmentsIdSubDepartments.bind(url, ...arguments),\n getV1DepartmentsIdTeams: _getV1DepartmentsIdTeams.bind(url, ...arguments),\n postV1DepartmentsTeams: _postV1DepartmentsTeams.bind(url, ...arguments),\n patchV1DepartmentsTeamsId: _patchV1DepartmentsTeamsId.bind(url, ...arguments),\n deleteV1DepartmentsTeamsId: _deleteV1DepartmentsTeamsId.bind(url, ...arguments),\n getV1DepartmentsCheckCode: _getV1DepartmentsCheckCode.bind(url, ...arguments),\n postV1DepartmentsImport: _postV1DepartmentsImport.bind(url, ...arguments),\n postV1DepartmentsDraft: _postV1DepartmentsDraft.bind(url, ...arguments),\n postV1Timezones: _postV1Timezones.bind(url, ...arguments),\n getV1Timezones: _getV1Timezones.bind(url, ...arguments),\n getV1TimezonesId: _getV1TimezonesId.bind(url, ...arguments),\n putV1TimezonesId: _putV1TimezonesId.bind(url, ...arguments),\n deleteV1TimezonesId: _deleteV1TimezonesId.bind(url, ...arguments),\n postV1SalaryStructureMaster: _postV1SalaryStructureMaster.bind(url, ...arguments),\n getV1SalaryStructureMaster: _getV1SalaryStructureMaster.bind(url, ...arguments),\n getV1SalaryStructureMasterId: _getV1SalaryStructureMasterId.bind(url, ...arguments),\n putV1SalaryStructureMasterId: _putV1SalaryStructureMasterId.bind(url, ...arguments),\n deleteV1SalaryStructureMasterId: _deleteV1SalaryStructureMasterId.bind(url, ...arguments),\n patchV1SalaryStructureMasterIdStatus: _patchV1SalaryStructureMasterIdStatus.bind(url, ...arguments),\n postV1SalaryStructureMasterSaveAsDraft: _postV1SalaryStructureMasterSaveAsDraft.bind(url, ...arguments),\n patchV1SalaryStructureMasterIdSaveAsDraft: _patchV1SalaryStructureMasterIdSaveAsDraft.bind(url, ...arguments),\n postV1SalaryStructureMasterCalculate: _postV1SalaryStructureMasterCalculate.bind(url, ...arguments),\n getV1SalaryStructureMasterGenerateExcel: _getV1SalaryStructureMasterGenerateExcel.bind(url, ...arguments),\n postV1SalaryStructureMasterImport: _postV1SalaryStructureMasterImport.bind(url, ...arguments),\n postV1Employee: _postV1Employee.bind(url, ...arguments),\n getV1Employee: _getV1Employee.bind(url, ...arguments),\n getV1EmployeeId: _getV1EmployeeId.bind(url, ...arguments),\n putV1EmployeeId: _putV1EmployeeId.bind(url, ...arguments),\n deleteV1EmployeeId: _deleteV1EmployeeId.bind(url, ...arguments),\n patchV1EmployeeIdStatus: _patchV1EmployeeIdStatus.bind(url, ...arguments),\n postV1EmployeeSaveAsDraft: _postV1EmployeeSaveAsDraft.bind(url, ...arguments),\n patchV1EmployeeIdSaveAsDraft: _patchV1EmployeeIdSaveAsDraft.bind(url, ...arguments),\n getV1EmployeeIdContracts: _getV1EmployeeIdContracts.bind(url, ...arguments),\n getV1EmployeeIdContractsContractId: _getV1EmployeeIdContractsContractId.bind(url, ...arguments),\n getV1EmployeeGenerateExcel: _getV1EmployeeGenerateExcel.bind(url, ...arguments),\n postV1EmployeeImport: _postV1EmployeeImport.bind(url, ...arguments),\n postV1EmployeeContracts: _postV1EmployeeContracts.bind(url, ...arguments),\n getV1EmployeeContracts: _getV1EmployeeContracts.bind(url, ...arguments),\n getV1EmployeeContractsId: _getV1EmployeeContractsId.bind(url, ...arguments),\n putV1EmployeeContractsId: _putV1EmployeeContractsId.bind(url, ...arguments),\n deleteV1EmployeeContractsId: _deleteV1EmployeeContractsId.bind(url, ...arguments),\n patchV1EmployeeContractsIdStatus: _patchV1EmployeeContractsIdStatus.bind(url, ...arguments),\n getV1EmployeeContractsExportExcel: _getV1EmployeeContractsExportExcel.bind(url, ...arguments),\n postV1HireRequests: _postV1HireRequests.bind(url, ...arguments),\n getV1HireRequests: _getV1HireRequests.bind(url, ...arguments),\n getV1HireRequestsRequisitionManagement: _getV1HireRequestsRequisitionManagement.bind(url, ...arguments),\n getV1HireRequestsIdCandidatesByStage: _getV1HireRequestsIdCandidatesByStage.bind(url, ...arguments),\n getV1HireRequestsId: _getV1HireRequestsId.bind(url, ...arguments),\n putV1HireRequestsId: _putV1HireRequestsId.bind(url, ...arguments),\n deleteV1HireRequestsId: _deleteV1HireRequestsId.bind(url, ...arguments),\n patchV1HireRequestsIdStatus: _patchV1HireRequestsIdStatus.bind(url, ...arguments),\n postV1HireRequestsSaveAsDraft: _postV1HireRequestsSaveAsDraft.bind(url, ...arguments),\n patchV1HireRequestsIdSaveAsDraft: _patchV1HireRequestsIdSaveAsDraft.bind(url, ...arguments),\n getV1HireRequestsGenerateExcel: _getV1HireRequestsGenerateExcel.bind(url, ...arguments),\n postV1HireRequestsImport: _postV1HireRequestsImport.bind(url, ...arguments),\n postV1HireRequestsHireRequestIdBudgets: _postV1HireRequestsHireRequestIdBudgets.bind(url, ...arguments),\n putV1HireRequestsHireRequestIdBudgetsId: _putV1HireRequestsHireRequestIdBudgetsId.bind(url, ...arguments),\n postV1JobPosts: _postV1JobPosts.bind(url, ...arguments),\n getV1JobPosts: _getV1JobPosts.bind(url, ...arguments),\n getV1JobPostsId: _getV1JobPostsId.bind(url, ...arguments),\n putV1JobPostsId: _putV1JobPostsId.bind(url, ...arguments),\n deleteV1JobPostsId: _deleteV1JobPostsId.bind(url, ...arguments),\n patchV1JobPostsIdStatus: _patchV1JobPostsIdStatus.bind(url, ...arguments),\n postV1JobPostsSaveAsDraft: _postV1JobPostsSaveAsDraft.bind(url, ...arguments),\n patchV1JobPostsIdSaveAsDraft: _patchV1JobPostsIdSaveAsDraft.bind(url, ...arguments),\n postV1InterviewRounds: _postV1InterviewRounds.bind(url, ...arguments),\n getV1InterviewRounds: _getV1InterviewRounds.bind(url, ...arguments),\n getV1InterviewRoundsId: _getV1InterviewRoundsId.bind(url, ...arguments),\n putV1InterviewRoundsId: _putV1InterviewRoundsId.bind(url, ...arguments),\n deleteV1InterviewRoundsId: _deleteV1InterviewRoundsId.bind(url, ...arguments),\n patchV1InterviewRoundsIdReschedule: _patchV1InterviewRoundsIdReschedule.bind(url, ...arguments),\n postV1Candidates: _postV1Candidates.bind(url, ...arguments),\n getV1Candidates: _getV1Candidates.bind(url, ...arguments),\n getV1CandidatesId: _getV1CandidatesId.bind(url, ...arguments),\n putV1CandidatesId: _putV1CandidatesId.bind(url, ...arguments),\n deleteV1CandidatesId: _deleteV1CandidatesId.bind(url, ...arguments),\n patchV1CandidatesIdStatus: _patchV1CandidatesIdStatus.bind(url, ...arguments),\n postV1CandidatesSaveAsDraft: _postV1CandidatesSaveAsDraft.bind(url, ...arguments),\n patchV1CandidatesIdSaveAsDraft: _patchV1CandidatesIdSaveAsDraft.bind(url, ...arguments),\n patchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdReschedule: _patchV1CandidatesCandidateIdInterviewRoundsCandidateInterviewRoundIdReschedule.bind(url, ...arguments),\n getV1CandidatesGenerateExcel: _getV1CandidatesGenerateExcel.bind(url, ...arguments),\n postV1CandidatesImport: _postV1CandidatesImport.bind(url, ...arguments),\n postV1InterviewFeedbacks: _postV1InterviewFeedbacks.bind(url, ...arguments),\n getV1InterviewFeedbacks: _getV1InterviewFeedbacks.bind(url, ...arguments),\n getV1InterviewFeedbacksId: _getV1InterviewFeedbacksId.bind(url, ...arguments),\n putV1InterviewFeedbacksId: _putV1InterviewFeedbacksId.bind(url, ...arguments),\n deleteV1InterviewFeedbacksId: _deleteV1InterviewFeedbacksId.bind(url, ...arguments),\n getV1TalentPoolDashboard: _getV1TalentPoolDashboard.bind(url, ...arguments),\n getV1TalentPoolDashboardSummaryStats: _getV1TalentPoolDashboardSummaryStats.bind(url, ...arguments),\n getV1TalentPoolDashboardRecentCandidates: _getV1TalentPoolDashboardRecentCandidates.bind(url, ...arguments),\n getV1TalentPoolDashboardRecentEvaluations: _getV1TalentPoolDashboardRecentEvaluations.bind(url, ...arguments),\n getV1TalentPoolDashboardUpcomingInterviews: _getV1TalentPoolDashboardUpcomingInterviews.bind(url, ...arguments),\n getV1Dashboard: _getV1Dashboard.bind(url, ...arguments),\n getV1DashboardHeaderStats: _getV1DashboardHeaderStats.bind(url, ...arguments),\n getV1DashboardEmployeesByDepartment: _getV1DashboardEmployeesByDepartment.bind(url, ...arguments),\n getV1DashboardAvailabilityStats: _getV1DashboardAvailabilityStats.bind(url, ...arguments),\n getV1DashboardResourceAllocation: _getV1DashboardResourceAllocation.bind(url, ...arguments),\n getV1DashboardBirthdayDashboard: _getV1DashboardBirthdayDashboard.bind(url, ...arguments),\n getV1DashboardLeaveRequests: _getV1DashboardLeaveRequests.bind(url, ...arguments),\n getV1DashboardResignationRequests: _getV1DashboardResignationRequests.bind(url, ...arguments),\n getV1DashboardIssueHrLetters: _getV1DashboardIssueHrLetters.bind(url, ...arguments),\n getV1DashboardApprovalDashboard: _getV1DashboardApprovalDashboard.bind(url, ...arguments),\n getV1DashboardOngoingJobs: _getV1DashboardOngoingJobs.bind(url, ...arguments),\n getV1DashboardNewHireRequests: _getV1DashboardNewHireRequests.bind(url, ...arguments),\n getV1DashboardEventsDashboard: _getV1DashboardEventsDashboard.bind(url, ...arguments),\n getV1DashboardTaskSignoffs: _getV1DashboardTaskSignoffs.bind(url, ...arguments),\n getV1DashboardKpiStatistics: _getV1DashboardKpiStatistics.bind(url, ...arguments),\n getV1DashboardRpsStatistics: _getV1DashboardRpsStatistics.bind(url, ...arguments),\n getV1DashboardPayrollStatistics: _getV1DashboardPayrollStatistics.bind(url, ...arguments),\n getV1DashboardAttendanceTrends: _getV1DashboardAttendanceTrends.bind(url, ...arguments),\n getV1DashboardDepartmentHeadcount: _getV1DashboardDepartmentHeadcount.bind(url, ...arguments),\n getV1DashboardLeaveBalanceSummary: _getV1DashboardLeaveBalanceSummary.bind(url, ...arguments),\n getV1DashboardRecruitmentFunnel: _getV1DashboardRecruitmentFunnel.bind(url, ...arguments),\n getV1DashboardTeamCalendar: _getV1DashboardTeamCalendar.bind(url, ...arguments),\n getV1DashboardTaskOverview: _getV1DashboardTaskOverview.bind(url, ...arguments),\n getV1DashboardAnnouncements: _getV1DashboardAnnouncements.bind(url, ...arguments),\n getV1DashboardLeaveStatistics: _getV1DashboardLeaveStatistics.bind(url, ...arguments),\n getV1DashboardPendingInterviews: _getV1DashboardPendingInterviews.bind(url, ...arguments),\n getV1DashboardVacationPlanConflicts: _getV1DashboardVacationPlanConflicts.bind(url, ...arguments),\n getV1DashboardManagerHeaderStats: _getV1DashboardManagerHeaderStats.bind(url, ...arguments),\n getV1DashboardManagerKpiStatistics: _getV1DashboardManagerKpiStatistics.bind(url, ...arguments),\n getV1DashboardEmployee: _getV1DashboardEmployee.bind(url, ...arguments),\n getV1DashboardEmployeeWorkingHours: _getV1DashboardEmployeeWorkingHours.bind(url, ...arguments),\n getV1DashboardEmployeeAttendance: _getV1DashboardEmployeeAttendance.bind(url, ...arguments),\n getV1DashboardEmployeeAttendanceBreaks: _getV1DashboardEmployeeAttendanceBreaks.bind(url, ...arguments),\n getV1DashboardEmployeeAttendanceHistory: _getV1DashboardEmployeeAttendanceHistory.bind(url, ...arguments),\n getV1DashboardEmployeeRequests: _getV1DashboardEmployeeRequests.bind(url, ...arguments),\n getV1DashboardEmployeeLoans: _getV1DashboardEmployeeLoans.bind(url, ...arguments),\n getV1DashboardEmployeeHolidaysEvents: _getV1DashboardEmployeeHolidaysEvents.bind(url, ...arguments),\n getV1DashboardEmployeeAssets: _getV1DashboardEmployeeAssets.bind(url, ...arguments),\n getV1DashboardEmployeeActivities: _getV1DashboardEmployeeActivities.bind(url, ...arguments),\n getV1DashboardEmployeeWorkingStatistics: _getV1DashboardEmployeeWorkingStatistics.bind(url, ...arguments),\n getV1DashboardEmployeeTasks: _getV1DashboardEmployeeTasks.bind(url, ...arguments),\n postV1OfferLetters: _postV1OfferLetters.bind(url, ...arguments),\n getV1OfferLetters: _getV1OfferLetters.bind(url, ...arguments),\n getV1OfferLettersId: _getV1OfferLettersId.bind(url, ...arguments),\n putV1OfferLettersId: _putV1OfferLettersId.bind(url, ...arguments),\n deleteV1OfferLettersId: _deleteV1OfferLettersId.bind(url, ...arguments),\n patchV1OfferLettersIdStatus: _patchV1OfferLettersIdStatus.bind(url, ...arguments),\n patchV1OfferLettersIdDocumentsDocumentId: _patchV1OfferLettersIdDocumentsDocumentId.bind(url, ...arguments),\n postV1OfferLettersIdDocumentsDocumentIdVerify: _postV1OfferLettersIdDocumentsDocumentIdVerify.bind(url, ...arguments),\n getV1OfferLettersGenerateExcel: _getV1OfferLettersGenerateExcel.bind(url, ...arguments),\n postV1OfferLettersImport: _postV1OfferLettersImport.bind(url, ...arguments),\n getV1OfferLettersExportExcel: _getV1OfferLettersExportExcel.bind(url, ...arguments),\n postV1OfferLettersSaveAsDraft: _postV1OfferLettersSaveAsDraft.bind(url, ...arguments),\n patchV1OfferLettersIdSaveAsDraft: _patchV1OfferLettersIdSaveAsDraft.bind(url, ...arguments),\n getV1OfferLettersIdPreviewPdf: _getV1OfferLettersIdPreviewPdf.bind(url, ...arguments),\n postV1OfferLettersIdSend: _postV1OfferLettersIdSend.bind(url, ...arguments),\n getV1OfferLettersPublicWelcomeToken: _getV1OfferLettersPublicWelcomeToken.bind(url, ...arguments),\n getV1OfferLettersPublicWelcomeTokenPdf: _getV1OfferLettersPublicWelcomeTokenPdf.bind(url, ...arguments),\n postV1OfferLettersPublicWelcomeTokenAccept: _postV1OfferLettersPublicWelcomeTokenAccept.bind(url, ...arguments),\n postV1OfferLettersPublicWelcomeTokenReject: _postV1OfferLettersPublicWelcomeTokenReject.bind(url, ...arguments),\n patchV1OfferLettersPublicWelcomeTokenDocumentsDocumentId: _patchV1OfferLettersPublicWelcomeTokenDocumentsDocumentId.bind(url, ...arguments),\n postV1OfferLettersPublicWelcomeTokenSubmit: _postV1OfferLettersPublicWelcomeTokenSubmit.bind(url, ...arguments),\n postV1OfferLettersPublicWelcomeTokenDraft: _postV1OfferLettersPublicWelcomeTokenDraft.bind(url, ...arguments),\n postV1TimeCards: _postV1TimeCards.bind(url, ...arguments),\n getV1TimeCards: _getV1TimeCards.bind(url, ...arguments),\n getV1TimeCardsId: _getV1TimeCardsId.bind(url, ...arguments),\n putV1TimeCardsId: _putV1TimeCardsId.bind(url, ...arguments),\n deleteV1TimeCardsId: _deleteV1TimeCardsId.bind(url, ...arguments),\n postV1TimeCardsSaveAsDraft: _postV1TimeCardsSaveAsDraft.bind(url, ...arguments),\n patchV1TimeCardsIdSaveAsDraft: _patchV1TimeCardsIdSaveAsDraft.bind(url, ...arguments),\n postV1TimeCardsIdPost: _postV1TimeCardsIdPost.bind(url, ...arguments),\n getV1TimeCardsGenerateExcel: _getV1TimeCardsGenerateExcel.bind(url, ...arguments),\n postV1TimeCardsImport: _postV1TimeCardsImport.bind(url, ...arguments),\n getV1TimeCardsIdEmployees: _getV1TimeCardsIdEmployees.bind(url, ...arguments),\n postV1TimeCardsEmployees: _postV1TimeCardsEmployees.bind(url, ...arguments),\n getV1TimeCardsIdEmployeeEmployeeId: _getV1TimeCardsIdEmployeeEmployeeId.bind(url, ...arguments),\n postV1TimeCardsEmployeeEmployeeId: _postV1TimeCardsEmployeeEmployeeId.bind(url, ...arguments),\n postV1Timesheets: _postV1Timesheets.bind(url, ...arguments),\n getV1Timesheets: _getV1Timesheets.bind(url, ...arguments),\n getV1TimesheetsId: _getV1TimesheetsId.bind(url, ...arguments),\n putV1TimesheetsId: _putV1TimesheetsId.bind(url, ...arguments),\n deleteV1TimesheetsId: _deleteV1TimesheetsId.bind(url, ...arguments),\n patchV1TimesheetsIdStatus: _patchV1TimesheetsIdStatus.bind(url, ...arguments),\n postV1TimesheetsSaveAsDraft: _postV1TimesheetsSaveAsDraft.bind(url, ...arguments),\n patchV1TimesheetsIdSaveAsDraft: _patchV1TimesheetsIdSaveAsDraft.bind(url, ...arguments),\n postV1TimesheetsGenerate: _postV1TimesheetsGenerate.bind(url, ...arguments),\n getV1TimesheetsIdApprovalHistory: _getV1TimesheetsIdApprovalHistory.bind(url, ...arguments),\n getV1TimesheetsIdPdf: _getV1TimesheetsIdPdf.bind(url, ...arguments),\n postV1OrganisationStructure: _postV1OrganisationStructure.bind(url, ...arguments),\n getV1OrganisationStructure: _getV1OrganisationStructure.bind(url, ...arguments),\n getV1OrganisationStructureId: _getV1OrganisationStructureId.bind(url, ...arguments),\n putV1OrganisationStructureId: _putV1OrganisationStructureId.bind(url, ...arguments),\n deleteV1OrganisationStructureId: _deleteV1OrganisationStructureId.bind(url, ...arguments),\n putV1OrganisationStructureIdTeamsTeamNodeIdTransferMembers: _putV1OrganisationStructureIdTeamsTeamNodeIdTransferMembers.bind(url, ...arguments),\n getV1OrganisationStructureHierarchyLevels: _getV1OrganisationStructureHierarchyLevels.bind(url, ...arguments),\n getV1OrganisationStructureHierarchy: _getV1OrganisationStructureHierarchy.bind(url, ...arguments),\n postV1AssetRequests: _postV1AssetRequests.bind(url, ...arguments),\n getV1AssetRequests: _getV1AssetRequests.bind(url, ...arguments),\n getV1AssetRequestsMyApprovals: _getV1AssetRequestsMyApprovals.bind(url, ...arguments),\n getV1AssetRequestsId: _getV1AssetRequestsId.bind(url, ...arguments),\n putV1AssetRequestsId: _putV1AssetRequestsId.bind(url, ...arguments),\n deleteV1AssetRequestsId: _deleteV1AssetRequestsId.bind(url, ...arguments),\n patchV1AssetRequestsIdStatus: _patchV1AssetRequestsIdStatus.bind(url, ...arguments),\n getV1AssetAllocationInUseAssets: _getV1AssetAllocationInUseAssets.bind(url, ...arguments),\n postV1AssetAllocationTransfer: _postV1AssetAllocationTransfer.bind(url, ...arguments),\n getV1AssetAllocationRequestsIdAvailableAssets: _getV1AssetAllocationRequestsIdAvailableAssets.bind(url, ...arguments),\n postV1AssetAllocationRequestsIdAssign: _postV1AssetAllocationRequestsIdAssign.bind(url, ...arguments),\n postV1AssetAllocationRequestsIdUnassign: _postV1AssetAllocationRequestsIdUnassign.bind(url, ...arguments),\n getV1ReceiveHandoverRequests: _getV1ReceiveHandoverRequests.bind(url, ...arguments),\n getV1ReceiveHandoverRequestsReturns: _getV1ReceiveHandoverRequestsReturns.bind(url, ...arguments),\n getV1ReceiveHandoverRequestsId: _getV1ReceiveHandoverRequestsId.bind(url, ...arguments),\n postV1ReceiveHandoverRequestsIdComplete: _postV1ReceiveHandoverRequestsIdComplete.bind(url, ...arguments),\n postV1ReceiveHandoverRequestsIdProcessHandover: _postV1ReceiveHandoverRequestsIdProcessHandover.bind(url, ...arguments),\n getV1ReceiveHandoverMyAssets: _getV1ReceiveHandoverMyAssets.bind(url, ...arguments),\n getV1ReceiveHandoverMyAssetsId: _getV1ReceiveHandoverMyAssetsId.bind(url, ...arguments),\n postV1ReceiveHandoverMyAssetsIdReturn: _postV1ReceiveHandoverMyAssetsIdReturn.bind(url, ...arguments),\n getV1MyAssets: _getV1MyAssets.bind(url, ...arguments),\n getV1MyAssetsReceivedAssets: _getV1MyAssetsReceivedAssets.bind(url, ...arguments),\n getV1MyAssetsId: _getV1MyAssetsId.bind(url, ...arguments),\n getV1MyAssetsCategoriesId: _getV1MyAssetsCategoriesId.bind(url, ...arguments),\n postV1MyAssetsReturn: _postV1MyAssetsReturn.bind(url, ...arguments),\n postV1DamageLossClaims: _postV1DamageLossClaims.bind(url, ...arguments),\n getV1DamageLossClaims: _getV1DamageLossClaims.bind(url, ...arguments),\n getV1DamageLossClaimsId: _getV1DamageLossClaimsId.bind(url, ...arguments),\n putV1DamageLossClaimsId: _putV1DamageLossClaimsId.bind(url, ...arguments),\n patchV1DamageLossClaimsIdStatus: _patchV1DamageLossClaimsIdStatus.bind(url, ...arguments),\n postV1DamageLossClaimsIdSuggestSplit: _postV1DamageLossClaimsIdSuggestSplit.bind(url, ...arguments),\n getV1AssetTracker: _getV1AssetTracker.bind(url, ...arguments),\n getV1AssetTrackerAssetsName: _getV1AssetTrackerAssetsName.bind(url, ...arguments),\n postV1AssetTrackerAssetsAssetIdHistory: _postV1AssetTrackerAssetsAssetIdHistory.bind(url, ...arguments),\n postV1ResourceAllocationRequests: _postV1ResourceAllocationRequests.bind(url, ...arguments),\n getV1ResourceAllocationRequests: _getV1ResourceAllocationRequests.bind(url, ...arguments),\n getV1ResourceAllocationRequestsApprovals: _getV1ResourceAllocationRequestsApprovals.bind(url, ...arguments),\n getV1ResourceAllocationRequestsId: _getV1ResourceAllocationRequestsId.bind(url, ...arguments),\n putV1ResourceAllocationRequestsId: _putV1ResourceAllocationRequestsId.bind(url, ...arguments),\n deleteV1ResourceAllocationRequestsId: _deleteV1ResourceAllocationRequestsId.bind(url, ...arguments),\n patchV1ResourceAllocationRequestsIdStatus: _patchV1ResourceAllocationRequestsIdStatus.bind(url, ...arguments),\n getV1ResourceAllocationRequestsGenerateExcel: _getV1ResourceAllocationRequestsGenerateExcel.bind(url, ...arguments),\n getV1ResourceAllocationAssignments: _getV1ResourceAllocationAssignments.bind(url, ...arguments),\n getV1ResourceAllocationAssignmentsId: _getV1ResourceAllocationAssignmentsId.bind(url, ...arguments),\n patchV1ResourceAllocationAssignmentsId: _patchV1ResourceAllocationAssignmentsId.bind(url, ...arguments),\n getV1ResourceAllocationAssignmentsIdPositionPositionId: _getV1ResourceAllocationAssignmentsIdPositionPositionId.bind(url, ...arguments),\n postV1ResourceAllocationAssignmentsIdPositionPositionId: _postV1ResourceAllocationAssignmentsIdPositionPositionId.bind(url, ...arguments),\n postV1ResourceAllocationAssignmentsAvailableEmployees: _postV1ResourceAllocationAssignmentsAvailableEmployees.bind(url, ...arguments),\n postV1LeaveRequestsLeaveManagement: _postV1LeaveRequestsLeaveManagement.bind(url, ...arguments),\n postV1LeaveRequests: _postV1LeaveRequests.bind(url, ...arguments),\n getV1LeaveRequests: _getV1LeaveRequests.bind(url, ...arguments),\n getV1LeaveRequestsPendingApprovals: _getV1LeaveRequestsPendingApprovals.bind(url, ...arguments),\n getV1LeaveRequestsId: _getV1LeaveRequestsId.bind(url, ...arguments),\n putV1LeaveRequestsId: _putV1LeaveRequestsId.bind(url, ...arguments),\n deleteV1LeaveRequestsId: _deleteV1LeaveRequestsId.bind(url, ...arguments),\n postV1LeaveRequestsSaveAsDraft: _postV1LeaveRequestsSaveAsDraft.bind(url, ...arguments),\n patchV1LeaveRequestsIdSaveAsDraft: _patchV1LeaveRequestsIdSaveAsDraft.bind(url, ...arguments),\n patchV1LeaveRequestsIdStatus: _patchV1LeaveRequestsIdStatus.bind(url, ...arguments),\n getV1LeaveRequestsIdConflicts: _getV1LeaveRequestsIdConflicts.bind(url, ...arguments),\n getV1LeaveRequestsIdApprovalHistory: _getV1LeaveRequestsIdApprovalHistory.bind(url, ...arguments),\n postV1LeaveRequestsIdAdvancePayment: _postV1LeaveRequestsIdAdvancePayment.bind(url, ...arguments),\n getV1LeaveRequestsGenerateExcel: _getV1LeaveRequestsGenerateExcel.bind(url, ...arguments),\n postV1LeaveRequestsImport: _postV1LeaveRequestsImport.bind(url, ...arguments),\n putV1LeaveRequestsLeaveRequestIdAttachments: _putV1LeaveRequestsLeaveRequestIdAttachments.bind(url, ...arguments),\n postV1LeaveManagement: _postV1LeaveManagement.bind(url, ...arguments),\n getV1LeaveManagement: _getV1LeaveManagement.bind(url, ...arguments),\n getV1LeaveManagementPendingApprovals: _getV1LeaveManagementPendingApprovals.bind(url, ...arguments),\n getV1LeaveManagementId: _getV1LeaveManagementId.bind(url, ...arguments),\n putV1LeaveManagementId: _putV1LeaveManagementId.bind(url, ...arguments),\n deleteV1LeaveManagementId: _deleteV1LeaveManagementId.bind(url, ...arguments),\n postV1LeaveManagementSaveAsDraft: _postV1LeaveManagementSaveAsDraft.bind(url, ...arguments),\n patchV1LeaveManagementIdSaveAsDraft: _patchV1LeaveManagementIdSaveAsDraft.bind(url, ...arguments),\n patchV1LeaveManagementIdStatus: _patchV1LeaveManagementIdStatus.bind(url, ...arguments),\n getV1LeaveManagementIdConflicts: _getV1LeaveManagementIdConflicts.bind(url, ...arguments),\n getV1LeaveManagementIdApprovalHistory: _getV1LeaveManagementIdApprovalHistory.bind(url, ...arguments),\n postV1LeaveManagementIdAdvancePayment: _postV1LeaveManagementIdAdvancePayment.bind(url, ...arguments),\n putV1LeaveManagementLeaveRequestIdAttachments: _putV1LeaveManagementLeaveRequestIdAttachments.bind(url, ...arguments),\n postV1Resignations: _postV1Resignations.bind(url, ...arguments),\n getV1Resignations: _getV1Resignations.bind(url, ...arguments),\n getV1ResignationsMyApprovals: _getV1ResignationsMyApprovals.bind(url, ...arguments),\n getV1ResignationsId: _getV1ResignationsId.bind(url, ...arguments),\n putV1ResignationsId: _putV1ResignationsId.bind(url, ...arguments),\n deleteV1ResignationsId: _deleteV1ResignationsId.bind(url, ...arguments),\n getV1ResignationsIdAssignedAssets: _getV1ResignationsIdAssignedAssets.bind(url, ...arguments),\n patchV1ResignationsIdStatus: _patchV1ResignationsIdStatus.bind(url, ...arguments),\n postV1ResignationsImport: _postV1ResignationsImport.bind(url, ...arguments),\n getV1ResignationsGenerateExcel: _getV1ResignationsGenerateExcel.bind(url, ...arguments),\n postV1Terminations: _postV1Terminations.bind(url, ...arguments),\n getV1Terminations: _getV1Terminations.bind(url, ...arguments),\n getV1TerminationsMyApprovals: _getV1TerminationsMyApprovals.bind(url, ...arguments),\n getV1TerminationsId: _getV1TerminationsId.bind(url, ...arguments),\n putV1TerminationsId: _putV1TerminationsId.bind(url, ...arguments),\n deleteV1TerminationsId: _deleteV1TerminationsId.bind(url, ...arguments),\n getV1TerminationsIdAssignedAssets: _getV1TerminationsIdAssignedAssets.bind(url, ...arguments),\n patchV1TerminationsIdInitiate: _patchV1TerminationsIdInitiate.bind(url, ...arguments),\n patchV1TerminationsIdStatus: _patchV1TerminationsIdStatus.bind(url, ...arguments),\n postV1TerminationsImport: _postV1TerminationsImport.bind(url, ...arguments),\n getV1TerminationsGenerateExcel: _getV1TerminationsGenerateExcel.bind(url, ...arguments),\n getV1TerminationsIdTerminationLetter: _getV1TerminationsIdTerminationLetter.bind(url, ...arguments),\n patchV1ResignationSettlementsIdAssetClearance: _patchV1ResignationSettlementsIdAssetClearance.bind(url, ...arguments),\n getV1ResignationSettlementsIdDetail: _getV1ResignationSettlementsIdDetail.bind(url, ...arguments),\n getV1ResignationSettlementsIdEmployeeFinancialOverview: _getV1ResignationSettlementsIdEmployeeFinancialOverview.bind(url, ...arguments),\n getV1ResignationSettlementsId: _getV1ResignationSettlementsId.bind(url, ...arguments),\n postV1ResignationSettlementsIdComponents: _postV1ResignationSettlementsIdComponents.bind(url, ...arguments),\n deleteV1ResignationSettlementsIdComponentsComponentId: _deleteV1ResignationSettlementsIdComponentsComponentId.bind(url, ...arguments),\n patchV1ResignationSettlementsIdComponentsComponentId: _patchV1ResignationSettlementsIdComponentsComponentId.bind(url, ...arguments),\n patchV1ResignationSettlementsIdStatus: _patchV1ResignationSettlementsIdStatus.bind(url, ...arguments),\n patchV1TerminationSettlementsIdAssetClearance: _patchV1TerminationSettlementsIdAssetClearance.bind(url, ...arguments),\n getV1TerminationSettlementsIdDetail: _getV1TerminationSettlementsIdDetail.bind(url, ...arguments),\n getV1TerminationSettlementsIdEmployeeFinancialOverview: _getV1TerminationSettlementsIdEmployeeFinancialOverview.bind(url, ...arguments),\n getV1TerminationSettlementsId: _getV1TerminationSettlementsId.bind(url, ...arguments),\n postV1TerminationSettlementsIdComponents: _postV1TerminationSettlementsIdComponents.bind(url, ...arguments),\n deleteV1TerminationSettlementsIdComponentsComponentId: _deleteV1TerminationSettlementsIdComponentsComponentId.bind(url, ...arguments),\n patchV1TerminationSettlementsIdComponentsComponentId: _patchV1TerminationSettlementsIdComponentsComponentId.bind(url, ...arguments),\n patchV1TerminationSettlementsIdStatus: _patchV1TerminationSettlementsIdStatus.bind(url, ...arguments),\n getV1MonthlyPayroll: _getV1MonthlyPayroll.bind(url, ...arguments),\n postV1MonthlyPayroll: _postV1MonthlyPayroll.bind(url, ...arguments),\n getV1MonthlyPayrollId: _getV1MonthlyPayrollId.bind(url, ...arguments),\n putV1MonthlyPayrollId: _putV1MonthlyPayrollId.bind(url, ...arguments),\n deleteV1MonthlyPayrollId: _deleteV1MonthlyPayrollId.bind(url, ...arguments),\n postV1MonthlyPayrollSaveAsDraft: _postV1MonthlyPayrollSaveAsDraft.bind(url, ...arguments),\n patchV1MonthlyPayrollIdSaveAsDraft: _patchV1MonthlyPayrollIdSaveAsDraft.bind(url, ...arguments),\n postV1MonthlyPayrollIdRun: _postV1MonthlyPayrollIdRun.bind(url, ...arguments),\n postV1MonthlyPayrollIdSubmit: _postV1MonthlyPayrollIdSubmit.bind(url, ...arguments),\n postV1MonthlyPayrollIdApprove: _postV1MonthlyPayrollIdApprove.bind(url, ...arguments),\n postV1MonthlyPayrollIdReject: _postV1MonthlyPayrollIdReject.bind(url, ...arguments),\n postV1MonthlyPayrollIdValidate: _postV1MonthlyPayrollIdValidate.bind(url, ...arguments),\n getV1SalarySheets: _getV1SalarySheets.bind(url, ...arguments),\n postV1SalarySheets: _postV1SalarySheets.bind(url, ...arguments),\n getV1SalarySheetsId: _getV1SalarySheetsId.bind(url, ...arguments),\n putV1SalarySheetsId: _putV1SalarySheetsId.bind(url, ...arguments),\n deleteV1SalarySheetsId: _deleteV1SalarySheetsId.bind(url, ...arguments),\n postV1SalarySheetsLoadData: _postV1SalarySheetsLoadData.bind(url, ...arguments),\n postV1SalarySheetsIdValidate: _postV1SalarySheetsIdValidate.bind(url, ...arguments),\n postV1SalarySheetsIdGenerateSif: _postV1SalarySheetsIdGenerateSif.bind(url, ...arguments),\n postV1SalarySheetsIdMarkProcessed: _postV1SalarySheetsIdMarkProcessed.bind(url, ...arguments),\n postV1SalarySheetsIdSaveDraft: _postV1SalarySheetsIdSaveDraft.bind(url, ...arguments),\n getV1SalarySheetsIdDownloadSif: _getV1SalarySheetsIdDownloadSif.bind(url, ...arguments),\n getV1Payslips: _getV1Payslips.bind(url, ...arguments),\n getV1PayslipsId: _getV1PayslipsId.bind(url, ...arguments),\n deleteV1PayslipsId: _deleteV1PayslipsId.bind(url, ...arguments),\n postV1PayslipsGenerate: _postV1PayslipsGenerate.bind(url, ...arguments),\n postV1PayslipsIdSendEmail: _postV1PayslipsIdSendEmail.bind(url, ...arguments),\n postV1PayslipsIdPublishEss: _postV1PayslipsIdPublishEss.bind(url, ...arguments),\n getV1PayslipsEmployeeEmployeeId: _getV1PayslipsEmployeeEmployeeId.bind(url, ...arguments),\n postV1PayslipsEmployeeEmployeeIdGenerate: _postV1PayslipsEmployeeEmployeeIdGenerate.bind(url, ...arguments),\n getV1PayslipsDownloadId: _getV1PayslipsDownloadId.bind(url, ...arguments),\n postV1ReportsEmployeeList: _postV1ReportsEmployeeList.bind(url, ...arguments),\n postV1ReportsContractList: _postV1ReportsContractList.bind(url, ...arguments),\n postV1ReportsRecruitmentRequestList: _postV1ReportsRecruitmentRequestList.bind(url, ...arguments),\n postV1ReportsRecruitmentFulfilmentAnalysis: _postV1ReportsRecruitmentFulfilmentAnalysis.bind(url, ...arguments),\n postV1ReportsDepartmentAnalysis: _postV1ReportsDepartmentAnalysis.bind(url, ...arguments),\n postV1ReportsEmployeeSalaryList: _postV1ReportsEmployeeSalaryList.bind(url, ...arguments),\n postV1ReportsResignationRequestList: _postV1ReportsResignationRequestList.bind(url, ...arguments),\n postV1ReportsTerminationRequestList: _postV1ReportsTerminationRequestList.bind(url, ...arguments),\n postV1ReportsFinalSettlementReport: _postV1ReportsFinalSettlementReport.bind(url, ...arguments),\n postV1ReportsEmployeeGratuityReport: _postV1ReportsEmployeeGratuityReport.bind(url, ...arguments),\n postV1ReportsEmployeeOvertimeReport: _postV1ReportsEmployeeOvertimeReport.bind(url, ...arguments),\n postV1ReportsLeaveRequestList: _postV1ReportsLeaveRequestList.bind(url, ...arguments),\n postV1ReportsAnnualLeaveReport: _postV1ReportsAnnualLeaveReport.bind(url, ...arguments),\n postV1ReportsEmployeeLoanList: _postV1ReportsEmployeeLoanList.bind(url, ...arguments),\n postV1ReportsPendingLoanStatus: _postV1ReportsPendingLoanStatus.bind(url, ...arguments),\n postV1ReportsSalarySheet: _postV1ReportsSalarySheet.bind(url, ...arguments),\n postV1ReportsExpenseReimbursement: _postV1ReportsExpenseReimbursement.bind(url, ...arguments),\n postV1ReportsTimeSheet: _postV1ReportsTimeSheet.bind(url, ...arguments),\n postV1ReportsResourceRequisitions: _postV1ReportsResourceRequisitions.bind(url, ...arguments),\n postV1ReportsTimeCard: _postV1ReportsTimeCard.bind(url, ...arguments),\n postV1ReportsAttendanceSummary: _postV1ReportsAttendanceSummary.bind(url, ...arguments),\n postV1ReportsMissingAttendance: _postV1ReportsMissingAttendance.bind(url, ...arguments),\n postV1ReportsEmployeeAssetRecords: _postV1ReportsEmployeeAssetRecords.bind(url, ...arguments),\n postV1ReportsAssetDamage: _postV1ReportsAssetDamage.bind(url, ...arguments),\n postV1ReportsAssetStatus: _postV1ReportsAssetStatus.bind(url, ...arguments),\n postV1ReportsEmployeeProbationReport: _postV1ReportsEmployeeProbationReport.bind(url, ...arguments),\n postV1ReportsEmployeeTurnoverReport: _postV1ReportsEmployeeTurnoverReport.bind(url, ...arguments),\n postV1ReportsPayrollVarianceReport: _postV1ReportsPayrollVarianceReport.bind(url, ...arguments),\n postV1ReportsExpiringDocumentsReport: _postV1ReportsExpiringDocumentsReport.bind(url, ...arguments),\n postV1ReportsLeaveEncashmentReport: _postV1ReportsLeaveEncashmentReport.bind(url, ...arguments),\n postV1AttendanceCheckIn: _postV1AttendanceCheckIn.bind(url, ...arguments),\n postV1AttendanceCheckOut: _postV1AttendanceCheckOut.bind(url, ...arguments),\n postV1AttendanceStartBreak: _postV1AttendanceStartBreak.bind(url, ...arguments),\n postV1AttendanceEndBreak: _postV1AttendanceEndBreak.bind(url, ...arguments),\n getV1AttendanceStatus: _getV1AttendanceStatus.bind(url, ...arguments),\n getV1AttendanceSummaryAttendanceId: _getV1AttendanceSummaryAttendanceId.bind(url, ...arguments),\n getV1Approvals: _getV1Approvals.bind(url, ...arguments)\n }\n}","// This client was generated by Platformatic from an OpenAPI specification.\n\n// The base URL for the API. This can be overridden by calling `setBaseUrl`.\nlet baseUrl = ''\n// The default headers to send within each request. This can be overridden by calling `setDefaultHeaders`.\nlet defaultHeaders = {}\n\nfunction sanitizeUrl(url) {\n if (url.endsWith('/')) { return url.slice(0, -1) } else { return url }\n}\n/** @type {import('./api-types.d.ts').Api['setBaseUrl']} */\nexport const setBaseUrl = (newUrl) => { baseUrl = sanitizeUrl(newUrl) }\n\n/** @type {import('./api-types.d.ts').Api['setDefaultHeaders']} */\nexport const setDefaultHeaders = (headers) => { defaultHeaders = headers }\n\nfunction headersToJSON(headers) {\n const output = {}\n headers.forEach((value, key) => {\n output[key] = value\n })\n return output\n}\n\nasync function _postV1Projects (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/projects/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['postV1Projects']} */\nexport const postV1Projects = async (request) => {\n return await _postV1Projects(baseUrl, request)\n}\nasync function _getV1Projects (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/projects/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1Projects']} */\nexport const getV1Projects = async (request) => {\n return await _getV1Projects(baseUrl, request)\n}\nasync function _getV1ProjectsId (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/projects/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1ProjectsId']} */\nexport const getV1ProjectsId = async (request) => {\n return await _getV1ProjectsId(baseUrl, request)\n}\nasync function _putV1ProjectsId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/projects/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['putV1ProjectsId']} */\nexport const putV1ProjectsId = async (request) => {\n return await _putV1ProjectsId(baseUrl, request)\n}\nasync function _deleteV1ProjectsId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/projects/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['deleteV1ProjectsId']} */\nexport const deleteV1ProjectsId = async (request) => {\n return await _deleteV1ProjectsId(baseUrl, request)\n}\nasync function _postV1Tasks (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/tasks/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['postV1Tasks']} */\nexport const postV1Tasks = async (request) => {\n return await _postV1Tasks(baseUrl, request)\n}\nasync function _getV1Tasks (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/tasks/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1Tasks']} */\nexport const getV1Tasks = async (request) => {\n return await _getV1Tasks(baseUrl, request)\n}\nasync function _getV1TasksId (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/tasks/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1TasksId']} */\nexport const getV1TasksId = async (request) => {\n return await _getV1TasksId(baseUrl, request)\n}\nasync function _putV1TasksId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/tasks/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['putV1TasksId']} */\nexport const putV1TasksId = async (request) => {\n return await _putV1TasksId(baseUrl, request)\n}\nasync function _deleteV1TasksId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/tasks/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['deleteV1TasksId']} */\nexport const deleteV1TasksId = async (request) => {\n return await _deleteV1TasksId(baseUrl, request)\n}\nasync function _postV1CostCodes (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-codes/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['postV1CostCodes']} */\nexport const postV1CostCodes = async (request) => {\n return await _postV1CostCodes(baseUrl, request)\n}\nasync function _getV1CostCodes (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-codes/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1CostCodes']} */\nexport const getV1CostCodes = async (request) => {\n return await _getV1CostCodes(baseUrl, request)\n}\nasync function _getV1CostCodesId (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-codes/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1CostCodesId']} */\nexport const getV1CostCodesId = async (request) => {\n return await _getV1CostCodesId(baseUrl, request)\n}\nasync function _putV1CostCodesId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-codes/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['putV1CostCodesId']} */\nexport const putV1CostCodesId = async (request) => {\n return await _putV1CostCodesId(baseUrl, request)\n}\nasync function _deleteV1CostCodesId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-codes/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['deleteV1CostCodesId']} */\nexport const deleteV1CostCodesId = async (request) => {\n return await _deleteV1CostCodesId(baseUrl, request)\n}\nasync function _postV1CostElements (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-elements/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['postV1CostElements']} */\nexport const postV1CostElements = async (request) => {\n return await _postV1CostElements(baseUrl, request)\n}\nasync function _getV1CostElements (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-elements/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1CostElements']} */\nexport const getV1CostElements = async (request) => {\n return await _getV1CostElements(baseUrl, request)\n}\nasync function _getV1CostElementsId (url, request) {\n const queryParameters = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n request[qp].forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-elements/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['getV1CostElementsId']} */\nexport const getV1CostElementsId = async (request) => {\n return await _getV1CostElementsId(baseUrl, request)\n}\nasync function _putV1CostElementsId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-elements/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['putV1CostElementsId']} */\nexport const putV1CostElementsId = async (request) => {\n return await _putV1CostElementsId(baseUrl, request)\n}\nasync function _deleteV1CostElementsId (url, request) {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/cost-elements/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\n/** @type {import('./api-types.d.ts').Api['deleteV1CostElementsId']} */\nexport const deleteV1CostElementsId = async (request) => {\n return await _deleteV1CostElementsId(baseUrl, request)\n}\nexport default function build (url, options) {\n url = sanitizeUrl(url)\n if (options?.headers) {\n defaultHeaders = options.headers\n }\n return {\n postV1Projects: _postV1Projects.bind(url, ...arguments),\n getV1Projects: _getV1Projects.bind(url, ...arguments),\n getV1ProjectsId: _getV1ProjectsId.bind(url, ...arguments),\n putV1ProjectsId: _putV1ProjectsId.bind(url, ...arguments),\n deleteV1ProjectsId: _deleteV1ProjectsId.bind(url, ...arguments),\n postV1Tasks: _postV1Tasks.bind(url, ...arguments),\n getV1Tasks: _getV1Tasks.bind(url, ...arguments),\n getV1TasksId: _getV1TasksId.bind(url, ...arguments),\n putV1TasksId: _putV1TasksId.bind(url, ...arguments),\n deleteV1TasksId: _deleteV1TasksId.bind(url, ...arguments),\n postV1CostCodes: _postV1CostCodes.bind(url, ...arguments),\n getV1CostCodes: _getV1CostCodes.bind(url, ...arguments),\n getV1CostCodesId: _getV1CostCodesId.bind(url, ...arguments),\n putV1CostCodesId: _putV1CostCodesId.bind(url, ...arguments),\n deleteV1CostCodesId: _deleteV1CostCodesId.bind(url, ...arguments),\n postV1CostElements: _postV1CostElements.bind(url, ...arguments),\n getV1CostElements: _getV1CostElements.bind(url, ...arguments),\n getV1CostElementsId: _getV1CostElementsId.bind(url, ...arguments),\n putV1CostElementsId: _putV1CostElementsId.bind(url, ...arguments),\n deleteV1CostElementsId: _deleteV1CostElementsId.bind(url, ...arguments)\n }\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n getV1Company,\n getV1LocationsCountries,\n getV1LocationsStates,\n getV1Role,\n getV1User,\n getV1UserDepartment,\n setBaseUrl,\n getV1UserModules\n} from \"../api-client/api.rbac/api\";\nimport _ from \"lodash\";\nimport {\n getV1AssemblyItems,\n getV1Bin,\n getV1Brand,\n getV1CategoryItems,\n getV1DiscountItems,\n getV1InventoryFixedAssetItems,\n getV1InventoryItems,\n getV1StockReason,\n getV1Uom,\n getV1UomTemplates,\n getV1WarehouseLocation,\n setBaseUrl as setInventoryBaseUrl,\n} from \"../api-client/api.inventory/api\";\nimport {\n getV1Assets,\n getV1AssetsAssetTypes,\n getV1AssetsJournalTypes,\n getV1BudgetBudgetMonths,\n getV1BudgetBudgetTypes,\n getV1ChartOfAccount,\n getV1CommissionPlans,\n getV1CommissionTargets,\n getV1ChartOfAccountAccountType,\n getV1Currency,\n getV1DebitNotesReasons,\n getV1ExpenseReimbursementEmployees,\n getV1ExpenseReimbursementExpenseCategories,\n getV1FiscalYear,\n getV1JournalEntries,\n getV1JournalEntriesReferenceType,\n getV1Parties,\n getV1PartiesIndustry,\n getV1PaymentTerms,\n getV1PurchaseInvoices,\n getV1PurchaseInvoicesIncoterms,\n getV1SalesInvoices,\n getV1TaxCategory,\n getV1TaxCode,\n getV1TaxTemplates,\n setBaseUrl as SetAccountingBaseUrl,\n getV1BankAccountsTypes,\n getV1Banks,\n getV1PaymentTermsDueDateTypes,\n getV1Budget,\n} from \"../api-client/api.accounting/api\";\nimport { getPartyName, getToken, showSnackBar } from \"./common\";\nimport {\n setBaseUrl as setCrmBaseUrl,\n getV1CustomerSegment,\n getV1OpportunityContact,\n getV1ShippingRules,\n getV1SalesOrders,\n getV1SourceTypes,\n} from \"../api-client/api.sales/api\";\nimport {\n getV1PurchaseAgreements,\n getV1PurchaseOrdersReceipts,\n getV1Rfq,\n setBaseUrl as setPurchaseBaseUrl,\n} from \"../api-client/api.purchase/api\";\nimport {\n setBaseUrl as setManufacturingBaseUrl,\n getV1BillsOfMaterials,\n getV1BillsOfMaterialsListMaterials,\n getV1Equipments,\n getV1EquipmentsCategories,\n getV1Operations,\n getV1Routing,\n getV1WorkCentre,\n getV1WorkCentreCategories,\n getV1WorkOrder,\n getV1GateRegisterVehicleNumbers,\n getV1GateRegisterVehicleTypes\n} from \"../api-client/api.manufacturing/api\";\nimport { getV1WorkflowReferences, setBaseUrl as setWorkflowAutomationBaseUrl } from \"../api-client/api.workflow-automation/api\";\nimport { getV1CrossHireOrders, getV1RentalAgreements, getV1RentalBillingCycles, getV1RentalTermsConditions, setBaseUrl as setRentalBaseUrl } from \"../api-client/api.rental/api\";\nimport { getV1Languages, getV1ReportsReportList, getV1Templates, setBaseUrl as setSystemFeatureBaseUrl } from \"../api-client/api.system-feature/api\";\nimport {\n getV1AccrualMaster,\n getV1AccrualType, getV1CompanyCalendar, getV1Designation, getV1DocumentMaster,\n getV1Employee, getV1EmployeeContracts, getV1Grades, getV1HireRequests, getV1JobPosts, getV1LeaveCategory, getV1LeavePolicyMaster,\n getV1LoanMaster, getV1SalaryStructureMaster, getV1Skills, getV1Teams, getV1Timezones, setBaseUrl as setHrmsBaseUrl\n} from \"../api-client/api.hrms/api\";\nimport { setBaseUrl as setDriveBaseUrl } from \"../api-client/api.drive/api\";\nimport { getApiConfig, isApiConfigInitialized, onApiConfigReady } from \"./api-config\";\nimport { getV1MyAssets } from \"../api-client/api.hrms/api\";\n\nimport { setBaseUrl as setPmsBaseUrl, getV1Projects, getV1Tasks, getV1CostCodes, getV1CostElements } from \"../api-client/api.pms/api\";\nimport { setAiFeatureBaseUrl } from \"../api-client/api.ai-feature/api\";\n\n// Initialize API base URLs using runtime configuration\n// This function should be called after the API configuration has been initialized\nexport function initializeApiBaseUrls(): void {\n if (!isApiConfigInitialized()) {\n console.warn('API configuration not initialized yet. Base URLs will be set when configuration is available.');\n return;\n }\n\n const config = getApiConfig();\n const baseUrl = config.backendBaseUrl;\n\n setBaseUrl(`${baseUrl}/rbac`);\n setInventoryBaseUrl(`${baseUrl}/inventory`);\n SetAccountingBaseUrl(`${baseUrl}/accounting`);\n setCrmBaseUrl(`${baseUrl}/sales`);\n setHrmsBaseUrl(`${baseUrl}/hrms`);\n setSystemFeatureBaseUrl(`${baseUrl}/system-feature`);\n setDriveBaseUrl(`${baseUrl}/document`);\n setRentalBaseUrl(`${baseUrl}/rental`);\n setManufacturingBaseUrl(`${baseUrl}/manufacturing`);\n setPurchaseBaseUrl(`${baseUrl}/purchase`);\n setPmsBaseUrl(`${baseUrl}/pms`);\n setAiFeatureBaseUrl(`${baseUrl}/ai-feature`);\n // setWorkflowAutomationBaseUrl(`${baseUrl}/workflow-automation`);\n}\n\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/rbac`);\n setInventoryBaseUrl(`${baseUrl}/inventory`);\n SetAccountingBaseUrl(`${baseUrl}/accounting`);\n setCrmBaseUrl(`${baseUrl}/sales`);\n setHrmsBaseUrl(`${baseUrl}/hrms`);\n setSystemFeatureBaseUrl(`${baseUrl}/system-feature`);\n setDriveBaseUrl(`${baseUrl}/document`);\n setRentalBaseUrl(`${baseUrl}/rental`);\n setManufacturingBaseUrl(`${baseUrl}/manufacturing`);\n setPurchaseBaseUrl(`${baseUrl}/purchase`);\n setPmsBaseUrl(`${baseUrl}/pms`);\n setAiFeatureBaseUrl(`${baseUrl}/ai-feature`);\n // setWorkflowAutomationBaseUrl(`${baseUrl}/workflow-automation`);\n});\n\nconst createColumns = (defaultColumn: any[] = [], select: any[] = []) => {\n const columns = [...new Set([...defaultColumn, ...select])];\n if (columns.length == 0) return \"\";\n return `[${columns.join(\",\")}]`;\n};\nfunction combineFilters(\n defaultFilter: Record<string, any> | string | null | undefined,\n newFilter: Record<string, any> | null | undefined\n): string {\n let updatedQuery = \"\";\n\n const baseFilters =\n defaultFilter && typeof defaultFilter === 'object'\n ? defaultFilter\n : {};\n const filters = { ...baseFilters, ...(newFilter || {}) };\n if (Object.keys(filters).length === 0) {\n return updatedQuery ? `(${updatedQuery})` : \"\";\n }\n Object.keys(filters).forEach(\n (key) => (updatedQuery = `${updatedQuery}${key}=${filters[key]}`)\n );\n return updatedQuery ? `(${updatedQuery})` : \"\";\n}\n\nexport const getOptions = async (\n apiFunc: (params: any) => Promise<any>,\n filters: Record<string, any>,\n dataKey: string,\n labelKey: string,\n defaultColumn: string[],\n defaultFilter: Record<string, any> | string | null | undefined = \"\",\n valueKey: string = \"id\"\n) => {\n const customeFilter = {\n ...filters,\n select: createColumns(defaultColumn, filters.select),\n filters: combineFilters(defaultFilter, filters.filters),\n order: filters?.order || `id:-1`,\n\n };\n const response = await apiFunc({\n ...customeFilter,\n ...getToken(),\n });\n\n const resolveListData = (resp: any, key: string) => {\n if (key) return resp?.data?.[key];\n if (Array.isArray(resp?.data)) return resp.data;\n if (resp?.data && typeof resp.data === 'object') {\n const values = Object.values(resp.data);\n const firstArray = values.find((v) => Array.isArray(v));\n if (Array.isArray(firstArray)) return firstArray;\n\n // Some endpoints return list data as an object keyed by numeric strings\n // e.g. { \"0\": {...}, \"1\": {...} }\n if (values.length && values.every((v) => v && typeof v === 'object')) {\n return values;\n }\n }\n return [];\n };\n\n const listData = resolveListData(response, dataKey);\n\n if (!dataKey && Array.isArray(listData)) {\n return (\n {\n data: listData?.map((item: Record<string, any>) => ({\n ...item,\n label:\n labelKey instanceof Function ? labelKey(item) : _.get(item, labelKey),\n value: _.get(item, valueKey),\n })) || [],\n pagination: response?.pagination\n })\n } else {\n return (\n {\n data: (Array.isArray(listData) ? listData : [])?.map((item: Record<string, any>) => ({\n ...item,\n label:\n labelKey instanceof Function ? labelKey(item) : _.get(item, labelKey),\n value: _.get(item, valueKey),\n })) || [],\n pagination: response?.pagination\n }\n );\n }\n};\n\nexport const apiConfigurations = {\n company: {\n name: \"companies/fetch\",\n apiFunc: getV1Company,\n dataKey: \"company\",\n labelKey: \"company_name\",\n defaultColumn: [\"id\", \"company_name\"],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n items: {\n name: \"items/fetch\",\n apiFunc: getV1InventoryItems,\n dataKey: \"inventoryItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit',\n 'location_wise_quantity',\n \"sku\"\n ],\n defaultFilter: { \"status.eq\": 1, '&(is_variant.eq': 1, '|type.eq': 'package)' },\n },\n notPackageItems: {\n name: \"items/fetch\",\n apiFunc: getV1InventoryItems,\n dataKey: \"inventoryItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit',\n \"sku\"\n ],\n defaultFilter: { \"status.eq\": 1, '&(is_variant.eq': 1, '&type.ne': 'package)' },\n },\n rentalItems: {\n name: \"items/fetch\",\n apiFunc: getV1InventoryFixedAssetItems,\n dataKey: \"inventoryFixedAssetItems\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"rental_replacement_cost\",\n 'rental_description',\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit',\n \"sku\"\n ],\n defaultFilter: {\n \"status.eq\": 1, '&is_variant.eq': 1,\n '&is_rental.eq': 1\n },\n },\n salesItems: {\n name: \"items/fetch\",\n apiFunc: getV1InventoryItems,\n dataKey: \"inventoryItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"sku\",\n \"brand_data\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"sales_replacement_cost\",\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit'\n ],\n defaultFilter: {\n \"status.eq\": 1, '&(is_variant.eq': 1,\n '|type.in': 'package,inventory-fixed-asset)',\n '&is_rental.eq': 0\n },\n },\n reportItems: {\n name: \"items/fetch\",\n apiFunc: getV1InventoryItems,\n dataKey: \"inventoryItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"sku\"\n ],\n defaultFilter: { '&is_variant.eq': 1 },\n },\n inventoryItems: {\n name: \"inventory-items/fetch\",\n apiFunc: getV1InventoryItems,\n dataKey: \"inventoryItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"type\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"is_landed_cost\",\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit',\n \"sku\"\n ],\n defaultFilter: { \"status.eq\": 1 },\n },\n fixedAssetItems: {\n name: \"fixed-asset-items/fetch\",\n apiFunc: getV1InventoryFixedAssetItems,\n dataKey: \"inventoryItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"type\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"is_landed_cost\",\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit',\n \"sku\"\n ],\n defaultFilter: { \"status.eq\": 1, '&type.eq': 'inventory-fixed-asset' },\n },\n currency: {\n name: \"currency/fetch\",\n apiFunc: getV1Currency,\n dataKey: \"currencies\",\n labelKey: \"currency_name\",\n defaultColumn: [\"id\", \"currency_name\", \"symbol\", 'number_format'],\n // defaultFilter: null,\n defaultFilter: { \"status.eq\": 1 },\n },\n salesperson: {\n name: \"salesperson/fetch\",\n apiFunc: getV1User,\n dataKey: \"users\",\n // labelKey: \"first_name\",\n defaultColumn: [\"id\", \"first_name\", \"last_name\"],\n defaultFilter: { \"is_active.eq\": 1 },\n labelKey: getPartyName,\n },\n users: {\n name: \"users/fetch\",\n apiFunc: getV1User,\n dataKey: \"users\",\n // labelKey: \"first_name\",\n defaultColumn: [\"id\", \"first_name\", \"last_name\"],\n defaultFilter: { \"is_active.eq\": 1 },\n labelKey: getPartyName,\n },\n party: {\n name: \"party/fetch\",\n apiFunc: getV1Parties,\n dataKey: \"parties_list\",\n // labelKey: getPartyName,\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\", \"company_name\", \"first_name\", \"last_name\", \"type\"],\n // defaultColumn:[]\n defaultFilter: { \"status.eq\": 1 }\n },\n department: {\n name: \"department/fetch\",\n apiFunc: getV1UserDepartment,\n dataKey: \"department\",\n labelKey: \"label\",\n defaultColumn: [\"id\", \"name\", \"label\"],\n defaultFilter: { 'status.eq': 1, '&is_draft.eq': 0 },\n },\n location: {\n name: \"location/fetch\",\n apiFunc: getV1WarehouseLocation,\n dataKey: \"warehouseLocationList\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: { \"status.eq\": 1, \"&inventory_available.eq\": 1 },\n },\n warehouselocation: {\n name: \"location/fetch\",\n apiFunc: getV1WarehouseLocation,\n dataKey: \"warehouseLocationList\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: { \"status.eq\": 1 },\n },\n uom: {\n name: \"uom/fetch\",\n apiFunc: getV1Uom,\n dataKey: \"units\",\n labelKey: \"uom_name\",\n defaultColumn: [\"id\", \"uom_name\", 'is_base_unit', 'conversation_factor'],\n defaultFilter: { \"template_id.ne\": null },\n },\n discountedItems: {\n name: \"discountItems/fetch\",\n apiFunc: getV1DiscountItems,\n dataKey: \"discountItemsList\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\", \"discount_rate_amount\", \"discount_category\"],\n defaultFilter: { \"status.eq\": 1 },\n },\n taxTemplate: {\n name: \"taxTemplate/fetch\",\n apiFunc: getV1TaxTemplates,\n dataKey: \"templates\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\", \"tax_codes\"],\n defaultFilter: null,\n },\n paymentTerm: {\n name: \"paymentTerm/fetch\",\n apiFunc: getV1PaymentTerms,\n dataKey: \"payment_terms_list\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n incoTerms: {\n name: \"incoTerms/fetch\",\n apiFunc: getV1PurchaseInvoicesIncoterms,\n dataKey: \"incoterm\",\n labelKey: \"term\",\n defaultColumn: [\"id\", \"term\"],\n defaultFilter: null,\n },\n shippingRules: {\n name: \"shippingRules/fetch\",\n apiFunc: getV1ShippingRules,\n dataKey: \"shippingRules\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\", \"shipping_cost\", \"handling_cost\"],\n defaultFilter: { 'status.ne': 'Draft' },\n },\n bins: {\n name: \"bins/fetch\",\n apiFunc: getV1Bin,\n dataKey: \"binsList\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n agreement: {\n name: \"agreement/fetch\",\n apiFunc: getV1PurchaseAgreements,\n dataKey: \"purchase_agreements\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n invoices: {\n name: \"purchaseInvoices/fetch\",\n apiFunc: getV1PurchaseInvoices,\n dataKey: \"invoices\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n defaultFilter: null,\n },\n purchaseOrderReceipts: {\n name: \"purchaseGRNs/fetch\",\n apiFunc: getV1PurchaseOrdersReceipts,\n dataKey: \"grns\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n defaultFilter: null,\n },\n representatives: {\n name: \"representatives/fetch\",\n apiFunc: getV1ExpenseReimbursementEmployees,\n dataKey: \"employees_list\",\n // labelKey: \"first_name\",\n defaultFilter: { \"is_active.eq\": 1 },\n defaultColumn: [\"id\", \"first_name\", \"last_name\"],\n labelKey: getPartyName,\n },\n categoryItems: {\n name: \"categoryItems/fetch\",\n apiFunc: getV1CategoryItems,\n dataKey: \"categoryItemsList\",\n labelKey: \"category_name\",\n defaultColumn: [\"id\", \"category_name\"],\n defaultFilter: { 'status.eq': 1 },\n },\n customerSegment: {\n name: \"customerSegment/fetch\",\n apiFunc: getV1CustomerSegment,\n dataKey: \"customerSegments\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\", \"status\"],\n defaultFilter: { 'status.ne': 'Draft' },\n },\n accounts: {\n name: \"account/fetch\",\n apiFunc: getV1ChartOfAccount,\n dataKey: \"coa_list\",\n labelKey: \"account_name\",\n defaultColumn: [\"id\", \"account_name\", 'currency_id', 'currency_data', 'account_type_id'],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n account: {\n name: \"account/fetch\",\n apiFunc: getV1ChartOfAccount,\n dataKey: \"coa_list\",\n labelKey: \"account_name\",\n defaultColumn: [\"id\", \"account_name\", 'currency_id', 'currency_data', 'account_type_id'],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n industry: {\n name: \"inductry/fetch\",\n apiFunc: getV1PartiesIndustry,\n dataKey: \"activity_list\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n bom: {\n name: \"bom/fetch\",\n apiFunc: getV1BillsOfMaterials,\n dataKey: \"bom_list\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: { \"is_active.eq\": 1, \"&status.eq\": 'Approved' },\n },\n routing: {\n name: \"routing/fetch\",\n apiFunc: getV1Routing,\n dataKey: \"routings\",\n labelKey: \"route_name\",\n defaultColumn: [\"id\", \"route_name\"],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n workCenter: {\n name: \"workCenter/fetch\",\n apiFunc: getV1WorkCentre,\n dataKey: \"workCentres\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n },\n workOrder: {\n name: \"workOrder/fetch\",\n apiFunc: getV1WorkOrder,\n dataKey: \"workOrders\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n defaultFilter: { \"is_active.eq\": 1, \"&status.ne\": \"Draft\" },\n },\n vehicleNumbers: {\n name: \"vehicleNumbers/fetch\",\n apiFunc: getV1GateRegisterVehicleNumbers,\n dataKey: \"vehicleNumbers\",\n labelKey: \"number\",\n defaultColumn: [\"id\", \"number\"],\n defaultFilter: null,\n },\n vehicleTypes: {\n name: \"vehicleTypes/fetch\",\n apiFunc: getV1GateRegisterVehicleTypes,\n dataKey: \"vehicleTypes\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n operations: {\n name: \"operations/fetch\",\n apiFunc: getV1Operations,\n dataKey: \"operations\",\n labelKey: \"operation_name\",\n defaultColumn: [\"id\", \"operation_name\"],\n defaultFilter: null,\n },\n assets: {\n name: \"assets/fetch\",\n apiFunc: getV1Assets,\n dataKey: \"assets_list\",\n labelKey: \"asset_name\",\n defaultColumn: [\"id\", \"asset_name\"],\n defaultFilter: { 'status.ne': 'cancelled' },\n },\n assetsPo: {\n name: \"assets/fetch\",\n apiFunc: getV1Assets,\n dataKey: \"assets_list\",\n labelKey: \"asset_name\",\n defaultColumn: [\"id\", \"asset_name\"],\n },\n equipmentCategories: {\n name: \"equipmentCategories/fetch\",\n apiFunc: getV1EquipmentsCategories,\n dataKey: \"categories\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n equipment: {\n name: \"equipment/fetch\",\n apiFunc: getV1Equipments,\n dataKey: \"equipments\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\", \"equipment_category_data\"],\n defaultFilter: { 'status.ne': 'Draft' },\n },\n workCenterCategories: {\n name: \"workCenterCategories/fetch\",\n apiFunc: getV1WorkCentreCategories,\n dataKey: \"work_centre_categories_list\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n rawMaterials: {\n name: \"rawMaterials/fetch\",\n apiFunc: getV1BillsOfMaterialsListMaterials,\n dataKey: \"materials_list\",\n labelKey: \"item_data.name\",\n defaultColumn: [\"id\", \"item_data\"],\n defaultFilter: null,\n },\n countries: {\n name: \"countries/fetch\",\n apiFunc: getV1LocationsCountries,\n dataKey: \"countries\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n rfqs: {\n name: \"rfqs/fetch\",\n apiFunc: getV1Rfq,\n dataKey: \"rfqs\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n defaultFilter: { 'status.ne': 'Draft' },\n },\n states: {\n name: \"states/fetch\",\n apiFunc: getV1LocationsStates,\n dataKey: \"states\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n assemblyItems: {\n name: \"assenmblyItems/fetch\",\n apiFunc: getV1AssemblyItems,\n dataKey: \"assemblyItemsList\",\n labelKey: (item: Record<string, any>) => `${item.sku} - ${item.name}`,\n defaultColumn: [\n \"id\",\n \"name\",\n \"type\",\n \"unit_of_measurement\",\n \"default_tax_id\",\n \"sales_price\",\n \"sales_description\",\n \"total_available_quantity\",\n \"total_reserved_quantity\",\n \"purchase_price\",\n \"purchase_description\",\n \"cost\",\n \"is_landed_cost\",\n \"total_on_hand_quantity\",\n 'purchase_unit',\n 'sales_unit',\n 'consumption_unit',\n 'stock_unit',\n \"sku\"\n ],\n defaultFilter: { \"status.eq\": 1, '&is_variant.eq': 1 },\n },\n journal_type: {\n name: \"journal/fetch\",\n apiFunc: getV1AssetsJournalTypes,\n dataKey: \"journal_types\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"series_number\", \"name\"],\n },\n journal_entries: {\n name: \"journal-entries/fetch\",\n apiFunc: getV1JournalEntries,\n dataKey: \"journal_entries\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n },\n reference_types: {\n name: \"referenceTypes/fetch\",\n apiFunc: getV1JournalEntriesReferenceType,\n dataKey: \"reference_types\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n },\n invoice: {\n name: \"invoice/fetch\",\n apiFunc: getV1SalesInvoices,\n dataKey: \"invoices\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n },\n bills: {\n name: \"bills/fetch\",\n apiFunc: getV1PurchaseInvoices,\n dataKey: \"invoices\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n },\n notesReasons: {\n name: \"notesReasons/fetch\",\n apiFunc: getV1DebitNotesReasons,\n dataKey: \"reasons\",\n labelKey: \"reason_name\",\n defaultColumn: [\"id\", \"reason_name\"],\n },\n expenseCategories: {\n name: \"expenseCategories/fetch\",\n apiFunc: getV1ExpenseReimbursementExpenseCategories,\n dataKey: \"expense_category_list\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n },\n commissionTarget: {\n name: \"commissionTargets/fetch\",\n apiFunc: getV1CommissionTargets,\n dataKey: \"commission_targets\",\n labelKey: \"series_number\",\n defaultColumn: [\"id\", \"series_number\"],\n defaultFilter: { \"is_draft.eq\": 0 },\n },\n commissionPlan: {\n name: \"commissionPlans/fetch\",\n apiFunc: getV1CommissionPlans,\n dataKey: \"commission_plans\",\n labelKey: \"title\",\n defaultColumn: [\"id\", \"title\", 'type'],\n defaultFilter: { \"status.eq\": 1 },\n },\n assetTypes: {\n name: \"assetTypes/fetch\",\n apiFunc: getV1AssetsAssetTypes,\n dataKey: \"asset_types\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n fiscalYear: {\n name: \"fiscalYear/fetch\",\n apiFunc: getV1FiscalYear,\n dataKey: \"fiscal\",\n labelKey: \"year_name\",\n defaultColumn: [\"id\", \"year_name\", 'year_start_date', 'year_end_date'],\n defaultFilter: null,\n },\n budgetMonth: {\n name: \"budgetMonth/fetch\",\n apiFunc: getV1BudgetBudgetMonths,\n dataKey: \"budget_months\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n budgetType: {\n name: \"budgetType/fetch\",\n apiFunc: getV1BudgetBudgetTypes,\n dataKey: \"budget_types\",\n labelKey: \"name\",\n defaultColumn: [\"id\", \"name\"],\n defaultFilter: null,\n },\n account_types: {\n name: \"accountTypes/fetch\",\n apiFunc: getV1ChartOfAccountAccountType,\n dataKey: \"activity_list\",\n labelKey: \"type_name\",\n defaultColumn: [\"id\", \"type_name\"],\n },\n taxCategories: {\n name: \"taxCategories/fetch\",\n apiFunc: getV1TaxCategory,\n dataKey: 'tax_category_list',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n taxCodes: {\n name: 'taxCodes/fetch',\n apiFunc: getV1TaxCode,\n dataKey: 'tax_code',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n bankAccountType: {\n name: 'bankAccountType/fetch',\n apiFunc: getV1BankAccountsTypes,\n dataKey: 'account_types',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n bank: {\n name: 'bank/fetch',\n apiFunc: getV1Banks,\n dataKey: 'banks_list',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n dueDateType: {\n name: 'dueDateType/fetch',\n apiFunc: getV1PaymentTermsDueDateTypes,\n dataKey: 'due_date_list',\n labelKey: \"value\",\n defaultColumn: ['id', 'value']\n },\n brand: {\n name: 'brand/fetch',\n apiFunc: getV1Brand,\n dataKey: '',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n stockReason: {\n name: 'stockReason/fetch',\n apiFunc: getV1StockReason,\n dataKey: '',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n contacts: {\n name: 'contacts/fetch',\n apiFunc: getV1OpportunityContact,\n dataKey: '',\n labelKey: \"name\",\n defaultColumn: ['id', 'name']\n },\n rnTermsConditions: {\n name: 'rnTermsConditions/fetch',\n apiFunc: getV1RentalTermsConditions,\n dataKey: 'terms_and_conditions',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { 'is_active.eq': 1 },\n },\n rnAgreements: {\n name: 'rnAgreements/fetch',\n apiFunc: getV1RentalAgreements,\n dataKey: 'purchase_agreements',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { 'status.eq': \"'In Progress'\", '&is_rental.eq': 1 },\n },\n rnBillingCycle: {\n name: 'rnTermsConditions/fetch',\n apiFunc: getV1RentalBillingCycles,\n dataKey: 'billing_cycles',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: null,\n },\n // priceList:{\n // name:'priceList/fetch',\n // apiFunc: getV1PriceLis,\n // dataKey:'',\n // labelKey: \"name\",\n // defaultColumn:['id','name']\n // },\n rnChOrders: {\n name: 'rnChOrders/fetch',\n apiFunc: getV1CrossHireOrders,\n dataKey: 'purchase_orders',\n labelKey: \"series_number\",\n defaultColumn: ['id', 'series_number'],\n defaultFilter: { '&is_rental.eq': 1 },\n },\n languages: {\n name: 'languages/fetch',\n apiFunc: getV1Languages,\n dataKey: 'languages',\n labelKey: \"name\",\n defaultColumn: ['id', 'name', 'code'],\n },\n roles: {\n name: 'roles/fetch',\n apiFunc: getV1Role,\n dataKey: 'roles',\n labelKey: \"name\",\n defaultColumn: ['id', 'name', 'code'],\n },\n reports: {\n name: 'reports/fetch',\n apiFunc: getV1ReportsReportList,\n dataKey: 'reports',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n uom_templates: {\n name: 'uomTemplate/fetch',\n apiFunc: getV1UomTemplates,\n dataKey: 'templates',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n templates: {\n name: 'templates/fetch',\n apiFunc: getV1Templates,\n labelKey: \"subject_id\",\n valueKey: \"_id\",\n defaultColumn: ['_id', 'subject_id', 'name'],\n },\n workflow_reference: {\n name: 'workflow_reference/fetch',\n apiFunc: getV1WorkflowReferences,\n dataKey: 'workflow_reference',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n grades: {\n name: 'grades/fetch',\n apiFunc: getV1Grades,\n dataKey: 'grades',\n labelKey: \"grade_name\",\n defaultColumn: ['id', 'grade_name'],\n },\n useModules: {\n name: 'useModules/fetch',\n apiFunc: getV1UserModules,\n dataKey: 'modules',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n\n // HRMS\n timezone: {\n name: 'timezone/fetch',\n apiFunc: getV1Timezones,\n dataKey: 'timezones',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n designation: {\n name: 'designation/fetch',\n apiFunc: getV1Designation,\n dataKey: 'designations',\n labelKey: \"name\",\n defaultFilter: { 'status.eq': 1 },\n defaultColumn: ['id', 'name'],\n },\n team: {\n name: 'team/fetch',\n apiFunc: getV1Teams,\n dataKey: 'teams',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n accural_type: {\n name: 'accural_type/fetch',\n apiFunc: getV1AccrualType,\n dataKey: 'accural_types',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n accrual_master: {\n name: 'accrual_master/fetch',\n apiFunc: getV1AccrualMaster,\n dataKey: 'accrual_master',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n leave_category: {\n name: 'leave_category/fetch',\n apiFunc: getV1LeaveCategory,\n dataKey: 'leave_categories',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n // Leave Policy Master - Manages leave policies and configurations for employees\n leave_policy_master: {\n name: 'leave_policy_master/fetch',\n apiFunc: getV1LeavePolicyMaster,\n dataKey: 'leave_policy_masters',\n labelKey: \"leave_type_title\",\n defaultColumn: ['id', 'leave_type_title'],\n defaultFilter: { \"status.eq\": 1, '&is_draft.eq': 0, '&leave_category_id.isnull': false },\n },\n loan_master: {\n name: 'loan_master/fetch',\n apiFunc: getV1LoanMaster,\n dataKey: 'loan_master',\n labelKey: \"loan_name\",\n defaultColumn: ['id', 'loan_name'],\n },\n // Document Master - Manages document types and templates for HR processes\n document_master: {\n name: 'document_master/fetch',\n apiFunc: getV1DocumentMaster,\n dataKey: 'document_master',\n labelKey: \"document_type_name\",\n defaultColumn: ['id', 'document_type_name'],\n defaultFilter: { \"status.eq\": 1 },\n },\n // Company Calendar - Manages company-wide calendar events, holidays, and schedules\n company_calendar: {\n name: 'company_calendar/fetch',\n apiFunc: getV1CompanyCalendar,\n dataKey: 'company_calendars',\n labelKey: \"calendar_name\",\n defaultColumn: ['id', 'calendar_name'],\n },\n // Employee Contracts - Manages employment contracts and agreements\n employee_contract: {\n name: 'employee_contract/fetch',\n apiFunc: getV1EmployeeContracts,\n dataKey: 'employee_contracts',\n labelKey: \"contract_name\",\n defaultColumn: ['id', 'contract_name'],\n },\n // Employee Management - Core employee data and information management\n employees: {\n name: 'employees/fetch',\n apiFunc: getV1Employee,\n dataKey: 'employees',\n labelKey: \"name\",\n defaultColumn: ['id', 'name', 'account'],\n customFilter: { 'status.ne': 'Draft' },\n },\n // Salary Structures - Manages Salary Structures\n salary_structures: {\n name: 'salary_structures/fetch',\n apiFunc: getV1SalaryStructureMaster,\n dataKey: 'salary_structure_master',\n labelKey: \"structure_name\",\n defaultColumn: ['id', 'structure_name', 'min_salary', 'max_salary'],\n defaultFilter: { \"is_active.eq\": 1, '&is_draft.eq': 0 },\n },\n\n skills: {\n name: 'skills/fetch',\n apiFunc: getV1Skills,\n dataKey: 'skills',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n },\n\n hire_requests: {\n name: 'hire_requests/fetch',\n apiFunc: getV1HireRequests,\n dataKey: 'hire_requests',\n labelKey: \"series_number\",\n defaultColumn: ['id', 'series_number', 'position_name'],\n defaultFilter: { \"status.eq\": 'Accepted' },\n },\n\n job_posts: {\n name: 'job_posts/fetch',\n apiFunc: getV1JobPosts,\n dataKey: 'job_posts',\n labelKey: \"title\",\n defaultColumn: ['id', 'title'],\n },\n\n budgets_list: {\n name: 'budgets_list/fetch',\n apiFunc: getV1Budget,\n dataKey: 'budgets_list',\n labelKey: \"budget_name\",\n defaultColumn: ['id', 'budget_name'],\n defaultFilter: { \"status.eq\": 'Approved' },\n },\n employee_assets: {\n name: 'employee_assets/fetch',\n apiFunc: getV1MyAssets,\n dataKey: 'assets',\n labelKey: \"asset_name\",\n defaultColumn: ['id', 'asset_name'],\n },\n\n // PMS\n projects: {\n name: 'projects/fetch',\n apiFunc: getV1Projects,\n dataKey: 'projects',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { \"status.eq\": 'Active' },\n },\n tasks: {\n name: 'tasks/fetch',\n apiFunc: getV1Tasks,\n dataKey: 'tasks',\n labelKey: \"name\",\n defaultColumn: ['id', 'name', 'project_id'],\n defaultFilter: null,\n },\n cost_codes: {\n name: 'cost_codes/fetch',\n apiFunc: getV1CostCodes,\n dataKey: 'cost_codes',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n cost_elements: {\n name: 'cost_elements/fetch',\n apiFunc: getV1CostElements,\n dataKey: 'cost_elements',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { \"is_active.eq\": 1 },\n },\n salesOrder: {\n name: 'sales_order/fetch',\n apiFunc: getV1SalesOrders,\n dataKey: 'sales_orders',\n labelKey: \"series_number\",\n defaultColumn: ['id', 'series_number'],\n defaultFilter: { \"status.ne\": 'Draft' },\n },\n sourceType: {\n name: 'source-types/fetch',\n apiFunc: getV1SourceTypes,\n dataKey: 'source_types_list',\n labelKey: \"name\",\n defaultColumn: ['id', 'name'],\n defaultFilter: { \"status.eq\": 1 },\n },\n};\n\nexport type ApiConfigurationEntry = {\n name: string;\n apiFunc: (params: any) => Promise<any>;\n dataKey: string;\n labelKey: string | ((item: Record<string, any>) => string);\n defaultColumn: string[];\n defaultFilter?: Record<string, any> | string | null;\n valueKey?: string;\n};\n\n/**\n * Extend apiConfigurations with additional entries from consuming apps.\n * Call this before any fetchApi usage (e.g., inside ERPUIProvider initialization).\n */\nexport function extendApiConfigurations(\n entries: Record<string, ApiConfigurationEntry>\n): void {\n Object.assign(apiConfigurations, entries);\n}\n\nexport const fetchApi = async ({\n apiKey,\n filters,\n labelKey,\n valueKey\n}: {\n apiKey: keyof typeof apiConfigurations | string;\n filters: any;\n labelKey?: string;\n valueKey?: string;\n}) => {\n try {\n const config = apiConfigurations[apiKey];\n if (!config) {\n throw `API configuration for key \"${apiKey}\" not found.`;\n }\n const res = await getOptions(\n config.apiFunc,\n filters,\n config.dataKey,\n labelKey || config.labelKey,\n config.defaultColumn,\n config.defaultFilter,\n valueKey\n );\n return res;\n } catch (error: any) {\n const newError = new Error(error);\n showSnackBar(newError);\n throw newError;\n }\n};\nexport const getCurrency = () => { };\n\nexport const getItems = () => { };\n","function formatText(key: string): string {\n return typeof key === 'string' ? key\n .split(/[: ]/)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \") : key;\n}\n\nexport const formatLabel = (key: string): string => {\n return typeof key === 'string'\n ? key\n .split(/[:_-]/)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ')\n : key;\n}\n\nexport const convertToUnderscore = (key: string): string => {\n return typeof key === 'string'\n ? key\n .split(/[:_-]/)\n .map((word) => word.charAt(0).toLowerCase() + word.slice(1))\n .join('_')\n : key;\n}\n\nexport { formatText };\nexport default formatText;\n\n// ─── Smart Search: series-number stripping ───────────────────────────────────\n\nconst TITLE_SEPARATOR = ' · ';\n\n/** Strips HTML tags so highlighted titles (<em>…</em>) can be inspected as plain text. */\nfunction stripHtmlTags(html: string): string {\n return html.replace(/<[^>]*>/g, '');\n}\n\nfunction isSeriesNumber(segment: string): boolean {\n const plain = stripHtmlTags(segment).trim();\n return (\n /^[A-Z][A-Z0-9-]+$/.test(plain) &&\n plain.includes('-') &&\n /\\d/.test(plain)\n );\n}\n\nexport function removeSeriesFromTitle(title: string): string {\n if (!title) return title;\n const parts = title.split(TITLE_SEPARATOR);\n const filtered = parts.filter((part) => !isSeriesNumber(part));\n return filtered.join(TITLE_SEPARATOR);\n}\n","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var r=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),r.call(this,t)};var o=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else o.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s;if(0===u)return this.utc(f);var r=this.clone();if(f)return r.$offset=u,r.$u=!1,r;var o=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(r=this.local().add(u+o,t)).$offset=u,r.$x.$localOffset=o,r};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\ndayjs.extend(utc);\n\nconst dateFormat = (date: string) => {\n\tconst dateParts = date && date.split(' ');\n\tconst utcDate = dateParts && dayjs(dateParts[0]);\n\tconst formattedDate = utcDate && utcDate.format('DD MMM, YYYY');\n\n\treturn formattedDate || '';\n};\n\nexport const formatOnlyTime = (time: any, date?: any, format?: any) => {\n\tif (!time) return '';\n\tconst d = date || dayjs(date).isValid() ? dayjs(date) : dayjs();\n\tconst [h, m, s] = time.split(':').map(Number);\n\n\tconst fTime = d.hour(h).minute(m).second(s);\n\n\treturn format ? fTime.format(format) : fTime;\n};\n\nexport const formatDate = (date?: any, format?: any) => {\n\tif (!date) return '';\n\n\tconst d = dayjs(date);\n\n\tif (!d.isValid()) return '';\n\n\treturn format ? d.format(format) : d.format('DD-MM-YYYY');\n};\n\nexport const formatDataTime = (date: string) => {\n\tif (!date) return ''; \n \n\t// Parse the date without converting it to a timezone\n\tconst parsedDate = dayjs(date);\n \n\tif (!parsedDate.isValid()) return ''; \n \n\treturn parsedDate.format('DD MMM, YYYY • HH:mm');\n }\n \nexport { dateFormat };\nexport default dateFormat;\n\nexport const getMinutesFromTime = (timeString) => {\n\tif(!timeString) return 0\n const time = dayjs(timeString, \"HH:mm:ss\");\n return time.hour() * 60 + time.minute(); // Convert hours to minutes and add minutes\n};\n\nexport const getTimeFromMinutes = (minutes) => {\n\tif(!minutes)return undefined\n\treturn dayjs().startOf(\"day\").add(Number(minutes), \"minutes\").format(\"HH:mm:ss\");\n};\n\nexport const UTCDateFormat = (date: string,format) => {\n\tif(!date) return null\n\tconst dateObj = dayjs.utc(date.replace(' ', 'T').slice(0, 26)).toISOString()\n\treturn formatDate(dateObj, format);\n};\n\nexport const formatUtcDate = (date?: any, format?: any) => {\n\tif (!date) return '';\n\n\tconst d = dayjs.utc(date);\n\n\tif (!d.isValid()) return '';\n\n\treturn format ? d.format(format) : d.format('DD-MM-YYYY');\n};","export const subModuleMappings: Record<string, string> = {\n \"chart-of-accounts\": \"chart-of-account\",\n \"tax-template\": \"tax-templates\",\n \"bank\": \"banks\",\n \"bank-account\": \"bank-accounts\",\n \"journal-entry\": \"journal-entries\",\n \"payment\": \"payment-entries\",\n \"collection\": \"payment-entries\",\n \"debit-note\": \"debit-notes\",\n \"credit-note\": \"credit-notes\",\n \"customer-management\": \"parties\",\n \"vendor-management\": \"parties\",\n \"bill-of-material\": \"bills-of-materials\",\n \"payment-request\": \"sales-invoices/request-payment\",\n \"commission-plan\": \"commission-plans\",\n \"target\": \"commission-targets\",\n \"assignment\": \"commission-assignment\",\n \"assets-management\": \"assets\",\n \"asset-transfer\":\"assets-transfer\",\n \"authorize-commission\": \"commission/authorize\",\n \"reconciliation\": \"reconciliaton\",\n \"expense-report\": \"expense-reimbursement\",\n \"items\":\"inventory-items\",\n \"discounted-item\":\"discount-items\",\n \"location\":\"warehouse-location\",\n \"stock-transfer\":\"stock-transfers\",\n \"scrap\":\"stock-transfers\",\n \"bins\":\"bin\",\n \"item-category\": \"category-items\",\n \"operation-blocks\":\"operation-block\",\n \"work-centers\":\"work-centre\",\n \"work-center-categories\":\"work-centre-categories\",\n \"equipment-failure\":\"equipments/failures\",\n \"manage-operations\":\"job-cards/operations\",\n \"unbuild-order\":\"unbuild-orders\",\n \"build-order\":\"build-orders\",\n \"shippment-rules\":\"shipping-rules\",\n \"promotions\":\"promotion\",\n \"customer-segments\":\"customer-segment\",\n \"requests\": \"purchase-requests\",\n \"request-for-quote\": \"rfq\",\n \"purchase-order\": \"purchase-orders\",\n \"vendor-returns\": \"vra\",\n \"delivery-order\": \"delivery-orders\",\n \"landed-cost\": \"landing-cost\",\n \"billing-cycle\":\"rental-billing-cycles\",\n \"terms-and-conditions\":\"rental-terms-conditions\",\n \"leads\":\"rental-lead\",\n 'agreements': \"rental-agreements\",\n \"department-master\": \"departments\",\n };\n \n \nexport const specificFilters: Record<string, string> = {\n \"payment\": \"payment_type.eq=Send\",\n \"collection\": \"payment_type.eq=Receive\",\n \"customer-management\": \"type.eq=Customer\",\n \"vendor-management\": \"type.eq=Vendor\",\n \"scrap\":\"operation_type.in=[Scrap]\",\n \"items\":\"is_variant.eq=false|self_variant.eq=true\",\n \"item\": 'is_variant.eq=false|self_variant.eq=true',\n 'agreements':\"is_rental.eq=1\",\n \n };","import { MaterialTableColumnProps } from \"../components/material-table/material-table\";\nimport { formatLabel } from \"./format-text\";\n\nexport const SECTION_TYPES = {\n DEFAULT: \"Default\",\n FORM_SWITCH_SECTION: \"Form switcher section\",\n}\n\nexport const responseItemDetailsColumns: MaterialTableColumnProps[] = [\n {\n header: \"rental.crossHireRfq.table.vendor_header\",\n accessorKey: \"item_data.vendor_info.vendor_name\",\n visible: true,\n type: \"custom_link\",\n },\n {\n header: \"rental.crossHireRfq.table.rate_header\",\n accessorKey: \"rate\",\n visible: true,\n type: \"currency\",\n },\n {\n header: \"rental.crossHireRfq.table.minimum_order_quantity\",\n accessorKey: \"min_order_quantity\",\n visible: true,\n type: \"number\",\n },\n {\n header: \"rental.crossHireRfq.table.vendor_uom_header\",\n accessorKey: \"vendor_uom_data.name\",\n visible: true,\n type: \"string\",\n },\n {\n header: \"rental.crossHireRfq.table.specification_header\",\n accessorKey: \"specification\",\n visible: false,\n type: \"string\",\n },\n {\n header: \"rental.crossHireRfq.table.condition_header\",\n accessorKey: \"conditions\",\n visible: false,\n type: \"string\",\n },\n // {\n // header: \"rental.crossHireRfq.table.notes_header\", \n // accessorKey: \"notes\",\n // visible: false,\n // type: \"string\",\n // },\n {\n header: \"rental.crossHireRfq.table.narration_header\",\n accessorKey: \"narration\",\n visible: false,\n type: \"string\",\n },\n];\n\n\nexport const INVENTORY_MATERIAL_COSTING_TYPE_ARR = [\n 'pipe_costing',\n 'boards_costing',\n 'steel_sheets',\n 'coil',\n 'cuplock',\n \"lvl_board\",\n \"ladder_aluminium\",\n \"ladder_beam\",\n \"flat_bar\",\n \"angles\",\n \"ladder_steel\",\n \"steel_board\",\n 'structural_fabrication'\n]\n\nexport const INVENTORY_MATERIAL_COSTING_TYPE_OPTIONS = INVENTORY_MATERIAL_COSTING_TYPE_ARR.map((value) => ({ label: formatLabel(value), value }))\n\n// Interface for form values\nexport type FieldDisableConfig = Record<string, any>;\n\nexport const INVENTORY_FIELDS_TO_BE_DISABLED: FieldDisableConfig = {\n pipe_costing: {\n tube_type: {\n Round: ['shape_width', 'shape_height'],\n Rectangular: ['tube_od',],\n Square: ['tube_od'],\n NO_VALUE: ['shape_width', 'shape_height', 'tube_od'],\n }\n },\n is_rental: {\n 1: ['sales_price', 'alternative_product_sell', 'sales_description', \"price_rules\" , \"sales_replacement_cost\"],\n 0: ['rental_base_price', 'rental_hour_fine', 'rental_day_fine', 'rental_security_time', \"rental_prices\", 'rental_description', \"rental_replacement_cost\"],\n true: ['sales_price', 'alternative_product_sell', 'sales_description', \"price_rules\" , \"sales_replacement_cost\"],\n false: ['rental_base_price', 'rental_hour_fine', 'rental_day_fine', 'rental_security_time', \"rental_prices\", 'rental_description', \"rental_replacement_cost\"],\n NO_VALUE: ['rental_base_price', 'rental_hour_fine', 'rental_day_fine', 'rental_security_time', \"rental_prices\", 'rental_description', \"rental_replacement_cost\" ],\n }\n}\n\nexport const INVENTORY_ALWAYS_DISABLED_FIELDS = ['update_quantity', 'moves_history', 'variants', 'bom', 'location_wise_stock', 'purchase_price', 'base_unit'];\nexport const INVENTORY_ADD_MODE_DISABLED_FIELDS = ['vendor_information', 'update_quantity', 'moves_history', 'reordering_rules', 'variants', 'location_wise_stock', 'bin_wise_stock', 'serial_lot_wise_stock', 'bom'];\nexport const INVENTORY_EDIT_MODE_DISABLED_FIELDS = ['price_rules', 'variants', 'category', 'brand', 'traceability', 'bom', 'location_wise_stock', 'bin_wise_stock', 'serial_lot_wise_stock'];\nexport const INVENTORY_VARIANT_DISABLED_FIELDS = [\n 'category',\n 'parent_item',\n 'attributes',\n 'brand',\n 'alternative_product_sell',\n // 'default_tax_id',\n // 'income_account_id',\n // 'asset_account_id',\n // 'cogs_account_id',\n 'traceability',\n 'location_wise_stock',\n 'bin_wise_stock',\n 'serial_lot_wise_stock'\n];\n","import dayjs from \"dayjs\";\nimport { auth } from \"../constants/auth\";\nimport _ from \"lodash\";\nimport { getV1PartiesId, postV1CurrencyInfo, postV1PartiesCheck, setBaseUrl } from \"../api-client/api.accounting/api\";\nimport { enqueueSnackbar } from \"notistack\";\nimport { fetchApi } from \"./api\";\nimport formatText from \"./format-text\";\nimport { formatDate } from \"./dateFormat\";\nimport { subModuleMappings, specificFilters } from './export-filters'\nimport parsePhoneNumberFromString from \"libphonenumber-js\";\nimport moment from 'moment-timezone'\nimport { getV1CrossHireRfqResponseItems, setBaseUrl as rentalSetBaseUrl } from \"../api-client/api.rental/api\";\nimport { getV1RfqResponseItems, setBaseUrl as purchaseSetBaseUrl } from \"../api-client/api.purchase/api\";\nimport { getV1AssemblyItemsId, postV1InventoryItemsCheck, setBaseUrl as inventorySetBaseUrl } from \"../api-client/api.inventory/api\";\nimport { getV1LocationsCountries, setBaseUrl as rbacSetBaseUrl } from \"../api-client/api.rbac/api\";\nimport { setBaseUrl as hrmsSetBaseUrl } from \"../api-client/api.hrms/api\";\nimport { postV1LeadCheck } from \"../api-client/api.sales/api\";\nimport { getApiConfig, onApiConfigReady } from \"./api-config\";\n// import { postV1LeadCheck } from \"../api-client/api.sales/api\";\nimport { FieldDisableConfig, INVENTORY_ADD_MODE_DISABLED_FIELDS, INVENTORY_ALWAYS_DISABLED_FIELDS, INVENTORY_EDIT_MODE_DISABLED_FIELDS, INVENTORY_FIELDS_TO_BE_DISABLED, INVENTORY_MATERIAL_COSTING_TYPE_ARR, INVENTORY_MATERIAL_COSTING_TYPE_OPTIONS } from \"./constant\";\n\n// Use onApiConfigReady to ensure setBaseUrl calls happen after API config is initialized\n// This prevents module initialization order issues where common.ts might be imported\n// before ERPUIProvider calls initializeApiConfig()\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/accounting`);\n inventorySetBaseUrl(`${baseUrl}/inventory`);\n rbacSetBaseUrl(`${baseUrl}/rbac`);\n rentalSetBaseUrl(`${baseUrl}/rental`);\n purchaseSetBaseUrl(`${baseUrl}/purchase`);\n hrmsSetBaseUrl(`${baseUrl}/hrms`);\n});\nexport const isJsonParse = (jsonString?: string) => {\n if (!jsonString) return false;\n try {\n return JSON.parse(jsonString);\n } catch (err) {\n return false;\n }\n};\n\nexport const generateRandomId = (concatString: string = \"\") => {\n const uniqueStringId = `${Date.now()}${concatString}${Math.random()}`.replace(\n \".\",\n \"\"\n );\n const uniqueNumberId = Number(uniqueStringId.replace(concatString, \"\"));\n\n return { uniqueStringId, uniqueNumberId };\n};\n\nexport const generateAndFormatStringFromObj = (\n obj: any = {},\n keysInOrder: string[] = []\n) => {\n let string = \"\";\n\n keysInOrder?.forEach((key) => {\n if (obj?.[key]) {\n string = string ? string + ` ${obj?.[key]}` : obj?.[key];\n }\n });\n\n return string;\n};\n\nexport const generateFields = (fieldsConfig: any) => {\n const defaultOperators = [\n { name: \"null\", label: \"is null\" },\n { name: \"notNull\", label: \"is not null\" },\n ];\n\n const textOperators = [\n { name: \"contains\", label: \"contains\" },\n { name: \"beginsWith\", label: \"begins with\" },\n { name: \"endsWith\", label: \"ends with\" },\n { name: \"doesNotContain\", label: \"does not contain\" },\n { name: \"doesNotBeginWith\", label: \"does not begin with\" },\n { name: \"doesNotEndWith\", label: \"does not end with\" },\n ...defaultOperators,\n ];\n\n const numberOperators = [\n { name: \"=\", label: \"equal to\" },\n { name: \"<\", label: \"less than\" },\n { name: \"<=\", label: \"less than or equal to\" },\n { name: \">\", label: \"greater than\" },\n { name: \">=\", label: \"greater than or equal to\" },\n ...defaultOperators,\n ];\n\n const selectOperators = [\n { name: \"in\", label: \"in\" },\n { name: \"notIn\", label: \"not in\" },\n ...defaultOperators,\n ];\n\n const dropdownOperators = [{ name: \"in\", label: \"in\" }];\n\n const dateOperators = [\n { name: \"=\", label: \"on\" },\n { name: \"!=\", label: \"not on\" },\n { name: \"<\", label: \"before\" },\n { name: \"<=\", label: \"on or before\" },\n { name: \">\", label: \"after\" },\n { name: \">=\", label: \"on or after\" },\n ...defaultOperators,\n ];\n\n const dateTimeOperators = [\n { name: \"contains\", label: \"on\" },\n { name: \"notContain\", label: \"not on\" },\n { name: \"<\", label: \"before\" },\n { name: \"<=\", label: \"on or before\" },\n { name: \">\", label: \"after\" },\n { name: \">=\", label: \"on or after\" },\n ...defaultOperators,\n\n ];\n\n // const booleanOperators = [{ name: \"=\", label: \"is\" }];\n\n const getFieldConfig = (field: any) => {\n\n let { type, values } = field;\n const { is_aggregate = false, table = null } = field;\n const { key: name, label, fieldType } = field;\n let operators, valueEditorType, inputType, datatype;\n\n if (field?.enum) {\n type = \"select\";\n\n let fieldArr = field.enum;\n\n if (\n fieldArr &&\n !Array.isArray(fieldArr) &&\n typeof fieldArr === \"object\"\n ) {\n fieldArr = Object.values(fieldArr);\n }\n\n values = fieldArr.map((value) => ({ name: value, label: value }));\n }\n\n if (fieldType === \"select\") {\n type = \"select\";\n\n values = field?.options;\n }\n\n if (field?.boolean) {\n type = \"select\";\n\n values = field?.values || [];\n }\n\n if (field?.table) {\n type = \"table\";\n }\n\n switch (type) {\n case \"string\":\n operators = textOperators;\n valueEditorType = \"text\";\n inputType = \"text\";\n break;\n case \"number\":\n operators = numberOperators;\n valueEditorType = \"text\";\n inputType = \"number\";\n break;\n case \"select\":\n operators = selectOperators;\n valueEditorType = \"select\";\n inputType = \"select\";\n break;\n case \"table\":\n operators = dropdownOperators;\n valueEditorType = \"select\";\n inputType = \"select\";\n break;\n case \"datetime\":\n operators = dateTimeOperators;\n valueEditorType = \"text\";\n inputType = \"date\";\n datatype = \"date\";\n break;\n case \"date\":\n operators = dateOperators;\n valueEditorType = \"text\";\n inputType = \"date\";\n datatype = \"date\";\n break;\n case \"boolean\":\n operators = [...dropdownOperators, ...defaultOperators];\n valueEditorType = \"select\";\n inputType = \"select\";\n break;\n default:\n operators = textOperators;\n valueEditorType = \"text\";\n inputType = \"text\";\n }\n\n return {\n name: name.replace(\"__replaceKey\", ''),\n // name,\n label,\n valueEditorType,\n operators,\n inputType,\n datatype,\n comparator: \"datatype\",\n values,\n is_aggregate,\n table,\n };\n };\n\n return fieldsConfig.filter((f: any) => f.isFilterAllowed && f?.type).map(getFieldConfig);\n};\n\nexport const generateQueryString = (rule: any) => {\n const operatorMap = {\n null: \"eq\",\n notNull: \"ne\",\n contains: \"like\",\n beginsWith: \"like\",\n endsWith: \"like\",\n doesNotContain: \"ne\",\n notContain: \"notLike\",\n doesNotBeginWith: \"ne\",\n doesNotEndWith: \"ne\",\n \"<\": \"lt\",\n \"<=\": \"lte\",\n \">\": \"gt\",\n \">=\": \"gte\",\n \"=\": \"eq\",\n \"!=\": \"ne\",\n in: \"in\",\n notIn: \"nin\",\n };\n\n const formatValue = (operator: any, value: any) => {\n if ([\"in\", \"notIn\"].includes(operator)) {\n return `[${value}]`;\n } else if ([\"like\", \"ilike\", \"notLike\"].includes(operator)) {\n if (operator === \"beginsWith\") return `${value}%`;\n if (operator === \"endsWith\") return `%${value}`;\n return `%${value}%`;\n } else if (operator === \"null\" || operator === \"notNull\") {\n return \"\";\n } else {\n return value;\n }\n };\n\n const processRules = (rules: any) => {\n return rules.map((rule) => {\n let ruleValue = rule.value;\n if (Array.isArray(ruleValue)) {\n ruleValue = ruleValue.map(rv => {\n if (typeof rv === 'object') {\n rv = rv.name\n }\n return rv\n })\n }\n if (rule.rules) {\n\n const combinator = rule.combinator === \"or\" ? \"|\" : \"&\";\n const nestedRules = processRules(rule.rules);\n return `${nestedRules.join(combinator)}`;\n } else {\n let operator = operatorMap[rule.operator];\n\n if (\n (operator === \"in\" || operator === \"notIn\") &&\n typeof ruleValue === \"string\"\n ) {\n operator = \"eq\";\n }\n\n if (rule.operator === \"null\" || rule.operator === \"notNull\") {\n ruleValue = null;\n }\n\n const value = formatValue(operator, ruleValue);\n if (operator === \"eq\" || operator === \"ne\") {\n return `${rule.field}.${operator}=${value}`;\n }\n return `${rule.field}.${operator}=${value}`;\n }\n });\n };\n\n const combinator = rule.combinator === \"or\" ? \"|\" : \"&\";\n const processedRules = processRules(rule.rules);\n return `(${processedRules.join(combinator)})`.replace(/ /g, \"---\");\n};\n\n\n// export const formatAmount = (\n// \tamount: number | string = '',\n// \tformat: string = '',\n// \tposition: 'after' | 'before' = 'after',\n// \tsymbol?: string\n// ) => {\n\n// \tlet isNegative = false;\n// \tamount = amount.toString();\n// \tif (amount.includes('-')) {\n// \t\tamount = amount.replace('-', '');\n// \t\tisNegative = true;\n// \t}\n\n// \tif (format && amount) {\n// \t\t// Split the format into integer and decimal parts\n// \t\tconst [integerFormat, decFormat] = format.split('.');\n// \t\tlet intFormat: string | string[] = integerFormat;\n// \t\t// Convert amount to string and split into integer and decimal parts\n// \t\tconst [integerAmount, decAmount] = Math.abs(Number(amount))\n// \t\t\t.toFixed(decFormat ? decFormat.length : 0)\n// \t\t\t.toString()\n// \t\t\t.trim()\n// \t\t\t.split('.');\n// \t\tlet intAmount: string | string[] = integerAmount;\n// \t\t// let [intAmount, decAmount] = Math.abs(amount).toFixed(decFormat ? decFormat.length : 0).split('.');\n\n// \t\tconst am = intAmount.split('').reverse().join('');\n// \t\tconst formatArr: string[] = intFormat.split(',').reverse();\n\n// \t\tif (intFormat.length !== 1) {\n// \t\t\twhile (formatArr.join('').length < am.length) {\n// \t\t\t\tif (formatArr.length >= 2) {\n// \t\t\t\t\tformatArr.splice(1, 0, formatArr[1]);\n// \t\t\t\t} else {\n// \t\t\t\t\tformatArr.push(formatArr[formatArr.length - 1]);\n// \t\t\t\t}\n// \t\t\t}\n// \t\t} else {\n// \t\t\tconst formatZeroIndex = am?.split('')?.reduce((lv: string) => {\n// \t\t\t\treturn lv + '#';\n// \t\t\t}, '');\n\n// \t\t\tformatArr[0] = formatZeroIndex;\n// \t\t}\n\n// \t\tintFormat = formatArr.join(',').split('');\n\n// \t\t// Reverse the integer amount and format for easier processing from right to left\n// \t\tintAmount = intAmount.split('').reverse();\n\n// \t\tlet formattedInt = '';\n// \t\tlet intIndex = 0;\n// \t\tfor (let i = 0; i < intFormat.length; i++) {\n// \t\t\tif (intFormat[i] === '#') {\n// \t\t\t\tformattedInt +=\n// \t\t\t\t\tintAmount[intIndex] !== undefined ? intAmount[intIndex++] : '';\n// \t\t\t} else if (intFormat[i] === ',') {\n// \t\t\t\tformattedInt += intIndex > 0 ? ',' : '';\n// \t\t\t} else {\n// \t\t\t\tformattedInt += intFormat[i];\n// \t\t\t}\n// \t\t}\n\n// \t\t// Reverse back to the original order\n// \t\tformattedInt = formattedInt.split('').reverse().join('');\n\n// \t\t// Handle the decimal part\n// \t\tlet formattedDec = '';\n// \t\tif (decFormat && decAmount) {\n// \t\t\tfor (let i = 0; i < decFormat.length; i++) {\n// \t\t\t\tformattedDec +=\n// \t\t\t\t\tdecFormat[i] === '#'\n// \t\t\t\t\t\t? decAmount[i] !== undefined\n// \t\t\t\t\t\t\t? decAmount[i]\n// \t\t\t\t\t\t\t: ''\n// \t\t\t\t\t\t: decFormat[i];\n// \t\t\t}\n// \t\t}\n\n// \t\twhile (formattedInt?.startsWith(',')) {\n// \t\t\tformattedInt = formattedInt.replace(',', '');\n// \t\t}\n\n// \t\t// Combine integer and decimal parts\n// \t\tlet formattedAmount = formattedInt;\n// \t\tif (formattedDec) {\n// \t\t\tformattedAmount += '.' + formattedDec;\n// \t\t}\n\n// \t\t// Add negative sign if the amount is negative\n// \t\tif (isNegative) {\n// \t\t\tformattedAmount = '-' + formattedAmount;\n// \t\t}\n\n// \t\t// Add symbol on specific position\n// \t\tif (symbol && position) {\n\n// \t\t\tif (position === 'after') {\n// \t\t\t\tformattedAmount = formattedAmount + ' ' + symbol;\n// \t\t\t} else if (position === 'before') {\n// \t\t\t\tformattedAmount = symbol + ' ' + formattedAmount;\n// \t\t\t}\n// \t\t}\n// \t\treturn formattedAmount;\n// \t}\n\n// \treturn isNegative ? '-' + amount : amount;\n// };\n\n\nexport const getOperatorLabel = (rule: any, filterFields: any[]) => {\n const defaultOperators = [\n { name: 'null', label: 'Is null' },\n { name: 'notNull', label: 'Is not null' }\n ];\n\n const textOperators = [\n { name: 'contains', label: 'Contains' },\n { name: 'beginsWith', label: 'Begins with' },\n { name: 'endsWith', label: 'Ends with' },\n { name: 'doesNotContain', label: 'Does not contain' },\n { name: 'doesNotBeginWith', label: 'Does not begin with' },\n { name: 'doesNotEndWith', label: 'Does not end with' },\n ...defaultOperators\n ];\n\n const numberOperators = [\n { name: '=', label: 'Equal to' },\n { name: '<', label: 'Less than' },\n { name: '<=', label: 'Less than or equal to' },\n { name: '>', label: 'Greater than' },\n { name: '>=', label: 'Greater than or equal to' },\n ...defaultOperators\n ];\n\n const selectOperators = [\n { name: 'in', label: 'In' },\n { name: 'notIn', label: 'Not in' },\n ...defaultOperators\n ];\n\n const dropdownOperators = [{ name: 'in', label: 'In' }];\n\n const dateOperators = [\n { name: '=', label: 'On' },\n { name: '!=', label: 'Not on' },\n { name: '<', label: 'Before' },\n { name: '<=', label: 'On or before' },\n { name: '>', label: 'After' },\n { name: '>=', label: 'On or after' },\n ...defaultOperators\n ];\n\n const booleanOperators = [{ name: '=', label: 'is' }, ...defaultOperators];\n const { field: rField, operator } = rule;\n const field = filterFields?.find(\n (ff) => ff.key.replace('__replaceKey', '') == rField\n );\n let operatorLable = '';\n if (field) {\n let { type } = field || {};\n // const { is_aggregate = false, table = null } = field || {};\n const { fieldType } = field;\n\n if (field?.enum) {\n type = 'select';\n }\n\n if (fieldType === 'select') {\n type = 'select';\n }\n\n if (field?.boolean) {\n type = 'select';\n }\n\n if (field?.table) {\n type = 'table';\n }\n\n switch (type) {\n case 'string':\n operatorLable =\n textOperators.find((to) => to.name == operator)?.label || '';\n break;\n case 'number':\n operatorLable =\n numberOperators.find((no) => no.name == operator)?.label || '';\n break;\n case 'select':\n operatorLable =\n selectOperators.find((so) => so.name == operator)?.label || '';\n break;\n case 'table':\n operatorLable =\n dropdownOperators.find((dwo) => dwo.name == operator)?.label || '';\n break;\n case 'datetime':\n operatorLable =\n dateOperators.find((dto) => dto.name == operator)?.label || '';\n break;\n case 'date':\n operatorLable =\n dateOperators.find((dto) => dto.name == operator)?.label || '';\n break;\n case 'boolean':\n operatorLable =\n booleanOperators.find((bo) => bo.name == operator)?.label || '';\n break;\n }\n }\n\n return operatorLable;\n};\n\nexport const formatAmount = (\n amount: number | string = \"\",\n format: string = \"\",\n position: \"after\" | \"before\" = \"before\",\n symbol?: string\n): string => {\n if (amount === \"\" || amount === null || amount === undefined) {\n amount = 0;\n }\n\n if (typeof amount === \"string\") {\n amount = parseFloat(amount.replace(/[^\\d.-]/g, \"\"));\n if (isNaN(amount)) return \"\";\n }\n\n const num = parseFloat((amount as number).toFixed(2));\n\n let formatter: Intl.NumberFormat;\n\n switch (format) {\n case \"#,###.##\":\n formatter = new Intl.NumberFormat(\"en-US\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n break;\n case \"#.###,##\":\n formatter = new Intl.NumberFormat(\"de-DE\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n break;\n case \"# ###.##\":\n formatter = new Intl.NumberFormat(\"fr-FR\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n break;\n case \"# ###,##\":\n formatter = new Intl.NumberFormat(\"es-ES\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n break;\n case \"#’ ###. ##\":\n formatter = new Intl.NumberFormat(\"de-CH\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n break;\n case \"#, ###.##\":\n formatter = new Intl.NumberFormat(\"en-GB\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n break;\n default:\n formatter = new Intl.NumberFormat(\"en-US\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n }\n\n let formattedAmount = formatter.format(num);\n\n // Handle specific spacing for formats\n if (format === \"# ###.##\" || format === \"# ###,##\") {\n formattedAmount = formattedAmount.replace(/\\u00A0/g, \" \");\n }\n if (format === \"#’ ###. ##\") {\n formattedAmount = formattedAmount.replace(/\\u00A0/g, \" \").replace(/'/g, \"’\");\n }\n if (format === \"#, ###.##\") {\n formattedAmount = formattedAmount.replace(/,/g, \", \");\n }\n\n if (symbol) {\n return position === \"after\"\n ? `${formattedAmount} ${symbol}`\n : `${symbol} ${formattedAmount}`;\n }\n\n return formattedAmount;\n};\n\n\nexport const filterCoaByCompanyIdOrNull = (\n allCoa: any[],\n { companyId }: { companyId?: number | string | null | any[] }\n) => {\n if (!allCoa?.length) return [];\n\n return allCoa.filter((coa) => {\n if (companyId) {\n const ic = Array.isArray(companyId)\n ? companyId.map(Number)\n : [Number(companyId)];\n return !coa.company_ids || coa.company_ids.some((c) => ic.includes(c.id));\n }\n return !coa.company_ids;\n });\n};\n\n// type DiscountDueDateBasedOn = \"DAYS_AFTER_INVOICE_DATE\" | \"DAYS_AFTER_INVOICE_MONTH\" | \"MONTHS_AFTER_INVOICE_MONTH\";\n\nexport const validateDiscountValidity = (\n date,\n discountDueDateBasedOn,\n discountValidity\n) => {\n const currentDate = new Date();\n const dateObj = new Date(date);\n let discountEndDate;\n\n switch (discountDueDateBasedOn) {\n case \"DAYS_AFTER_INVOICE_DATE\":\n discountEndDate = new Date(dateObj);\n discountEndDate.setDate(\n discountEndDate.getDate() + parseInt(discountValidity)\n );\n break;\n case \"DAYS_AFTER_INVOICE_MONTH\":\n discountEndDate = new Date(\n dateObj.getFullYear(),\n dateObj.getMonth() + 1,\n parseInt(discountValidity)\n );\n break;\n case \"MONTHS_AFTER_INVOICE_MONTH\":\n discountEndDate = new Date(dateObj);\n discountEndDate.setMonth(\n discountEndDate.getMonth() + parseInt(discountValidity)\n );\n discountEndDate = new Date(\n discountEndDate.getFullYear(),\n discountEndDate.getMonth() + 1,\n 0\n ); // End of the month\n break;\n default:\n throw new Error(\"Invalid discount_due_date_based_on value\");\n }\n\n return currentDate <= discountEndDate;\n};\n\nconst token = localStorage.getItem(auth.storageTokenKeyName) || undefined;\nexport const postImportSheet = async (request: any, moduleName: string) => {\n\n let mainModule = window.location.pathname.split('/')[2]\n const subModuleName = window.location.pathname.split('/')[3]\n console.log(\"mainModule\", mainModule, moduleName)\n let type = ''\n if (mainModule == \"crm\") {\n mainModule = \"sales\"\n }\n if (mainModule == \"procurement\") {\n mainModule = \"purchase\"\n }\n if (mainModule == 'rental' && subModuleName == 'item') {\n mainModule = 'inventory'\n }\n if (mainModule == 'rental' && moduleName == 'quotation') {\n moduleName = 'rental-quotations'\n }\n if (mainModule == 'rental' && moduleName == 'lead') {\n moduleName = 'rental-lead'\n }\n if (mainModule == 'rental' && moduleName == 'rfq') {\n mainModule = 'purchase'\n }\n if (mainModule == 'rental' && moduleName == 'purchase-orders') {\n mainModule = 'purchase'\n }\n if (mainModule == 'rental' && moduleName == 'opportunity') {\n moduleName = 'rental-opportunity'\n }\n\n if (moduleName == 'collection-entries') {\n moduleName = 'payment-entries'\n type = 'receive'\n }\n\n\n\n const baseUrl = `${getApiConfig().backendBaseUrl}/${mainModule}`;\n\n const headers = {};\n\n headers[\"x-token\"] = token;\n // headers['Content-type'] = 'application/json; charset=utf-8';\n\n const response = await fetch(`${baseUrl}/v1/${moduleName}/import${type ? `?type=${type}` : ''}`, {\n method: \"POST\",\n body: request,\n headers,\n });\n\n if (!response.ok) {\n throw new Error(await response.text());\n }\n\n return await response.json();\n};\n\nexport const getExcelTemplateGenerateTemplate = async (request: any) => {\n const baseUrl = `${getApiConfig().backendBaseUrl}/accounting`;\n\n const headers = {};\n\n if (request[\"x-token\"] !== undefined) {\n headers[\"x-token\"] = request[\"x-token\"];\n delete request[\"x-token\"];\n }\n if (request[\"Content-Type\"] !== undefined) {\n headers[\"Content-Type\"] = request[\"Content-Type\"];\n delete request[\"Content-Type\"];\n }\n console.log(\"request\", request.resource)\n const response = await fetch(\n `${baseUrl}/v1/excel-template/generate-template?resource=${request.resource.toString()}`,\n {\n headers,\n }\n );\n\n if (!response.ok) {\n throw new Error(await response.text());\n }\n\n return await response;\n};\n\n\nexport const getExcelExportTemplate = async (request: any) => {\n const baseUrl = `${getApiConfig().backendBaseUrl}`;\n\n const headers = {};\n\n if (request[\"x-token\"] !== undefined) {\n headers[\"x-token\"] = request[\"x-token\"];\n delete request[\"x-token\"];\n }\n if (request[\"Content-Type\"] !== undefined) {\n headers[\"Content-Type\"] = request[\"Content-Type\"];\n delete request[\"Content-Type\"];\n }\n const pathParts = window.location.pathname.split(\"/\");\n const currentPath = pathParts.pop();\n const currentModule = pathParts[3];\n let moduleName = pathParts[2];\n console.log(\"selectedIds\", request)\n console.log(\"moduleName\", moduleName, currentPath, currentModule)\n if (currentPath == \"demand-planning\") {\n moduleName = \"purchase\"\n }\n if (moduleName == \"crm\") {\n moduleName = \"sales\"\n }\n if (moduleName == \"procurement\") {\n moduleName = \"purchase\"\n }\n let combinedFilters = \"\";\n const excelpath = \"generate-excel\";\n if (currentPath && specificFilters[currentPath]) {\n combinedFilters = specificFilters[currentPath];\n }\n if (currentPath === \"items\" || currentPath === 'item') {\n if (request?.title && request?.title == \"Non Inventory\") {\n request.title = \"non-inventory\"\n } else if (request?.title && request?.title == \"Assembly (Finished product)\") {\n request.title = \"assembly\"\n }\n combinedFilters += `&type.eq=${request?.title.toLowerCase()}`\n }\n if (request.filterQueryString) {\n const cleanedFilterQueryString = request.filterQueryString.replace(/[{}()]/g, \"\");\n if (combinedFilters) {\n combinedFilters = `(${combinedFilters}&${cleanedFilterQueryString})`;\n } else {\n combinedFilters = `(${cleanedFilterQueryString})`;\n }\n } else {\n combinedFilters = `(${combinedFilters})`;\n }\n if (combinedFilters === \"()\") {\n combinedFilters = \"\";\n }\n if (combinedFilters.includes(\"is_variant.eq=false|self_variant.eq=true\")) {\n if (moduleName == \"rental\") {\n combinedFilters = combinedFilters.replace(\"is_variant.eq=false|self_variant.eq=true\", \"(is_variant.eq=false|self_variant.eq=true&is_rental.eq=1)\");\n } else {\n combinedFilters = combinedFilters.replace(\"is_variant.eq=false|self_variant.eq=true\", \"(is_variant.eq=false|self_variant.eq=true)\");\n }\n }\n\n\n\n if (currentPath && !specificFilters[currentPath] && !request.filterQueryString) {\n combinedFilters = \"\"\n }\n\n let subModuleName = subModuleMappings[currentPath || \"\"] || currentPath;\n console.log(\"combinedFiltersNEWWWWWWWWWW\", moduleName, subModuleName, combinedFilters)\n if (moduleName == \"sales\" && subModuleName == \"quotation\") {\n combinedFilters = '(is_rental.eq=0)'\n }\n if (moduleName == \"sales\" && subModuleName == \"sales-orders\") {\n combinedFilters = '(is_rental.eq=0)'\n }\n if (moduleName == \"rental\" && subModuleName == \"rental-lead\") {\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == \"sales\" && subModuleName == \"lead\") {\n combinedFilters = '(is_rental.eq=0)'\n }\n\n if (\n moduleName === \"purchase\" &&\n (subModuleName === \"purchase-requests\" || subModuleName === \"rfq\" || subModuleName === \"purchase-orders\")\n ) {\n combinedFilters = '(is_rental.eq=0)';\n }\n\n if (moduleName == \"rental\" && subModuleName == \"quotation\") {\n console.log(\"rental quotation::::::::::::::::::;\")\n subModuleName = \"rental-quotations\"\n }\n if (moduleName == \"rental\" && subModuleName == \"opportunity\") {\n subModuleName = \"rental-opportunity\"\n }\n if (moduleName == 'rental' && subModuleName == 'item') {\n moduleName = \"inventory\"\n subModuleName = 'inventory-items'\n }\n if (moduleName == 'rental' && subModuleName == 'category') {\n moduleName = \"inventory\"\n subModuleName = 'category-items'\n }\n if (moduleName == 'rental' && subModuleName == 'purchase-requests') {\n subModuleName = 'cross-hire-requests'\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == 'rental' && subModuleName == 'rfq' && currentModule != 'purchase') {\n subModuleName = 'cross-hire-rfq'\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == 'rental' && subModuleName == 'rfq' && currentModule == 'purchase') {\n moduleName = 'purchase'\n combinedFilters = '(is_rental.eq=0)'\n }\n\n if (moduleName == 'rental' && subModuleName == 'orders' && request.title !== 'Rental Orders' && request.title !== 'Replacement Orders') {\n console.log(\"combinedFilters\", combinedFilters);\n subModuleName = 'cross-hire-orders'\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == 'rental' && (subModuleName == 'orders' || subModuleName == 'cross-hire-orders') && currentModule == 'purchase') {\n moduleName = 'purchase'\n subModuleName = \"purchase-orders\"\n combinedFilters = '(is_rental.eq=0)'\n }\n if (moduleName == 'rental' && subModuleName == 'rental-quotations' && request.title == \"Quotations\") {\n combinedFilters = '(is_visible.eq=1&is_rental.eq=1&is_replacement.eq=0)'\n }\n if (moduleName == 'rental' && subModuleName == 'rental-quotations' && request.title == \"Replacement Quotations\") {\n combinedFilters = '(is_visible.eq=1&is_rental.eq=1&is_replacement.eq=1)'\n }\n if (moduleName == 'rental' && subModuleName == 'orders' && request.title == 'Rental Orders') {\n subModuleName = 'rental-orders'\n combinedFilters = '(is_rental.eq=1&is_replacement.eq=0)'\n }\n if (moduleName == 'rental' && subModuleName == 'orders' && request.title == 'Replacement Orders') {\n subModuleName = 'rental-orders'\n combinedFilters = '(is_rental.eq=1&is_replacement.eq=1)'\n }\n console.log(\"moduleName\", moduleName, subModuleName, request.title)\n const queryParams: Record<string, string> = {};\n if (request.selectedIds && combinedFilters) {\n if (request.selectedIds.length > 0) {\n combinedFilters = `(${combinedFilters}&id.in=${request.selectedIds})`;\n }\n } else if (request.selectedIds) {\n if (request.selectedIds.length > 0) {\n combinedFilters = `(id.in=${request.selectedIds})`;\n }\n }\n if (combinedFilters) {\n queryParams.filters = combinedFilters;\n }\n const queryString = new URLSearchParams(queryParams).toString();\n const response = await fetch(\n `${baseUrl}/${moduleName}/v1/${subModuleName}/${excelpath}${queryString ? `?${queryString}` : \"\"\n }`,\n {\n headers,\n }\n );\n\n if (!response.ok) {\n throw new Error(await response.text());\n }\n\n return await response;\n};\n\nexport const getPdfExportTemplate = async (request: any) => {\n const baseUrl = `${getApiConfig().backendBaseUrl}`;\n const headers = {};\n\n if (request[\"x-token\"] !== undefined) {\n headers[\"x-token\"] = request[\"x-token\"];\n delete request[\"x-token\"];\n }\n if (request[\"Content-Type\"] !== undefined) {\n headers[\"Content-Type\"] = request[\"Content-Type\"];\n delete request[\"Content-Type\"];\n }\n const pathParts = window.location.pathname.split(\"/\");\n const currentPath = pathParts.pop();\n const currentModule = pathParts[3];\n let moduleName = pathParts[2];\n\n if (currentPath == \"demand-planning\") {\n moduleName = \"purchase\"\n }\n if (moduleName == \"crm\") {\n moduleName = \"sales\"\n }\n if (moduleName == \"procurement\") {\n moduleName = \"purchase\"\n }\n let combinedFilters = \"\";\n const pdfpath = \"generate-pdf\";\n if (currentPath && specificFilters[currentPath]) {\n combinedFilters = specificFilters[currentPath];\n }\n if (currentPath === \"items\" || currentPath === 'item') {\n if (request?.title && request?.title == \"Non Inventory\") {\n request.title = \"non-inventory\"\n } else if (request?.title && request?.title == \"Assembly (Finished product)\") {\n request.title = \"assembly\"\n }\n combinedFilters += `&type.eq=${request?.title.toLowerCase()}`\n }\n if (request.filterQueryString) {\n const cleanedFilterQueryString = request.filterQueryString.replace(/[{}()]/g, \"\");\n if (combinedFilters) {\n combinedFilters = `(${combinedFilters}&${cleanedFilterQueryString})`;\n } else {\n combinedFilters = `(${cleanedFilterQueryString})`;\n }\n } else {\n combinedFilters = `(${combinedFilters})`;\n }\n if (combinedFilters === \"()\") {\n combinedFilters = \"\";\n }\n if (combinedFilters.includes(\"is_variant.eq=false|self_variant.eq=true\")) {\n if (moduleName == \"rental\") {\n combinedFilters = combinedFilters.replace(\"is_variant.eq=false|self_variant.eq=true\", \"(is_variant.eq=false|self_variant.eq=true&is_rental.eq=1)\");\n } else {\n combinedFilters = combinedFilters.replace(\"is_variant.eq=false|self_variant.eq=true\", \"(is_variant.eq=false|self_variant.eq=true)\");\n }\n }\n\n if (currentPath && !specificFilters[currentPath] && !request.filterQueryString) {\n combinedFilters = \"\"\n }\n\n let subModuleName = subModuleMappings[currentPath || \"\"] || currentPath;\n\n if (moduleName == \"sales\" && subModuleName == \"quotation\") {\n combinedFilters = '(is_rental.eq=0)'\n }\n if (moduleName == \"sales\" && subModuleName == \"sales-orders\") {\n combinedFilters = '(is_rental.eq=0)'\n }\n if (moduleName == \"rental\" && subModuleName == \"rental-lead\") {\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == \"sales\" && subModuleName == \"lead\") {\n combinedFilters = '(is_rental.eq=0)'\n }\n\n if (\n moduleName === \"purchase\" &&\n (subModuleName === \"purchase-requests\" || subModuleName === \"rfq\" || subModuleName === \"purchase-orders\")\n ) {\n combinedFilters = '(is_rental.eq=0)';\n }\n\n if (moduleName == \"rental\" && subModuleName == \"quotation\") {\n subModuleName = \"rental-quotations\"\n }\n if (moduleName == \"rental\" && subModuleName == \"opportunity\") {\n subModuleName = \"rental-opportunity\"\n }\n if (moduleName == 'rental' && subModuleName == 'item') {\n moduleName = \"inventory\"\n subModuleName = 'inventory-items'\n }\n if (moduleName == 'rental' && subModuleName == 'category') {\n moduleName = \"inventory\"\n subModuleName = 'category-items'\n }\n if (moduleName == 'rental' && subModuleName == 'purchase-requests') {\n subModuleName = 'cross-hire-requests'\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == 'rental' && subModuleName == 'rfq' && currentModule != 'purchase') {\n subModuleName = 'cross-hire-rfq'\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == 'rental' && subModuleName == 'rfq' && currentModule == 'purchase') {\n moduleName = 'purchase'\n combinedFilters = '(is_rental.eq=0)'\n }\n\n if (moduleName == 'rental' && subModuleName == 'orders' && request.title !== 'Rental Orders' && request.title !== 'Replacement Orders') {\n subModuleName = 'cross-hire-orders'\n combinedFilters = '(is_rental.eq=1)'\n }\n if (moduleName == 'rental' && (subModuleName == 'orders' || subModuleName == 'cross-hire-orders') && currentModule == 'purchase') {\n moduleName = 'purchase'\n subModuleName = \"purchase-orders\"\n combinedFilters = '(is_rental.eq=0)'\n }\n if (moduleName == 'rental' && subModuleName == 'rental-quotations' && request.title == \"Quotations\") {\n combinedFilters = '(is_visible.eq=1&is_rental.eq=1&is_replacement.eq=0)'\n }\n if (moduleName == 'rental' && subModuleName == 'rental-quotations' && request.title == \"Replacement Quotations\") {\n combinedFilters = '(is_visible.eq=1&is_rental.eq=1&is_replacement.eq=1)'\n }\n if (moduleName == 'rental' && subModuleName == 'orders' && request.title == 'Rental Orders') {\n subModuleName = 'rental-orders'\n combinedFilters = '(is_rental.eq=1&is_replacement.eq=0)'\n }\n if (moduleName == 'rental' && subModuleName == 'orders' && request.title == 'Replacement Orders') {\n subModuleName = 'rental-orders'\n combinedFilters = '(is_rental.eq=1&is_replacement.eq=1)'\n }\n\n const queryParams: Record<string, string> = {};\n\n // Handle selected rows - send as separate parameter instead of adding to filters\n if (request.selectedIds && request.selectedIds.length > 0) {\n // Extract IDs - handle both array of IDs and array of objects\n let rowIds: string[] = [];\n if (Array.isArray(request.selectedIds)) {\n rowIds = request.selectedIds.map((item: any) => {\n // If item is an object with 'id' property, extract it\n if (typeof item === 'object' && item !== null && 'id' in item) {\n return String(item.id);\n }\n // Otherwise, convert directly to string\n return String(item);\n }).filter((id: string) => id && id !== 'undefined' && id !== 'null');\n } else {\n rowIds = [String(request.selectedIds)];\n }\n\n if (rowIds.length > 0) {\n queryParams.selectedRows = rowIds.join(',');\n console.log(\"Sending selectedRows:\", queryParams.selectedRows);\n }\n }\n\n // Extract visible columns from activePage - filter only visible ones and get their keys and labels\n if (request.activePage?.visible_columns && request.activePage.visible_columns.length > 0) {\n const visibleColumns = request.columns\n .filter((col: any) => col.visible !== false)\n .map((col: any) => {\n return {\n key: col.accessorKey || col.key,\n label: col.header\n };\n })\n .filter((col: any) => col.key);\n\n if (visibleColumns.length > 0) {\n queryParams.columns = JSON.stringify(visibleColumns);\n }\n }\n\n // Extract sort/order from activePage to maintain display order in PDF\n if (request.activePage?.sort) {\n const hasSort = Array.isArray(request.activePage.sort)\n ? request.activePage.sort.length > 0\n : Object.keys(request.activePage.sort).length > 0;\n\n if (hasSort) {\n let orderObject = {};\n\n if (Array.isArray(request.activePage.sort) && request.activePage.sort.length > 0) {\n // MRT array format: [{ id: 'column', desc: false }]\n const sortItem = request.activePage.sort[0];\n orderObject[sortItem.id] = sortItem.desc ? 'desc' : 'asc';\n } else if (typeof request.activePage.sort === 'object') {\n if (request.activePage.sort.id !== undefined && request.activePage.sort.desc !== undefined) {\n // Single sort object: { id: 'column', desc: true }\n orderObject[request.activePage.sort.id] = request.activePage.sort.desc ? 'desc' : 'asc';\n } else {\n // Already in backend format: { column: 'asc' }\n orderObject = request.activePage.sort;\n }\n }\n\n queryParams.order = JSON.stringify(orderObject);\n }\n }\n\n if (combinedFilters) {\n queryParams.filters = combinedFilters;\n }\n const queryString = new URLSearchParams(queryParams).toString();\n const response = await fetch(\n `${baseUrl}/${moduleName}/v1/${subModuleName}/${pdfpath}${queryString ? `?${queryString}` : \"\"\n }`,\n {\n headers,\n }\n );\n\n if (!response.ok) {\n throw new Error(await response.text());\n }\n\n return await response;\n};\n\nexport const removeIdStaticIdsFromMongoObject = (data: any) => {\n const newData = data.map((ele: { _id: string | number }) => {\n if (typeof ele._id === \"number\") {\n return { ...ele, _id: null };\n }\n return ele;\n });\n\n return newData;\n};\n\n/**\n * * FILE UPLOAD\n */\nconst spliceUploadedLocation = (uploadedlocation: string) => {\n const splitLocation = uploadedlocation.split(\"/\");\n if (splitLocation.length) {\n splitLocation.splice(0, splitLocation.length - 2);\n return splitLocation.join(\"/\");\n }\n\n return uploadedlocation;\n};\n\n/**\n * Fetch with retry logic for network resilience\n */\nasync function fetchWithRetry(\n url: string,\n options: RequestInit,\n maxRetries: number,\n retryDelay: number\n): Promise<Response> {\n let lastError: Error;\n\n for (let attempt = 0; attempt <= maxRetries; attempt++) {\n try {\n const response = await fetch(url, options);\n\n // If it's a server error (5xx), retry\n if (response.status >= 500 && attempt < maxRetries) {\n throw new Error(`Server error: ${response.status} ${response.statusText}`);\n }\n\n return response;\n } catch (error: any) {\n lastError = error;\n\n // Don't retry for abort signals or client errors (4xx)\n if (error.name === 'AbortError') {\n throw error;\n }\n\n if (attempt < maxRetries) {\n const delay = retryDelay * Math.pow(2, attempt); // Exponential backoff\n console.warn(`Attempt ${attempt + 1} failed, retrying in ${delay}ms...`, error.message);\n await new Promise(resolve => setTimeout(resolve, delay));\n }\n }\n }\n\n throw lastError!;\n}\n\n/**\n * Helper function to format file size in human-readable format\n */\nfunction formatFileSize(bytes: number): string {\n if (bytes === 0) return '0 Bytes';\n const k = 1024;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\n}\n\n// Interface declarations moved to exported section below\nexport interface UploadOptions {\n onProgress?: (progress: ProgressInfo) => void;\n chunkSize?: number;\n retryAttempts?: number;\n retryDelay?: number;\n}\n\nexport interface ProgressInfo {\n fileName: string;\n progress: number;\n bytesUploaded: number;\n totalBytes: number;\n fileIndex?: number;\n totalFiles?: number;\n}\n\nexport interface FileUploadResponse {\n data: {\n preSignedData: {\n uploadId: string;\n fileName: string;\n preSignedUrls: Array<{\n partNumber: number;\n presignedUrl: string;\n }>;\n location?: string;\n presignedUrl?: string; // For single part uploads\n };\n };\n}\n\nexport interface CompleteUploadResponse {\n data: {\n location: string;\n };\n}\n\nexport interface UploadPart {\n partNumber: number;\n etag: string;\n}\n\nexport const handleRegularUpload = async (\n files: File[],\n controller: AbortController,\n module: string,\n options: UploadOptions = {}\n): Promise<string[]> => {\n const BASE_URL = `${getApiConfig().backendBaseUrl}/${module}/v1/file-upload/`;\n const COMPLETE_BASE_URL = `${getApiConfig().backendBaseUrl}/${module}/v1/file-upload/mark-complete`;\n const authToken = localStorage.getItem(auth.storageTokenKeyName);\n\n const {\n onProgress,\n chunkSize = 5 * 1024 * 1024, // 5MB default chunk size (S3 minimum for multipart)\n retryAttempts = 3,\n retryDelay = 1000\n } = options;\n\n if (!authToken) {\n throw new Error('Authentication token not found. Please log in again.');\n }\n\n // Validate chunk size for multipart uploads\n // if (chunkSize < 1024 * 1024) {\n // console.warn('Chunk size less than 5MB may cause issues with S3 multipart uploads');\n // }\n\n try {\n const uploaded: string[] = [];\n\n // Process files sequentially to maintain order and avoid overwhelming the server\n for (let fileIndex = 0; fileIndex < files.length; fileIndex++) {\n const file = files[fileIndex];\n\n if (controller.signal.aborted) {\n throw new Error('Upload cancelled by user');\n }\n\n console.log(`🚀 Uploading file ${fileIndex + 1}/${files.length}:`, file.name, `(${formatFileSize(file.size)})`);\n\n try {\n const uploadedLocation = await uploadSingleFile(\n file,\n fileIndex,\n files.length,\n controller,\n BASE_URL,\n COMPLETE_BASE_URL,\n authToken,\n chunkSize,\n retryAttempts,\n retryDelay,\n onProgress\n );\n\n uploaded.push(uploadedLocation);\n console.log(`✅ Successfully uploaded: ${file.name}`);\n\n } catch (fileError: any) {\n console.error(`❌ Failed to upload ${file.name}:`, fileError.message);\n throw new Error(`Failed to upload ${file.name}: ${fileError.message}`);\n }\n }\n\n return uploaded;\n } catch (error: any) {\n console.error('❌ Upload process failed:', error.message);\n throw new Error(error.message || 'Upload failed');\n }\n};\n\nconst uploadSingleFile = async (\n file: File,\n fileIndex: number,\n totalFiles: number,\n controller: AbortController,\n baseUrl: string,\n completeUrl: string,\n authToken: string,\n chunkSize: number,\n retryAttempts: number,\n retryDelay: number,\n onProgress?: (progress: ProgressInfo) => void\n): Promise<string> => {\n const isMultipart = file.size > chunkSize;\n const totalParts = isMultipart ? Math.ceil(file.size / chunkSize) : 1;\n\n // Step 1: Get pre-signed URLs\n console.log(`📋 Requesting ${totalParts} pre-signed URLs for ${file.name}`);\n\n const preSignedResponse = await fetchWithRetry(\n `${baseUrl}?key=${encodeURIComponent(file.name)}&partCount=${totalParts}&mimeType=${encodeURIComponent(file.type)}`,\n {\n method: 'GET',\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file.size.toString(),\n \"x-token\": authToken,\n },\n signal: controller.signal,\n },\n retryAttempts,\n retryDelay\n );\n\n if (!preSignedResponse.ok) {\n const errorData = await preSignedResponse.json().catch(() => ({}));\n throw new Error(`Failed to get pre-signed URL: ${errorData.message || preSignedResponse.statusText}`);\n }\n\n const pData: FileUploadResponse = await preSignedResponse.json();\n const preSignedData = pData?.data?.preSignedData;\n\n if (!preSignedData) {\n throw new Error('Invalid pre-signed URL response format');\n }\n\n const { uploadId, preSignedUrls, presignedUrl, location } = preSignedData;\n\n // Step 2: Upload file parts\n if (isMultipart) {\n return await handleMultipartUpload(\n file,\n fileIndex,\n totalFiles,\n uploadId,\n preSignedUrls,\n controller,\n completeUrl,\n authToken,\n chunkSize,\n retryAttempts,\n retryDelay,\n onProgress\n );\n } else {\n return await handleSinglePartUpload(\n file,\n fileIndex,\n totalFiles,\n presignedUrl || preSignedUrls?.[0]?.presignedUrl,\n location,\n controller,\n onProgress\n );\n }\n};\n\nconst handleSinglePartUpload = async (\n file: File,\n fileIndex: number,\n totalFiles: number,\n presignedUrl: string,\n location: string | undefined,\n controller: AbortController,\n onProgress?: (progress: ProgressInfo) => void\n): Promise<string> => {\n if (!presignedUrl) {\n throw new Error('No presigned URL provided for single part upload');\n }\n\n console.log(`📤 Uploading single part for ${file.name}`);\n\n const response = await fetch(presignedUrl, {\n method: \"PUT\",\n body: file,\n headers: {\n \"Content-Type\": file.type || \"application/octet-stream\",\n \"Content-Length\": file.size.toString(),\n },\n signal: controller.signal,\n });\n\n if (!response.ok) {\n throw new Error(`Single part upload failed: ${response.statusText}`);\n }\n\n // Report completion\n onProgress?.({\n fileName: file.name,\n progress: 100,\n bytesUploaded: file.size,\n totalBytes: file.size,\n fileIndex: fileIndex + 1,\n totalFiles\n });\n\n if (!location) {\n throw new Error('No location provided for single part upload');\n }\n\n return spliceUploadedLocation(location);\n};\n\nconst handleMultipartUpload = async (\n file: File,\n fileIndex: number,\n totalFiles: number,\n uploadId: string,\n preSignedUrls: Array<{ partNumber: number; presignedUrl: string }>,\n controller: AbortController,\n completeUrl: string,\n authToken: string,\n chunkSize: number,\n retryAttempts: number,\n retryDelay: number,\n onProgress?: (progress: ProgressInfo) => void\n): Promise<string> => {\n if (!uploadId || !preSignedUrls || preSignedUrls.length === 0) {\n throw new Error('Invalid multipart upload data: missing uploadId or preSignedUrls');\n }\n\n console.log(`📤 Starting multipart upload for ${file.name} (${preSignedUrls.length} parts)`);\n\n const uploadedParts: UploadPart[] = [];\n let totalBytesUploaded = 0;\n\n // Upload each part\n for (let i = 0; i < preSignedUrls.length; i++) {\n if (controller.signal.aborted) {\n throw new Error('Upload cancelled by user');\n }\n\n const { partNumber, presignedUrl } = preSignedUrls[i];\n const start = i * chunkSize;\n const end = Math.min(start + chunkSize, file.size);\n const chunk = file.slice(start, end);\n\n console.log(`📦 Uploading part ${partNumber}/${preSignedUrls.length} (${start}-${end})`);\n\n try {\n const partResponse = await fetchWithRetry(\n presignedUrl,\n {\n method: \"PUT\",\n body: chunk,\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n \"Content-Length\": chunk.size.toString(),\n },\n signal: controller.signal,\n },\n retryAttempts,\n retryDelay\n );\n\n if (!partResponse.ok) {\n throw new Error(`Part ${partNumber} upload failed: ${partResponse.statusText}`);\n }\n\n // Extract ETag from response headers (required for completion)\n // const etag = partResponse.headers.get('ETag');\n // if (!etag) {\n // throw new Error(`Part ${partNumber} upload succeeded but no ETag received`);\n // }\n\n uploadedParts.push({\n partNumber\n });\n\n totalBytesUploaded += chunk.size;\n\n // Report progress\n const progress = Math.round((totalBytesUploaded / file.size) * 100);\n onProgress?.({\n fileName: file.name,\n progress,\n bytesUploaded: totalBytesUploaded,\n totalBytes: file.size,\n fileIndex: fileIndex + 1,\n totalFiles\n });\n\n } catch (error: any) {\n if (error.name === 'AbortError') {\n throw new Error('Upload cancelled by user');\n }\n throw new Error(`Failed to upload part ${partNumber}: ${error.message}`);\n }\n }\n\n // Step 3: Complete the multipart upload\n console.log(`🔗 Completing multipart upload for ${file.name}`);\n\n // Sort parts by part number to ensure correct order\n uploadedParts.sort((a, b) => a.partNumber - b.partNumber);\n\n const completeResponse = await fetchWithRetry(\n completeUrl,\n {\n method: 'POST',\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-token\": authToken,\n },\n body: JSON.stringify({\n fileName: file.name,\n uploadId: uploadId,\n //parts: uploadedParts // Include the uploaded parts with ETags\n }),\n signal: controller.signal,\n },\n retryAttempts,\n retryDelay\n );\n\n if (!completeResponse.ok) {\n const errorData = await completeResponse.json().catch(() => ({}));\n throw new Error(`Failed to complete multipart upload: ${errorData.message || completeResponse.statusText}`);\n }\n\n const completeData: CompleteUploadResponse = await completeResponse.json();\n\n if (!completeData.data?.location) {\n throw new Error('Invalid completion response format - no location received');\n }\n\n return spliceUploadedLocation(completeData.data.location);\n};\n\n/**\n * Main upload function - handles file validation and orchestrates the upload process\n * @param files - Single file or array of files to upload\n * @param module - Module name for the upload endpoint (default: \"sales\")\n * @param options - Optional upload configuration\n * @returns Promise<string[]> - Array of uploaded file locations\n */\nexport const uploadFiles = async (\n files: any,\n module = \"sales\",\n options: UploadOptions = {}\n): Promise<string[]> => {\n if (Array.isArray(files) && files?.filter(i => i)?.length === 0) return [];\n try {\n let uFiles: string[] = [];\n const config = getApiConfig();\n const bUrl = config.s3BucketUrl;\n const bUrl2 = bUrl?.replace(\"https://\", \"\");\n\n const controller = new AbortController();\n\n // Normalize input to array and filter valid files\n const iFiles = files ? (Array.isArray(files) ? files : [files]) : [];\n\n const existingFiles = iFiles.filter((file) => !(file instanceof File));\n if (iFiles && iFiles.length) {\n // Filter to ensure only File objects are processed\n const validFiles = iFiles.filter((file) => file instanceof File);\n\n if (validFiles && validFiles.length) {\n console.log(`📁 Starting upload of ${validFiles.length} file(s) to module: ${module}`);\n uFiles = await handleRegularUpload(validFiles, controller, module, options);\n console.log(`✅ Successfully uploaded ${uFiles.length} file(s)`);\n } else {\n console.warn('⚠️ No valid File objects found in the provided input');\n }\n }\n\n return [...uFiles, ...existingFiles]?.map(f => f?.split(bUrl)?.join('')?.split(bUrl2)?.join(''))?.filter(Boolean) || [];\n } catch (error) {\n let errorMessage: string = \"Something went wrong during file upload.\";\n\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n\n console.error('❌ Upload failed:', errorMessage);\n throw new Error(errorMessage);\n }\n};\n\nexport const formatDateForPayload = (date: any) =>\n date && dayjs(date).isValid() ? dayjs(date).format(\"YYYY-MM-DD\") : undefined;\n\nexport const formatTimeForPayload = (date: any) =>\n date && dayjs(date).isValid() ? dayjs(date).format(\"HH:mm:ss\") : undefined;\n\nexport const formatDateTimeForPayload = (date: any) =>\n (date && dayjs(date).isValid()) ? dayjs(date).format(\"YYYY-MM-DD HH:mm:ss\") : undefined;\n\nexport function isJSONString(str: string | undefined) {\n if (!str) return false;\n\n try {\n return JSON.parse(str);\n } catch (e) {\n return false;\n }\n}\n\nexport const getErrorMessage = (error?: any) => {\n if (error instanceof Error) return error.message;\n else if (isJSONString(error)?.message) return isJSONString(error)?.message;\n else if (typeof error === 'string') return error;\n else return \"Something went wrong\";\n};\n\nexport const InvoiceStatus = {\n Approved: \"Approve\",\n Rejected: \"Reject\",\n};\n\n/**\n * Get the default currency symbol from localStorage user data.\n * This is a utility function (not a hook) so it can be safely called anywhere.\n * @param currencyData - Optional pre-fetched currency data to avoid localStorage lookup\n */\nexport const defaultCurrencySymbol = (currencyData?: { symbol?: string }) => {\n if (currencyData?.symbol) {\n return currencyData.symbol;\n }\n try {\n const userData = JSON.parse(localStorage.getItem('_u_data') || '{}');\n return userData?.currency_data?.symbol || \"\";\n } catch {\n return \"\";\n }\n};\n\nexport const getCurrencySymbol = (currencyData?: { symbol?: string, company_id?: number }) => {\n if (currencyData?.symbol) {\n return currencyData.symbol;\n }\n try {\n const userData = JSON.parse(localStorage.getItem('_u_data') || '{}');\n\n if (currencyData?.company_id && userData?.company_currencies) {\n const companyCurrency = userData.company_currencies[currencyData.company_id];\n if (companyCurrency?.symbol) {\n return companyCurrency.symbol;\n }\n }\n\n return userData?.currency_data?.symbol || \"\";\n } catch {\n return \"\";\n }\n};\n\n\n/**\n * Get the default currency format from localStorage user data.\n * This is a utility function (not a hook) so it can be safely called anywhere.\n * @param currencyData - Optional pre-fetched currency data to avoid localStorage lookup\n */\nexport const defaultCurrencyFormat = (currencyData?: { number_format?: string }) => {\n if (currencyData?.number_format) {\n return currencyData.number_format;\n }\n try {\n const userData = JSON.parse(localStorage.getItem('_u_data') || '{}');\n return userData?.currency_data?.number_format || \"\";\n } catch {\n return \"\";\n }\n};\n\nexport const getCurrencyFormat = (currencyData?: { number_format?: string, company_id?: number }) => {\n if (currencyData?.number_format) {\n return currencyData.number_format;\n }\n try {\n const userData = JSON.parse(localStorage.getItem('_u_data') || '{}');\n\n if (currencyData?.company_id && userData?.company_currency_formats) {\n const companyCurrencyFormat = userData.company_currencies[currencyData.company_id]\n if (companyCurrencyFormat?.number_format) {\n return companyCurrencyFormat.number_format;\n }\n }\n\n return userData?.currency_data?.number_format || \"\";\n } catch {\n return \"\";\n }\n};\n\n/**\n * Get the default company from localStorage user data.\n * This is a utility function (not a hook) so it can be safely called anywhere.\n * @param userData - Optional pre-fetched user data to avoid localStorage lookup\n */\nexport const defaultCompany = (userData?: { accessCompanies?: number[]; company_id?: number | null }) => {\n let user = userData;\n if (!user) {\n try {\n user = JSON.parse(localStorage.getItem('_u_data') || '{}');\n } catch {\n return null;\n }\n }\n const accessCompanies = user?.accessCompanies || [];\n const defaultCompanyId = user?.company_id || null;\n\n let dcId = defaultCompanyId;\n\n if (Array.isArray(accessCompanies) && accessCompanies?.length > 0) {\n if (!accessCompanies?.includes(defaultCompanyId as number)) {\n dcId = accessCompanies?.[0];\n }\n }\n\n return dcId ? Number(dcId) : null;\n};\n\nexport function omitDataKeys<T>(obj: T, extra?: Array<string>): T {\n // Default keys to omit\n const defaultOmitKeys = [\n \"created_at\",\n \"updated_at\",\n \"created_by\",\n \"created_user\",\n \"updated_by\",\n \"updated_user\",\n \"is_deleted\",\n \"deleted_user\",\n \"deleted_by\",\n \"deleted_at\",\n ...(extra ? extra : []),\n ];\n\n // Handle arrays separately without converting them to objects\n if (Array.isArray(obj)) {\n // Recursively process array elements\n return obj.map((item) => omitDataKeys(item, extra)) as unknown as T;\n }\n\n // Check if obj is an object\n if (_.isObject(obj) && !Array.isArray(obj)) {\n // Recursively apply omit on each property of the object\n return _.mapValues(\n _.omitBy(\n obj,\n (_, key) =>\n defaultOmitKeys.includes(key) ||\n key.endsWith(\"_data\") ||\n key.endsWith(\"_status\")\n ),\n (value) => {\n // Recurse on nested objects, excluding Day.js instances\n if (_.isObject(value) && !dayjs.isDayjs(value)) {\n return omitDataKeys(value, extra);\n }\n return value;\n }\n ) as T;\n }\n\n // If it's neither an object nor an array, return the value as is (e.g., strings, numbers)\n return obj;\n}\n\n// Define a type for the input objects in the array\nexport interface DataObject {\n [key: string]: any;\n}\n\n// Define a type for the processed object with label and value\nexport interface LabelValueObject extends DataObject {\n label: string;\n value: string | number | null;\n}\n\n/**\n * A global function to process an array of objects and return formatted label-value pairs.\n *\n * @param {Array<T>} dataArray - The array of objects to be processed.\n * @param {Array<T>} fallbackArray - The fallback array if dataArray is empty.\n * @param {Array<keyof T | string>} labelKeys - The keys to be concatenated for the label.\n * @param {keyof T | string} valueKey - The key to be used for the value.\n * @param {Function} [labelFormatter] - Optional custom formatter for label.\n * @returns {Array<LabelValueObject>} - The processed array of label-value objects.\n */\nexport const getLabelValuePairs = <T extends DataObject>(\n dataArray: T[],\n fallbackArray: T[],\n labelKeys: (keyof T | string)[],\n valueKey: keyof T | string,\n labelFormatter?: (item: T) => string\n): LabelValueObject[] => {\n return (\n _.map(dataArray, (item: T) => {\n const label = labelFormatter\n ? labelFormatter(item)\n : _.compact(labelKeys.map((key) => _.get(item, key, \"\"))).filter(v => Boolean(v?.trim())).join(\", \");\n\n return {\n ...item,\n label,\n value: _.get(item, valueKey, null),\n };\n }) || fallbackArray\n );\n};\nexport function formatEmptyDataToNull<T>(obj: T): T {\n // Check if the input is an array and process each item recursively\n if (Array.isArray(obj)) {\n return obj.map((item) => formatEmptyDataToNull(item)) as unknown as T;\n }\n\n // If it's an object, iterate through the values and apply transformations\n if (_.isObject(obj)) {\n return _.mapValues(obj, (value, key) => {\n // Recursively handle nested objects or arrays\n if (\n Array.isArray(value)\n ) {\n return (value);\n }\n if (\n _.isObject(value) &&\n !dayjs.isDayjs(value) &&\n !(value instanceof File)\n ) {\n return formatEmptyDataToNull(value);\n }\n\n // Replace empty values (except 0) with null\n if (!value && value !== 0 && value !== false) {\n return null;\n }\n\n // Special handling for specific key patterns\n if (\n (key.includes(\"_id\") && !key.includes(\"_ids\")) ||\n key.includes(\"_amount\")\n ) {\n // Convert values for '_id' or '_amount' keys to numbers\n return Array.isArray(value) ? value.map(Number) : Number(value);\n } else if (key.includes(\"date_time\")) {\n // Format date fields\n return formatDateTimeForPayload(value);\n } else if (key.includes(\"date\")) {\n // Format date fields\n return formatDateForPayload(value);\n } else if (key.includes(\"_time\")) {\n // Format time fields\n return formatTimeForPayload(value);\n } else if (Array.isArray(value)) {\n // Ensure arrays are not replaced by null if they're empty\n return value.length ? value : [];\n }\n\n // Return the original value if no other transformation applies\n return value;\n }) as T;\n }\n\n // If it's neither an object nor an array, return the value as is\n return obj;\n}\n\nexport function downloadFile(fileUrl: string, fileName = \"\") {\n console.log(fileUrl);\n if (!fileUrl || fileUrl === \"\") return;\n const a = document.createElement(\"a\");\n a.target = \"_blank\";\n a.href = fileUrl;\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n}\n\n//Download Doc\n//eslint-disable-next-line\nexport const downloadDoc = async ({\n api,\n // fileName,\n raw\n}: {\n api: string,\n fileName: string,\n raw: any\n}) => {\n const headers = {\n \"Content-Type\": \"application/json\",\n ...getToken()\n };\n const config = getApiConfig();\n const response = await fetch(`${config.backendBaseUrl}/${api}`,\n {\n method: \"POST\",\n headers,\n body: raw,\n redirect: \"follow\",\n }\n );\n\n if (!response.ok) {\n throw new Error(await response.text());\n }\n const blob = await response.blob();\n const url = window.URL.createObjectURL(blob);\n window.open(url, '_blank');\n // Revoke the blob URL after some time to avoid memory leaks\n setTimeout(() => window.URL.revokeObjectURL(url), 1000);\n // const a = document.createElement(\"a\");\n // a.href = url;\n // a.download = fileName;\n // document.body.appendChild(a);\n // a.click();\n // a.remove();\n // window.URL.revokeObjectURL(url);\n}\n\nexport function formatResponseDatesToDayJS<T>(obj: T): T {\n // Check if the input is an array and process each item recursively\n if (Array.isArray(obj)) {\n return obj.map((item) => formatResponseDatesToDayJS(item)) as unknown as T;\n }\n\n if (_.isObject(obj)) {\n return _.mapValues(obj, (value, key) => {\n if (_.isObject(value) && !dayjs.isDayjs(value)) {\n return formatResponseDatesToDayJS(value);\n }\n\n if (key.includes(\"date\") && value) {\n return dayjs.utc(value);\n }\n if (key.includes(\"_time\") && value) {\n return dayjs(`${dayjs().utc().format(\"YYYY-MM-DD\")} ${value}`);\n }\n\n return value;\n }) as T;\n }\n\n // If it's neither an object nor an array, return the value as is\n return obj;\n}\n\nexport const toFixedWithNumbers = (num: number) => num > 0 ? Number(num)?.toFixed(2) : num;\n\nexport const findById = (arr: Array<any>, id: any) =>\n arr.find((a) => a.id == id);\n\nexport const getTaxAmountFromMultipleTaxCodes = (\n amount: number,\n taxCodes = [],\n detail = false\n) => {\n if (!amount) return 0;\n\n let totalTaxAmount = 0;\n const taxCodeDetail = taxCodes?.map((code: any) => {\n const taxAmount = amount * (code.rate / 100);\n totalTaxAmount += taxAmount;\n\n return {\n id: code.id,\n name: code.name,\n rate: code.rate,\n tax_amount: taxAmount,\n };\n });\n\n if (detail) {\n return taxCodeDetail;\n }\n return totalTaxAmount;\n};\n\nexport const getTaxAmountDataFromMultipleTaxCodes = (\n grossAmount: number,\n netAmount: number,\n taxCodes = [],\n detail = false\n) => {\n let totalTaxAmount = 0;\n let totalTaxRate = 0;\n const taxCodeDetail = taxCodes.map((code: any) => {\n const taxBaseAmount =\n code.applies_to === \"Gross\" ? netAmount : grossAmount;\n // const taxAmount = grossAmount * (code.rate / 100);\n const taxAmount = taxBaseAmount * (code.rate / 100);\n totalTaxAmount += taxAmount;\n totalTaxRate += code.rate;\n\n return {\n id: code.id,\n name: code.name,\n rate: code.rate,\n tax_amount: taxAmount,\n };\n });\n\n if (detail) {\n return taxCodeDetail;\n }\n return {\n amount: totalTaxAmount,\n rate: totalTaxRate,\n };\n};\n\nexport const calculateAmountData = (quantity: number, rate: number, discount_rate: number | null, discounted_items: any, taxCodes = []) => {\n const amount = quantity * rate;\n let discountAmount = Number(discount_rate);\n if (discounted_items?.discount_category === \"rate\") {\n discountAmount = discount_rate ? amount * (discount_rate / 100) : 0;\n }\n let grossAmount = amount - discountAmount || 0;\n if (grossAmount < 0) {\n grossAmount = 0;\n }\n const taxData = getTaxAmountDataFromMultipleTaxCodes(\n grossAmount,\n amount,\n taxCodes\n );\n\n const taxAmount = taxData?.amount || 0;\n const taxRate = taxData?.rate || 0;\n\n const netAmount = grossAmount + Number(taxAmount) || 0;\n const totalAmount = grossAmount + Number(taxAmount) || 0;\n\n return { grossAmount, taxAmount, taxRate, discountAmount, netAmount, totalAmount }\n}\n\nexport type AnyObject = Record<string, any>;\n\nexport const hasValue = (\n object: AnyObject,\n skipFields: string[] = []\n): boolean => {\n const checkValue = (value: any, skipFields: string[]): boolean => {\n if (_.isArray(value)) {\n // If it's an array, recursively check its elements\n return _.some(value, (item) => checkValue(item, skipFields));\n }\n\n if (_.isPlainObject(value)) {\n // If it's an object, recursively check its keys and values\n return _.some(value, (val, key) => {\n if (skipFields.includes(key)) return false; // Skip specified fields\n return checkValue(val, skipFields);\n });\n }\n\n // Return true for any non-null, non-undefined, and non-empty value\n return !_.isNil(value) && !_.isEmpty(value);\n };\n\n return checkValue(object, skipFields);\n};\nexport const formatAmountWithCurrency = (\n amount: number,\n currencySymbol?: string\n): string => {\n if (!amount) {\n return `${currencySymbol ? currencySymbol : \"\"}`;\n }\n const defaultSymbol = defaultCurrencySymbol();\n const symbol = currencySymbol || defaultSymbol;\n\n return `${symbol} ${Number(amount).toFixed(2)}`;\n};\nexport const formatAmountWithCurrencyData = (\n amount: number,\n currencySymbol?: string\n): string => {\n if (!amount) {\n return \"\";\n }\n const symbol = currencySymbol || '';\n\n return `${symbol} ${Number(amount).toFixed(2)}`;\n};\n\nexport type ManageItemsOptions = {\n key: string;\n action: \"add\" | \"update\" | \"delete\";\n value: any;\n items: any[];\n itemIndex: number\n};\n\nexport const manageItems = ({\n key,\n action,\n value,\n items = [],\n itemIndex\n}: ManageItemsOptions): any[] => {\n switch (action) {\n case \"add\": {\n // const existingItem = items?.find((item) => item[key] === value[key]);\n // if (existingItem) {\n // // Update the existing item\n // return items?.map((item) => (item[key] === value[key] ? value : item));\n // }\n // Add a new item\n return [...items, value];\n }\n\n case \"update\": {\n // Update an existing item\n return items.map((item, index) => ((itemIndex >= 0 ? itemIndex === index : item[key] === value[key]) ? value : item));\n }\n\n case \"delete\": {\n // Delete an item based on\n if (value?.index !== undefined) {\n return items.filter((_, index) => index !== value.index);\n }\n return items.filter((item) => item[key] !== value[key]);\n }\n\n default:\n console.warn(`Unsupported action type: ${action}`);\n return items;\n }\n};\n\nexport function getPartyName(\n party: Record<any, any> | null | undefined\n): string {\n if (!party) return \"\";\n\n const {\n name = \"\",\n first_name = \"\",\n middle_name = \"\",\n last_name = \"\",\n company_name = \"\",\n } = party;\n\n // Trim values and handle potential null values\n const trimmedName = name?.trim() || \"\";\n const trimmedFirstName = first_name?.trim() || \"\";\n const trimmedMiddleName = middle_name?.trim() || \"\";\n const trimmedLastName = last_name?.trim() || \"\";\n const trimmedCompanyName = company_name?.trim() || \"\";\n\n\n if (party?.account_type === 'Individual') {\n return [trimmedFirstName, trimmedMiddleName, trimmedLastName].filter(Boolean).join(' ');\n } else if (party?.account_type === 'Company') {\n return trimmedCompanyName\n } else {\n if (trimmedName) return trimmedName;\n if (trimmedFirstName) {\n return [trimmedFirstName, trimmedMiddleName, trimmedLastName].filter(Boolean).join(' ');\n }\n if (trimmedCompanyName) return trimmedCompanyName;\n }\n\n return \"\";\n}\n\nexport const partyEmailIds = (json: any): string => {\n if (!json) return \"\";\n\n try {\n const parsed = JSON.parse(json);\n return Array.isArray(parsed) ? parsed.join(\", \") : \"\";\n } catch {\n return json;\n }\n};\n\nexport function formatResponseOnlyDatesToDayJS<T>(obj: T): T {\n // Check if the input is an array and process each item recursively\n if (Array.isArray(obj)) {\n return obj.map((item) => formatResponseDatesToDayJS(item)) as unknown as T;\n }\n\n if (_.isObject(obj)) {\n return _.mapValues(obj, (value, key) => {\n if (_.isObject(value) && !dayjs.isDayjs(value)) {\n return formatResponseDatesToDayJS(value);\n }\n\n if (key.includes(\"date\") && value) {\n return dayjs(value);\n }\n\n return value;\n }) as T;\n }\n\n // If it's neither an object nor an array, return the value as is\n return obj;\n}\n\n\n/* fetch exchange & reverse rates */\nexport const fetchExchageRate = async (id: string, type: string = 'Buying') => {\n try {\n const response = await postV1CurrencyInfo({\n currancy_id: id,\n type: type,\n ...getToken()\n });\n\n const { exchange_rate = 1, reverse_rate = 1 } = response?.data || {};\n return { exchange_rate, reverse_rate };\n } catch (error) {\n return { exchange_rate: 1, reverse_rate: 1 };\n }\n};\n\n\nexport const showSnackBar = (error: any) => {\n const message = getErrorMessage(error?.message)\n enqueueSnackbar(message, {\n variant: \"error\",\n });\n}\n\nexport const fetchCompanyLocations = async (companyId: number) => {\n\n const res = await fetchApi(\n {\n apiKey: 'location',\n filters: {\n filters: { '&company_id.in': companyId }\n }\n });\n return res?.data || []\n}\n\nexport const fetchItems = async (itemId: number, attributes?: string) => {\n\n const res = await fetchApi(\n {\n apiKey: 'items',\n filters: {\n filters: { '&id.in': itemId },\n select: attributes\n }\n });\n return res?.data || []\n}\n\n\nexport const getOptionsData = async (key: string, id: number, select?: any, isArray = false) => {\n const res = await fetchApi(\n {\n apiKey: key,\n filters: {\n filters: { '&id.in': id },\n select\n }\n });\n return isArray ? res?.data : Array.isArray(res?.data) ? res?.data[0] : null;\n}\n\n\nexport const fetchOptions = async (key: string, filters: any, select?: any, isArray = false) => {\n const res = await fetchApi(\n {\n apiKey: key,\n filters: {\n filters: filters,\n select\n }\n });\n return isArray ? res?.data : Array.isArray(res?.data) ? res?.data[0] : null;\n}\nexport const createdOnAndBy = (data: any) => {\n const { created_at = '', created_user = {}, created_by_data = {} } = data || {}\n const { first_name = '', last_name = '' } = Object.keys(created_user)?.length ? created_user : created_by_data\n const fName = first_name?.trim() || '';\n const lName = last_name?.trim() || '';\n const cAt = created_at?.trim() || '';\n\n const text = `Created on ${formatDate(cAt, 'DD MMM, YYYY')}`\n\n if (!(fName || lName)) return text;\n\n return `${text} · ${formatText(`${fName} ${lName}`)}`\n}\n\n/**\n * Returns the full name of an object based on the provided keys.\n * The object is expected to have the keys as its properties.\n * If the object is empty, returns a default value.\n * @param {Record<string, any>} obj - The object to process\n * @param {string[]} keys - The keys to use for forming the name\n * @returns {string} The full name of the object\n */\nexport const getName = (obj: Record<string, any>, keys: string[]) => {\n if (_.isEmpty(obj)) {\n // If the object is empty, return a default value\n return \"-\";\n }\n\n // Map over the keys and get the corresponding values from the object\n // Filter out any values that are falsy or have no trimmed value\n // Join the remaining values with a space in between\n return keys\n .map((key) => obj?.[key])\n .filter((n) => Boolean(n && n?.trim()))\n .join(\" \");\n};\n\nexport const getToken = (token = null) => {\n const timezone = moment.tz.guess();\n const offsetMinutes = moment.tz.zone(timezone).utcOffset(moment());\n const requestToken = {\n \"x-token\": token ? token : localStorage.getItem(auth.storageTokenKeyName) || undefined,\n \"x-timezone\": offsetMinutes,\n };\n\n return requestToken;\n};\n\nexport const checkForDuplicate = async (payload: any) => {\n try {\n const response = await postV1PartiesCheck({ ...getToken(), ...payload })\n return response?.data?.party_exists || false\n } catch (error) {\n throw new Error('An error occurred while checking for duplicates.')\n }\n}\n\nexport const partyDuplicateCheck = async (\n activeTab: number | string,\n fValues: Record<string, any>,\n defaultValues?: Record<string, any>\n): Promise<string | null> => {\n\n const values = { ...fValues };\n // Return early if activeTab is not 0 or required fields are not present\n if (activeTab !== 0 || !(values?.contact_no || values?.company_name)) {\n return null;\n }\n\n if (activeTab !== 0 || (!values?.contact_no && values?.company_name && values?.account_type !== 'Company')) {\n return null;\n }\n\n const phoneNumber = parsePhoneNumberFromString(values?.contact_no?.includes('+') ? values?.contact_no : `+${values?.contact_no}`);\n values.contact_no = phoneNumber?.nationalNumber || '';\n values.country_code = phoneNumber?.countryCallingCode || '';\n\n // Determine if contact number or company name values have changed\n const cDefaultValueContactNo = defaultValues?.contact_no || ''\n const cValueContactNo = displayPhone(values)\n\n const isDirtyPhone =\n !defaultValues ||\n cDefaultValueContactNo?.trim() !== cValueContactNo?.trim();\n const isDirtyCompanyName =\n !defaultValues ||\n defaultValues?.company_name?.trim() !== values?.company_name?.trim();\n\n // If neither field has changed, no need to check for duplicates\n if (!isDirtyPhone && !isDirtyCompanyName) {\n return null;\n }\n\n // Parse phone number to extract country code and national number\n const countryCode = phoneNumber?.nationalNumber ? phoneNumber?.countryCallingCode\n ? `+${phoneNumber?.countryCallingCode}` : ''\n : values?.country_code;\n const contactNo = phoneNumber?.nationalNumber || values?.contact_no;\n\n // Construct payload for duplicate check\n const duplicateCheckPayload = {\n party: {\n account_type: values?.account_type, // \"Individual\" or \"Company\"\n ...(isDirtyPhone && countryCode ? { country_code: countryCode } : {}),\n ...(isDirtyPhone && contactNo ? { contact_no: contactNo } : {}),\n ...(values?.account_type === 'Company' && isDirtyCompanyName\n ? { company_name: values?.company_name }\n : {}),\n },\n };\n\n try {\n // Call API to check for duplicates\n const isDuplicate = await checkForDuplicate(duplicateCheckPayload);\n\n if (isDuplicate) {\n // Prepare and return an appropriate error message\n const duplicateType =\n values?.account_type === 'Company' ? phoneNumber?.nationalNumber ? 'company name or phone' : 'company name' : 'phone number';\n return `Added ${duplicateType} already exists. Please add a different ${duplicateType}.`;\n }\n } catch (error: any) {\n // Return error message in case of API failure\n return error.message || 'An error occurred while checking for duplicates.';\n }\n\n // Return null if no duplicates are found\n return null;\n};\n\nexport const displayPhone = (data: Record<string, any>) => {\n const { contact_no = '', country_code = '' } = data || {}\n\n if (!contact_no) return ''\n\n if (country_code) {\n if (country_code?.includes(\"+\")) {\n return `${country_code}${contact_no}`\n }\n return `+${country_code}${contact_no}`\n }\n\n return contact_no?.includes(\"+\") ? contact_no : `+${contact_no}`\n}\n\nexport const getPartyDependentData = async (\n id: number,\n options?: any\n) => {\n let ad: any[] = [],\n co: any[] = [],\n cr = options?.currencies || [],\n cm = options?.companies || [],\n dsa = null,\n dba = null,\n pt = null,\n sp = null;\n\n const res = await getV1PartiesId({ id, ...getToken() });\n const p = res?.data?.parties?.party?.data || null;\n if (p) {\n const {\n payment_term = null,\n party_address_data = [],\n party_contact_data = [],\n currencies_data = [],\n companies_data = [],\n salesperson = null\n } = p;\n\n ad = party_address_data\n co = party_contact_data;\n cr = currencies_data;\n cm = companies_data;\n pt = payment_term;\n dsa = party_address_data?.find((addr: any) => Boolean(addr?.default_shipping_address));\n dba = party_address_data?.find((addr: any) => Boolean(addr?.default_billing_address));\n sp = salesperson\n }\n\n return {\n addresses: ad,\n contacts: co,\n currencies: cr,\n currencyIds: cr.map((c: any) => c.id),\n companies: cm,\n companyIds: cm.map((c: any) => c.id),\n paymentTerm: pt,\n defaultShipping: dsa,\n defaultBilling: dba,\n salesperson: sp\n };\n};\n\nexport interface PayloadMapping {\n [key: string]: string | string[] | ((values: Record<string, any>) => any);\n}\n\n/**\n * Maps API payload by transforming values based on the provided mapping configuration.\n * \n * @param {PayloadMapping} payloadMapping - An object defining the mapping configuration.\n * @param {Record<string, any>} values - The source values to be transformed.\n * @returns {Record<string, any>} The transformed payload object.\n */\nconst isEmptyValue = (value: any): boolean => {\n return _.isNil(value) || value === '' || (_.isObject(value) && _.isEmpty(value));\n};\n\nexport const mapApiPayload = (payloadMapping: PayloadMapping, values: Record<string, any>): Record<string, any> => {\n return _.mapValues(payloadMapping, (val) => {\n // If the mapping value is a function, execute it with the values as the argument\n if (_.isFunction(val)) {\n return (val as (values: Record<string, any>) => any)(values);\n }\n // If the mapping value is an array, map each element to its corresponding value in the source\n if (_.isArray(val)) {\n return (val as string[]).map((key) => _.get(values, key, null));\n }\n // If the mapping value is an object (excluding Day.js), recursively process it\n if (_.isObject(val) && !_.isFunction(val) && !dayjs.isDayjs(val)) {\n return mapApiPayload(val as PayloadMapping, values);\n }\n // Directly map a single key to its value in the source\n const result = _.get(values, val, null)\n return isEmptyValue(result) ? null : result\n });\n};\n\nexport const mapAsyncApiPayload = async (payloadMapping: PayloadMapping, values: Record<string, any>): Promise<Record<string, any>> => {\n const entries = Object.entries(payloadMapping).map(async ([key, val]) => {\n if (_.isFunction(val)) {\n return [key, await val(values)];\n }\n if (_.isArray(val)) {\n const resolvedArray = await Promise.all(val.map(async (key) => _.get(values, key, null)));\n return [key, resolvedArray];\n }\n if (_.isObject(val) && !_.isFunction(val) && !dayjs.isDayjs(val)) {\n return [key, await mapAsyncApiPayload(val as PayloadMapping, values)];\n }\n return [key, _.get(values, val, null)];\n });\n\n return Object.fromEntries(await Promise.all(entries));\n};\n\n\nexport const isBetweenTheDates = (startDate: any, endDate: any) => {\n if (!startDate || !endDate) return false;\n const start = dayjs(startDate).startOf('day');\n const end = dayjs(endDate).endOf('day');\n const currentDate = dayjs();\n return currentDate.isAfter(start) && currentDate.isBefore(end) || currentDate.isSame(start) || currentDate.isSame(end);\n};\n\nexport const setRateBasedOnPriceRules = (salesPrice: any, priceRules: any, addedQuantity: any) => {\n let updatedRate = salesPrice\n if (priceRules?.length) {\n const sortedPriceRules = _.orderBy(\n priceRules,\n ['minimum_quantity'],\n ['desc']\n );\n for (const pRules of sortedPriceRules) {\n if (Number(addedQuantity) >= Number(pRules?.minimum_quantity)) {\n if (isBetweenTheDates(pRules?.start_date, pRules?.end_date)) {\n updatedRate = Number(pRules?.unit_price) || undefined;\n break;\n }\n }\n }\n }\n return updatedRate\n};\n\n\nexport const uploadAttachments = async (files: any) => {\n let existingAttachments =\n files?.filter((i: File | string) => !(i instanceof File)) || [];\n const newFiles = files?.filter((i: File | string) => i instanceof File) || [];\n const config = getApiConfig();\n const bUrl = config.s3BucketUrl;\n existingAttachments = existingAttachments.map((ea: string) =>\n ea.replace(bUrl, \"\")\n );\n\n let uplaodedAttachments: string[] = [];\n\n if (newFiles.length) {\n uplaodedAttachments = await uploadFiles(newFiles, \"sales\");\n }\n\n uplaodedAttachments = [...uplaodedAttachments, ...existingAttachments];\n if (Array.isArray(uplaodedAttachments) && uplaodedAttachments?.length) {\n return uplaodedAttachments.join(\",\");\n }\n return null;\n};\n\nexport const addOrEditArray = (array: any[] = [], data: any) => {\n const { itemIndex, ...updatedData } = data;\n\n const newArray = [...array];\n\n if (newArray[itemIndex]) {\n newArray[itemIndex] = { ...updatedData };\n return newArray;\n }\n\n return [...newArray, updatedData];\n};\nexport const getAccessibleModules = (moduleNames: string[] = []): string[] => {\n const uData = localStorage.getItem(\"_u_data\");\n const userData = uData ? JSON.parse(uData) : {};\n const accessModules = userData?.module_access || [];\n\n const findSubModules = accessModules\n .filter(module => moduleNames.includes(module.module_name))\n .map(module => ({\n ...module,\n sub_modules: [...(module.sub_modules || []), { sub_module_name: \"dashboard\" }],\n }));\n\n const subModuleNamesSet = new Set(\n findSubModules.flatMap(module => module.sub_modules.map(subModule => subModule.sub_module_name))\n );\n\n const permission = JSON.parse(localStorage.getItem(\"role-permission\") || \"{}\");\n return Array.from(subModuleNamesSet).filter(subModule =>\n Object.keys(permission).some(key => key.startsWith(subModule.split(\"/\").pop()))\n ) as string[];\n};\n\nexport const filterAccessibleModules = (menu: any, moduleNames: string[] = []) => {\n const accessibleMenus = new Set(getAccessibleModules(moduleNames))\n\n\n return menu.reduce((filtered, item) => {\n const isSubModuleValid = item.bacSubModuleName && accessibleMenus.has(item.bacSubModuleName);\n const filteredSubmenu = item.submenu?.length ? filterAccessibleModules(item.submenu, moduleNames) : [];\n\n if (isSubModuleValid || filteredSubmenu.length) {\n filtered.push({ ...item, submenu: filteredSubmenu });\n }\n return filtered;\n }, []);\n}\n\n// Usage example:\n// const accessibleModules = getAccessibleModules([\"manufacturing\", \"inventory\", \"sales\"]);\n\n\nexport const checkDuplicateTracking = (data: any, typeOfTrcebility: string, trackRows: any[]) => {\n\n let isDuplicate = false\n let errorMsg = null\n // Check for duplicate tracking numbers\n const isSerialTracking = typeOfTrcebility === 'Serial Number Tracking';\n const trackingField = isSerialTracking ? 'serial_number' : 'lot_number';\n const inputValue = isSerialTracking\n ? data?.add_stock_transfer?.lot_number?.serial_number\n : data?.add_stock_transfer?.lot_number?.lot_number;\n errorMsg = isSerialTracking\n ? \"This serial Number is already available\"\n : \"This lot Number is already available\";\n\n if (trackRows[data?.itemIndex]?.[trackingField] == inputValue) {\n return { isDuplicate: false }\n }\n if (['Serial Number Tracking', 'Lot Tracking'].includes(typeOfTrcebility)) {\n isDuplicate = trackRows.some((o) =>\n o?.[trackingField] === inputValue\n );\n }\n return {\n isDuplicate,\n errorMsg\n }\n}\nexport function getNestedValue(obj: any, path: any) {\n return path.split('.').reduce((acc: any, key: any) => (acc && acc[key] !== undefined ? acc[key] : undefined), obj);\n}\n\n// export const calculatePeriods = (startDateTime: Date, endDateTime: Date) => {\n// const start = dayjs(startDateTime);\n// const end = dayjs(endDateTime);\n\n// if (end.isBefore(start)) {\n// return null;\n// }\n\n// const totalMinutes = end.diff(start, 'minute');\n// if (totalMinutes < 0) {\n// return null;\n// }\n\n// let current = dayjs(start);\n// let years = 0;\n// let months = 0;\n// let days = 0;\n// let hours = 0;\n// // let minutes = 0;\n\n// // Calculate years\n// while (current.add(1, 'year').isBefore(end) || current.add(1, 'year').isSame(end)) {\n// years++;\n// current = current.add(1, 'year');\n// }\n\n// // Calculate months\n// while (current.add(1, 'month').isBefore(end) || current.add(1, 'month').isSame(end)) {\n// months++;\n// current = current.add(1, 'month');\n// }\n\n// // Calculate days \n// while (current.add(1, 'day').isBefore(end) || current.add(1, 'day').isSame(end)) {\n// days++;\n// current = current.add(1, 'day');\n// }\n\n// // Calculate hours\n// while (current.add(1, 'hour').isBefore(end) || current.add(1, 'hour').isSame(end)) {\n// hours++;\n// current = current.add(1, 'hour');\n// }\n\n// // Calculate remaining minutes\n// // minutes = end.diff(current, 'minute');\n\n// const parts = [];\n\n// if (years > 0) {\n// parts.push(`${years} ${years === 1 ? 'Year' : 'Years'}`);\n// }\n// if (months > 0) {\n// parts.push(`${months} ${months === 1 ? 'Month' : 'Months'}`);\n// }\n// if (days > 0) {\n// parts.push(`${days} ${days === 1 ? 'Day' : 'Days'}`);\n// }\n// if (hours > 0) {\n// parts.push(`${hours} ${hours === 1 ? 'Hour' : 'Hours'}`);\n// }\n// // if (minutes > 0) {\n// // parts.push(`${minutes} ${minutes === 1 ? 'Minute' : 'Minutes'}`);\n// // }\n\n// if (parts.length === 0) {\n// return '0 Minutes';\n// }\n\n// return parts.join(' ');\n// };\n//eslint-disable-next-line\nexport const calculatePeriods = (\n startDateTime: Date,\n endDateTime: Date,\n mode: 'Day' | 'Week' | 'Month' | 'Calendar Month' | 'Year' | 'Hour' = 'Month'\n) => {\n const start = dayjs(startDateTime);\n const end = dayjs(endDateTime);\n\n if (end.isBefore(start)) {\n return null;\n }\n\n switch (mode) {\n case 'Year': {\n const years = end.diff(start, 'year');\n const remainingMonths = end.diff(start.add(years, 'year'), 'month');\n return `${years} ${years === 1 ? 'Year' : 'Years'}${remainingMonths > 0 ? `, ${remainingMonths} ${remainingMonths === 1 ? 'Month' : 'Months'}` : ''}`;\n }\n\n case 'Month':\n case 'Calendar Month': {\n const months = end.diff(start, 'month');\n const remainingDays = end.diff(start.add(months, 'month'), 'day');\n return `${months} ${months === 1 ? 'Month' : 'Months'}${remainingDays > 0 ? `, ${remainingDays} ${remainingDays === 1 ? 'Day' : 'Days'}` : ''}`;\n }\n\n case 'Week': {\n const weeks = end.diff(start, 'week');\n const remainingDaysWeekly = end.diff(start.add(weeks, 'week'), 'day');\n return `${weeks} ${weeks === 1 ? 'Week' : 'Weeks'}${remainingDaysWeekly > 0 ? `, ${remainingDaysWeekly} ${remainingDaysWeekly === 1 ? 'Day' : 'Days'}` : ''}`;\n }\n\n case 'Day': {\n const totalHours = end.diff(start, 'hour');\n const days = Math.floor(totalHours / 24);\n const remainingHours = totalHours % 24;\n\n if (remainingHours > 0) {\n return `${days + 1} ${days + 1 === 1 ? 'Day' : 'Days'}`;\n }\n return `${days} ${days === 1 ? 'Day' : 'Days'}`;\n }\n\n case 'Hour': {\n const hours = end.diff(start, 'hour');\n return `${hours} ${hours === 1 ? 'Hour' : 'Hours'}`;\n }\n\n default:\n return 'Invalid mode';\n }\n};\nexport const removeIdFromObject = (array: any) => array?.map(i => ({\n ...i,\n id: undefined\n}))\n\nexport const fetchRentalResponseItems = async (filters: string) => {\n //eslint-disable-next-line\n try {\n const response = await getV1CrossHireRfqResponseItems({\n filters,\n ...getToken(),\n });\n\n return response?.data?.rfq_response_items ?? [];\n } catch (error) {\n throw error;\n }\n};\nexport const fetchRfqItemsByIdForResponse = async (filters: string) => {\n //eslint-disable-next-line\n try {\n const response = await getV1RfqResponseItems({\n filters,\n ...getToken(),\n });\n\n return response?.data?.rfq_response_items ?? [];\n } catch (error) {\n throw error;\n }\n};\n\nexport const appendConditionSafely = (original: string | undefined, newCondition: string): string => {\n const cleanConditionString = (str: string): string => {\n // Remove leading special chars except '('\n return str.trim().replace(/^([^\\w(]+)/, '');\n };\n\n const extractConditions = (str: string): string[] => {\n // Remove outermost brackets if they exist, then split by '&' or ','\n return str\n .trim()\n .replace(/^[(]|[)]$/g, '')\n .split(/[&,]/)\n .map((cond) => cond.trim())\n .filter(Boolean);\n };\n\n // If no original, clean newCondition and wrap in ()\n if (!original || typeof original !== 'string' || original.trim() === '') {\n const cleaned = cleanConditionString(newCondition);\n return `(${cleaned})`;\n }\n\n // Extract existing and new conditions\n const existingConditions = new Set<string>(extractConditions(original));\n const incomingConditions = extractConditions(newCondition);\n\n // Filter out duplicates\n const filteredNew = incomingConditions.filter(\n (cond) => !existingConditions.has(cond)\n );\n\n // Combine both\n const allConditions = [...existingConditions, ...filteredNew];\n return `(${allConditions.join('&')})`;\n};\n\n\nexport const fetchAssemblyItemData = async (itemId: number) => {\n const response = await getV1AssemblyItemsId({\n id: itemId,\n ...getToken()\n });\n return response?.data?.data || null;\n};\nexport const getFileName = (file) => {\n if (!file) return \"\"\n if (file instanceof File) {\n return file.name\n } else if (typeof file === 'string') {\n const parts = file?.split('/');\n return parts?.[parts?.length - 1];\n } else if (Array.isArray(file) && file?.length > 0) {\n return file.map(f => {\n if (f instanceof File) {\n return f.name\n }\n const parts = f?.split('/');\n return parts?.[parts?.length - 1];\n }).join(', ')\n }\n}\n\nexport const getFieldFilters = (fields: any[], fieldNames: string | string[]) => {\n if (!fields?.length) return Array.isArray(fieldNames) ? new Map() : {};\n const filters = new Map()\n if (Array.isArray(fieldNames) && fieldNames?.length) {\n fieldNames.forEach(f => {\n const filt = fields.find(fi => fi.name === f)?.field_properties?.customeFilter || {}\n filters.set(f, filt)\n })\n return filters\n }\n return fields.find(fi => fi.name === fieldNames)?.field_properties?.customeFilter || {}\n};\n\nexport const getNextScheduleDate = (currentDate: any, billingCycle: any) => {\n switch (billingCycle?.duration) {\n case 'Hour':\n return dayjs(currentDate).add(1, 'hour');\n case 'Day':\n return dayjs(currentDate).add(1, 'day');\n case 'Week':\n return dayjs(currentDate).add(1, 'week');\n case '2 Week':\n return dayjs(currentDate).add(2, 'week');\n case 'Month':\n // \"Month\" means actual 1 month (30 days)\n return dayjs(currentDate).add(30, 'day');\n case 'Calendar Month':\n // \"Calendar Month\" means end of the month\n return dayjs(currentDate).endOf('month').add(1, 'day').startOf('day');\n case 'Quarter':\n case '3 Month':\n return dayjs(currentDate).add(3, 'month');\n case '6 Month':\n return dayjs(currentDate).add(6, 'month');\n case 'Year':\n case '1 Year':\n return dayjs(currentDate).add(1, 'year');\n case '3 Year':\n return dayjs(currentDate).add(3, 'year');\n case '5 Year':\n case '5Year':\n return dayjs(currentDate).add(5, 'year');\n default:\n return dayjs(currentDate).add(1, 'month');\n }\n};\n//eslint-disable-next-line\nexport const getCountryIdByName = async (name: string) => {\n const response = await getV1LocationsCountries({\n filters: `(name.like=%${name}%)`,\n ...getToken(),\n });\n return response?.data?.countries?.[0]?.id || null;\n\n}\nexport const getSlicedValue = (value: string, length: number): string => {\n if (!value) return '';\n return value.slice(0, length);\n};\n\nexport const skuGenerator = ({\n name,\n category,\n sequence = '0001'\n}: {\n name: string;\n category: string;\n sequence?: string;\n}): string => {\n const cleanCategory = category.replace(/[^a-zA-Z0-9]/g, '');\n const cleanName = name.replace(/[^a-zA-Z0-9]/g, '');\n\n const categoryPart = getSlicedValue(cleanCategory, 3).toUpperCase();\n const namePart = getSlicedValue(cleanName, 3).toUpperCase();\n\n return `${categoryPart}-${namePart}-${sequence}`;\n};\n\nexport const checkSkuAndItemName = async (payload: any) => {\n const response = await postV1InventoryItemsCheck({\n ...payload,\n ...getToken(),\n });\n return response?.data?.item_exists || null;\n}\n\nexport const checkUniqueFields = async (payload: any) => {\n const apiPayload = {\n ...payload,\n ...(payload.name && {\n company_name: payload.name,\n }),\n ...getToken(),\n }\n delete apiPayload.name\n const response = await postV1LeadCheck(apiPayload)\n const itemExists = response?.data?.item_exists || {}\n const { name, ...rest } = itemExists\n\n return {\n ...rest,\n company_name: name,\n }\n}\n\nexport interface FormValues {\n [key: string]: any;\n}\n\n/**\n * Helper function to process field disabling logic\n */\nconst processFieldDisabling = (\n currentFieldValue: any,\n valueConfig: any,\n fieldsToDisableSet: Set<string>\n): void => {\n if (currentFieldValue !== null && currentFieldValue !== undefined) {\n // Convert current value to string for consistent comparison\n const valueKey = String(currentFieldValue);\n\n // Check for exact match first\n if (valueConfig[valueKey]) {\n valueConfig[valueKey].forEach((fieldName: string) => {\n fieldsToDisableSet.add(fieldName);\n });\n }\n // Check for type-specific matches (boolean, number)\n else if (typeof currentFieldValue === 'boolean' && valueConfig[currentFieldValue]) {\n valueConfig[currentFieldValue].forEach((fieldName: string) => {\n fieldsToDisableSet.add(fieldName);\n });\n }\n else if (typeof currentFieldValue === 'number' && valueConfig[currentFieldValue]) {\n valueConfig[currentFieldValue].forEach((fieldName: string) => {\n fieldsToDisableSet.add(fieldName);\n });\n }\n } else if (valueConfig?.['NO_VALUE']) {\n // Handle NO_VALUE case when field is empty/null/undefined\n valueConfig['NO_VALUE'].forEach((fieldName: string) => {\n fieldsToDisableSet.add(fieldName);\n });\n }\n};\n\n// Types for the configuration object\nexport interface UpdateFieldsDisabledConfig {\n data: any[];\n materialCostingType: string;\n formValues: FormValues;\n fieldsConfig?: FieldDisableConfig;\n isEditMode?: boolean;\n isAddMode?: boolean;\n alwaysDisabledFields?: string[];\n editModeDisabledFields?: string[];\n addModeDisabledFields?: string[];\n customDisabledFields?: string[];\n}\n\nexport const updateFieldsDisabledState = ({\n data,\n materialCostingType,\n formValues,\n fieldsConfig = INVENTORY_FIELDS_TO_BE_DISABLED,\n isEditMode = false,\n isAddMode = false,\n alwaysDisabledFields = INVENTORY_ALWAYS_DISABLED_FIELDS,\n editModeDisabledFields = INVENTORY_EDIT_MODE_DISABLED_FIELDS,\n addModeDisabledFields = INVENTORY_ADD_MODE_DISABLED_FIELDS,\n customDisabledFields = []\n}: UpdateFieldsDisabledConfig): any[] => {\n // Create a set to track all fields that should be disabled conditionally\n const conditionallyDisabledFields = new Set<string>();\n\n // Get all field names for the current material type (for material-specific fields)\n const materialTypeFieldNames = new Set(\n data\n ?.filter(field => field?.field_properties?.type === materialCostingType)\n ?.map(field => field?.name) || []\n );\n\n // Get all field names in the form (for global fields)\n const allFieldNames = new Set(data?.map(field => field?.name) || []);\n\n // Process each configuration entry for conditional disabling\n Object.entries(fieldsConfig).forEach(([configKey, valueConfig]) => {\n if (configKey === materialCostingType) {\n // Material-specific configuration (like pipe_costing)\n Object.entries(valueConfig).forEach(([dependentFieldName, nestedValueConfig]) => {\n if (materialTypeFieldNames.has(dependentFieldName)) {\n const fieldValue = formValues?.[dependentFieldName];\n processFieldDisabling(fieldValue, nestedValueConfig, conditionallyDisabledFields);\n }\n });\n } else if (allFieldNames.has(configKey)) {\n // Global field configuration (like is_rental)\n const currentFieldValue = formValues?.[configKey];\n processFieldDisabling(currentFieldValue, valueConfig, conditionallyDisabledFields);\n }\n });\n\n // Update form fields with disabled state\n return data.map(field => {\n // Check different types of disabled states\n const isAlwaysDisabled = alwaysDisabledFields.includes(field.name);\n const isEditModeDisabled = isEditMode && editModeDisabledFields.includes(field.name);\n const isAddModeDisabled = isAddMode && addModeDisabledFields.includes(field.name);\n const isConditionallyDisabled = conditionallyDisabledFields.has(field.name);\n const isCustomDisabled = customDisabledFields.includes(field.name);\n // const hasOriginalDisabled = field.disabled === true; // Only respect explicit true values\n\n // Field is disabled if any condition is met\n const isDisabled = isAlwaysDisabled || isEditModeDisabled || isAddModeDisabled || isConditionallyDisabled || isCustomDisabled;\n\n return {\n ...field,\n disabled: isDisabled,\n disableTableAddButton: isDisabled,\n disableDefaultActionColumn: isDisabled || Boolean(field?.disableDefaultActionColumn)\n };\n });\n};\n\nexport const remainingMaterialCostingTypes = (type: string | string[]) => {\n const types = Array.isArray(type) ? type : [type]\n\n return INVENTORY_MATERIAL_COSTING_TYPE_ARR.filter(\n mct => !types.includes(mct)\n )\n}\nexport const matchedMaterialCostingTypeLabel = (type: string | string[]) => {\n const types = Array.isArray(type) ? type : [type]\n\n return INVENTORY_MATERIAL_COSTING_TYPE_OPTIONS.find(o =>\n types.includes(o.value)\n )?.label || null\n}\n\nexport const fetchDataLocally = (params: any, arr: any) => {\n const { search = '', limit = 25, skip = 0 } = params;\n\n // Filter entityFields based on search term\n let filteredData = arr || [];\n if (search && search.length > 0) {\n const searchLower = search.toLowerCase();\n filteredData = filteredData.filter((item: any) => {\n const label = item?.label || item?.name || '';\n return label.toLowerCase().includes(searchLower);\n });\n }\n\n const totalCount = filteredData.length;\n\n const paginatedData = filteredData.slice(skip, skip + limit).map((item: any) => ({\n ...item,\n label: item?.label || item?.name,\n value: item?.value || item?.id || item?.name\n }));\n\n return {\n data: paginatedData,\n pagination: {\n totalCount\n }\n };\n}\n"],"names":["baseUrl","defaultHeaders","sanitizeUrl","setBaseUrl","setInventoryBaseUrl","SetAccountingBaseUrl","setCrmBaseUrl","setHrmsBaseUrl","setSystemFeatureBaseUrl","setDriveBaseUrl","setRentalBaseUrl","setManufacturingBaseUrl","setPurchaseBaseUrl","setPmsBaseUrl","_a","this","t","i","e","s","f","n","u","r","o","inventorySetBaseUrl","rbacSetBaseUrl","rentalSetBaseUrl","purchaseSetBaseUrl","hrmsSetBaseUrl","rule","combinator","_c","_b","_","skipFields","token","key"],"mappings":"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","x_google_ignoreList":[5]}
|