woodsportal-client-sdk 1.1.4-dev.41 → 1.1.4-dev.43

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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/client/index.ts","../src/utils/localStoraget.ts","../src/utils/config.ts","../src/utils/generateApiUrl.ts","../src/client/api-endpoints.ts","../src/client/config.ts","../src/client/http-clint.ts","../src/data/user.ts","../src/utils/logError.ts","../src/mutation/createMutation.ts","../src/apis/authentication.ts","../src/apis/sso.ts","../src/apis/users.ts","../src/apis/pipeline.ts","../src/apis/stage.ts","../src/apis/object.ts","../src/apis/note.ts","../src/apis/email.ts","../src/apis/uploader.ts","../src/apis/file.ts","../src/apis/cache.ts","../src/breadcrumb/breadcrumbs.ts","../src/breadcrumb/generate-url.ts","../src/utils/datetime.ts","../src/index.ts"],"names":["url","config","axios","list","actions","create","update","details","lastItem"],"mappings":"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","file":"index.js","sourcesContent":["import { generateApiUrl } from '../utils/generateApiUrl';\nimport { API_ENDPOINTS } from './api-endpoints';\nimport { AuthHttpClient, HttpClient } from './http-clint';\nimport { config } from '../utils/config'\nimport { PreLoginPayload, LoginPayload, ForgetPasswordPayload, ChangePasswordPayload, VerifyEmailPayload, ResetPasswordVerifyTokenPayload, ResetPasswordPayload } from '../types';\nimport { getProfileData } from '../data/user';\nimport { routeParam } from '..';\n// import { routeParam, url } from '..';\nimport { getParamDetails } from '../breadcrumb/param';\n\nconst recordWriteContext = (paramsObject: Record<string, unknown> | undefined) => {\n if (!paramsObject) {\n return undefined;\n }\n const context: Record<string, string> = {};\n const keys = [\n 'parentObjectTypeId',\n 'parentObjectRecordId',\n 'mediatorObjectTypeId',\n 'mediatorObjectRecordId',\n ] as const;\n keys.forEach((key) => {\n const value = paramsObject[key];\n if (value !== undefined && value !== null && String(value).length > 0) {\n context[key] = String(value);\n }\n });\n return Object.keys(context).length > 0 ? context : undefined;\n};\n\nconst mergeRecordWriteBody = (\n payload: Record<string, unknown> | null | undefined,\n paramsObject: Record<string, unknown> | undefined,\n options: Record<string, unknown> | undefined,\n) => {\n const base = { ...(payload || {}) };\n const context = recordWriteContext(paramsObject);\n if (context) {\n base.context = context;\n }\n if (options && Object.keys(options).length > 0) {\n base.options = options;\n }\n return base;\n};\n// import { getPortal } from './auth-utils';\nimport { useUpdateLink } from \"../breadcrumb/url\";\nimport { useTable } from '../store/use-table';\n// import { getSubscriptionType } from './auth-utils';\n\nexport const Client = {\n authentication: {\n preLogin: (data: PreLoginPayload) => AuthHttpClient.post(API_ENDPOINTS.PRE_LOGIN, data),\n login: (data: LoginPayload) => {\n const queryParams = config.hubId ? { hubId: config.hubId } : null;\n return AuthHttpClient.post(\n generateApiUrl({ route: API_ENDPOINTS.LOGIN, queryParams: queryParams }),\n data,\n config?.devPortalId && {\n headers: {\n 'X-Dev-Portal-Id': config.devPortalId,\n },\n }\n )\n },\n verifyEmail: (data: VerifyEmailPayload) => AuthHttpClient.post(API_ENDPOINTS.VERIFY_EMAIL, data),\n resetPasswordVerifyToken: (data: ResetPasswordVerifyTokenPayload) => AuthHttpClient.post(API_ENDPOINTS.RESET_PASSWORD_VERIFY_TOKEN, data),\n resetPassword: (data: ResetPasswordPayload) => AuthHttpClient.post(API_ENDPOINTS.RESET_PASSWORD, data),\n forgetPassword: (data: ForgetPasswordPayload) => AuthHttpClient.post(API_ENDPOINTS.FORGET_PASSWORD, data),\n registerExistingUser: (data: any) => AuthHttpClient.post(API_ENDPOINTS.REGISTER_EXISTING_USER, data?.payload),\n verifyEmailResend: (data: any) => AuthHttpClient.post(API_ENDPOINTS.VERIFY_EMAIL_RESEND, data),\n resendEmail: (data: any) => AuthHttpClient.post(API_ENDPOINTS.RESEND_EMAIL, data),\n logout: () => HttpClient.post(API_ENDPOINTS.LOGOUT, null),\n },\n sso: {\n getSsoDetails: () => AuthHttpClient.get(API_ENDPOINTS.SSO_DETAILS),\n generateSsoUrl: (payload: any) => AuthHttpClient.get(generateApiUrl({ route: API_ENDPOINTS.SSO_URL, queryParams: payload?.queryParams })),\n ssoCallback: (payload: any) => AuthHttpClient.get(generateApiUrl({ route: API_ENDPOINTS.SSO_CALLBACK, queryParams: payload?.queryParams })),\n },\n user: {\n me: () => HttpClient.get(generateApiUrl({ route: API_ENDPOINTS.ME })),\n profile: (payload: any) => HttpClient.get(generateApiUrl({ route: API_ENDPOINTS.PROFILE, queryParams: payload })),\n changePassword: (data: ChangePasswordPayload) => HttpClient.post(API_ENDPOINTS.CHANGE_PASSWORD, data),\n },\n pipeline: {\n list: (payload: any = null, param: any = null) => {\n // const params = generateParam(payload) || null\n // const queryParams = payload?.queryParams || null\n const params = { hubspotObjectTypeId: payload?.hubspotObjectTypeId }\n\n const { getParamDetails: getParamDetails2 } = routeParam\n const { paramsObject } = getParamDetails2({ type: payload?.componentName });\n\n const userData = getProfileData()\n\n const apiParams: any = {}\n\n if (paramsObject?.parentObjectTypeId) {\n apiParams.parentObjectTypeId = paramsObject?.parentObjectTypeId;\n } else if (payload?.isHome && userData?.data?.info?.objectTypeId && !param?.isPrimaryCompany) {\n apiParams.parentObjectTypeId = userData?.data?.info?.objectTypeId;\n } else if (payload?.isHome && userData?.data?.info?.objectTypeId && param?.isPrimaryCompany) {\n apiParams.parentObjectTypeId = \"0-2\";\n }\n // setParentObjectTypeId(apiParams?.parentObjectTypeId || \"\")\n\n apiParams.isPrimaryCompany = param?.isPrimaryCompany;\n apiParams.cache = payload?.cache;\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.PIPELINES, params, queryParams: apiParams })\n return HttpClient.get(apiUrl)\n },\n },\n stage: {\n list: (props: any = null) => {\n // const portalId = config.devPortalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectTypeId: props?.params?.objectTypeId,\n pipelineId: props?.params?.pipelineId,\n }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.STAGES, params })\n return HttpClient.get(apiUrl)\n },\n },\n object: {\n list: async (payload: any = null, param: any = null) => {\n // const params = generateParam(payload) || null\n // const queryParams = payload?.queryParams || null\n\n param.cache = payload.cache\n\n const params = { hubspotObjectTypeId: payload?.hubspotObjectTypeId }\n\n // const { useUpdateLink: useUpdateLink2 } = url\n // const { updateLink, getLinkParams } = useUpdateLink2();\n const { updateLink, getLinkParams } = useUpdateLink();\n\n const { getParamDetails: getParamDetails2 } = routeParam\n const { paramsObject, parentAccessLabel } = getParamDetails2({ type: payload?.componentName });\n\n const userData = getProfileData()\n\n // const { pipeline, mPipelines } = payload?.variables;\n const pipeline = payload?.variables?.pipeline;\n const mPipelines = payload?.variables?.mPipelines;\n\n const mSelectedPipeline = pipeline !== undefined ? pipeline : payload?.selectedPipeline;\n\n if (mSelectedPipeline) {\n param.filterValue = mSelectedPipeline\n } else if (payload?.specPipeLine && payload?.pipeLineId) {\n param.filterValue = payload?.pipeLineId\n }\n else if (payload?.hubspotObjectTypeId != \"0-3\" || payload?.hubspotObjectTypeId != \"0-5\") {\n param.filterValue = ''\n }\n\n\n // const API_ENDPOINT = apis.tableAPI;\n\n const fParams = getLinkParams()\n\n param = { ...(payload?.isFristTimeLoadData && fParams && !payload?.isHome ? fParams : param), ...paramsObject }\n\n if (!payload?.isFristTimeLoadData || !fParams) {\n await updateLink({\n \"sort\": param?.sort,\n \"s\": param?.search,\n \"fPn\": param?.filterPropertyName,\n \"fO\": param?.filterOperator,\n \"fV\": param?.filterValue,\n \"c\": param?.cache,\n \"isPC\": param?.isPrimaryCompany,\n \"v\": param?.view,\n \"l\": param?.limit,\n \"p\": param?.page,\n \"a\": param?.after,\n })\n }\n\n if (mPipelines != undefined && mPipelines?.length === 0 && !payload?.specPipeLine) { // if pipelines empty then set filter value is empty (n-a)\n param.filterValue = \"\"\n await updateLink({\n \"fV\": param?.filterValue,\n })\n }\n\n if (mPipelines != undefined && mPipelines?.length === 1 && !payload?.specPipeLine && mSelectedPipeline != null) { // if pipelines length is 0 then forcefully set 0 index pipeline\n param.filterValue = mPipelines[0].pipelineId\n await updateLink({\n \"fV\": param?.filterValue,\n })\n }\n\n if (payload?.isHome) { // Only for home tickets\n let parentObjectTypeId = \"\"\n if (userData?.data?.info?.objectTypeId && !param?.isPrimaryCompany) {\n parentObjectTypeId = userData?.data?.info?.objectTypeId\n } else if (userData?.data?.info?.objectTypeId && param?.isPrimaryCompany) {\n parentObjectTypeId = \"0-2\"\n }\n param.parentObjectTypeId = parentObjectTypeId\n }\n\n // if(isHome) { // Only for home tickets\n // let parentObjectTypeId = \"\"\n // if (userData?.info?.objectTypeId && !param?.isPrimaryCompany) {\n // parentObjectTypeId = userData?.info?.objectTypeId\n // } else if (userData?.info?.objectTypeId && param?.isPrimaryCompany) {\n // parentObjectTypeId = \"0-2\"\n // }\n // param.parentObjectTypeId = parentObjectTypeId\n // setParentObjectTypeId(parentObjectTypeId)\n // }\n\n\n param.parentAccessLabel = parentAccessLabel\n\n const {\n stageId,\n nextPage\n }: any = useTable();\n if(stageId){ // if stageId is not empty then set stageId in param only for board view\n param.stageId = stageId\n }\n\n if(param?.view === \"BOARD\") { // if view is board then set nextPage to page\n param.page = nextPage\n }\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.OBJECTS, params, queryParams: param })\n return HttpClient.get(apiUrl)\n },\n sideBarList: async (payload: any = null) => {\n const hubspotObjectTypeId = payload?.hubspotObjectTypeId\n const params = { hubspotObjectTypeId }\n const queryParams = payload.param\n // const subscriptionType = getSubscriptionType()\n\n // const { useUpdateLink: useUpdateLink } = url\n // const { updateLink, filterParams } = useUpdateLink();\n\n // const tab = filterParams(`tabs.a.${hubspotObjectTypeId}`)\n\n // let param: any = {};\n\n // const baseParams: any = {\n // sort: payload?.sortConfig,\n // filterValue: payload?.filterValue,\n // cache: payload?.cache,\n // isPrimaryCompany: payload?.isPrimaryCompany,\n // };\n\n // if (subscriptionType === \"FREE\") {\n // param = {\n // ...baseParams,\n // ...({ after: payload?.isFristTimeLoadData && tab?.page ? tab?.page : payload?.currentPage }),\n // };\n // } else {\n // param = {\n // ...baseParams,\n // ...({\n // limit: payload?.itemsPerPage || 10,\n // page: payload?.isFristTimeLoadData && tab?.page ? tab?.page : payload?.currentPage,\n // ...(payload?.after && payload?.after.length > 0 && { after: payload?.after }),\n // }),\n // };\n // }\n\n // updateLink(param);\n // if (payload?.isPrimaryCompany) param.mediatorObjectTypeId = '0-2';\n\n // const apiUrl = generateApiUrl({ route: API_ENDPOINTS.OBJECTS, params, queryParams: param })\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.OBJECTS, params, queryParams })\n return HttpClient.get(apiUrl)\n },\n form: (payload: any = null) => {\n const params = { hubspotObjectTypeId: payload?.hubspotObjectTypeId }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.OBJECTS_FORM, params, queryParams: payload?.params })\n return HttpClient.get(apiUrl)\n },\n objectFormOptions: (payload: any = null) => {\n const params = {\n formId: payload?.formId,\n objectTypeId: payload?.objectTypeId ?? payload?.hubspotObjectTypeId,\n }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.OBJECTS_FORM_OPTIONS, params, queryParams: payload?.params })\n return HttpClient.get(apiUrl)\n },\n create: (props: any = null) => {\n const { getParamDetails: getParamDetailsForCreate } = routeParam\n const { paramsObject } = getParamDetailsForCreate({ type: props?.componentName });\n const cardParentMerge = props?.componentName === \"association\" ? true : false\n const body = mergeRecordWriteBody(props?.payload, paramsObject, {\n cardParentMerge,\n addAnother: props?.params?.addAnother\n })\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.RECORDS_CREATE, params, queryParams: props?.params })\n return HttpClient.post(apiUrl, body)\n },\n createExisting: (props: any = null) => {\n const { getLinkParams } = useUpdateLink();\n const fParams = getLinkParams()\n const queryParams = { ...fParams, ...props?.params }\n\n const params = {\n fromObjectTypeId: props?.fromObjectTypeId ?? props?.hubspotObjectTypeId,\n fromRecordId: props?.fromRecordId,\n toObjectTypeId: props?.toObjectTypeId,\n }\n const payload = props.payload\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.RECORDS_ASSOCIATE, params, queryParams })\n return HttpClient.post(apiUrl, payload)\n },\n removeExisting: (props: any = null) => {\n const { getParamDetails: getParamDetailsForRemove } = routeParam\n const { paramsObject } = getParamDetailsForRemove({ type: props?.componentName });\n const body = mergeRecordWriteBody(props?.payload, paramsObject, undefined)\n const params = {\n fromObjectTypeId: props?.fromObjectTypeId ?? props?.hubspotObjectTypeId,\n fromRecordId: props?.fromRecordId,\n toObjectTypeId: props?.toObjectTypeId,\n }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.RECORDS_DISASSOCIATE, params })\n return HttpClient.delete(apiUrl, { data: body })\n },\n details: (props: any = null) => {\n const { paramsObject: urlParam, parentAccessLabel } = getParamDetails(\"\", true)\n\n // const portalId = config.devPortalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n }\n\n const queryParams = {\n parentAccessLabel: parentAccessLabel,\n ...props?.queryParams,\n ...urlParam\n }\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.OBJECTS_DETAILS, params, queryParams })\n return HttpClient.get(apiUrl)\n },\n update: (props: any = null) => {\n const params = {\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n }\n\n const { getParamDetails: getParamDetailsForUpdate } = routeParam\n const { paramsObject } = getParamDetailsForUpdate({ type: props?.componentName });\n const cardParentMerge = props?.componentName === \"association\" ? true : false\n const rawPayload = props?.payload || {}\n const properties =\n rawPayload.properties ??\n rawPayload.propertyPayload ??\n rawPayload\n const body = mergeRecordWriteBody(\n { properties },\n paramsObject,\n { cardParentMerge },\n )\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.RECORDS_UPDATE, params })\n return HttpClient.put(apiUrl, body)\n }\n },\n note: {\n list: (props: any = null) => {\n\n // const portalId = getPortal()?.portalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n }\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.NOTES, params, queryParams: props?.queryParams })\n return HttpClient.get(apiUrl)\n },\n create: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.NOTES_CREATE, params, queryParams })\n return HttpClient.post(apiUrl, payload)\n },\n update: (props: any = null) => {\n // const portalId = getPortal()?.portalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n note_id: props?.params?.note_id,\n }\n\n const { paramsObject: queryParams } = getParamDetails();\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.NOTES_DETAILS_UPDATE, params, queryParams })\n return HttpClient.put(apiUrl, props.payload)\n },\n image: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const axiosConfig = props.config || {}\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.NOTES_IMAGE_UPLOAD, params, queryParams })\n return HttpClient.post(apiUrl, payload, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n ...axiosConfig\n })\n },\n attachment: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const axiosConfig = props.config || {}\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.NOTES_ATTACHMENT_UPLOAD, params, queryParams })\n return HttpClient.post(apiUrl, payload, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n ...axiosConfig\n })\n },\n },\n email: {\n list: (props: any = null) => {\n\n // const portalId = getPortal()?.portalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n }\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.EMAILS, params, queryParams: props?.queryParams })\n return HttpClient.get(apiUrl)\n },\n create: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.EMAILS_CREATE, params, queryParams })\n return HttpClient.post(apiUrl, payload)\n },\n update: (props: any = null) => {\n // const portalId = getPortal()?.portalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n email_id: props?.params?.email_id ?? props?.params?.note_id,\n }\n\n const { paramsObject: queryParams } = getParamDetails();\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.EMAILS_DETAILS_UPDATE, params, queryParams })\n return HttpClient.put(apiUrl, props.payload)\n },\n image: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const axiosConfig = props.config || {}\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.EMAILS_IMAGE_UPLOAD, params, queryParams })\n return HttpClient.post(apiUrl, payload, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n ...axiosConfig\n })\n },\n attachment: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const axiosConfig = props.config || {}\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.EMAILS_ATTACHMENT_UPLOAD, params, queryParams })\n return HttpClient.post(apiUrl, payload, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n ...axiosConfig\n })\n },\n },\n cache: {\n purge: (body: Record<string, unknown>, headers?: Record<string, string>) => {\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.CACHE_PURGE });\n return HttpClient.post(apiUrl, body, headers ? { headers } : undefined);\n },\n purgeStatus: (purgeJobId: string) => {\n const apiUrl = generateApiUrl({\n route: API_ENDPOINTS.CACHE_PURGE_STATUS,\n params: { purgeJobId },\n });\n return HttpClient.get(apiUrl);\n },\n },\n file: {\n list: (props: any = null) => {\n // const portalId = getPortal()?.portalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n }\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.FILES, params, queryParams: props?.queryParams })\n return HttpClient.get(apiUrl)\n },\n details: (props: any = null) => {\n\n // const portalId = getPortal()?.portalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n rowId: props?.params?.rowId,\n }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.FILE, params, queryParams: props?.queryParams })\n return HttpClient.get(apiUrl)\n },\n download: (props: any = null) => {\n const params = {\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n rowId: props?.params?.rowId,\n }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.FILE_DOWNLOAD, params, queryParams: props?.queryParams })\n return HttpClient.post(apiUrl, {})\n },\n addFolder: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.FILES_CREATE_FOLDER, params, queryParams })\n return HttpClient.post(apiUrl, payload)\n },\n addFile: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const axiosConfig = props.config || {}\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.FILES_UPLOAD, params, queryParams })\n return HttpClient.post(apiUrl, payload, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n ...axiosConfig\n })\n },\n }\n}","type StringStore = {\n getItem(key: string): string | null;\n setItem(key: string, value: string): void;\n removeItem(key: string): void;\n};\n\nconst memory = new Map<string, string>();\n\nconst memoryStore: StringStore = {\n getItem(key: string) {\n return memory.has(key) ? memory.get(key)! : null;\n },\n setItem(key: string, value: string) {\n memory.set(key, value);\n },\n removeItem(key: string) {\n memory.delete(key);\n },\n};\n\nfunction resolveStore(): StringStore {\n if (typeof globalThis === \"undefined\") {\n return memoryStore;\n }\n const ls = (globalThis as unknown as { localStorage?: StringStore }).localStorage;\n if (!ls || typeof ls.getItem !== \"function\") {\n return memoryStore;\n }\n try {\n const probeKey = \"__woodsportal_client_sdk_ls_probe__\";\n ls.setItem(probeKey, \"1\");\n ls.removeItem(probeKey);\n return ls;\n } catch {\n return memoryStore;\n }\n}\n\nexport const storage = {\n set: (key: string, value: unknown) => {\n resolveStore().setItem(key, JSON.stringify(value));\n },\n\n get: <T>(key: string): T | null => {\n const item = resolveStore().getItem(key);\n return item ? (JSON.parse(item) as T) : null;\n },\n\n remove: (key: string) => {\n resolveStore().removeItem(key);\n },\n};\n","import { Config, HubspotStorage } from \"../types\";\nimport { HUBSPOT_DATA, HUB_ID, DEV_PORTAL_ID, PORTAL_ID, DEV_API_URL } from \"./constants\";\nimport { storage } from \"./localStoraget\";\n\nexport const config = {\n get hubId() {\n const hubSpotData: any = storage.get<{ name: string }>(HUBSPOT_DATA);\n return hubSpotData?.[HUB_ID] || \"\";\n },\n get devPortalId() {\n const hubSpotData: any = storage.get<{ name: string }>(HUBSPOT_DATA);\n return hubSpotData?.[DEV_PORTAL_ID] || \"\";\n },\n get portalId() {\n const hubSpotData: any = storage.get<{ name: string }>(HUBSPOT_DATA);\n return hubSpotData?.[PORTAL_ID] || \"\";\n },\n get devApiUrl() {\n const hubSpotData: any = storage.get<{ name: string }>(HUBSPOT_DATA);\n return hubSpotData?.[DEV_API_URL] || \"\";\n },\n} satisfies Config;\n\nexport const setConfig = {\n setDevPortalId(portalId: string) {\n const existing = storage.get<HubspotStorage>(HUBSPOT_DATA) || {};\n\n storage.set(HUBSPOT_DATA, {\n ...existing,\n [PORTAL_ID]: portalId,\n });\n },\n};","import { config } from '../utils/config'\n\nexport const generateApiUrl = ({\n route,\n params = {},\n queryParams = '',\n}: {\n route: string;\n params?: Object;\n queryParams?: any;\n}) => {\n const defaultParams = {\n hubId: config.hubId,\n portalId: config.portalId,\n };\n\n params = { ...defaultParams, ...params };\n const url = replaceParams(route, params)\n\n let queryString = '';\n if (queryParams && typeof queryParams === 'object') {\n const cleanedParams = Object.entries(queryParams)\n .filter(([_, value]) => value !== null && value !== undefined)\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});\n\n queryString = new URLSearchParams(cleanedParams).toString();\n }\n\n return queryString ? `${url}?${queryString}` : url;\n}\n\nfunction replaceParams(\n template: string,\n values: any\n) {\n return template.replace(/\\$\\{(\\w+)\\}/g, (_, key) =>\n key in values ? String(values[key]) : `\\${${key}}`\n );\n}","export const API_ENDPOINTS: any = {\n // Auth\n PRE_LOGIN: \"/api/auth/pre-login\",\n LOGIN: \"/api/auth/login\",\n AUTH_REFRESH: \"/api/auth/refresh\",\n FORGET_PASSWORD: \"/api/auth/forget-password\",\n RESET_PASSWORD_VERIFY_TOKEN: \"/api/auth/token/validate\",\n RESET_PASSWORD: \"/api/auth/reset-password\",\n VERIFY_EMAIL: \"/api/auth/verify-email\",\n REGISTER_EXISTING_USER: \"/api/auth/existing-user-register\",\n RESEND_EMAIL: \"/api/auth/resend-email\",\n VERIFY_EMAIL_RESEND: \"/api/auth/verify-email/resend\",\n LOGOUT: \"/api/auth/logout\",\n\n // SSO\n SSO_DETAILS: \"/api/auth/sso/active\",\n SSO_URL: \"/api/auth/sso/authorize\",\n SSO_CALLBACK: \"/api/auth/sso/callback\",\n\n // User\n ME: \"/api/auth/me\",\n PROFILE: \"/api/${hubId}/${portalId}/profiles\",\n CHANGE_PASSWORD: \"/api/auth/change-password\",\n\n // Pipeline\n PIPELINES: \"/api/${hubId}/${portalId}/hubspot-object-pipelines/${hubspotObjectTypeId}\",\n\n // Stage\n STAGES: \"/api/${hubId}/${portalId}/hubspot-object-pipelines/${objectTypeId}/${pipelineId}/stages\",\n\n // Cache purge (replaces cache=false refresh; requires features.cache-purge-api-enabled on API)\n CACHE_PURGE: \"/api/${hubId}/${portalId}/cache-purge-jobs\",\n CACHE_PURGE_STATUS: \"/api/${hubId}/${portalId}/cache-purge-jobs/${purgeJobId}\",\n /** @deprecated Use CACHE_PURGE */\n CACHE_PURGE_LEGACY: \"/api/${hubId}/${portalId}/cache/purge\",\n /** @deprecated Use CACHE_PURGE_STATUS */\n CACHE_PURGE_STATUS_LEGACY: \"/api/${hubId}/${portalId}/cache/purge/${purgeJobId}\",\n\n // Object (read on hubspot-object-data; form layout on hubspot-object-forms)\n OBJECTS: \"/api/${hubId}/${portalId}/hubspot-object-data/${hubspotObjectTypeId}/records\",\n OBJECTS_FORM: \"/api/${hubId}/${portalId}/hubspot-object-forms/${hubspotObjectTypeId}/fields\",\n OBJECTS_FORM_OPTIONS:\n \"/api/${hubId}/${portalId}/hubspot-object-forms/${formId}/${objectTypeId}\",\n RECORDS_CREATE: \"/api/${hubId}/${portalId}/hubspot-object-data/${hubspotObjectTypeId}/records\",\n RECORDS_UPDATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}\",\n RECORDS_ASSOCIATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${fromObjectTypeId}/records/${fromRecordId}/associations/${toObjectTypeId}\",\n RECORDS_DISASSOCIATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${fromObjectTypeId}/records/${fromRecordId}/associations/${toObjectTypeId}\",\n /** @deprecated Use RECORDS_CREATE */\n OBJECTS_CREATE: \"/api/${hubId}/${portalId}/hubspot-object-forms/${hubspotObjectTypeId}/fields\",\n /** @deprecated Use RECORDS_ASSOCIATE */\n OBJECTS_CREATE_EXISTING:\n \"/api/${hubId}/${portalId}/hubspot-object-forms/:fromObjectTypeId/:fromRecordId/associations/:toObjectTypeId\",\n OBJECTS_DETAILS: \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}\",\n /** @deprecated Use RECORDS_UPDATE */\n OBJECTS_DETAILS_UPDATE:\n \"/api/${hubId}/${portalId}/hubspot-object-forms/${objectId}/records/${id}\",\n OBJECTS_DETAILS_UPDATE_LEGACY:\n \"/api/${hubId}/${portalId}/hubspot-object-forms/${objectId}/properties/${id}\",\n\n // Notes (nested under CRM record)\n NOTES: \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/notes\",\n NOTES_CREATE: \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/notes\",\n NOTES_DETAILS_UPDATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/notes/${note_id}\",\n NOTES_IMAGE_UPLOAD:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/notes/images\",\n NOTES_ATTACHMENT_UPLOAD:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/notes/attachments\",\n NOTES_ATTACHMENT_UPDATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/notes/attachments/${note_id}\",\n\n // Email (nested under CRM record)\n EMAILS: \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/emails\",\n EMAILS_CREATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/emails\",\n EMAILS_DETAILS_UPDATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/emails/${email_id}\",\n EMAILS_IMAGE_UPLOAD:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/emails/images\",\n EMAILS_ATTACHMENT_UPLOAD:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/emails/attachments\",\n EMAILS_ATTACHMENT_UPDATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/emails/attachments/${email_id}\",\n\n // File manager (nested under CRM record)\n FILES: \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/files\",\n FILE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/files/${rowId}\",\n FILE_DOWNLOAD:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/files/${rowId}/download\",\n FILES_CREATE_FOLDER:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/folders\",\n FILES_UPLOAD:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/files\",\n};","export interface Config {\n /**\n * Base URL for API requests\n */\n baseURL: string;\n}\n\n/** Fallback only when initializeHttpClient was not called (development / tests). */\nexport const config: Config = {\n baseURL: '',\n};\n\n","import axios from \"axios\";\n// import type { AxiosError, AxiosInstance, AxiosRequestConfig, InternalAxiosRequestConfig } from \"axios\";\nimport type { AxiosError, AxiosInstance, InternalAxiosRequestConfig } from \"axios\";\nimport { API_ENDPOINTS } from './api-endpoints';\nimport { getAccessToken, ensureValidRefresh, setRefreshCallback } from './token-store';\nimport { config as defaultConfig } from './config';\nimport { config as storConfig } from '../utils/config'\nimport { generateApiUrl } from \"../utils/generateApiUrl\";\nimport { setAccessToken, setRefreshToken } from \"./auth-utils\";\n\nexport interface HttpClientConfig {\n /**\n * Base URL for API requests\n */\n baseURL?: string;\n\n /**\n * Request timeout in milliseconds\n */\n timeout?: number;\n\n /**\n * Custom headers to include in all requests\n */\n headers?: Record<string, string>;\n\n /**\n * Function to check if current path should skip auth error handling\n * Returns true if auth errors should be handled (redirect to login)\n */\n skipCurrentPublicPath?: () => boolean;\n\n /**\n * Routes configuration object with route paths\n */\n routes?: {\n unauthorized?: string;\n login?: string;\n };\n\n /**\n * Hub ID for API requests\n */\n hubId?: string;\n\n /**\n * Dev Portal ID for API requests\n */\n devPortalId?: string;\n\n /**\n * Function to handle logout\n */\n onLogout?: () => void | Promise<void>;\n}\n\nlet axiosInstance: AxiosInstance | null = null;\nlet config: HttpClientConfig = {};\n\n/**\n * Initialize the HTTP client with configuration\n */\nexport function initializeHttpClient(clientConfig: HttpClientConfig): void {\n config = clientConfig;\n\n const baseURL = storConfig?.devApiUrl || config.baseURL;\n if (!baseURL) {\n throw new Error(\n 'WoodsPortal SDK HTTP client is not configured. Call initializeHttpClient({ baseURL }) at app startup.',\n );\n }\n const timeout = config.timeout ?? 50000;\n\n axiosInstance = axios.create({\n baseURL,\n timeout,\n headers: {\n 'Content-Type': 'application/json',\n ...config.headers,\n },\n });\n\n // Set up refresh callback to avoid circular dependency\n setRefreshCallback(getAuthRefreshToken);\n\n // Request interceptor: inject auth token if available\n axiosInstance.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const token = getAccessToken();\n if (token) {\n config.headers.set('Authorization', `Bearer ${token}`);\n }\n return config;\n });\n\n // Response interceptor: handle errors\n axiosInstance.interceptors.response.use(\n (response) => response,\n (error: AxiosError) => {\n if (error.response && error.response.status === 401) {\n const shouldHandleAuthError = config.skipCurrentPublicPath?.() ?? false;\n\n if (shouldHandleAuthError) {\n // const payload = error.response.data as any ?? {};\n // const data = {\n // errorCode: payload.errorCode,\n // errorMessage: payload.errorMessage,\n // detailedMessage: payload.detailedMessage,\n // correlationId: payload.correlationId,\n // ts: Date.now(),\n // };\n\n // if (typeof window !== 'undefined' && window.sessionStorage) {\n // sessionStorage.setItem('authError', JSON.stringify(data));\n // }\n\n // if (config.routes?.unauthorized && typeof window !== 'undefined') {\n // window.location.replace(`#${config.routes.unauthorized}`);\n // }\n }\n }\n return Promise.reject(error);\n },\n );\n}\n\n/**\n * Get the axios instance (creates default if not initialized)\n */\nfunction getAxiosInstance(): AxiosInstance {\n if (!axiosInstance) {\n // Create default instance if not initialized\n initializeHttpClient({\n baseURL: defaultConfig.baseURL,\n timeout: 50000,\n });\n }\n return axiosInstance!;\n}\n\nfunction formatBooleanSearchParam(key: string, value: boolean): string {\n return value ? `${key}:1` : `${key}:`;\n}\n\nexport class HttpClient {\n static async get<T>(url: string, params?: unknown): Promise<T> {\n await ensureValidRefresh();\n const response = await getAxiosInstance().get<T>(url, { params });\n return response.data;\n }\n\n static async post<T>(url: string, data: unknown, options?: any): Promise<T> {\n await ensureValidRefresh();\n const response = await getAxiosInstance().post<T>(url, data, options);\n return response.data;\n }\n\n static async put<T>(url: string, data: unknown): Promise<T> {\n await ensureValidRefresh();\n const response = await getAxiosInstance().put<T>(url, data);\n return response.data;\n }\n\n static async delete<T>(url: string, config?: { data?: unknown }): Promise<T> {\n await ensureValidRefresh();\n const response = await getAxiosInstance().delete<T>(url, config);\n return response.data;\n }\n\n static formatSearchParams(params: Partial<any>): string {\n return Object.entries(params)\n .filter(([, value]) => Boolean(value))\n .map(([k, v]) =>\n [\n 'type',\n 'categories',\n 'tags',\n 'author',\n 'manufacturer',\n 'shops',\n 'refund_reason',\n ].includes(k)\n ? `${k}.slug:${v}`\n : ['is_approved'].includes(k)\n ? formatBooleanSearchParam(k, v as boolean)\n : `${k}:${v}`,\n )\n .join(';');\n }\n}\n\nexport class AuthHttpClient {\n static async get<T>(url: string, params?: unknown): Promise<T> {\n const response = await getAxiosInstance().get<T>(url, { params });\n return response.data;\n }\n\n static async post<T>(url: string, data: unknown, options?: any): Promise<T> {\n const response = await getAxiosInstance().post<T>(url, data, options);\n return response.data;\n }\n\n static async put<T>(url: string, data: unknown, options?: any): Promise<T> {\n const response = await getAxiosInstance().put<T>(url, data, options);\n return response.data;\n }\n}\n\nexport function getFormErrors(error: unknown): string | null {\n if (axios.isAxiosError(error)) {\n return (error.response?.data as any)?.message ?? null;\n }\n return null;\n}\n\nexport function getFieldErrors(error: unknown): any {\n if (axios.isAxiosError(error)) {\n return (error.response?.data as any)?.errors ?? null;\n }\n return null;\n}\n\nexport async function getAuthRefreshToken(refreshToken: string | null): Promise<{\n token: string | null;\n success: boolean;\n}> {\n try {\n // const hubId = config.hubId ?? '';\n const headers: Record<string, string> = {};\n\n if (storConfig.devPortalId) {\n headers['X-Dev-Portal-Id'] = storConfig.devPortalId;\n }\n\n const api_url = generateApiUrl({ route: API_ENDPOINTS.AUTH_REFRESH, queryParams: { hubId: storConfig.hubId } })\n\n const response = await getAxiosInstance().post(\n api_url,\n { refreshToken },\n { headers }\n );\n\n const maybeData = response?.data?.data || response?.data;\n const tokenData = maybeData?.tokenData || maybeData || {} as any;\n const newRefreshToken = tokenData?.refreshToken as string;\n const token = tokenData?.token as string | undefined;\n const expiresIn = tokenData?.expiresIn as number | undefined;\n const rExpiresIn = tokenData?.refreshExpiresIn as number | undefined;\n const rExpiresAt = tokenData?.refreshExpiresAt as number | undefined; // epoch seconds\n\n if (typeof newRefreshToken === 'string') {\n let rExpires = 0;\n if (typeof rExpiresIn === 'number') {\n rExpires = Date.now() + rExpiresIn * 1000;\n } else if (typeof rExpiresAt === 'number') {\n rExpires = rExpiresAt * 1000;\n }\n setRefreshToken(newRefreshToken, rExpires);\n }\n\n if (typeof token === 'string') {\n setAccessToken(token, typeof expiresIn === 'number' ? expiresIn : undefined);\n return { token, success: true };\n }\n\n return { token: null, success: false };\n } catch {\n return { token: null, success: false };\n }\n}\n\n// Export the axios instance getter for advanced usage\nexport { getAxiosInstance };\n","export let PROFILE: any = null\n\nexport const setProfileData = (data: any) => {\n PROFILE = data\n}\n\nexport const getProfileData = () => {\n return PROFILE\n}","import axios from \"axios\";\nimport { resetAllStore } from \"../store2/use-sync\";\n\n/** Log API and runtime errors with readable output (Axios response body, stack, etc.). */\nexport function logError(context: string, error: unknown): void {\n if (axios.isAxiosError(error)) {\n resetAllStore(); // reset all store data\n console.error(context, { message: error.message,\n status: error.response?.status,\n statusText: error.response?.statusText,\n data: error.response?.data,\n url: error.config?.url,\n method: error.config?.method,\n });\n return;\n }\n\n if (error instanceof Error) {\n console.error(context, error.message, error);\n return;\n }\n\n console.error(context, error);\n}\n","import { MutationOptions } from \"../types\";\nimport { logError } from \"../utils/logError\";\n\n/**\n * Shared mutation helper used across `api.*` factories.\n *\n * - **Concurrency:** overlapping `mutate()` calls keep loading true until all finish.\n * - **Errors:** `onError` runs for failures; the promise still rejects so callers can `try/catch`.\n */\nexport function createMutation<TPayload, TSuccess, TError = unknown>(\n mutationFn: (payload?: TPayload) => Promise<TSuccess>,\n options?: MutationOptions<TSuccess, TError>\n) {\n let inFlight = 0;\n let lastReportedLoading: boolean | null = null;\n\n const syncLoading = () => {\n const active = inFlight > 0;\n if (lastReportedLoading === active) return;\n lastReportedLoading = active;\n options?.onLoadingChange?.(active);\n };\n\n const mutate = async (payload?: TPayload) => {\n inFlight += 1;\n syncLoading();\n try {\n const response = await mutationFn(payload);\n await options?.onSuccess?.(response, payload);\n return response;\n } catch (error) {\n options?.onError?.(error as TError, payload);\n logError(\"[mutation]\", error);\n throw error;\n } finally {\n inFlight -= 1;\n syncLoading();\n }\n };\n\n return {\n mutate,\n isLoading: () => inFlight > 0,\n };\n}\n","import { Client } from \"../client/index\";\nimport type { LoginPayload, MutationOptions, PreLoginPayload, ForgetPasswordPayload, VerifyEmailPayload, ResetPasswordVerifyTokenPayload, ResetPasswordPayload } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\nimport { setPortal, setSubscriptionType, setAccessToken, setRefreshToken, setLoggedInDetails } from \"../client/auth-utils\";\nimport { getParam } from \"../utils/param\";\nimport { removeAllCookie } from \"../utils/cookie\";\nimport { clearAccessToken } from \"../client/token-store\";\nimport { setConfig } from \"../utils/config\";\n\nexport function preLogin(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<PreLoginPayload, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.preLogin(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n login: mutate,\n isLoading,\n };\n}\n\nexport function login(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<LoginPayload, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.login(payload);\n\n const tokenData: any = response?.data?.tokenData || {}\n const loggedInDetails: any = response?.data?.loggedInDetails || {}\n const currentPortal: any = response?.data?.loggedInDetails?.currentPortal || {}\n const currentPortalId: any = currentPortal?.portalId || null\n const SubscriptionType = loggedInDetails?.subscriptionType || \"BASIC\";\n\n const token = tokenData?.token;\n const refreshToken = tokenData?.refreshToken;\n const expiresIn = tokenData?.expiresIn;\n const rExpiresIn = tokenData?.refreshExpiresIn;\n\n setPortal(currentPortal);\n setSubscriptionType(SubscriptionType);\n await setAccessToken(token, expiresIn);\n\n await setRefreshToken(refreshToken, rExpiresIn);\n await setLoggedInDetails(response.data);\n\n setConfig.setDevPortalId(currentPortalId);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n login: mutate,\n isLoading,\n };\n}\n\nexport function verifyEmail(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<VerifyEmailPayload, any>(\n async (payload: any) => {\n const verifyEmailPayload: VerifyEmailPayload = payload || {};\n const token: any = getParam(\"token\")\n if (!verifyEmailPayload?.token) verifyEmailPayload.token = token;\n const response: any = await Client.authentication.verifyEmail(verifyEmailPayload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n verifyEmail: mutate,\n isLoading,\n };\n}\n\nexport function resetPasswordVerifyToken(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<ResetPasswordVerifyTokenPayload, any>(\n async (payload: any) => {\n const resetPasswordVerifyTokenPayload: ResetPasswordVerifyTokenPayload = payload || {};\n const token: any = getParam(\"token\")\n if (!resetPasswordVerifyTokenPayload?.token) resetPasswordVerifyTokenPayload.token = token;\n const response: any = await Client.authentication.resetPasswordVerifyToken(resetPasswordVerifyTokenPayload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n resetPasswordVerifyToken: mutate,\n isLoading,\n };\n}\n\nexport function resetPassword(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<ResetPasswordPayload, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.resetPassword(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n resetPassword: mutate,\n isLoading,\n };\n}\n\nexport function forgetPassword(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<ForgetPasswordPayload, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.forgetPassword(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n forgetPassword: mutate,\n isLoading,\n };\n}\n\nexport function logout(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation(\n async () => {\n const response: any = await Client.authentication.logout();\n\n clearAccessToken()\n removeAllCookie()\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n logout: mutate,\n isLoading,\n };\n}\n\nexport function registerExistingUser(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.registerExistingUser(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n registerExistingUser: mutate,\n isLoading,\n };\n}\n\nexport function verifyEmailResend(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.verifyEmailResend(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n verifyEmailResend: mutate,\n isLoading,\n };\n}\n\nexport function resendEmail(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.resendEmail(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n resendEmail: mutate,\n isLoading,\n };\n}","import { Client } from \"../client/index\";\nimport type { MutationOptions, PreLoginPayload } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\n\n\nexport function getSsoDetails(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation(\n async () => {\n const response: any = await Client.sso.getSsoDetails();\n return response;\n },\n options\n );\n\n return {\n mutate,\n getSsoDetails: mutate,\n isLoading,\n };\n}\n\nexport function generateSsoUrl(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<PreLoginPayload, any>(\n async (payload: any) => {\n const response: any = await Client.sso.generateSsoUrl(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n generateSsoUrl: mutate,\n isLoading,\n };\n}\n\nexport function ssoCallback(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<PreLoginPayload, any>(\n async (payload: any) => {\n const response: any = await Client.sso.ssoCallback(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n ssoCallback: mutate,\n isLoading,\n };\n}\n","import { Client } from \"../client/index\";\nimport type { ChangePasswordPayload, MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\nimport { setProfileData } from \"../data/user\";\n\n\nexport function me(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation(\n async () => {\n const response: any = await Client.user.me();\n return response;\n },\n options\n );\n\n return {\n mutate,\n me: mutate,\n isLoading,\n };\n}\n\nexport function profile(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation(\n async (paylaod: any) => {\n const response: any = await Client.user.profile(paylaod);\n setProfileData(response)\n return response;\n },\n options\n );\n\n return {\n mutate,\n profile: mutate,\n isLoading,\n };\n}\n\n\nexport function changePassword(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<ChangePasswordPayload, any>(\n async (payload: any) => {\n const response: any = await Client.user.changePassword(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n changePassword: mutate,\n isLoading,\n };\n}","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\nimport { useTable } from \"../store/use-table\";\n\nexport function list(options?: MutationOptions<any, any>) {\n const {\n getTableParam\n }: any = useTable();\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n\n const param = await getTableParam(payload?.companyAsMediator);\n\n const response: any = await Client.pipeline.list(payload, param);\n return response;\n },\n options\n );\n\n return {\n mutate,\n getPipelines: mutate,\n isLoading,\n };\n}\n","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\n\nexport function list(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.stage.list(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n getStages: mutate,\n isLoading,\n };\n}\n","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\nimport { useTable } from \"../store/use-table\";\nimport { actions as tableActions } from \"../store2/use-table\";\n\nexport function list(options?: MutationOptions<any, any>) {\n const { getTableParam }: any = useTable();\n\n const { setObjectsData, setTableData } = tableActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const param = await getTableParam(payload?.companyAsMediator);\n\n const response: any = await Client.object.list(payload, param);\n\n await setObjectsData(response)\n await setTableData(response, payload)\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getObjects: mutate,\n isLoading,\n };\n}\n\nexport function sideBarList(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.object.sideBarList(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getSideBarObjects: mutate,\n isLoading,\n };\n}\n\n\nexport function form(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.object.form(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getObjectsForm: mutate,\n isLoading,\n };\n}\n\nexport function objectFormOptions(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.object.objectFormOptions(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n objectFormOptions: mutate,\n isLoading,\n };\n}\n\nexport function create(options?: MutationOptions<any, any>) {\n const { setTablePrependData } = tableActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n\n if(props?.componentName != \"association\") await setTablePrependData(\"loading\", props)\n\n const response: any = await Client.object.create(props);\n \n console.log(\n \"props\", props\n )\n if(props?.componentName != \"association\") await setTablePrependData(response, props)\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n createObject: mutate,\n isLoading,\n };\n}\n\nexport function createExisting(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n const response: any = await Client.object.createExisting(props);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n createExistingObject: mutate,\n isLoading,\n };\n}\n\nexport function removeExisting(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n const response: any = await Client.object.removeExisting(props);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n removeExisting: mutate,\n isLoading,\n };\n}\n\nexport function details(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.object.details(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getObjectsDetails: mutate,\n isLoading,\n };\n}\n\nexport function update(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.object.update(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n updateObjectsDetails: mutate,\n isLoading,\n };\n}","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\nimport { actions as noteActions } from \"../store2/use-note\";\n\nexport function list(options?: MutationOptions<any, any>) {\n const { setNotes } = noteActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.note.list(payload);\n\n setNotes(response, payload)\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getNotes: mutate,\n isLoading,\n };\n}\n\nexport function create(options?: MutationOptions<any, any>) {\n const { setPrependNote } = noteActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n await setPrependNote(\"loading\")\n const response: any = await Client.note.create(props);\n await setPrependNote(response)\n return response;\n },\n options\n );\n\n return {\n mutate,\n createNote: mutate,\n isLoading,\n };\n}\n\nexport function update(options?: MutationOptions<any, any>) {\n const { updatePrependNote } = noteActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n\n // let params: any = makeParam()\n // let mParams: any = { cache: !!params?.cache, isPrimaryCompany: params?.isPrimaryCompany, limit: params?.limit || 5 }\n\n // if (getAuthSubscriptionType() === 'FREE') {\n // mParams.after = params?.after || \"\";\n // } else {\n // mParams.limit = params?.limit || \"\";\n // mParams.page = params?.page || \"\";\n // }\n\n\n const response: any = await Client.note.update(payload);\n\n updatePrependNote(response)\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n updateNote: mutate,\n isLoading,\n };\n}\n\n\n// const makeParam = () => {\n// let params: any = {};\n// const tab = filterParams(\"tabs.notes\")\n// const baseParams: any = {\n// objectId: objectId,\n// id: id,\n// portalId: portalId,\n// cache: (sync || apiSync) ? false : true,\n// isPrimaryCompany: tab?.isPrimaryCompany ? true : false,\n// };\n\n// if (getAuthSubscriptionType() === \"FREE\") {\n// params = {\n// ...baseParams,\n// ...({ after: isFristTimeLoadData && tab?.page ? tab?.page : page }),\n// };\n// } else {\n// params = {\n// ...baseParams,\n// ...({\n// limit: limit,\n// page: isFristTimeLoadData && tab?.page ? tab?.page : page,\n// }),\n// };\n// }\n// return params\n// }","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\nimport { actions as emailActions } from \"../store2/use-email\";\n\nexport function list(options?: MutationOptions<any, any>) {\n const { setEmails } = emailActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.email.list(payload);\n\n setEmails(response, payload)\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getEmails: mutate,\n isLoading,\n };\n}\n\nexport function create(options?: MutationOptions<any, any>) {\n const { setPrependEmail } = emailActions;\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n await setPrependEmail(\"loading\")\n const response: any = await Client.email.create(props);\n await setPrependEmail(response)\n return response;\n },\n options\n );\n\n return {\n mutate,\n createEmail: mutate,\n isLoading,\n };\n}\n\nexport function update(options?: MutationOptions<any, any>) {\n const { updatePrependEmail } = emailActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.email.update(payload);\n\n updatePrependEmail(response)\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n updateEmail: mutate,\n isLoading,\n };\n}\n\n\n// const makeParam = () => {\n// let params: any = {};\n// const tab = filterParams(\"tabs.notes\")\n// const baseParams: any = {\n// objectId: objectId,\n// id: id,\n// portalId: portalId,\n// cache: (sync || apiSync) ? false : true,\n// isPrimaryCompany: tab?.isPrimaryCompany ? true : false,\n// };\n\n// if (getAuthSubscriptionType() === \"FREE\") {\n// params = {\n// ...baseParams,\n// ...({ after: isFristTimeLoadData && tab?.page ? tab?.page : page }),\n// };\n// } else {\n// params = {\n// ...baseParams,\n// ...({\n// limit: limit,\n// page: isFristTimeLoadData && tab?.page ? tab?.page : page,\n// }),\n// };\n// }\n// return params\n// }","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\n\nexport function imageUpload(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = payload?.type === \"email\" ? await Client.email.image(payload) : await Client.note.image(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n imageUpload: mutate,\n isLoading,\n };\n}\n\nexport function attachmentUpload(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = payload?.type === \"email\" ? await Client.email.attachment(payload) : await Client.note.attachment(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n attachmentUpload: mutate,\n isLoading,\n };\n}","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\n\nexport function list(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.file.list(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getFiles: mutate,\n isLoading,\n };\n}\n\nexport function details(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.file.details(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getFile: mutate,\n isLoading,\n };\n}\n\nexport function addFolder(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n const response: any = await Client.file.addFolder(props);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n addFolder: mutate,\n isLoading,\n };\n}\n\nexport function addFile(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n const response: any = await Client.file.addFile(props);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n addFile: mutate,\n isLoading,\n };\n}\n\nexport function download(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.file.download(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n downloadFile: mutate,\n isLoading,\n };\n}","import { Client } from \"../client/index\";\nimport type { MutationOptions } from \"../types\";\nimport { createMutation } from \"../mutation/createMutation\";\n\n/** Soft refresh CRM list cache (prefer over GET cache=false when purge API is enabled). */\nexport function purge(options?: MutationOptions<unknown, unknown>) {\n const { mutate, isLoading } = createMutation<Record<string, unknown>, unknown>(\n async (payload?: Record<string, unknown>) => {\n const safePayload = payload ?? {};\n const idempotencyKey =\n typeof safePayload.idempotencyKey === \"string\"\n ? safePayload.idempotencyKey\n : undefined;\n const headers = idempotencyKey\n ? { \"Idempotency-Key\": idempotencyKey }\n : undefined;\n const { idempotencyKey: _ignored, ...body } = safePayload;\n return Client.cache.purge(body, headers);\n },\n options\n );\n\n return { mutate, purgeCache: mutate, isLoading };\n}\n\nexport function purgeStatus(\n purgeJobId: string,\n options?: MutationOptions<unknown, unknown>\n) {\n const { mutate, isLoading } = createMutation<string, unknown>(\n async (jobId?: string) => Client.cache.purgeStatus(jobId ?? purgeJobId),\n options\n );\n\n return {\n mutate,\n getPurgeStatus: () => mutate(purgeJobId),\n isLoading,\n };\n}\n","import { decodeToBase64 } from \"../utils/compress\"\nimport { getParam, getPath } from \"../utils/param\";\nimport { getRouteMenu } from \"./param\";\nimport { generatePath } from \"./url-utils\"\n\nexport const getBreadcrumbs = () => {\n // const router = useRouter()\n // const search: any = router.state.location.search\n const search: any = getParam(\"b\");\n\n let breadcrumbs = decodeToBase64(search) || []\n\n if (!breadcrumbs && breadcrumbs.length < 1) return []\n\n const updated = breadcrumbs.map((breadcrumb: any, index: any) => {\n return generatePath(breadcrumbs, breadcrumb, index)\n })\n\n if (updated.length < 1) {\n const pathname: any = getPath()\n const routeMenu: any = getRouteMenu(pathname)\n return [\n {\n name: routeMenu?.title,\n path: routeMenu?.path,\n },\n ]\n }\n return updated\n}\n\n\nexport const getTableTitle = (\n componentName: string,\n title: string,\n ticketTableTitle: string,\n) => {\n // const router = useRouter()\n // const search: any = router.state.location.search\n const search: any = getParam(\"b\");\n let breadcrumbs = decodeToBase64(search) || []\n\n\n\n if (breadcrumbs.length < 1) {\n // const router = useRouter()\n // const { pathname } = router.state.location\n const pathname: any = getPath()\n const routeMenu: any = getRouteMenu(pathname)\n\n breadcrumbs = [\n {\n n: routeMenu?.title,\n pt: routeMenu?.path,\n },\n ]\n }\n\n let associatedtableTitleSingular: any = ''\n let tableTitle: any = ''\n let singularTableTitle: any = ''\n\n if (breadcrumbs && breadcrumbs.length > 0) {\n const lastItem: any = breadcrumbs[breadcrumbs.length - 1]\n const last: any = lastItem ? generatePath(breadcrumbs, lastItem, breadcrumbs.length - 1) : null\n const previousItem: any = breadcrumbs[breadcrumbs.length - 2]\n const previous: any = previousItem ? generatePath(breadcrumbs, previousItem, breadcrumbs.length - 2) : null\n const singularLastName = last?.name\n\n associatedtableTitleSingular = singularLastName\n if (componentName != 'ticket') {\n tableTitle = previous?.name\n ? { last: last, previous: previous }\n : { last: last }\n singularTableTitle = previous?.name\n ? `${singularLastName} with ${previous?.name}`\n : singularLastName\n } else {\n const ticketTableTitleSingular = ticketTableTitle.endsWith('s')\n ? ticketTableTitle.slice(0, -1)\n : ticketTableTitle\n tableTitle = { last: { name: title } }\n\n singularTableTitle = previous?.name\n ? `${ticketTableTitleSingular} with ${singularLastName} `\n : ticketTableTitleSingular\n }\n }\n return { associatedtableTitleSingular, tableTitle, singularTableTitle }\n}\n\n\nexport const getFormTitle = (\n type: string,\n title: string,\n activeTab: string,\n) => {\n // const router = useRouter()\n // const search: any = router.state.location.search\n const search: any = getParam(\"b\");\n let breadcrumbs = decodeToBase64(search) || []\n\n if (breadcrumbs.length < 1) {\n // const router = useRouter()\n // const { pathname } = router.state.location\n const pathname: any = getPath()\n const routeMenu: any = getRouteMenu(pathname)\n breadcrumbs = [\n {\n n: routeMenu?.title,\n pt: routeMenu?.path,\n },\n ]\n }\n\n let objectName: any = ''\n let puralObjectName: any = ''\n let dialogTitle: any = ''\n\n if (breadcrumbs && breadcrumbs?.length > 0) {\n const last: any = breadcrumbs[breadcrumbs?.length - 1]\n const lastName = last?.n\n const mTitle = title\n if (type === 'association' && breadcrumbs && breadcrumbs?.length > 0) {\n objectName = title\n puralObjectName = title\n dialogTitle = `${activeTab == 'addNew' ? `Create a new ${mTitle} for ${nameTrancate(lastName)}` : `Associate an Existing ${mTitle} with ${nameTrancate(lastName)}`}`\n } else {\n const singularLastName = typeof lastName === 'string' && lastName?.endsWith('s')\n ? lastName.slice(0, -1)\n : lastName\n objectName = singularLastName\n puralObjectName = lastName\n dialogTitle = `${activeTab == 'addNew' ? `Create a new ${mTitle?.includes('with') ? nameTrancate(mTitle?.replace('with', 'for')) : nameTrancate(mTitle)}` : `Associate an Existing ${nameTrancate(mTitle)}`}`\n }\n }\n return { objectName, puralObjectName, dialogTitle }\n}\n\nconst nameTrancate = (name: any) => {\n return name?.length > 30 ? `${name?.slice(0, 30) + '...'}` : name\n}","import { decodeToBase64 } from \"../utils/compress\"\nimport { breadcrumbStage, generateUrl, isMessingParent, isMessingParentLastItem } from \"./url-utils\"\nimport { getParam, getPath } from \"../utils/param\";\nimport { getRouteMenu } from \"./param\";\n\nexport const useMakeLink = () => {\n // const router = useRouter()\n // const search: any = router.state.location.search\n const search: any = getParam(\"b\")\n\n // const makeLink = (props: any) => {\n // if (!search.b || \"isPC\" in props) { // check props?.isPC if dashbaord sidebar\n // return buildParentRoute(props, search, router) // pure helper\n // } else {\n // const breadcrumbItems = decodeToBase64(search?.b) || []\n // return buildChildRoute(props, search, breadcrumbItems) // pure helper\n // }\n // }\n\n const makeLink = (props: any) => {\n if (!search || \"isPC\" in props) { // check props?.isPC if dashbaord sidebar\n return buildParentRoute(props)\n } else {\n const breadcrumbItems = decodeToBase64(search) || []\n return buildChildRoute(props, breadcrumbItems)\n }\n }\n\n return { makeLink }\n}\n\n// if 0 index iths mean have no parent then add this\nconst buildParentRoute = (props: any) => {\n // const { pathname } = router.state.location\n // const routeMenu: any = getRouteMenu(pathname)\n const pathname: any = getPath()\n const routeMenu: any = getRouteMenu(pathname)\n\n const breadcrumbItems: any = [\n {\n n: routeMenu?.title,\n o_t_id: routeMenu?.path,\n isHome: props?.isHome || false,\n },\n ]\n // return buildChildRoute(props, search, breadcrumbItems)\n return buildChildRoute(props, breadcrumbItems)\n}\n\n// if hav parent then add this\nconst buildChildRoute = (props: any, breadcrumbItems: any) => {\n \n let breadcrumbs = [...breadcrumbItems]\n // let breadcrumbType: string = 'child'\n\n // if (breadcrumbItems.length === 1) {\n // breadcrumbType = 'root'\n // } else if (breadcrumbItems.length === 2) {\n // breadcrumbType = 'root_details'\n // }\n let breadcrumbType = breadcrumbStage(breadcrumbItems)\n\n if (props?.isHome && isMessingParentLastItem(breadcrumbItems)) { // its for home side bard card data\n const parent: any = {\n n: props?.title || \"\",\n o_t_id: props?.objectTypeId,\n \"pt\": `/association/${props?.objectTypeId}`,\n isHome: props?.isHome || false,\n \"prm\": {\n \"sort\": \"-hs_createdate\",\n \"s\": \"\",\n \"fPn\": \"hs_pipeline\",\n \"fO\": \"eq\",\n \"fV\": \"\",\n \"c\": true,\n \"isPC\": props?.isPC,\n \"v\": \"LIST\",\n \"l\": \"10\",\n \"p\": 1\n }\n }\n\n breadcrumbs.push(parent)\n\n const newCrumb: any = {\n n: props?.name,\n o_t_id: props?.objectTypeId,\n o_r_id: props?.recordId,\n }\n breadcrumbs.push(newCrumb)\n } else if (breadcrumbType === 'root') {\n const newCrumb: any = {\n n: props?.name,\n o_t_id: props?.objectTypeId,\n o_r_id: props?.recordId,\n }\n\n // ✅ Add params if available\n // if (props.params) {\n // newCrumb.p = props.params\n // }\n\n if (props?.isPC) {\n newCrumb.prm = {\n isPC: props?.isPC\n }\n }\n\n breadcrumbs.push(newCrumb)\n } else {\n const lastItem = breadcrumbs[breadcrumbs.length - 1]\n\n if ((props?.objectTypeId != '0-5' && breadcrumbs.length > 2) && // check for only association ticket object\n (!isMessingParent(breadcrumbItems) && lastItem?.o_t_id === props?.objectTypeId) && // check for all associated object and check isMessingParent for skip parent to child and child to parent association data \n (props?.isHome && !isMessingParentLastItem(breadcrumbItems))) { // check home side bar child last item is messing parent then skip\n const newCrumb: any = {\n n: props?.name,\n o_t_id: props?.objectTypeId,\n o_r_id: props?.recordId,\n }\n\n // ✅ Add params if available\n // if (props.params) {\n // newCrumb.p = props.params\n // }\n\n\n if (props?.isPC) {\n newCrumb.prm = {\n isPC: props?.isPC\n }\n }\n\n breadcrumbs.push(newCrumb)\n } else {\n const lastItem = breadcrumbs[breadcrumbs.length - 1]\n\n // if associated data have no parent\n const parent: any = {\n n: props?.associationLabel || props?.name,\n o_t_id: props?.objectTypeId,\n }\n\n if (props?.tableParam) {\n parent.prm = props?.tableParam\n }\n\n if (props?.defPermissions) {\n parent.dp = props?.defPermissions\n }\n\n if (lastItem?.o_t_id && lastItem?.o_r_id) { // check if last item have no parent\n breadcrumbs.push(parent) // association list data\n }\n // end\n\n if (props?.recordId) { // association single data\n const newCrumb: any = {\n n: props?.name,\n o_t_id: props?.objectTypeId,\n o_r_id: props?.recordId,\n }\n\n // ✅ Add params if available\n // if (props.params) {\n // newCrumb.p = props.params\n // }\n\n if (props?.isPC) {\n newCrumb.prm = {\n isPC: props?.isPC\n }\n }\n\n breadcrumbs.push(newCrumb)\n }\n }\n }\n return generateUrl(props, breadcrumbs)\n}\n\n","/** HubSpot portal default; override when portal timezone is available from config. */\nexport const DEFAULT_HUBSPOT_TIMEZONE = \"Asia/Kolkata\";\n\n/**\n * Detect the runtime/browser IANA timezone (e.g. `Asia/Kolkata`).\n * Falls back to the WoodsPortal default timezone when unavailable.\n */\nexport function getCurrentTimeZone(): string {\n try {\n return Intl.DateTimeFormat().resolvedOptions().timeZone || DEFAULT_HUBSPOT_TIMEZONE;\n } catch {\n return DEFAULT_HUBSPOT_TIMEZONE;\n }\n}\n\n/**\n * Coerce HubSpot-style timestamps (ms string/number) to epoch milliseconds.\n */\nexport function normalizeToTimestamp(value: unknown): number | null {\n if (value == null || value === \"\") return null;\n\n if (typeof value === \"number\") {\n return value > 100_000_000_000 ? value : null;\n }\n\n if (typeof value === \"string\" && /^\\d+$/.test(value)) {\n const n = Number(value);\n return n > 100_000_000_000 ? n : null;\n }\n\n if (typeof value === \"string\" || value instanceof Date) {\n const date = new Date(value);\n return Number.isNaN(date.getTime()) ? null : date.getTime();\n }\n\n return null;\n}\n\n/**\n * GMT offset label aligned with HubSpot activity timeline (e.g. `GMT+5:30`).\n */\nexport function formatGmtOffset(\n timeZone: string = getCurrentTimeZone(),\n date: Date = new Date(),\n): string {\n const raw = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n timeZoneName: \"longOffset\",\n })\n .formatToParts(date)\n .find((part) => part.type === \"timeZoneName\")?.value;\n\n if (!raw) return \"\";\n\n // Intl may emit GMT+05:30; HubSpot uses GMT+5:30.\n return raw.replace(/GMT([+-])0(\\d)(?=:)/, \"GMT$1$2\");\n}\n\nexport type HubSpotActivityDateTimeParts = {\n date: string;\n time: string;\n gmtOffset: string;\n /** Full HubSpot-style label, e.g. `May 27, 2026 at 11:31 PM GMT+5:30`. */\n formatted: string;\n};\n\n/**\n * Format a HubSpot epoch-ms timestamp like the CRM activity timeline.\n */\nexport function formatHubSpotActivityDateTimeParts(\n timestamp: unknown,\n timeZone: string = getCurrentTimeZone(),\n): HubSpotActivityDateTimeParts | null {\n const ms = normalizeToTimestamp(timestamp);\n if (ms == null) return null;\n\n const date = new Date(ms);\n const datePart = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n }).format(date);\n const timePart = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n hour: \"numeric\",\n minute: \"2-digit\",\n hour12: true,\n }).format(date);\n const gmtOffset = formatGmtOffset(timeZone, date);\n\n return {\n date: datePart,\n time: timePart,\n gmtOffset,\n formatted: `${datePart} at ${timePart} ${gmtOffset}`.trim(),\n };\n}\n\n/**\n * @returns HubSpot activity string, e.g. `May 27, 2026 at 11:31 PM GMT+5:30`, or empty string.\n */\nexport function formatHubSpotActivityDateTime(\n timestamp: unknown,\n timeZone: string = getCurrentTimeZone(),\n): string {\n return formatHubSpotActivityDateTimeParts(timestamp, timeZone)?.formatted ?? \"\";\n}\n","/**\n * WoodsPortal client SDK — public entry module.\n *\n * Configure HTTP once with {@link initializeHttpClient} in production, then use\n * {@link api}, {@link store}, {@link url}, {@link routeParam}, and {@link breadcrumbsDetails}.\n */\nimport { preLogin, login, verifyEmail, forgetPassword, logout, resetPasswordVerifyToken, resetPassword, registerExistingUser, verifyEmailResend, resendEmail } from \"./apis/authentication\";\nimport { getSsoDetails, generateSsoUrl, ssoCallback } from \"./apis/sso\";\nimport { changePassword, me, profile } from \"./apis/users\";\nimport { list as pipelines } from \"./apis/pipeline\";\nimport { list as stages } from \"./apis/stage\";\nimport { list as objects, sideBarList as sideBarObjects, form as objectsForm, create as createObject, createExisting as createExistingObject, removeExisting as removeExistingObject, details as objectsDetails, update as updateObjectsDetails, objectFormOptions } from \"./apis/object\";\nimport { list as notes, create as createNote, update as updateNote } from \"./apis/note\";\nimport { list as emails, create as createEmail, update as updateEmail } from \"./apis/email\";\nimport { imageUpload, attachmentUpload } from \"./apis/uploader\";\nimport { list as files, addFolder, addFile, details as file, download as fileDownload } from \"./apis/file\";\nimport { purge as purgeCache, purgeStatus as cachePurgeStatus } from \"./apis/cache\";\nimport { getRefreshToken } from \"./client/auth-utils\";\nimport { getAuthRefreshToken } from \"./client/http-clint\";\nimport { getAccessToken, isAuthenticateApp, isExpiresAccessToken } from \"./client/token-store\";\nimport { isCookieExpired } from \"./utils/cookie\";\nimport { useUpdateLink } from \"./breadcrumb/url\";\nimport { getParamDetails, getRouteDetails } from \"./breadcrumb/param\";\nimport { getBreadcrumbs, getFormTitle, getTableTitle } from \"./breadcrumb/breadcrumbs\";\nimport { useMakeLink } from \"./breadcrumb/generate-url\";\nimport { useTable } from \"./store/use-table\";\nimport { storage } from \"./utils/localStoraget\";\n\nexport {\n DEFAULT_HUBSPOT_TIMEZONE,\n getCurrentTimeZone,\n formatGmtOffset,\n formatHubSpotActivityDateTime,\n formatHubSpotActivityDateTimeParts,\n normalizeToTimestamp,\n} from \"./utils/datetime\";\nexport type { HubSpotActivityDateTimeParts } from \"./utils/datetime\";\n\n/** Axios setup, error helpers, and {@link HttpClientConfig}. */\nexport { initializeHttpClient, getFormErrors, getFieldErrors } from \"./client/http-clint\";\nexport type { HttpClientConfig } from \"./client/http-clint\";\n\n/** @deprecated Import from `./client` — `clint` package name removed in SDK 2.x. */\nexport * as clint from \"./client/index\";\n\nexport type {\n Config,\n MutationOptions,\n PreLoginPayload,\n LoginPayload,\n VerifyEmailPayload,\n ResetPasswordVerifyTokenPayload,\n ResetPasswordPayload,\n ForgetPasswordPayload,\n ChangePasswordPayload,\n} from \"./types\";\n\n/**\n * API facades (auth, SSO, users, CRM objects, files, uploads, token helpers).\n * Most methods return `{ mutate, isLoading }` from {@link createMutation}; see README.\n */\nexport const api = {\n preLogin,\n login,\n verifyEmail,\n resetPasswordVerifyToken,\n resetPassword,\n registerExistingUser,\n verifyEmailResend,\n resendEmail,\n getSsoDetails,\n generateSsoUrl,\n ssoCallback,\n forgetPassword,\n logout,\n me,\n profile,\n changePassword,\n pipelines,\n stages,\n objects,\n sideBarObjects,\n objectsForm,\n createObject,\n createExistingObject,\n removeExistingObject,\n objectsDetails,\n updateObjectsDetails,\n objectFormOptions,\n notes,\n createNote,\n updateNote,\n emails,\n createEmail,\n updateEmail,\n imageUpload,\n attachmentUpload,\n files,\n file,\n fileDownload,\n addFolder,\n addFile,\n purgeCache,\n cachePurgeStatus,\n getRefreshToken,\n getAuthRefreshToken,\n isCookieExpired,\n isExpiresAccessToken,\n isAuthenticateApp,\n getAccessToken,\n};\n\n/** Lightweight storage helpers and table UI state. */\nexport const store = {\n storage,\n useTable\n};\n\n/** Breadcrumb copy helpers for list/form chrome. */\nexport const breadcrumbsDetails = {\n getBreadcrumbs,\n getTableTitle,\n getFormTitle\n};\n\n/** URL builders that read query/path context (not React hooks despite the `use*` names). */\nexport const url = {\n useMakeLink,\n useUpdateLink\n};\n\n/** Route and query-param introspection for embedded HubSpot-style navigation. */\nexport const routeParam = {\n getRouteDetails,\n getParamDetails\n};\n"]}
1
+ {"version":3,"sources":["../src/client/index.ts","../src/utils/localStoraget.ts","../src/utils/config.ts","../src/utils/generateApiUrl.ts","../src/client/api-endpoints.ts","../src/client/config.ts","../src/client/http-clint.ts","../src/data/user.ts","../src/utils/logError.ts","../src/mutation/createMutation.ts","../src/apis/authentication.ts","../src/apis/sso.ts","../src/apis/users.ts","../src/apis/pipeline.ts","../src/apis/stage.ts","../src/apis/object.ts","../src/apis/note.ts","../src/apis/email.ts","../src/apis/uploader.ts","../src/apis/file.ts","../src/apis/cache.ts","../src/breadcrumb/breadcrumbs.ts","../src/breadcrumb/generate-url.ts","../src/utils/datetime.ts","../src/index.ts"],"names":["url","config","axios","list","actions","create","update","details","lastItem"],"mappings":"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","file":"index.js","sourcesContent":["import { generateApiUrl } from '../utils/generateApiUrl';\nimport { API_ENDPOINTS } from './api-endpoints';\nimport { AuthHttpClient, HttpClient } from './http-clint';\nimport { config } from '../utils/config'\nimport { PreLoginPayload, LoginPayload, ForgetPasswordPayload, ChangePasswordPayload, VerifyEmailPayload, ResetPasswordVerifyTokenPayload, ResetPasswordPayload } from '../types';\nimport { getProfileData } from '../data/user';\nimport { routeParam } from '..';\n// import { routeParam, url } from '..';\nimport { getParamDetails } from '../breadcrumb/param';\n\nconst recordWriteContext = (paramsObject: Record<string, unknown> | undefined) => {\n if (!paramsObject) {\n return undefined;\n }\n const context: Record<string, string> = {};\n const keys = [\n 'parentObjectTypeId',\n 'parentObjectRecordId',\n 'mediatorObjectTypeId',\n 'mediatorObjectRecordId',\n ] as const;\n keys.forEach((key) => {\n const value = paramsObject[key];\n if (value !== undefined && value !== null && String(value).length > 0) {\n context[key] = String(value);\n }\n });\n return Object.keys(context).length > 0 ? context : undefined;\n};\n\nconst mergeRecordWriteBody = (\n payload: Record<string, unknown> | null | undefined,\n paramsObject: Record<string, unknown> | undefined,\n options: Record<string, unknown> | undefined,\n) => {\n const base = { ...(payload || {}) };\n const context = recordWriteContext(paramsObject);\n if (context) {\n base.context = context;\n }\n if (options && Object.keys(options).length > 0) {\n base.options = options;\n }\n return base;\n};\n// import { getPortal } from './auth-utils';\nimport { useUpdateLink } from \"../breadcrumb/url\";\nimport { useTable } from '../store/use-table';\n// import { getSubscriptionType } from './auth-utils';\n\nexport const Client = {\n authentication: {\n preLogin: (data: PreLoginPayload) => AuthHttpClient.post(API_ENDPOINTS.PRE_LOGIN, data),\n login: (data: LoginPayload) => {\n const queryParams = config.hubId ? { hubId: config.hubId } : null;\n return AuthHttpClient.post(\n generateApiUrl({ route: API_ENDPOINTS.LOGIN, queryParams: queryParams }),\n data,\n config?.devPortalId && {\n headers: {\n 'X-Dev-Portal-Id': config.devPortalId,\n },\n }\n )\n },\n verifyEmail: (data: VerifyEmailPayload) => AuthHttpClient.post(API_ENDPOINTS.VERIFY_EMAIL, data),\n resetPasswordVerifyToken: (data: ResetPasswordVerifyTokenPayload) => AuthHttpClient.post(API_ENDPOINTS.RESET_PASSWORD_VERIFY_TOKEN, data),\n resetPassword: (data: ResetPasswordPayload) => AuthHttpClient.post(API_ENDPOINTS.RESET_PASSWORD, data),\n forgetPassword: (data: ForgetPasswordPayload) => AuthHttpClient.post(API_ENDPOINTS.FORGET_PASSWORD, data),\n registerExistingUser: (data: any) => AuthHttpClient.post(API_ENDPOINTS.REGISTER_EXISTING_USER, data?.payload),\n verifyEmailResend: (data: any) => AuthHttpClient.post(API_ENDPOINTS.VERIFY_EMAIL_RESEND, data),\n resendEmail: (data: any) => AuthHttpClient.post(API_ENDPOINTS.RESEND_EMAIL, data),\n logout: () => HttpClient.post(API_ENDPOINTS.LOGOUT, null),\n },\n sso: {\n getSsoDetails: () => AuthHttpClient.get(API_ENDPOINTS.SSO_DETAILS),\n generateSsoUrl: (payload: any) => AuthHttpClient.get(generateApiUrl({ route: API_ENDPOINTS.SSO_URL, queryParams: payload?.queryParams })),\n ssoCallback: (payload: any) => AuthHttpClient.get(generateApiUrl({ route: API_ENDPOINTS.SSO_CALLBACK, queryParams: payload?.queryParams })),\n },\n user: {\n me: () => HttpClient.get(generateApiUrl({ route: API_ENDPOINTS.ME })),\n profile: (payload: any) => HttpClient.get(generateApiUrl({ route: API_ENDPOINTS.PROFILE, queryParams: payload })),\n changePassword: (data: ChangePasswordPayload) => HttpClient.post(API_ENDPOINTS.CHANGE_PASSWORD, data),\n },\n pipeline: {\n list: (payload: any = null, param: any = null) => {\n // const params = generateParam(payload) || null\n // const queryParams = payload?.queryParams || null\n const params = { hubspotObjectTypeId: payload?.hubspotObjectTypeId }\n\n const { getParamDetails: getParamDetails2 } = routeParam\n const { paramsObject } = getParamDetails2({ type: payload?.componentName });\n\n const userData = getProfileData()\n\n const apiParams: any = {}\n\n if (paramsObject?.parentObjectTypeId) {\n apiParams.parentObjectTypeId = paramsObject?.parentObjectTypeId;\n } else if (payload?.isHome && userData?.data?.info?.objectTypeId && !param?.isPrimaryCompany) {\n apiParams.parentObjectTypeId = userData?.data?.info?.objectTypeId;\n } else if (payload?.isHome && userData?.data?.info?.objectTypeId && param?.isPrimaryCompany) {\n apiParams.parentObjectTypeId = \"0-2\";\n }\n // setParentObjectTypeId(apiParams?.parentObjectTypeId || \"\")\n\n apiParams.isPrimaryCompany = param?.isPrimaryCompany;\n apiParams.cache = payload?.cache;\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.PIPELINES, params, queryParams: apiParams })\n return HttpClient.get(apiUrl)\n },\n },\n stage: {\n list: (props: any = null) => {\n // const portalId = config.devPortalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectTypeId: props?.params?.objectTypeId,\n pipelineId: props?.params?.pipelineId,\n }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.STAGES, params })\n return HttpClient.get(apiUrl)\n },\n },\n object: {\n list: async (payload: any = null, param: any = null) => {\n // const params = generateParam(payload) || null\n // const queryParams = payload?.queryParams || null\n\n param.cache = payload.cache\n\n const params = { hubspotObjectTypeId: payload?.hubspotObjectTypeId }\n\n // const { useUpdateLink: useUpdateLink2 } = url\n // const { updateLink, getLinkParams } = useUpdateLink2();\n const { updateLink, getLinkParams } = useUpdateLink();\n\n const { getParamDetails: getParamDetails2 } = routeParam\n const { paramsObject, parentAccessLabel } = getParamDetails2({ type: payload?.componentName });\n\n const userData = getProfileData()\n\n // const { pipeline, mPipelines } = payload?.variables;\n const pipeline = payload?.variables?.pipeline;\n const mPipelines = payload?.variables?.mPipelines;\n\n const mSelectedPipeline = pipeline !== undefined ? pipeline : payload?.selectedPipeline;\n\n if (mSelectedPipeline) {\n param.filterValue = mSelectedPipeline\n } else if (payload?.specPipeLine && payload?.pipeLineId) {\n param.filterValue = payload?.pipeLineId\n }\n else if (payload?.hubspotObjectTypeId != \"0-3\" || payload?.hubspotObjectTypeId != \"0-5\") {\n param.filterValue = ''\n }\n\n\n // const API_ENDPOINT = apis.tableAPI;\n\n const fParams = getLinkParams()\n\n param = { ...(payload?.isFristTimeLoadData && fParams && !payload?.isHome ? fParams : param), ...paramsObject }\n\n if (!payload?.isFristTimeLoadData || !fParams) {\n await updateLink({\n \"sort\": param?.sort,\n \"s\": param?.search,\n \"fPn\": param?.filterPropertyName,\n \"fO\": param?.filterOperator,\n \"fV\": param?.filterValue,\n \"c\": param?.cache,\n \"isPC\": param?.isPrimaryCompany,\n \"v\": param?.view,\n \"l\": param?.limit,\n \"p\": param?.page,\n \"a\": param?.after,\n })\n }\n\n if (mPipelines != undefined && mPipelines?.length === 0 && !payload?.specPipeLine) { // if pipelines empty then set filter value is empty (n-a)\n param.filterValue = \"\"\n await updateLink({\n \"fV\": param?.filterValue,\n })\n }\n\n if (mPipelines != undefined && mPipelines?.length === 1 && !payload?.specPipeLine && mSelectedPipeline != null) { // if pipelines length is 0 then forcefully set 0 index pipeline\n param.filterValue = mPipelines[0].pipelineId\n await updateLink({\n \"fV\": param?.filterValue,\n })\n }\n\n if (payload?.isHome) { // Only for home tickets\n let parentObjectTypeId = \"\"\n if (userData?.data?.info?.objectTypeId && !param?.isPrimaryCompany) {\n parentObjectTypeId = userData?.data?.info?.objectTypeId\n } else if (userData?.data?.info?.objectTypeId && param?.isPrimaryCompany) {\n parentObjectTypeId = \"0-2\"\n }\n param.parentObjectTypeId = parentObjectTypeId\n }\n\n // if(isHome) { // Only for home tickets\n // let parentObjectTypeId = \"\"\n // if (userData?.info?.objectTypeId && !param?.isPrimaryCompany) {\n // parentObjectTypeId = userData?.info?.objectTypeId\n // } else if (userData?.info?.objectTypeId && param?.isPrimaryCompany) {\n // parentObjectTypeId = \"0-2\"\n // }\n // param.parentObjectTypeId = parentObjectTypeId\n // setParentObjectTypeId(parentObjectTypeId)\n // }\n\n\n param.parentAccessLabel = parentAccessLabel\n\n const {\n stageId,\n nextPage\n }: any = useTable();\n if(stageId){ // if stageId is not empty then set stageId in param only for board view\n param.stageId = stageId\n }\n\n if(param?.view === \"BOARD\") { // if view is board then set nextPage to page\n param.page = nextPage\n }\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.OBJECTS, params, queryParams: param })\n return HttpClient.get(apiUrl)\n },\n sideBarList: async (payload: any = null) => {\n const hubspotObjectTypeId = payload?.hubspotObjectTypeId\n const params = { hubspotObjectTypeId }\n const queryParams = payload.param\n // const subscriptionType = getSubscriptionType()\n\n // const { useUpdateLink: useUpdateLink } = url\n // const { updateLink, filterParams } = useUpdateLink();\n\n // const tab = filterParams(`tabs.a.${hubspotObjectTypeId}`)\n\n // let param: any = {};\n\n // const baseParams: any = {\n // sort: payload?.sortConfig,\n // filterValue: payload?.filterValue,\n // cache: payload?.cache,\n // isPrimaryCompany: payload?.isPrimaryCompany,\n // };\n\n // if (subscriptionType === \"FREE\") {\n // param = {\n // ...baseParams,\n // ...({ after: payload?.isFristTimeLoadData && tab?.page ? tab?.page : payload?.currentPage }),\n // };\n // } else {\n // param = {\n // ...baseParams,\n // ...({\n // limit: payload?.itemsPerPage || 10,\n // page: payload?.isFristTimeLoadData && tab?.page ? tab?.page : payload?.currentPage,\n // ...(payload?.after && payload?.after.length > 0 && { after: payload?.after }),\n // }),\n // };\n // }\n\n // updateLink(param);\n // if (payload?.isPrimaryCompany) param.mediatorObjectTypeId = '0-2';\n\n // const apiUrl = generateApiUrl({ route: API_ENDPOINTS.OBJECTS, params, queryParams: param })\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.OBJECTS, params, queryParams })\n return HttpClient.get(apiUrl)\n },\n form: (payload: any = null) => {\n const params = { hubspotObjectTypeId: payload?.hubspotObjectTypeId }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.OBJECTS_FORM, params, queryParams: payload?.params })\n return HttpClient.get(apiUrl)\n },\n objectFormOptions: (payload: any = null) => {\n const params = {\n formId: payload?.formId,\n objectTypeId: payload?.objectTypeId ?? payload?.hubspotObjectTypeId,\n }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.OBJECTS_FORM_OPTIONS, params, queryParams: payload?.params })\n return HttpClient.get(apiUrl)\n },\n create: (props: any = null) => {\n const { getParamDetails: getParamDetailsForCreate } = routeParam\n const { paramsObject } = getParamDetailsForCreate({ type: props?.componentName });\n const cardParentMerge = props?.componentName === \"association\" ? true : false\n const body = mergeRecordWriteBody(props?.payload, paramsObject, {\n cardParentMerge,\n addAnother: props?.params?.addAnother\n })\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.RECORDS_CREATE, params, queryParams: props?.params })\n return HttpClient.post(apiUrl, body)\n },\n createExisting: (props: any = null) => {\n const { getLinkParams } = useUpdateLink();\n const fParams = getLinkParams()\n const queryParams = { ...fParams, ...props?.params }\n\n const params = {\n fromObjectTypeId: props?.fromObjectTypeId ?? props?.hubspotObjectTypeId,\n fromRecordId: props?.fromRecordId,\n toObjectTypeId: props?.toObjectTypeId,\n }\n const payload = props.payload\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.RECORDS_ASSOCIATE, params, queryParams })\n return HttpClient.post(apiUrl, payload)\n },\n removeExisting: (props: any = null) => {\n const { getParamDetails: getParamDetailsForRemove } = routeParam\n const { paramsObject } = getParamDetailsForRemove({ type: props?.componentName });\n const body = mergeRecordWriteBody(props?.payload, paramsObject, undefined)\n const params = {\n fromObjectTypeId: props?.fromObjectTypeId ?? props?.hubspotObjectTypeId,\n fromRecordId: props?.fromRecordId,\n toObjectTypeId: props?.toObjectTypeId,\n }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.RECORDS_DISASSOCIATE, params })\n return HttpClient.delete(apiUrl, { data: body })\n },\n details: (props: any = null) => {\n const { paramsObject: urlParam, parentAccessLabel } = getParamDetails(\"\", true)\n\n // const portalId = config.devPortalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n }\n\n const queryParams = {\n parentAccessLabel: parentAccessLabel,\n ...props?.queryParams,\n ...urlParam\n }\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.OBJECTS_DETAILS, params, queryParams })\n return HttpClient.get(apiUrl)\n },\n update: (props: any = null) => {\n const params = {\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n }\n\n const { getParamDetails: getParamDetailsForUpdate } = routeParam\n const { paramsObject } = getParamDetailsForUpdate({ type: props?.componentName });\n const cardParentMerge = props?.componentName === \"association\" ? true : false\n const rawPayload = props?.payload || {}\n const properties =\n rawPayload.properties ??\n rawPayload.propertyPayload ??\n rawPayload\n const body = mergeRecordWriteBody(\n { properties },\n paramsObject,\n { cardParentMerge },\n )\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.RECORDS_UPDATE, params })\n return HttpClient.put(apiUrl, body)\n }\n },\n note: {\n list: (props: any = null) => {\n\n // const portalId = getPortal()?.portalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n }\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.NOTES, params, queryParams: props?.queryParams })\n return HttpClient.get(apiUrl)\n },\n create: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.NOTES_CREATE, params, queryParams })\n return HttpClient.post(apiUrl, payload)\n },\n update: (props: any = null) => {\n // const portalId = getPortal()?.portalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n note_id: props?.params?.note_id,\n }\n\n const { paramsObject: queryParams } = getParamDetails();\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.NOTES_DETAILS_UPDATE, params, queryParams })\n return HttpClient.put(apiUrl, props.payload)\n },\n image: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const axiosConfig = props.config || {}\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.NOTES_IMAGE_UPLOAD, params, queryParams })\n return HttpClient.post(apiUrl, payload, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n ...axiosConfig\n })\n },\n attachment: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const axiosConfig = props.config || {}\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.NOTES_ATTACHMENT_UPLOAD, params, queryParams })\n return HttpClient.post(apiUrl, payload, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n ...axiosConfig\n })\n },\n },\n email: {\n list: (props: any = null) => {\n\n // const portalId = getPortal()?.portalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n }\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.EMAILS, params, queryParams: props?.queryParams })\n return HttpClient.get(apiUrl)\n },\n create: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.EMAILS_CREATE, params, queryParams })\n return HttpClient.post(apiUrl, payload)\n },\n update: (props: any = null) => {\n // const portalId = getPortal()?.portalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n email_id: props?.params?.email_id ?? props?.params?.note_id,\n }\n\n const { paramsObject: queryParams } = getParamDetails();\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.EMAILS_DETAILS_UPDATE, params, queryParams })\n return HttpClient.put(apiUrl, props.payload)\n },\n image: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const axiosConfig = props.config || {}\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.EMAILS_IMAGE_UPLOAD, params, queryParams })\n return HttpClient.post(apiUrl, payload, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n ...axiosConfig\n })\n },\n attachment: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const axiosConfig = props.config || {}\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.EMAILS_ATTACHMENT_UPLOAD, params, queryParams })\n return HttpClient.post(apiUrl, payload, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n ...axiosConfig\n })\n },\n },\n cache: {\n purge: (body: Record<string, unknown>, headers?: Record<string, string>) => {\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.CACHE_PURGE });\n return HttpClient.post(apiUrl, body, headers ? { headers } : undefined);\n },\n purgeStatus: (purgeJobId: string) => {\n const apiUrl = generateApiUrl({\n route: API_ENDPOINTS.CACHE_PURGE_STATUS,\n params: { purgeJobId },\n });\n return HttpClient.get(apiUrl);\n },\n },\n file: {\n list: (props: any = null) => {\n // const portalId = getPortal()?.portalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n }\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.FILES, params, queryParams: props?.queryParams })\n return HttpClient.get(apiUrl)\n },\n details: (props: any = null) => {\n\n // const portalId = getPortal()?.portalId;\n const params = {\n // hubId: config.hubId,\n // portalId: portalId,\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n rowId: props?.params?.rowId,\n }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.FILE, params, queryParams: props?.queryParams })\n return HttpClient.get(apiUrl)\n },\n download: (props: any = null) => {\n const params = {\n objectId: props?.params?.objectId,\n id: props?.params?.id,\n rowId: props?.params?.rowId,\n }\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.FILE_DOWNLOAD, params, queryParams: props?.queryParams })\n return HttpClient.post(apiUrl, {})\n },\n addFolder: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.FILES_CREATE_FOLDER, params, queryParams })\n return HttpClient.post(apiUrl, payload)\n },\n addFile: (props: any = null) => {\n const params = { hubspotObjectTypeId: props?.hubspotObjectTypeId, ...props.params }\n const queryParams = props.queryParams\n const payload = props.payload\n const axiosConfig = props.config || {}\n\n const apiUrl = generateApiUrl({ route: API_ENDPOINTS.FILES_UPLOAD, params, queryParams })\n return HttpClient.post(apiUrl, payload, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n ...axiosConfig\n })\n },\n }\n}","type StringStore = {\n getItem(key: string): string | null;\n setItem(key: string, value: string): void;\n removeItem(key: string): void;\n};\n\nconst memory = new Map<string, string>();\n\nconst memoryStore: StringStore = {\n getItem(key: string) {\n return memory.has(key) ? memory.get(key)! : null;\n },\n setItem(key: string, value: string) {\n memory.set(key, value);\n },\n removeItem(key: string) {\n memory.delete(key);\n },\n};\n\nfunction resolveStore(): StringStore {\n if (typeof globalThis === \"undefined\") {\n return memoryStore;\n }\n const ls = (globalThis as unknown as { localStorage?: StringStore }).localStorage;\n if (!ls || typeof ls.getItem !== \"function\") {\n return memoryStore;\n }\n try {\n const probeKey = \"__woodsportal_client_sdk_ls_probe__\";\n ls.setItem(probeKey, \"1\");\n ls.removeItem(probeKey);\n return ls;\n } catch {\n return memoryStore;\n }\n}\n\nexport const storage = {\n set: (key: string, value: unknown) => {\n resolveStore().setItem(key, JSON.stringify(value));\n },\n\n get: <T>(key: string): T | null => {\n const item = resolveStore().getItem(key);\n return item ? (JSON.parse(item) as T) : null;\n },\n\n remove: (key: string) => {\n resolveStore().removeItem(key);\n },\n};\n","import { Config, HubspotStorage } from \"../types\";\nimport { HUBSPOT_DATA, HUB_ID, DEV_PORTAL_ID, PORTAL_ID, DEV_API_URL } from \"./constants\";\nimport { storage } from \"./localStoraget\";\n\nexport const config = {\n get hubId() {\n const hubSpotData: any = storage.get<{ name: string }>(HUBSPOT_DATA);\n return hubSpotData?.[HUB_ID] || \"\";\n },\n get devPortalId() {\n const hubSpotData: any = storage.get<{ name: string }>(HUBSPOT_DATA);\n return hubSpotData?.[DEV_PORTAL_ID] || \"\";\n },\n get portalId() {\n const hubSpotData: any = storage.get<{ name: string }>(HUBSPOT_DATA);\n return hubSpotData?.[PORTAL_ID] || \"\";\n },\n get devApiUrl() {\n const hubSpotData: any = storage.get<{ name: string }>(HUBSPOT_DATA);\n return hubSpotData?.[DEV_API_URL] || \"\";\n },\n} satisfies Config;\n\nexport const setConfig = {\n setDevPortalId(portalId: string) {\n const existing = storage.get<HubspotStorage>(HUBSPOT_DATA) || {};\n\n storage.set(HUBSPOT_DATA, {\n ...existing,\n [PORTAL_ID]: portalId,\n });\n },\n};","import { config } from '../utils/config'\n\nexport const generateApiUrl = ({\n route,\n params = {},\n queryParams = '',\n}: {\n route: string;\n params?: Object;\n queryParams?: any;\n}) => {\n const defaultParams = {\n hubId: config.hubId,\n portalId: config.portalId,\n };\n\n params = { ...defaultParams, ...params };\n const url = replaceParams(route, params)\n\n let queryString = '';\n if (queryParams && typeof queryParams === 'object') {\n const cleanedParams = Object.entries(queryParams)\n .filter(([_, value]) => value !== null && value !== undefined)\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});\n\n queryString = new URLSearchParams(cleanedParams).toString();\n }\n\n return queryString ? `${url}?${queryString}` : url;\n}\n\nfunction replaceParams(\n template: string,\n values: any\n) {\n return template.replace(/\\$\\{(\\w+)\\}/g, (_, key) =>\n key in values ? String(values[key]) : `\\${${key}}`\n );\n}","export const API_ENDPOINTS: any = {\n // Auth\n PRE_LOGIN: \"/api/auth/pre-login\",\n LOGIN: \"/api/auth/login\",\n AUTH_REFRESH: \"/api/auth/refresh\",\n FORGET_PASSWORD: \"/api/auth/forget-password\",\n RESET_PASSWORD_VERIFY_TOKEN: \"/api/auth/token/validate\",\n RESET_PASSWORD: \"/api/auth/reset-password\",\n VERIFY_EMAIL: \"/api/auth/verify-email\",\n REGISTER_EXISTING_USER: \"/api/auth/existing-user-register\",\n RESEND_EMAIL: \"/api/auth/resend-email\",\n VERIFY_EMAIL_RESEND: \"/api/auth/verify-email/resend\",\n LOGOUT: \"/api/auth/logout\",\n\n // SSO\n SSO_DETAILS: \"/api/auth/sso/active\",\n SSO_URL: \"/api/auth/sso/authorize\",\n SSO_CALLBACK: \"/api/auth/sso/callback\",\n\n // User\n ME: \"/api/auth/me\",\n PROFILE: \"/api/${hubId}/${portalId}/profiles\",\n CHANGE_PASSWORD: \"/api/auth/change-password\",\n\n // Pipeline\n PIPELINES: \"/api/${hubId}/${portalId}/hubspot-object-pipelines/${hubspotObjectTypeId}\",\n\n // Stage\n STAGES: \"/api/${hubId}/${portalId}/hubspot-object-pipelines/${objectTypeId}/${pipelineId}/stages\",\n\n // Cache purge (replaces cache=false refresh; requires features.cache-purge-api-enabled on API)\n CACHE_PURGE: \"/api/${hubId}/${portalId}/cache-purge-jobs\",\n CACHE_PURGE_STATUS: \"/api/${hubId}/${portalId}/cache-purge-jobs/${purgeJobId}\",\n /** @deprecated Use CACHE_PURGE */\n CACHE_PURGE_LEGACY: \"/api/${hubId}/${portalId}/cache/purge\",\n /** @deprecated Use CACHE_PURGE_STATUS */\n CACHE_PURGE_STATUS_LEGACY: \"/api/${hubId}/${portalId}/cache/purge/${purgeJobId}\",\n\n // Object (read on hubspot-object-data; form layout on hubspot-object-forms)\n OBJECTS: \"/api/${hubId}/${portalId}/hubspot-object-data/${hubspotObjectTypeId}/records\",\n OBJECTS_FORM: \"/api/${hubId}/${portalId}/hubspot-object-forms/${hubspotObjectTypeId}/fields\",\n OBJECTS_FORM_OPTIONS:\n \"/api/${hubId}/${portalId}/hubspot-object-forms/${formId}/${objectTypeId}\",\n RECORDS_CREATE: \"/api/${hubId}/${portalId}/hubspot-object-data/${hubspotObjectTypeId}/records\",\n RECORDS_UPDATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}\",\n RECORDS_ASSOCIATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${fromObjectTypeId}/records/${fromRecordId}/associations/${toObjectTypeId}\",\n RECORDS_DISASSOCIATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${fromObjectTypeId}/records/${fromRecordId}/associations/${toObjectTypeId}\",\n /** @deprecated Use RECORDS_CREATE */\n OBJECTS_CREATE: \"/api/${hubId}/${portalId}/hubspot-object-forms/${hubspotObjectTypeId}/fields\",\n /** @deprecated Use RECORDS_ASSOCIATE */\n OBJECTS_CREATE_EXISTING:\n \"/api/${hubId}/${portalId}/hubspot-object-forms/:fromObjectTypeId/:fromRecordId/associations/:toObjectTypeId\",\n OBJECTS_DETAILS: \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}\",\n /** @deprecated Use RECORDS_UPDATE */\n OBJECTS_DETAILS_UPDATE:\n \"/api/${hubId}/${portalId}/hubspot-object-forms/${objectId}/records/${id}\",\n OBJECTS_DETAILS_UPDATE_LEGACY:\n \"/api/${hubId}/${portalId}/hubspot-object-forms/${objectId}/properties/${id}\",\n\n // Notes (nested under CRM record)\n NOTES: \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/notes\",\n NOTES_CREATE: \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/notes\",\n NOTES_DETAILS_UPDATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/notes/${note_id}\",\n NOTES_IMAGE_UPLOAD:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/notes/images\",\n NOTES_ATTACHMENT_UPLOAD:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/notes/attachments\",\n NOTES_ATTACHMENT_UPDATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/notes/attachments/${note_id}\",\n\n // Email (nested under CRM record)\n EMAILS: \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/emails\",\n EMAILS_CREATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/emails\",\n EMAILS_DETAILS_UPDATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/emails/${email_id}\",\n EMAILS_IMAGE_UPLOAD:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/emails/images\",\n EMAILS_ATTACHMENT_UPLOAD:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/emails/attachments\",\n EMAILS_ATTACHMENT_UPDATE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/emails/attachments/${email_id}\",\n\n // File manager (nested under CRM record)\n FILES: \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/files\",\n FILE:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/files/${rowId}\",\n FILE_DOWNLOAD:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/files/${rowId}/download\",\n FILES_CREATE_FOLDER:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/folders\",\n FILES_UPLOAD:\n \"/api/${hubId}/${portalId}/hubspot-object-data/${objectId}/records/${id}/files\",\n};","export interface Config {\n /**\n * Base URL for API requests\n */\n baseURL: string;\n}\n\n/** Fallback only when initializeHttpClient was not called (development / tests). */\nexport const config: Config = {\n baseURL: '',\n};\n\n","import axios from \"axios\";\n// import type { AxiosError, AxiosInstance, AxiosRequestConfig, InternalAxiosRequestConfig } from \"axios\";\nimport type { AxiosError, AxiosInstance, InternalAxiosRequestConfig } from \"axios\";\nimport { API_ENDPOINTS } from './api-endpoints';\nimport { getAccessToken, ensureValidRefresh, setRefreshCallback } from './token-store';\nimport { config as defaultConfig } from './config';\nimport { config as storConfig } from '../utils/config'\nimport { generateApiUrl } from \"../utils/generateApiUrl\";\nimport { setAccessToken, setRefreshToken } from \"./auth-utils\";\n\nexport interface HttpClientConfig {\n /**\n * Base URL for API requests\n */\n baseURL?: string;\n\n /**\n * Request timeout in milliseconds\n */\n timeout?: number;\n\n /**\n * Custom headers to include in all requests\n */\n headers?: Record<string, string>;\n\n /**\n * Function to check if current path should skip auth error handling\n * Returns true if auth errors should be handled (redirect to login)\n */\n skipCurrentPublicPath?: () => boolean;\n\n /**\n * Routes configuration object with route paths\n */\n routes?: {\n unauthorized?: string;\n login?: string;\n };\n\n /**\n * Hub ID for API requests\n */\n hubId?: string;\n\n /**\n * Dev Portal ID for API requests\n */\n devPortalId?: string;\n\n /**\n * Function to handle logout\n */\n onLogout?: () => void | Promise<void>;\n}\n\nlet axiosInstance: AxiosInstance | null = null;\nlet config: HttpClientConfig = {};\n\n/**\n * Initialize the HTTP client with configuration\n */\nexport function initializeHttpClient(clientConfig: HttpClientConfig): void {\n config = clientConfig;\n\n const baseURL = storConfig?.devApiUrl || config.baseURL;\n if (!baseURL) {\n throw new Error(\n 'WoodsPortal SDK HTTP client is not configured. Call initializeHttpClient({ baseURL }) at app startup.',\n );\n }\n const timeout = config.timeout ?? 50000;\n\n axiosInstance = axios.create({\n baseURL,\n timeout,\n headers: {\n 'Content-Type': 'application/json',\n ...config.headers,\n },\n });\n\n // Set up refresh callback to avoid circular dependency\n setRefreshCallback(getAuthRefreshToken);\n\n // Request interceptor: inject auth token if available\n axiosInstance.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const token = getAccessToken();\n if (token) {\n config.headers.set('Authorization', `Bearer ${token}`);\n }\n return config;\n });\n\n // Response interceptor: handle errors\n axiosInstance.interceptors.response.use(\n (response) => response,\n (error: AxiosError) => {\n if (error.response && error.response.status === 401) {\n const shouldHandleAuthError = config.skipCurrentPublicPath?.() ?? false;\n\n if (shouldHandleAuthError) {\n // const payload = error.response.data as any ?? {};\n // const data = {\n // errorCode: payload.errorCode,\n // errorMessage: payload.errorMessage,\n // detailedMessage: payload.detailedMessage,\n // correlationId: payload.correlationId,\n // ts: Date.now(),\n // };\n\n // if (typeof window !== 'undefined' && window.sessionStorage) {\n // sessionStorage.setItem('authError', JSON.stringify(data));\n // }\n\n // if (config.routes?.unauthorized && typeof window !== 'undefined') {\n // window.location.replace(`#${config.routes.unauthorized}`);\n // }\n }\n }\n return Promise.reject(error);\n },\n );\n}\n\n/**\n * Get the axios instance (creates default if not initialized)\n */\nfunction getAxiosInstance(): AxiosInstance {\n if (!axiosInstance) {\n // Create default instance if not initialized\n initializeHttpClient({\n baseURL: defaultConfig.baseURL,\n timeout: 50000,\n });\n }\n return axiosInstance!;\n}\n\nfunction formatBooleanSearchParam(key: string, value: boolean): string {\n return value ? `${key}:1` : `${key}:`;\n}\n\nexport class HttpClient {\n static async get<T>(url: string, params?: unknown): Promise<T> {\n await ensureValidRefresh();\n const response = await getAxiosInstance().get<T>(url, { params });\n return response.data;\n }\n\n static async post<T>(url: string, data: unknown, options?: any): Promise<T> {\n await ensureValidRefresh();\n const response = await getAxiosInstance().post<T>(url, data, options);\n return response.data;\n }\n\n static async put<T>(url: string, data: unknown): Promise<T> {\n await ensureValidRefresh();\n const response = await getAxiosInstance().put<T>(url, data);\n return response.data;\n }\n\n static async delete<T>(url: string, config?: { data?: unknown }): Promise<T> {\n await ensureValidRefresh();\n const response = await getAxiosInstance().delete<T>(url, config);\n return response.data;\n }\n\n static formatSearchParams(params: Partial<any>): string {\n return Object.entries(params)\n .filter(([, value]) => Boolean(value))\n .map(([k, v]) =>\n [\n 'type',\n 'categories',\n 'tags',\n 'author',\n 'manufacturer',\n 'shops',\n 'refund_reason',\n ].includes(k)\n ? `${k}.slug:${v}`\n : ['is_approved'].includes(k)\n ? formatBooleanSearchParam(k, v as boolean)\n : `${k}:${v}`,\n )\n .join(';');\n }\n}\n\nexport class AuthHttpClient {\n static async get<T>(url: string, params?: unknown): Promise<T> {\n const response = await getAxiosInstance().get<T>(url, { params });\n return response.data;\n }\n\n static async post<T>(url: string, data: unknown, options?: any): Promise<T> {\n const response = await getAxiosInstance().post<T>(url, data, options);\n return response.data;\n }\n\n static async put<T>(url: string, data: unknown, options?: any): Promise<T> {\n const response = await getAxiosInstance().put<T>(url, data, options);\n return response.data;\n }\n}\n\nexport function getFormErrors(error: unknown): string | null {\n if (axios.isAxiosError(error)) {\n return (error.response?.data as any)?.message ?? null;\n }\n return null;\n}\n\nexport function getFieldErrors(error: unknown): any {\n if (axios.isAxiosError(error)) {\n return (error.response?.data as any)?.errors ?? null;\n }\n return null;\n}\n\nexport async function getAuthRefreshToken(refreshToken: string | null): Promise<{\n token: string | null;\n success: boolean;\n}> {\n try {\n // const hubId = config.hubId ?? '';\n const headers: Record<string, string> = {};\n\n if (storConfig.devPortalId) {\n headers['X-Dev-Portal-Id'] = storConfig.devPortalId;\n }\n\n const api_url = generateApiUrl({ route: API_ENDPOINTS.AUTH_REFRESH, queryParams: { hubId: storConfig.hubId } })\n\n const response = await getAxiosInstance().post(\n api_url,\n { refreshToken },\n { headers }\n );\n\n const maybeData = response?.data?.data || response?.data;\n const tokenData = maybeData?.tokenData || maybeData || {} as any;\n const newRefreshToken = tokenData?.refreshToken as string;\n const token = tokenData?.token as string | undefined;\n const expiresIn = tokenData?.expiresIn as number | undefined;\n const rExpiresIn = tokenData?.refreshExpiresIn as number | undefined;\n const rExpiresAt = tokenData?.refreshExpiresAt as number | undefined; // epoch seconds\n\n if (typeof newRefreshToken === 'string') {\n let rExpires = 0;\n if (typeof rExpiresIn === 'number') {\n rExpires = Date.now() + rExpiresIn * 1000;\n } else if (typeof rExpiresAt === 'number') {\n rExpires = rExpiresAt * 1000;\n }\n setRefreshToken(newRefreshToken, rExpires);\n }\n\n if (typeof token === 'string') {\n setAccessToken(token, typeof expiresIn === 'number' ? expiresIn : undefined);\n return { token, success: true };\n }\n\n return { token: null, success: false };\n } catch {\n return { token: null, success: false };\n }\n}\n\n// Export the axios instance getter for advanced usage\nexport { getAxiosInstance };\n","export let PROFILE: any = null\n\nexport const setProfileData = (data: any) => {\n PROFILE = data\n}\n\nexport const getProfileData = () => {\n return PROFILE\n}","import axios from \"axios\";\nimport { resetAllStore } from \"../store2/use-sync\";\n\n/** Log API and runtime errors with readable output (Axios response body, stack, etc.). */\nexport function logError(context: string, error: unknown): void {\n if (axios.isAxiosError(error)) {\n resetAllStore(); // reset all store data\n console.error(context, { message: error.message,\n status: error.response?.status,\n statusText: error.response?.statusText,\n data: error.response?.data,\n url: error.config?.url,\n method: error.config?.method,\n });\n return;\n }\n\n if (error instanceof Error) {\n console.error(context, error.message, error);\n return;\n }\n\n console.error(context, error);\n}\n","import { MutationOptions } from \"../types\";\nimport { logError } from \"../utils/logError\";\n\n/**\n * Shared mutation helper used across `api.*` factories.\n *\n * - **Concurrency:** overlapping `mutate()` calls keep loading true until all finish.\n * - **Errors:** `onError` runs for failures; the promise still rejects so callers can `try/catch`.\n */\nexport function createMutation<TPayload, TSuccess, TError = unknown>(\n mutationFn: (payload?: TPayload) => Promise<TSuccess>,\n options?: MutationOptions<TSuccess, TError>\n) {\n let inFlight = 0;\n let lastReportedLoading: boolean | null = null;\n\n const syncLoading = () => {\n const active = inFlight > 0;\n if (lastReportedLoading === active) return;\n lastReportedLoading = active;\n options?.onLoadingChange?.(active);\n };\n\n const mutate = async (payload?: TPayload) => {\n inFlight += 1;\n syncLoading();\n try {\n const response = await mutationFn(payload);\n await options?.onSuccess?.(response, payload);\n return response;\n } catch (error) {\n options?.onError?.(error as TError, payload);\n logError(\"[mutation]\", error);\n throw error;\n } finally {\n inFlight -= 1;\n syncLoading();\n }\n };\n\n return {\n mutate,\n isLoading: () => inFlight > 0,\n };\n}\n","import { Client } from \"../client/index\";\nimport type { LoginPayload, MutationOptions, PreLoginPayload, ForgetPasswordPayload, VerifyEmailPayload, ResetPasswordVerifyTokenPayload, ResetPasswordPayload } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\nimport { setPortal, setSubscriptionType, setAccessToken, setRefreshToken, setLoggedInDetails } from \"../client/auth-utils\";\nimport { getParam } from \"../utils/param\";\nimport { removeAllCookie } from \"../utils/cookie\";\nimport { clearAccessToken } from \"../client/token-store\";\nimport { setConfig } from \"../utils/config\";\n\nexport function preLogin(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<PreLoginPayload, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.preLogin(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n login: mutate,\n isLoading,\n };\n}\n\nexport function login(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<LoginPayload, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.login(payload);\n\n const tokenData: any = response?.data?.tokenData || {}\n const loggedInDetails: any = response?.data?.loggedInDetails || {}\n const currentPortal: any = response?.data?.loggedInDetails?.currentPortal || {}\n const currentPortalId: any = currentPortal?.portalId || null\n const SubscriptionType = loggedInDetails?.subscriptionType || \"BASIC\";\n\n const token = tokenData?.token;\n const refreshToken = tokenData?.refreshToken;\n const expiresIn = tokenData?.expiresIn;\n const rExpiresIn = tokenData?.refreshExpiresIn;\n\n setPortal(currentPortal);\n setSubscriptionType(SubscriptionType);\n await setAccessToken(token, expiresIn);\n\n await setRefreshToken(refreshToken, rExpiresIn);\n await setLoggedInDetails(response.data);\n\n setConfig.setDevPortalId(currentPortalId);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n login: mutate,\n isLoading,\n };\n}\n\nexport function verifyEmail(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<VerifyEmailPayload, any>(\n async (payload: any) => {\n const verifyEmailPayload: VerifyEmailPayload = payload || {};\n const token: any = getParam(\"token\")\n if (!verifyEmailPayload?.token) verifyEmailPayload.token = token;\n const response: any = await Client.authentication.verifyEmail(verifyEmailPayload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n verifyEmail: mutate,\n isLoading,\n };\n}\n\nexport function resetPasswordVerifyToken(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<ResetPasswordVerifyTokenPayload, any>(\n async (payload: any) => {\n const resetPasswordVerifyTokenPayload: ResetPasswordVerifyTokenPayload = payload || {};\n const token: any = getParam(\"token\")\n if (!resetPasswordVerifyTokenPayload?.token) resetPasswordVerifyTokenPayload.token = token;\n const response: any = await Client.authentication.resetPasswordVerifyToken(resetPasswordVerifyTokenPayload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n resetPasswordVerifyToken: mutate,\n isLoading,\n };\n}\n\nexport function resetPassword(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<ResetPasswordPayload, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.resetPassword(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n resetPassword: mutate,\n isLoading,\n };\n}\n\nexport function forgetPassword(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<ForgetPasswordPayload, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.forgetPassword(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n forgetPassword: mutate,\n isLoading,\n };\n}\n\nexport function logout(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation(\n async () => {\n const response: any = await Client.authentication.logout();\n\n clearAccessToken()\n removeAllCookie()\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n logout: mutate,\n isLoading,\n };\n}\n\nexport function registerExistingUser(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.registerExistingUser(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n registerExistingUser: mutate,\n isLoading,\n };\n}\n\nexport function verifyEmailResend(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.verifyEmailResend(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n verifyEmailResend: mutate,\n isLoading,\n };\n}\n\nexport function resendEmail(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.authentication.resendEmail(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n resendEmail: mutate,\n isLoading,\n };\n}","import { Client } from \"../client/index\";\nimport type { MutationOptions, PreLoginPayload } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\n\n\nexport function getSsoDetails(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation(\n async () => {\n const response: any = await Client.sso.getSsoDetails();\n return response;\n },\n options\n );\n\n return {\n mutate,\n getSsoDetails: mutate,\n isLoading,\n };\n}\n\nexport function generateSsoUrl(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<PreLoginPayload, any>(\n async (payload: any) => {\n const response: any = await Client.sso.generateSsoUrl(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n generateSsoUrl: mutate,\n isLoading,\n };\n}\n\nexport function ssoCallback(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<PreLoginPayload, any>(\n async (payload: any) => {\n const response: any = await Client.sso.ssoCallback(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n ssoCallback: mutate,\n isLoading,\n };\n}\n","import { Client } from \"../client/index\";\nimport type { ChangePasswordPayload, MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\nimport { setProfileData } from \"../data/user\";\n\n\nexport function me(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation(\n async () => {\n const response: any = await Client.user.me();\n return response;\n },\n options\n );\n\n return {\n mutate,\n me: mutate,\n isLoading,\n };\n}\n\nexport function profile(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation(\n async (paylaod: any) => {\n const response: any = await Client.user.profile(paylaod);\n setProfileData(response)\n return response;\n },\n options\n );\n\n return {\n mutate,\n profile: mutate,\n isLoading,\n };\n}\n\n\nexport function changePassword(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<ChangePasswordPayload, any>(\n async (payload: any) => {\n const response: any = await Client.user.changePassword(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n changePassword: mutate,\n isLoading,\n };\n}","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\nimport { useTable } from \"../store/use-table\";\n\nexport function list(options?: MutationOptions<any, any>) {\n const {\n getTableParam\n }: any = useTable();\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n\n const param = await getTableParam(payload?.companyAsMediator);\n\n const response: any = await Client.pipeline.list(payload, param);\n return response;\n },\n options\n );\n\n return {\n mutate,\n getPipelines: mutate,\n isLoading,\n };\n}\n","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\n\nexport function list(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.stage.list(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n getStages: mutate,\n isLoading,\n };\n}\n","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\nimport { useTable } from \"../store/use-table\";\nimport { actions as tableActions } from \"../store2/use-table\";\nimport { actions as multiObjectActions } from \"../store2/use-multi-object\";\n\nexport function list(options?: MutationOptions<any, any>) {\n const { getTableParam }: any = useTable();\n\n const { setObjectsData, setTableData } = tableActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const param = await getTableParam(payload?.companyAsMediator);\n\n const response: any = await Client.object.list(payload, param);\n\n await setObjectsData(response)\n await setTableData(response, payload)\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getObjects: mutate,\n isLoading,\n };\n}\n\nexport function sideBarList(options?: MutationOptions<any, any>) {\n const { setMultiObjectData, } = multiObjectActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.object.sideBarList(payload);\n setMultiObjectData(response, payload)\n return response;\n },\n options\n );\n\n return {\n mutate,\n getSideBarObjects: mutate,\n isLoading,\n };\n}\n\n\nexport function form(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.object.form(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getObjectsForm: mutate,\n isLoading,\n };\n}\n\nexport function objectFormOptions(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.object.objectFormOptions(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n objectFormOptions: mutate,\n isLoading,\n };\n}\n\nexport function create(options?: MutationOptions<any, any>) {\n const { setTablePrependData } = tableActions;\n const { setMultiObjectPrependData } = multiObjectActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n\n if(props?.componentName === \"sidebarTable\") await setMultiObjectPrependData(\"loading\", props)\n if(props?.componentName != \"association\" && props?.componentName != \"sidebarTable\") await setTablePrependData(\"loading\", props)\n\n const response: any = await Client.object.create(props);\n \n console.log(\n \"props\", props\n )\n\n if(props?.componentName === \"sidebarTable\") await setMultiObjectPrependData(response, props)\n if(props?.componentName != \"association\" && props?.componentName != \"sidebarTable\") await setTablePrependData(response, props)\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n createObject: mutate,\n isLoading,\n };\n}\n\nexport function createExisting(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n const response: any = await Client.object.createExisting(props);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n createExistingObject: mutate,\n isLoading,\n };\n}\n\nexport function removeExisting(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n const response: any = await Client.object.removeExisting(props);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n removeExisting: mutate,\n isLoading,\n };\n}\n\nexport function details(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.object.details(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getObjectsDetails: mutate,\n isLoading,\n };\n}\n\nexport function update(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.object.update(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n updateObjectsDetails: mutate,\n isLoading,\n };\n}","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\nimport { actions as noteActions } from \"../store2/use-note\";\n\nexport function list(options?: MutationOptions<any, any>) {\n const { setNotes } = noteActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.note.list(payload);\n\n setNotes(response, payload)\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getNotes: mutate,\n isLoading,\n };\n}\n\nexport function create(options?: MutationOptions<any, any>) {\n const { setPrependNote } = noteActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n await setPrependNote(\"loading\")\n const response: any = await Client.note.create(props);\n await setPrependNote(response)\n return response;\n },\n options\n );\n\n return {\n mutate,\n createNote: mutate,\n isLoading,\n };\n}\n\nexport function update(options?: MutationOptions<any, any>) {\n const { updatePrependNote } = noteActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n\n // let params: any = makeParam()\n // let mParams: any = { cache: !!params?.cache, isPrimaryCompany: params?.isPrimaryCompany, limit: params?.limit || 5 }\n\n // if (getAuthSubscriptionType() === 'FREE') {\n // mParams.after = params?.after || \"\";\n // } else {\n // mParams.limit = params?.limit || \"\";\n // mParams.page = params?.page || \"\";\n // }\n\n\n const response: any = await Client.note.update(payload);\n\n updatePrependNote(response)\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n updateNote: mutate,\n isLoading,\n };\n}\n\n\n// const makeParam = () => {\n// let params: any = {};\n// const tab = filterParams(\"tabs.notes\")\n// const baseParams: any = {\n// objectId: objectId,\n// id: id,\n// portalId: portalId,\n// cache: (sync || apiSync) ? false : true,\n// isPrimaryCompany: tab?.isPrimaryCompany ? true : false,\n// };\n\n// if (getAuthSubscriptionType() === \"FREE\") {\n// params = {\n// ...baseParams,\n// ...({ after: isFristTimeLoadData && tab?.page ? tab?.page : page }),\n// };\n// } else {\n// params = {\n// ...baseParams,\n// ...({\n// limit: limit,\n// page: isFristTimeLoadData && tab?.page ? tab?.page : page,\n// }),\n// };\n// }\n// return params\n// }","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\nimport { actions as emailActions } from \"../store2/use-email\";\n\nexport function list(options?: MutationOptions<any, any>) {\n const { setEmails } = emailActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.email.list(payload);\n\n setEmails(response, payload)\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getEmails: mutate,\n isLoading,\n };\n}\n\nexport function create(options?: MutationOptions<any, any>) {\n const { setPrependEmail } = emailActions;\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n await setPrependEmail(\"loading\")\n const response: any = await Client.email.create(props);\n await setPrependEmail(response)\n return response;\n },\n options\n );\n\n return {\n mutate,\n createEmail: mutate,\n isLoading,\n };\n}\n\nexport function update(options?: MutationOptions<any, any>) {\n const { updatePrependEmail } = emailActions;\n\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.email.update(payload);\n\n updatePrependEmail(response)\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n updateEmail: mutate,\n isLoading,\n };\n}\n\n\n// const makeParam = () => {\n// let params: any = {};\n// const tab = filterParams(\"tabs.notes\")\n// const baseParams: any = {\n// objectId: objectId,\n// id: id,\n// portalId: portalId,\n// cache: (sync || apiSync) ? false : true,\n// isPrimaryCompany: tab?.isPrimaryCompany ? true : false,\n// };\n\n// if (getAuthSubscriptionType() === \"FREE\") {\n// params = {\n// ...baseParams,\n// ...({ after: isFristTimeLoadData && tab?.page ? tab?.page : page }),\n// };\n// } else {\n// params = {\n// ...baseParams,\n// ...({\n// limit: limit,\n// page: isFristTimeLoadData && tab?.page ? tab?.page : page,\n// }),\n// };\n// }\n// return params\n// }","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\nimport { actions as uploaderActions } from \"../store2/use-uploader\";\n\nexport function imageUpload(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = payload?.type === \"email\" ? await Client.email.image(payload) : await Client.note.image(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n imageUpload: mutate,\n isLoading,\n };\n}\n\nexport function attachmentUpload(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = payload?.type === \"email\" ? await Client.email.attachment(payload) : await Client.note.attachment(payload);\n\n uploaderActions.setAttachment(response);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n attachmentUpload: mutate,\n isLoading,\n };\n}","import { Client } from \"../client/index\";\nimport type { MutationOptions } from '../types';\nimport { createMutation } from \"../mutation/createMutation\";\n\nexport function list(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.file.list(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getFiles: mutate,\n isLoading,\n };\n}\n\nexport function details(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.file.details(payload);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n getFile: mutate,\n isLoading,\n };\n}\n\nexport function addFolder(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n const response: any = await Client.file.addFolder(props);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n addFolder: mutate,\n isLoading,\n };\n}\n\nexport function addFile(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (props: any) => {\n const response: any = await Client.file.addFile(props);\n\n return response;\n },\n options\n );\n\n return {\n mutate,\n addFile: mutate,\n isLoading,\n };\n}\n\nexport function download(options?: MutationOptions<any, any>) {\n const { mutate, isLoading } = createMutation<any, any>(\n async (payload: any) => {\n const response: any = await Client.file.download(payload);\n return response;\n },\n options\n );\n\n return {\n mutate,\n downloadFile: mutate,\n isLoading,\n };\n}","import { Client } from \"../client/index\";\nimport type { MutationOptions } from \"../types\";\nimport { createMutation } from \"../mutation/createMutation\";\n\n/** Soft refresh CRM list cache (prefer over GET cache=false when purge API is enabled). */\nexport function purge(options?: MutationOptions<unknown, unknown>) {\n const { mutate, isLoading } = createMutation<Record<string, unknown>, unknown>(\n async (payload?: Record<string, unknown>) => {\n const safePayload = payload ?? {};\n const idempotencyKey =\n typeof safePayload.idempotencyKey === \"string\"\n ? safePayload.idempotencyKey\n : undefined;\n const headers = idempotencyKey\n ? { \"Idempotency-Key\": idempotencyKey }\n : undefined;\n const { idempotencyKey: _ignored, ...body } = safePayload;\n return Client.cache.purge(body, headers);\n },\n options\n );\n\n return { mutate, purgeCache: mutate, isLoading };\n}\n\nexport function purgeStatus(\n purgeJobId: string,\n options?: MutationOptions<unknown, unknown>\n) {\n const { mutate, isLoading } = createMutation<string, unknown>(\n async (jobId?: string) => Client.cache.purgeStatus(jobId ?? purgeJobId),\n options\n );\n\n return {\n mutate,\n getPurgeStatus: () => mutate(purgeJobId),\n isLoading,\n };\n}\n","import { decodeToBase64 } from \"../utils/compress\"\nimport { getParam, getPath } from \"../utils/param\";\nimport { getRouteMenu } from \"./param\";\nimport { generatePath } from \"./url-utils\"\n\nexport const getBreadcrumbs = () => {\n // const router = useRouter()\n // const search: any = router.state.location.search\n const search: any = getParam(\"b\");\n\n let breadcrumbs = decodeToBase64(search) || []\n\n if (!breadcrumbs && breadcrumbs.length < 1) return []\n\n const updated = breadcrumbs.map((breadcrumb: any, index: any) => {\n return generatePath(breadcrumbs, breadcrumb, index)\n })\n\n if (updated.length < 1) {\n const pathname: any = getPath()\n const routeMenu: any = getRouteMenu(pathname)\n return [\n {\n name: routeMenu?.title,\n path: routeMenu?.path,\n },\n ]\n }\n return updated\n}\n\n\nexport const getTableTitle = (\n componentName: string,\n title: string,\n ticketTableTitle: string,\n) => {\n // const router = useRouter()\n // const search: any = router.state.location.search\n const search: any = getParam(\"b\");\n let breadcrumbs = decodeToBase64(search) || []\n\n\n\n if (breadcrumbs.length < 1) {\n // const router = useRouter()\n // const { pathname } = router.state.location\n const pathname: any = getPath()\n const routeMenu: any = getRouteMenu(pathname)\n\n breadcrumbs = [\n {\n n: routeMenu?.title,\n pt: routeMenu?.path,\n },\n ]\n }\n\n let associatedtableTitleSingular: any = ''\n let tableTitle: any = ''\n let singularTableTitle: any = ''\n\n if (breadcrumbs && breadcrumbs.length > 0) {\n const lastItem: any = breadcrumbs[breadcrumbs.length - 1]\n const last: any = lastItem ? generatePath(breadcrumbs, lastItem, breadcrumbs.length - 1) : null\n const previousItem: any = breadcrumbs[breadcrumbs.length - 2]\n const previous: any = previousItem ? generatePath(breadcrumbs, previousItem, breadcrumbs.length - 2) : null\n const singularLastName = last?.name\n\n associatedtableTitleSingular = singularLastName\n if (componentName != 'ticket') {\n tableTitle = previous?.name\n ? { last: last, previous: previous }\n : { last: last }\n singularTableTitle = previous?.name\n ? `${singularLastName} with ${previous?.name}`\n : singularLastName\n } else {\n const ticketTableTitleSingular = ticketTableTitle.endsWith('s')\n ? ticketTableTitle.slice(0, -1)\n : ticketTableTitle\n tableTitle = { last: { name: title } }\n\n singularTableTitle = previous?.name\n ? `${ticketTableTitleSingular} with ${singularLastName} `\n : ticketTableTitleSingular\n }\n }\n return { associatedtableTitleSingular, tableTitle, singularTableTitle }\n}\n\n\nexport const getFormTitle = (\n type: string,\n title: string,\n activeTab: string,\n) => {\n // const router = useRouter()\n // const search: any = router.state.location.search\n const search: any = getParam(\"b\");\n let breadcrumbs = decodeToBase64(search) || []\n\n if (breadcrumbs.length < 1) {\n // const router = useRouter()\n // const { pathname } = router.state.location\n const pathname: any = getPath()\n const routeMenu: any = getRouteMenu(pathname)\n breadcrumbs = [\n {\n n: routeMenu?.title,\n pt: routeMenu?.path,\n },\n ]\n }\n\n let objectName: any = ''\n let puralObjectName: any = ''\n let dialogTitle: any = ''\n\n if (breadcrumbs && breadcrumbs?.length > 0) {\n const last: any = breadcrumbs[breadcrumbs?.length - 1]\n const lastName = last?.n\n const mTitle = title\n if (type === 'association' && breadcrumbs && breadcrumbs?.length > 0) {\n objectName = title\n puralObjectName = title\n dialogTitle = `${activeTab == 'addNew' ? `Create a new ${mTitle} for ${nameTrancate(lastName)}` : `Associate an Existing ${mTitle} with ${nameTrancate(lastName)}`}`\n } else {\n const singularLastName = typeof lastName === 'string' && lastName?.endsWith('s')\n ? lastName.slice(0, -1)\n : lastName\n objectName = singularLastName\n puralObjectName = lastName\n dialogTitle = `${activeTab == 'addNew' ? `Create a new ${mTitle?.includes('with') ? nameTrancate(mTitle?.replace('with', 'for')) : nameTrancate(mTitle)}` : `Associate an Existing ${nameTrancate(mTitle)}`}`\n }\n }\n return { objectName, puralObjectName, dialogTitle }\n}\n\nconst nameTrancate = (name: any) => {\n return name?.length > 30 ? `${name?.slice(0, 30) + '...'}` : name\n}","import { decodeToBase64 } from \"../utils/compress\"\nimport { breadcrumbStage, generateUrl, isMessingParent, isMessingParentLastItem } from \"./url-utils\"\nimport { getParam, getPath } from \"../utils/param\";\nimport { getRouteMenu } from \"./param\";\n\nexport const useMakeLink = () => {\n // const router = useRouter()\n // const search: any = router.state.location.search\n const search: any = getParam(\"b\")\n\n // const makeLink = (props: any) => {\n // if (!search.b || \"isPC\" in props) { // check props?.isPC if dashbaord sidebar\n // return buildParentRoute(props, search, router) // pure helper\n // } else {\n // const breadcrumbItems = decodeToBase64(search?.b) || []\n // return buildChildRoute(props, search, breadcrumbItems) // pure helper\n // }\n // }\n\n const makeLink = (props: any) => {\n if (!search || \"isPC\" in props) { // check props?.isPC if dashbaord sidebar\n return buildParentRoute(props)\n } else {\n const breadcrumbItems = decodeToBase64(search) || []\n return buildChildRoute(props, breadcrumbItems)\n }\n }\n\n return { makeLink }\n}\n\n// if 0 index iths mean have no parent then add this\nconst buildParentRoute = (props: any) => {\n // const { pathname } = router.state.location\n // const routeMenu: any = getRouteMenu(pathname)\n const pathname: any = getPath()\n const routeMenu: any = getRouteMenu(pathname)\n\n const breadcrumbItems: any = [\n {\n n: routeMenu?.title,\n o_t_id: routeMenu?.path,\n isHome: props?.isHome || false,\n },\n ]\n // return buildChildRoute(props, search, breadcrumbItems)\n return buildChildRoute(props, breadcrumbItems)\n}\n\n// if hav parent then add this\nconst buildChildRoute = (props: any, breadcrumbItems: any) => {\n \n let breadcrumbs = [...breadcrumbItems]\n // let breadcrumbType: string = 'child'\n\n // if (breadcrumbItems.length === 1) {\n // breadcrumbType = 'root'\n // } else if (breadcrumbItems.length === 2) {\n // breadcrumbType = 'root_details'\n // }\n let breadcrumbType = breadcrumbStage(breadcrumbItems)\n\n if (props?.isHome && isMessingParentLastItem(breadcrumbItems)) { // its for home side bard card data\n const parent: any = {\n n: props?.title || \"\",\n o_t_id: props?.objectTypeId,\n \"pt\": `/association/${props?.objectTypeId}`,\n isHome: props?.isHome || false,\n \"prm\": {\n \"sort\": \"-hs_createdate\",\n \"s\": \"\",\n \"fPn\": \"hs_pipeline\",\n \"fO\": \"eq\",\n \"fV\": \"\",\n \"c\": true,\n \"isPC\": props?.isPC,\n \"v\": \"LIST\",\n \"l\": \"10\",\n \"p\": 1\n }\n }\n\n breadcrumbs.push(parent)\n\n const newCrumb: any = {\n n: props?.name,\n o_t_id: props?.objectTypeId,\n o_r_id: props?.recordId,\n }\n breadcrumbs.push(newCrumb)\n } else if (breadcrumbType === 'root') {\n const newCrumb: any = {\n n: props?.name,\n o_t_id: props?.objectTypeId,\n o_r_id: props?.recordId,\n }\n\n // ✅ Add params if available\n // if (props.params) {\n // newCrumb.p = props.params\n // }\n\n if (props?.isPC) {\n newCrumb.prm = {\n isPC: props?.isPC\n }\n }\n\n breadcrumbs.push(newCrumb)\n } else {\n const lastItem = breadcrumbs[breadcrumbs.length - 1]\n\n if ((props?.objectTypeId != '0-5' && breadcrumbs.length > 2) && // check for only association ticket object\n (!isMessingParent(breadcrumbItems) && lastItem?.o_t_id === props?.objectTypeId) && // check for all associated object and check isMessingParent for skip parent to child and child to parent association data \n (props?.isHome && !isMessingParentLastItem(breadcrumbItems))) { // check home side bar child last item is messing parent then skip\n const newCrumb: any = {\n n: props?.name,\n o_t_id: props?.objectTypeId,\n o_r_id: props?.recordId,\n }\n\n // ✅ Add params if available\n // if (props.params) {\n // newCrumb.p = props.params\n // }\n\n\n if (props?.isPC) {\n newCrumb.prm = {\n isPC: props?.isPC\n }\n }\n\n breadcrumbs.push(newCrumb)\n } else {\n const lastItem = breadcrumbs[breadcrumbs.length - 1]\n\n // if associated data have no parent\n const parent: any = {\n n: props?.associationLabel || props?.name,\n o_t_id: props?.objectTypeId,\n }\n\n if (props?.tableParam) {\n parent.prm = props?.tableParam\n }\n\n if (props?.defPermissions) {\n parent.dp = props?.defPermissions\n }\n\n if (lastItem?.o_t_id && lastItem?.o_r_id) { // check if last item have no parent\n breadcrumbs.push(parent) // association list data\n }\n // end\n\n if (props?.recordId) { // association single data\n const newCrumb: any = {\n n: props?.name,\n o_t_id: props?.objectTypeId,\n o_r_id: props?.recordId,\n }\n\n // ✅ Add params if available\n // if (props.params) {\n // newCrumb.p = props.params\n // }\n\n if (props?.isPC) {\n newCrumb.prm = {\n isPC: props?.isPC\n }\n }\n\n breadcrumbs.push(newCrumb)\n }\n }\n }\n return generateUrl(props, breadcrumbs)\n}\n\n","/** HubSpot portal default; override when portal timezone is available from config. */\nexport const DEFAULT_HUBSPOT_TIMEZONE = \"Asia/Kolkata\";\n\n/**\n * Detect the runtime/browser IANA timezone (e.g. `Asia/Kolkata`).\n * Falls back to the WoodsPortal default timezone when unavailable.\n */\nexport function getCurrentTimeZone(): string {\n try {\n return Intl.DateTimeFormat().resolvedOptions().timeZone || DEFAULT_HUBSPOT_TIMEZONE;\n } catch {\n return DEFAULT_HUBSPOT_TIMEZONE;\n }\n}\n\n/**\n * Coerce HubSpot-style timestamps (ms string/number) to epoch milliseconds.\n */\nexport function normalizeToTimestamp(value: unknown): number | null {\n if (value == null || value === \"\") return null;\n\n if (typeof value === \"number\") {\n return value > 100_000_000_000 ? value : null;\n }\n\n if (typeof value === \"string\" && /^\\d+$/.test(value)) {\n const n = Number(value);\n return n > 100_000_000_000 ? n : null;\n }\n\n if (typeof value === \"string\" || value instanceof Date) {\n const date = new Date(value);\n return Number.isNaN(date.getTime()) ? null : date.getTime();\n }\n\n return null;\n}\n\n/**\n * GMT offset label aligned with HubSpot activity timeline (e.g. `GMT+5:30`).\n */\nexport function formatGmtOffset(\n timeZone: string = getCurrentTimeZone(),\n date: Date = new Date(),\n): string {\n const raw = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n timeZoneName: \"longOffset\",\n })\n .formatToParts(date)\n .find((part) => part.type === \"timeZoneName\")?.value;\n\n if (!raw) return \"\";\n\n // Intl may emit GMT+05:30; HubSpot uses GMT+5:30.\n return raw.replace(/GMT([+-])0(\\d)(?=:)/, \"GMT$1$2\");\n}\n\nexport type HubSpotActivityDateTimeParts = {\n date: string;\n time: string;\n gmtOffset: string;\n /** Full HubSpot-style label, e.g. `May 27, 2026 at 11:31 PM GMT+5:30`. */\n formatted: string;\n};\n\n/**\n * Format a HubSpot epoch-ms timestamp like the CRM activity timeline.\n */\nexport function formatHubSpotActivityDateTimeParts(\n timestamp: unknown,\n timeZone: string = getCurrentTimeZone(),\n): HubSpotActivityDateTimeParts | null {\n const ms = normalizeToTimestamp(timestamp);\n if (ms == null) return null;\n\n const date = new Date(ms);\n const datePart = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n }).format(date);\n const timePart = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n hour: \"numeric\",\n minute: \"2-digit\",\n hour12: true,\n }).format(date);\n const gmtOffset = formatGmtOffset(timeZone, date);\n\n return {\n date: datePart,\n time: timePart,\n gmtOffset,\n formatted: `${datePart} at ${timePart} ${gmtOffset}`.trim(),\n };\n}\n\n/**\n * @returns HubSpot activity string, e.g. `May 27, 2026 at 11:31 PM GMT+5:30`, or empty string.\n */\nexport function formatHubSpotActivityDateTime(\n timestamp: unknown,\n timeZone: string = getCurrentTimeZone(),\n): string {\n return formatHubSpotActivityDateTimeParts(timestamp, timeZone)?.formatted ?? \"\";\n}\n","/**\n * WoodsPortal client SDK — public entry module.\n *\n * Configure HTTP once with {@link initializeHttpClient} in production, then use\n * {@link api}, {@link store}, {@link url}, {@link routeParam}, and {@link breadcrumbsDetails}.\n */\nimport { preLogin, login, verifyEmail, forgetPassword, logout, resetPasswordVerifyToken, resetPassword, registerExistingUser, verifyEmailResend, resendEmail } from \"./apis/authentication\";\nimport { getSsoDetails, generateSsoUrl, ssoCallback } from \"./apis/sso\";\nimport { changePassword, me, profile } from \"./apis/users\";\nimport { list as pipelines } from \"./apis/pipeline\";\nimport { list as stages } from \"./apis/stage\";\nimport { list as objects, sideBarList as sideBarObjects, form as objectsForm, create as createObject, createExisting as createExistingObject, removeExisting as removeExistingObject, details as objectsDetails, update as updateObjectsDetails, objectFormOptions } from \"./apis/object\";\nimport { list as notes, create as createNote, update as updateNote } from \"./apis/note\";\nimport { list as emails, create as createEmail, update as updateEmail } from \"./apis/email\";\nimport { imageUpload, attachmentUpload } from \"./apis/uploader\";\nimport { list as files, addFolder, addFile, details as file, download as fileDownload } from \"./apis/file\";\nimport { purge as purgeCache, purgeStatus as cachePurgeStatus } from \"./apis/cache\";\nimport { getRefreshToken } from \"./client/auth-utils\";\nimport { getAuthRefreshToken } from \"./client/http-clint\";\nimport { getAccessToken, isAuthenticateApp, isExpiresAccessToken } from \"./client/token-store\";\nimport { isCookieExpired } from \"./utils/cookie\";\nimport { useUpdateLink } from \"./breadcrumb/url\";\nimport { getParamDetails, getRouteDetails } from \"./breadcrumb/param\";\nimport { getBreadcrumbs, getFormTitle, getTableTitle } from \"./breadcrumb/breadcrumbs\";\nimport { useMakeLink } from \"./breadcrumb/generate-url\";\nimport { useTable } from \"./store/use-table\";\nimport { storage } from \"./utils/localStoraget\";\n\nexport {\n DEFAULT_HUBSPOT_TIMEZONE,\n getCurrentTimeZone,\n formatGmtOffset,\n formatHubSpotActivityDateTime,\n formatHubSpotActivityDateTimeParts,\n normalizeToTimestamp,\n} from \"./utils/datetime\";\nexport type { HubSpotActivityDateTimeParts } from \"./utils/datetime\";\n\n/** Axios setup, error helpers, and {@link HttpClientConfig}. */\nexport { initializeHttpClient, getFormErrors, getFieldErrors } from \"./client/http-clint\";\nexport type { HttpClientConfig } from \"./client/http-clint\";\n\n/** @deprecated Import from `./client` — `clint` package name removed in SDK 2.x. */\nexport * as clint from \"./client/index\";\n\nexport type {\n Config,\n MutationOptions,\n PreLoginPayload,\n LoginPayload,\n VerifyEmailPayload,\n ResetPasswordVerifyTokenPayload,\n ResetPasswordPayload,\n ForgetPasswordPayload,\n ChangePasswordPayload,\n} from \"./types\";\n\n/**\n * API facades (auth, SSO, users, CRM objects, files, uploads, token helpers).\n * Most methods return `{ mutate, isLoading }` from {@link createMutation}; see README.\n */\nexport const api = {\n preLogin,\n login,\n verifyEmail,\n resetPasswordVerifyToken,\n resetPassword,\n registerExistingUser,\n verifyEmailResend,\n resendEmail,\n getSsoDetails,\n generateSsoUrl,\n ssoCallback,\n forgetPassword,\n logout,\n me,\n profile,\n changePassword,\n pipelines,\n stages,\n objects,\n sideBarObjects,\n objectsForm,\n createObject,\n createExistingObject,\n removeExistingObject,\n objectsDetails,\n updateObjectsDetails,\n objectFormOptions,\n notes,\n createNote,\n updateNote,\n emails,\n createEmail,\n updateEmail,\n imageUpload,\n attachmentUpload,\n files,\n file,\n fileDownload,\n addFolder,\n addFile,\n purgeCache,\n cachePurgeStatus,\n getRefreshToken,\n getAuthRefreshToken,\n isCookieExpired,\n isExpiresAccessToken,\n isAuthenticateApp,\n getAccessToken,\n};\n\n/** Lightweight storage helpers and table UI state. */\nexport const store = {\n storage,\n useTable\n};\n\n/** Breadcrumb copy helpers for list/form chrome. */\nexport const breadcrumbsDetails = {\n getBreadcrumbs,\n getTableTitle,\n getFormTitle\n};\n\n/** URL builders that read query/path context (not React hooks despite the `use*` names). */\nexport const url = {\n useMakeLink,\n useUpdateLink\n};\n\n/** Route and query-param introspection for embedded HubSpot-style navigation. */\nexport const routeParam = {\n getRouteDetails,\n getParamDetails\n};\n"]}