@bshsolutions/sdk 0.0.40-beta → 0.0.40-beta.3

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.
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/client/types.ts","../src/client/bsh-client.ts","../src/client/index.ts"],"names":["error"],"mappings":"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","file":"chunk-MARE3SV2.js","sourcesContent":["import { BshCallbackParams } from \"@src/services\";\nimport { BshError, BshResponse, BshSearch } from \"@types\";\n\nexport type BshClientFnParams<T = unknown, R = T> = {\n path: string,\n options: {\n method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH',\n responseType?: 'json' | 'blob' | 'text' | 'arrayBuffer',\n requestFormat?: 'json' | 'text' | 'form',\n body?: T | BshSearch<T> | unknown,\n formData?: FormData,\n queryParams?: Record<string, string>,\n headers?: Record<string, string>,\n },\n bshOptions: BshCallbackParams<T, R>,\n api?: string,\n entity?: string\n}\n\nexport type BshClientFn = <T = unknown>(params: BshClientFnParams<T>) => Promise<Response>;\n\nexport const defaultClientFn: BshClientFn = async (params) => {\n return fetch(\n params.path,\n {\n method: params.options.method,\n body: params.options.requestFormat === 'form' ?\n params.options.body as BodyInit : params.options.body ?\n JSON.stringify(params.options.body) : undefined,\n headers: params.options.headers,\n }\n );\n};\n\nexport type AuthToken = {\n type: 'JWT' | 'APIKEY';\n token: string\n}\n\nexport type BshAuthFn = () => Promise<AuthToken | undefined | null>;\n\nexport type BshRefreshTokenFn = () => Promise<string | undefined | null>;\n\nexport type BshOnTokenRefreshedFn = (tokens: { accessToken?: string; refreshToken?: string; }) => void | Promise<void>;\n\nexport type BshTenantFn = () => Promise<string | undefined | null>;\n\nexport type BshPostInterceptor<T = any> = (response: BshResponse<T>, params?: BshClientFnParams<T>) => Promise<BshResponse<T>>;\nexport type BshPreInterceptor<T = any, R = T> = (params: BshClientFnParams<T, R>) => Promise<BshClientFnParams<T, R>>;\nexport type BshErrorInterceptor<T = any> = (error: BshError, response?: BshResponse<T>, params?: BshClientFnParams<T>) => Promise<BshError | undefined>;\n","import { BshResponse, BshError } from \"@types\";\nimport { AuthToken, BshAuthFn, BshClientFn, BshClientFnParams, BshRefreshTokenFn, BshTenantFn, defaultClientFn } from \"@src/client/types\";\nimport { BshEngine } from \"@src/bshengine\";\n\nexport class BshClient {\n private readonly httpClient: BshClientFn;\n private readonly authFn?: BshAuthFn;\n private readonly refreshTokenFn?: BshRefreshTokenFn;\n private readonly tenantFn?: BshTenantFn;\n private readonly host: string;\n private readonly bshEngine?: BshEngine;\n\n constructor(\n host?: string,\n httpClient?: BshClientFn,\n authFn?: BshAuthFn,\n refreshTokenFn?: BshRefreshTokenFn,\n tenantFn?: BshTenantFn,\n bshEngine?: BshEngine\n ) {\n this.host = host || '';\n this.httpClient = httpClient || defaultClientFn;\n this.authFn = authFn;\n this.refreshTokenFn = refreshTokenFn;\n this.tenantFn = tenantFn;\n this.bshEngine = bshEngine;\n }\n\n private async handleResponse<T = any>(response: Response, params: BshClientFnParams<T>, type: 'json'): Promise<BshResponse<T> | undefined>\n private async handleResponse<T = any>(response: Response, params: BshClientFnParams<T>, type: 'blob'): Promise<Blob | undefined>\n private async handleResponse<T = any>(response: Response, params: BshClientFnParams<T>, type: 'json' | 'blob'): Promise<BshResponse<T> | Blob | undefined> {\n if (!response.ok) {\n let data: any = undefined;\n try {\n data = await response.json();\n } catch (error) {\n try {\n data = await response.text();\n } catch (error) {\n data = {\n message: 'Connection Issue'\n };\n }\n }\n let error = new BshError(response.status, params.path, data);\n const byPassErrorInterceptor = params.bshOptions.byPass?.interceptors?.error;\n if ((byPassErrorInterceptor == undefined || !byPassErrorInterceptor) && this.bshEngine?.getErrorInterceptors().length) {\n for (const interceptor of this.bshEngine.getErrorInterceptors()) {\n const newError = await interceptor(error, error.response, params as BshClientFnParams<any>);\n if (newError) error = newError;\n }\n }\n if (params.bshOptions.onError) {\n params.bshOptions.onError(error);\n return undefined;\n }\n else throw error;\n }\n\n if (type === 'json') {\n const data = await response.json();\n let result = data as BshResponse<T>;\n result.api = params.api;\n await this.notifyTokenRefreshedIfPresent(result);\n const byPassPostInterceptors = params.bshOptions.byPass?.interceptors?.post;\n if ((byPassPostInterceptors == undefined || !byPassPostInterceptors) && this.bshEngine?.getPostInterceptors().length) {\n for (const interceptor of this.bshEngine.getPostInterceptors()) {\n const newResult = await interceptor(result, params as BshClientFnParams<any>);\n if (newResult) result = newResult as BshResponse<T>;\n }\n }\n if (params.bshOptions.onSuccess) {\n params.bshOptions.onSuccess(data);\n return undefined;\n }\n return result;\n }\n else if (type === 'blob') {\n const blob = await response.blob();\n if (params.bshOptions.onDownload) {\n params.bshOptions.onDownload(blob);\n return undefined;\n }\n else return blob;\n }\n }\n\n private async notifyTokenRefreshedIfPresent(result: BshResponse<unknown>) {\n const accessToken = result.meta?.accessToken;\n const refreshToken = result.meta?.refreshToken;\n if (!accessToken && !refreshToken) return;\n const handler = this.bshEngine?.getOnTokenRefreshed();\n if (handler) {\n await handler({\n accessToken,\n refreshToken,\n });\n }\n }\n\n private getCookie(name: string): string | undefined {\n if (typeof document === 'undefined') return undefined;\n\n const cookies = document.cookie.split(';');\n\n for (const cookie of cookies) {\n const [key, ...valueParts] = cookie.trim().split('=');\n if (key === name) return decodeURIComponent(valueParts.join('='));\n }\n\n return undefined;\n }\n\n private getCsrfHeaders(params: BshClientFnParams<any>): Record<string, string> {\n const method = params.options?.method?.toUpperCase() || 'GET';\n if (method === 'GET' || method === 'HEAD' || method === 'OPTIONS') return {};\n const csrfToken = this.getCookie('XSRF-TOKEN');\n if (!csrfToken) return {};\n return { 'X-XSRF-TOKEN': csrfToken };\n }\n\n private async getAuthHeaders(params: BshClientFnParams<any>): Promise<Record<string, string>> {\n const auth = this.authFn ? await this.authFn() : undefined;\n\n let authHeaders = {};\n if (auth) {\n if (auth.type === 'JWT') {\n authHeaders = { Authorization: `Bearer ${auth.token}` };\n const refreshToken = await this.refreshTokenFn?.();\n if (refreshToken) authHeaders = { ...authHeaders, 'X-BSH-REFRESHTOKEN': refreshToken };\n }\n else if (auth.type === 'APIKEY') authHeaders = { Authorization: auth.token };\n else authHeaders = this.getCsrfHeaders(params);\n } else authHeaders = this.getCsrfHeaders(params);\n\n return { ...authHeaders };\n }\n\n private async getTenantHeaders(params: BshClientFnParams<any>): Promise<Record<string, string>> {\n const tenant = await this.tenantFn?.();\n if (!tenant) return {};\n return { 'X-Tenant-Id': tenant };\n }\n\n private async injectHeaders(params: BshClientFnParams<any>): Promise<Record<string, string>> {\n const authHeaders = await this.getAuthHeaders(params);\n const tenantHeaders = await this.getTenantHeaders(params);\n\n return {\n ...authHeaders,\n ...tenantHeaders,\n };\n }\n\n private async applyPreInterceptors<T = unknown, R = T>(params: BshClientFnParams<T, R>): Promise<BshClientFnParams<T, R>> {\n const byPassPreInterceptors = params.bshOptions.byPass?.interceptors?.pre;\n if (byPassPreInterceptors == true || !this.bshEngine?.getPreInterceptors().length) return params;\n for (const interceptor of this.bshEngine.getPreInterceptors()) {\n const newParams = await interceptor(params as BshClientFnParams<unknown, unknown>);\n if (newParams) return newParams as BshClientFnParams<T, R>;\n }\n return params;\n }\n\n async get<T = unknown>(params: BshClientFnParams<T>): Promise<BshResponse<T> | undefined> {\n const authHeaders = await this.injectHeaders({ ...params, options: { ...params.options, method: 'GET' } });\n\n let clientParams = {\n ...params,\n path: `${this.host}${params.path}`,\n options: {\n ...params.options,\n method: 'GET',\n headers: {\n ...params.options.headers,\n ...authHeaders\n }\n }\n } as BshClientFnParams<T>;\n\n clientParams = await this.applyPreInterceptors<T>(clientParams);\n const response = await this.httpClient(clientParams);\n return this.handleResponse(response, clientParams, 'json');\n }\n\n async post<T = unknown, R = T>(params: BshClientFnParams<T, R>): Promise<BshResponse<R> | undefined> {\n const authHeaders = await this.injectHeaders({ ...params, options: { ...params.options, method: 'POST' } });\n\n let clientParams = {\n ...params,\n path: `${this.host}${params.path}`,\n options: {\n ...params.options,\n method: 'POST',\n headers: {\n ...params.options.headers,\n ...authHeaders\n }\n }\n } as BshClientFnParams<T, R>;\n\n clientParams = await this.applyPreInterceptors<T, R>(clientParams);\n const response = await this.httpClient(clientParams);\n return this.handleResponse(response, clientParams, 'json');\n }\n\n async put<T = unknown, R = T>(params: BshClientFnParams<T, R>): Promise<BshResponse<R> | undefined> {\n const authHeaders = await this.injectHeaders({ ...params, options: { ...params.options, method: 'PUT' } });\n let clientParams = {\n ...params,\n path: `${this.host}${params.path}`,\n options: {\n ...params.options,\n method: 'PUT',\n headers: {\n ...params.options.headers,\n ...authHeaders\n }\n }\n } as BshClientFnParams<T, R>;\n\n clientParams = await this.applyPreInterceptors<T, R>(clientParams);\n const response = await this.httpClient(clientParams);\n return this.handleResponse(response, clientParams, 'json');\n }\n\n async delete<T = unknown>(params: BshClientFnParams<T>): Promise<BshResponse<T> | undefined> {\n const authHeaders = await this.injectHeaders({ ...params, options: { ...params.options, method: 'DELETE' } });\n let clientParams = {\n ...params,\n path: `${this.host}${params.path}`,\n options: {\n ...params.options,\n method: 'DELETE',\n headers: {\n ...params.options.headers,\n ...authHeaders\n }\n }\n } as BshClientFnParams<T>;\n\n clientParams = await this.applyPreInterceptors<T>(clientParams);\n const response = await this.httpClient(clientParams);\n return this.handleResponse(response, clientParams, 'json');\n }\n\n async patch<T = unknown>(params: BshClientFnParams<T>): Promise<BshResponse<T> | undefined> {\n const authHeaders = await this.injectHeaders({ ...params, options: { ...params.options, method: 'PATCH' } });\n let clientParams = {\n ...params,\n path: `${this.host}${params.path}`,\n options: {\n ...params.options,\n method: 'PATCH',\n headers: {\n ...params.options.headers,\n ...authHeaders\n }\n }\n } as BshClientFnParams<T>;\n\n clientParams = await this.applyPreInterceptors<T>(clientParams);\n const response = await this.httpClient(clientParams);\n return this.handleResponse(response, clientParams, 'json');\n }\n\n async download<T = unknown>(params: BshClientFnParams<T>): Promise<Blob | undefined> {\n const authHeaders = await this.injectHeaders({ ...params, options: { ...params.options, method: 'GET' } });\n let clientParams = {\n ...params,\n path: `${this.host}${params.path}`,\n options: {\n ...params.options,\n method: 'GET',\n headers: {\n ...params.options.headers,\n ...authHeaders\n }\n }\n } as BshClientFnParams<T>;\n\n clientParams = await this.applyPreInterceptors<T>(clientParams);\n const response = await this.httpClient(clientParams);\n return this.handleResponse(response, clientParams, 'blob');\n }\n}\n","import { BshClientFn } from './types';\n\nexport * from './types';\nexport * from './bsh-client';\n\nexport const fetchClientFn: BshClientFn = async (params) => {\n return fetch(\n params.path,\n {\n method: params.options.method,\n body: params.options.requestFormat === 'form' ?\n params.options.body as BodyInit : params.options.body ?\n JSON.stringify(params.options.body) : undefined,\n headers: params.options.headers,\n }\n );\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/core/index.ts"],"names":[],"mappings":";AAYO,IAAM,YAAA,GAAe;AAAA,EACxB,WAAA,EAAa,aAAA;AAAA,EACb,UAAA,EAAY,YAAA;AAAA,EACZ,QAAA,EAAU,UAAA;AAAA,EAEV,QAAA,EAAU,UAAA;AAAA,EACV,WAAA,EAAa,aAAA;AAAA,EACb,QAAA,EAAU,UAAA;AAAA,EACV,UAAA,EAAY,YAAA;AAAA,EAEZ,QAAA,EAAU,UAAA;AAAA,EAEV,UAAA,EAAY,YAAA;AAAA,EAEZ,iBAAA,EAAmB,mBAAA;AAAA,EAEnB,SAAA,EAAW,WAAA;AAAA,EACX,iBAAA,EAAmB,mBAAA;AAAA,EAEnB,YAAA,EAAc,cAAA;AAAA,EACd,WAAA,EAAa,aAAA;AAAA,EACb,mBAAA,EAAqB,qBAAA;AAAA,EAErB,UAAA,EAAY,YAAA;AAAA,EACZ,gBAAA,EAAkB;AACtB;AAIO,IAAM,mBAAA,GAAgC;AAAA,EACzC,YAAA,CAAa,WAAA;AAAA,EACb,YAAA,CAAa,UAAA;AAAA,EACb,YAAA,CAAa,QAAA;AAAA,EACb,YAAA,CAAa,WAAA;AAAA,EACb,YAAA,CAAa,QAAA;AAAA,EACb,YAAA,CAAa,iBAAA;AAAA,EACb,YAAA,CAAa,iBAAA;AAAA,EACb,YAAA,CAAa;AACjB","file":"chunk-ZOCNJXUZ.js","sourcesContent":["export type BshDate = { $date: string }\n\nexport type BshObject = {\n persistenceId: string,\n CreatedAt?: BshDate,\n CreatedBy?: string,\n LastUpdatedAt?: BshDate\n LastUpdatedBy?: string\n}\n\nexport type BshObjectPure<T> = Omit<T, 'persistenceId' | 'CreatedAt' | 'CreatedBy' | 'LastUpdatedAt' | 'LastUpdatedBy'>\n\nexport const CoreEntities = {\n BshEntities: 'BshEntities',\n BshSchemas: 'BshSchemas',\n BshTypes: 'BshTypes',\n\n BshUsers: 'BshUsers',\n BshPolicies: 'BshPolicies',\n BshRoles: 'BshRoles',\n BshApiKeys: 'BshApiKeys',\n\n BshFiles: 'BshFiles',\n\n BshTenants: 'BshTenants',\n\n BshConfigurations: 'BshConfigurations',\n\n BshEmails: 'BshEmails',\n BshEmailTemplates: 'BshEmailTemplates',\n\n BshEventLogs: 'BshEventLogs',\n BshTriggers: 'BshTriggers',\n BshTriggerInstances: 'BshTriggerInstances',\n\n BshPlugins: 'BshPlugins',\n BshPluginHistory: 'BshPluginHistory',\n} as const;\n\nexport type CoreEntities = keyof typeof CoreEntities\n\nexport const PluginBasedEntities: string[] = [\n CoreEntities.BshEntities,\n CoreEntities.BshSchemas,\n CoreEntities.BshTypes,\n CoreEntities.BshPolicies,\n CoreEntities.BshRoles,\n CoreEntities.BshConfigurations,\n CoreEntities.BshEmailTemplates,\n CoreEntities.BshTriggers,\n];\n"]}