@bshsolutions/sdk-beta 0.0.1-alpha

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/services/entities/index.ts","../src/services/auth/index.ts","../src/services/user/index.ts","../src/services/settings/index.ts","../src/services/image/index.ts","../src/services/mailing/index.ts","../src/services/utils/index.ts","../src/services/caching/index.ts","../src/services/api-key/index.ts"],"names":[],"mappings":"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","file":"chunk-HHI43U6W.js","sourcesContent":["import { BshClient } from \"@src/client/bsh-client\";\nimport { BshResponse, BshSearch } from \"@types\";\nimport { BshCallbackParams, BshCallbackParamsWithPayload } from \"@src/services\";\n\nexport type EntityFnParams<T = unknown, R = T> = BshCallbackParams<T, R> & { entity?: string }\nexport type EntityFnParamsWithPayload<T = unknown, R = T> = BshCallbackParamsWithPayload<T, R> & { entity?: string }\nexport type EntitySearchFnParams<T, R = T> = EntityFnParamsWithPayload<BshSearch<T>, R>\n\nexport class EntityService<T = unknown> {\n private readonly baseEndpoint = '/api/entities';\n\n public constructor(private readonly client: BshClient, private readonly entity?: string) {\n }\n\n // Get a single entity by ID\n public async findById<TT = T>(params: EntityFnParams<TT> & { id: string }): Promise<BshResponse<TT> | undefined> {\n return this.client.get<TT>({\n path: `${this.baseEndpoint}/${params.entity || this.entity}/${params.id}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: `entities.${params.entity || this.entity}.findById`,\n });\n }\n\n // Create a new entity\n public async create<TT = T>(\n params: EntityFnParamsWithPayload<TT>\n ): Promise<BshResponse<TT> | undefined> {\n return this.client.post<TT>({\n path: `${this.baseEndpoint}/${params.entity || this.entity}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: `entities.${params.entity || this.entity}.create`,\n });\n }\n\n // Create multiple entities in batch\n public async createMany<TT = T>(\n params: EntityFnParamsWithPayload<TT[], TT>\n ): Promise<BshResponse<TT> | undefined> {\n return this.client.post<TT>({\n path: `${this.baseEndpoint}/${params.entity || this.entity}/batch`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: `entities.${params.entity || this.entity}.createMany`,\n });\n }\n\n // Update an existing entity\n public async update<TT = T>(\n params: EntityFnParamsWithPayload<TT>\n ): Promise<BshResponse<TT> | undefined> {\n return this.client.put<TT>({\n path: `${this.baseEndpoint}/${params.entity || this.entity}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: `entities.${params.entity || this.entity}.update`,\n });\n }\n\n // Update multiple entities in batch\n public async updateMany<TT = T>(\n params: EntityFnParamsWithPayload<TT[], TT>\n ): Promise<BshResponse<TT> | undefined> {\n return this.client.put<TT>({\n path: `${this.baseEndpoint}/${params.entity || this.entity}/batch`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: `entities.${params.entity || this.entity}.updateMany`,\n });\n }\n\n // Search for entities\n public async search<TT extends T = T, R = TT>(\n params: EntitySearchFnParams<TT, R>\n ): Promise<BshResponse<R> | undefined> {\n return this.client.post<TT, R>({\n path: `${this.baseEndpoint}/${params.entity || this.entity}/search`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: `entities.${params.entity || this.entity}.delete`,\n });\n }\n\n // Delete entities by search criteria\n public async delete<TT = T>(\n params: EntitySearchFnParams<TT, { effected: number }>\n ): Promise<BshResponse<{ effected: number }> | undefined> {\n return this.client.post<TT, { effected: number }>({\n path: `${this.baseEndpoint}/${params.entity || this.entity}/delete`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: `entities.${params.entity || this.entity}.delete`,\n });\n }\n\n // Delete a single entity by ID\n public async deleteById<TT = T>(\n params: EntityFnParams<TT, { effected: number }> & { id: string }\n ): Promise<BshResponse<{ effected: number }> | undefined> {\n return this.client.delete<{ effected: number }>({\n path: `${this.baseEndpoint}/${params.entity || this.entity}/${params.id}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: `entities.${params.entity || this.entity}.deleteById`,\n });\n }\n\n // Get entity columns\n public async columns(\n params: EntityFnParams<unknown, { name: string; type: string }>\n ): Promise<BshResponse<{ name: string; type: string }> | undefined> {\n return this.client.get<{ name: string; type: string }>({\n path: `${this.baseEndpoint}/${params.entity || this.entity}/columns`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: `entities.${params.entity || this.entity}.columns`,\n });\n }\n\n // Export entities\n public async export<TT = T>(\n params: EntityFnParamsWithPayload<BshSearch<TT>, Blob> & {\n format: 'csv' | 'json' | 'excel',\n filename?: string,\n }\n ): Promise<void> {\n const defaultName = `${params.entity || this.entity}_export_${new Date().toISOString().split('T')[0]}`;\n const exportFilename = params.filename || `${defaultName}.${params.format == 'excel' ? 'xlsx' : params.format}`;\n\n await this.client.download<TT>({\n path: `${this.baseEndpoint}/${params.entity || this.entity}/export?format=${params.format}&filename=${exportFilename}`,\n options: {\n responseType: 'blob',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onDownload: params.onDownload, onError: params.onError },\n api: `entities.${params.entity || this.entity}.export`,\n });\n }\n}\n","\nimport { BshClient } from \"@src/client/bsh-client\";\nimport { BshResponse, BshUser, BshUserInit, LoginParams, AuthTokens } from \"@types\";\nimport { BshCallbackParamsWithPayload } from \"@src/services\";\n\nexport class AuthService {\n private readonly baseEndpoint = '/api/auth';\n\n public constructor(private readonly client: BshClient) {\n }\n\n public async login(params: BshCallbackParamsWithPayload<LoginParams, AuthTokens>): Promise<BshResponse<AuthTokens> | undefined> {\n return this.client.post<AuthTokens>({\n path: `${this.baseEndpoint}/login`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'auth.login',\n });\n }\n\n public async register(params: BshCallbackParamsWithPayload<BshUserInit, BshUser>): Promise<BshResponse<BshUser> | undefined> {\n return this.client.post<BshUser>({\n path: `${this.baseEndpoint}/register`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'auth.register',\n });\n }\n\n public async refreshToken(params: BshCallbackParamsWithPayload<{ refresh: string }, AuthTokens>): Promise<BshResponse<AuthTokens> | undefined> {\n return this.client.post<AuthTokens>({\n path: `${this.baseEndpoint}/refresh`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'auth.refreshToken',\n });\n }\n\n public async forgetPassword(\n params: BshCallbackParamsWithPayload<{ email: string }, unknown>): Promise<BshResponse<unknown> | undefined> {\n return this.client.post<unknown>({\n path: `${this.baseEndpoint}/forget-password`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'auth.forgetPassword',\n });\n }\n\n public async resetPassword(params: BshCallbackParamsWithPayload<{ email: string, code: string, newPassword: string }, unknown>): Promise<BshResponse<unknown> | undefined> {\n return this.client.post<unknown>({\n path: `${this.baseEndpoint}/reset-password`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'auth.resetPassword',\n });\n }\n\n public async activateAccount(params: BshCallbackParamsWithPayload<{ email: string, code: string }, unknown>): Promise<BshResponse<unknown> | undefined> {\n return this.client.post<unknown>({\n path: `${this.baseEndpoint}/activate-account`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'auth.activateAccount',\n });\n }\n}\n","import { BshClient } from \"@src/client/bsh-client\";\nimport { BshResponse, BshUser, BshUserInit, BshSearch } from \"@types\";\nimport { BshCallbackParams, BshCallbackParamsWithPayload } from \"@src/services\";\n\nexport class UserService {\n private readonly baseEndpoint = '/api/users';\n\n public constructor(private readonly client: BshClient) {\n }\n\n public async me(params: BshCallbackParams<unknown, BshUser>): Promise<BshResponse<BshUser> | undefined> {\n return this.client.get<BshUser>({\n path: `${this.baseEndpoint}/me`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'user.me',\n });\n }\n\n public async init(params: BshCallbackParamsWithPayload<BshUserInit, BshUser>): Promise<BshResponse<BshUser> | undefined> {\n return this.client.post<BshUser>({\n path: `${this.baseEndpoint}/init`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'user.init',\n });\n }\n\n public async updateProfile(params: BshCallbackParamsWithPayload<Partial<BshUser['profile']>, BshUser>): Promise<BshResponse<BshUser> | undefined> {\n return this.client.put<BshUser>({\n path: `${this.baseEndpoint}/profile`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'user.updateProfile',\n });\n }\n\n public async updatePicture(params: BshCallbackParamsWithPayload<File, BshUser>): Promise<BshResponse<BshUser> | undefined> {\n const formData = new FormData();\n formData.set('picture', params.payload);\n\n return this.client.post<BshUser>({\n path: `${this.baseEndpoint}/picture`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: formData,\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'user.updatePicture',\n });\n }\n\n public async updatePassword(params: BshCallbackParamsWithPayload<{ currentPassword: string; newPassword: string }, { message: string }>): Promise<BshResponse<{ message: string }> | undefined> {\n return this.client.put<{ message: string }>({\n path: `${this.baseEndpoint}/password`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'user.updatePassword',\n });\n }\n\n // CRUD\n public async getById(params: BshCallbackParams<unknown, BshUser> & { id: string }): Promise<BshResponse<BshUser> | undefined> {\n return this.client.get<BshUser>({\n path: `${this.baseEndpoint}/${params.id}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'user.getById',\n });\n }\n\n public async search(params: BshCallbackParamsWithPayload<BshSearch<BshUser> | undefined, BshUser>): Promise<BshResponse<BshUser> | undefined> {\n return this.client.post<BshUser>({\n path: `${this.baseEndpoint}/search`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'user.search',\n });\n }\n\n public async list(params: BshCallbackParams<unknown, BshUser> & {\n queryParams?: {\n page?: string;\n size?: string;\n sort?: string;\n filter?: string;\n }\n }): Promise<BshResponse<BshUser> | undefined> {\n const urlSearchParams = new URLSearchParams();\n if (params.queryParams?.page) urlSearchParams.append('page', params.queryParams.page);\n if (params.queryParams?.size) urlSearchParams.append('size', params.queryParams.size);\n if (params.queryParams?.sort) urlSearchParams.append('sort', params.queryParams.sort);\n if (params.queryParams?.filter) urlSearchParams.append('filter', params.queryParams.filter);\n\n const queryString = urlSearchParams.toString();\n const endpoint = queryString ? `?${queryString}` : '';\n\n return this.client.get<BshUser>({\n path: `${this.baseEndpoint}${endpoint}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'user.list',\n });\n }\n\n public async update(params: BshCallbackParamsWithPayload<Partial<BshUser>, BshUser>): Promise<BshResponse<BshUser> | undefined> {\n return this.client.put<BshUser>({\n path: `${this.baseEndpoint}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'user.update',\n });\n }\n\n public async deleteById(params: BshCallbackParams<unknown, BshUser> & { id: string }): Promise<BshResponse<BshUser> | undefined> {\n return this.client.delete<BshUser>({\n path: `${this.baseEndpoint}/${params.id}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'user.deleteById',\n });\n }\n}\n\n","import { BshClient } from \"@src/client/bsh-client\";\nimport { BshResponse, BshSettings } from \"@types\";\nimport { BshCallbackParams, BshCallbackParamsWithPayload } from \"@src/services\";\n\nexport class SettingsService {\n private readonly baseEndpoint = '/api/settings';\n\n public constructor(private readonly client: BshClient) {\n }\n\n public async load(params: BshCallbackParams<unknown, BshSettings>): Promise<BshResponse<BshSettings> | undefined> {\n return this.client.get<BshSettings>({\n path: `${this.baseEndpoint}`,\n options: {\n responseType: 'json',\n requestFormat: 'json'\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'settings.load',\n });\n }\n\n public async update(params: BshCallbackParamsWithPayload<BshSettings, BshSettings>): Promise<BshResponse<BshSettings> | undefined> {\n return this.client.put<BshSettings>({\n path: `${this.baseEndpoint}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: { ...params.payload, name: 'BshEngine' },\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'settings.update',\n });\n }\n}\n\n","import { BshClient } from \"@src/client/bsh-client\";\nimport { BshResponse, UploadResponse, UploadOptions } from \"@types\";\nimport { BshCallbackParams, BshCallbackParamsWithPayload } from \"@src/services\";\n\nexport class ImageService {\n private readonly baseEndpoint = '/api/images';\n\n public constructor(private readonly client: BshClient) {\n }\n\n public async upload(params: BshCallbackParamsWithPayload<{\n file: File;\n namespace?: string;\n assetId?: string;\n options?: UploadOptions;\n }, UploadResponse>): Promise<BshResponse<UploadResponse> | undefined> {\n const formData = new FormData();\n formData.set('file', params.payload.file);\n if (params.payload.namespace) formData.set('namespace', params.payload.namespace);\n if (params.payload.assetId) formData.set('assetId', params.payload.assetId);\n if (params.payload.options) formData.set('options', JSON.stringify(params.payload.options));\n\n return this.client.post<UploadResponse>({\n path: `${this.baseEndpoint}/upload`,\n options: {\n responseType: 'json',\n requestFormat: 'form',\n body: formData,\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'image.upload',\n });\n }\n}\n\n","import { BshClient } from \"@src/client/bsh-client\";\nimport { BshResponse, MailingPayload } from \"@types\";\nimport { BshCallbackParamsWithPayload } from \"@src/services\";\n\nexport class MailingService {\n private readonly baseEndpoint = '/api/mailing';\n\n public constructor(private readonly client: BshClient) {\n }\n\n public async send(params: BshCallbackParamsWithPayload<MailingPayload, MailingPayload>): Promise<BshResponse<MailingPayload> | undefined> {\n return this.client.post<MailingPayload>({\n path: `${this.baseEndpoint}/send`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'mailing.send',\n });\n }\n}\n\n","import { BshClient } from \"@src/client/bsh-client\";\nimport { BshResponse, BshTriggerPlugin, BshTriggerAction } from \"@types\";\nimport { BshCallbackParams } from \"@src/services\";\n\nexport class BshUtilsService {\n private readonly baseEndpoint = '/api/utils';\n\n public constructor(private readonly client: BshClient) {\n }\n\n public async triggerPlugins(params: BshCallbackParams<unknown, BshTriggerPlugin>): Promise<BshResponse<BshTriggerPlugin> | undefined> {\n return this.client.get<BshTriggerPlugin>({\n path: `${this.baseEndpoint}/triggers/plugins`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'utils.triggerPlugins',\n });\n }\n\n public async triggerActions(params: BshCallbackParams<unknown, BshTriggerAction>): Promise<BshResponse<BshTriggerAction> | undefined> {\n return this.client.get<BshTriggerAction>({\n path: `${this.baseEndpoint}/triggers/actions`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'utils.triggerActions',\n });\n }\n}\n","import { BshClient } from \"@src/client/bsh-client\";\nimport { BshResponse, CacheInfo, BshSearch } from \"@types\";\nimport { BshCallbackParams, BshCallbackParamsWithPayload } from \"@src/services\";\n\nexport type CacheRemoveResponse = {\n caches: string[];\n};\n\nexport class CachingService {\n private readonly baseEndpoint = '/api/caching';\n\n public constructor(private readonly client: BshClient) {\n }\n\n public async findById(params: BshCallbackParams<unknown, CacheInfo> & { id: string }): Promise<BshResponse<CacheInfo> | undefined> {\n return this.client.get<CacheInfo>({\n path: `${this.baseEndpoint}/${params.id}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'caching.findById',\n });\n }\n\n public async search(params: BshCallbackParamsWithPayload<BshSearch, CacheInfo>): Promise<BshResponse<CacheInfo> | undefined> {\n return this.client.post<CacheInfo>({\n path: `${this.baseEndpoint}/search`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'caching.search',\n });\n }\n\n public async names(params: BshCallbackParams<unknown, string>): Promise<BshResponse<string> | undefined> {\n return this.client.get<string>({\n path: `${this.baseEndpoint}/names`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'caching.names',\n });\n }\n\n public async clearById(params: BshCallbackParams<unknown, CacheRemoveResponse> & { id: string }): Promise<BshResponse<CacheRemoveResponse> | undefined> {\n return this.client.delete<CacheRemoveResponse>({\n path: `${this.baseEndpoint}/${params.id}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'caching.clearById',\n });\n }\n\n public async clearAll(params: BshCallbackParams<unknown, CacheRemoveResponse>): Promise<BshResponse<CacheRemoveResponse> | undefined> {\n return this.client.delete<CacheRemoveResponse>({\n path: `${this.baseEndpoint}/all`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'caching.clearAll',\n });\n }\n}\n\n","import { BshClient } from \"@src/client/bsh-client\";\nimport { BshResponse, BshApiKeys, BshApiKeysForm, BshSearch } from \"@types\";\nimport { BshCallbackParams, BshCallbackParamsWithPayload } from \"@src/services\";\n\nexport class ApiKeyService {\n private readonly baseEndpoint = '/api/api-keys';\n\n public constructor(private readonly client: BshClient) {\n }\n\n public async create(params: BshCallbackParamsWithPayload<BshApiKeysForm, BshApiKeys>): Promise<BshResponse<BshApiKeys> | undefined> {\n return this.client.post<BshApiKeys>({\n path: `${this.baseEndpoint}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'api-key.create',\n });\n }\n\n public async details(params: BshCallbackParams<unknown, BshApiKeys> & { id: number }): Promise<BshResponse<BshApiKeys> | undefined> {\n return this.client.get<BshApiKeys>({\n path: `${this.baseEndpoint}/${params.id}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n });\n }\n\n public async revoke(params: BshCallbackParams<unknown, BshApiKeys> & { id: number }): Promise<BshResponse<BshApiKeys> | undefined> {\n return this.client.delete<BshApiKeys>({\n path: `${this.baseEndpoint}/${params.id}/revoke`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'api-key.revoke',\n });\n }\n\n // CRUD\n public async getById(params: BshCallbackParams<unknown, BshApiKeys> & { id: string }): Promise<BshResponse<BshApiKeys> | undefined> {\n return this.client.get<BshApiKeys>({\n path: `${this.baseEndpoint}/${params.id}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'api-key.getById',\n });\n }\n\n public async search(params: BshCallbackParamsWithPayload<BshSearch<BshApiKeys> | undefined, BshApiKeys>): Promise<BshResponse<BshApiKeys> | undefined> {\n return this.client.post<BshApiKeys>({\n path: `${this.baseEndpoint}/search`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n body: params.payload,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'api-key.search',\n });\n }\n\n public async list(params: BshCallbackParams<unknown, BshApiKeys> & {\n queryParams?: {\n page?: string;\n size?: string;\n sort?: string;\n filter?: string;\n }\n }): Promise<BshResponse<BshApiKeys> | undefined> {\n const urlSearchParams = new URLSearchParams();\n if (params.queryParams?.page) urlSearchParams.append('page', params.queryParams.page);\n if (params.queryParams?.size) urlSearchParams.append('size', params.queryParams.size);\n if (params.queryParams?.sort) urlSearchParams.append('sort', params.queryParams.sort);\n if (params.queryParams?.filter) urlSearchParams.append('filter', params.queryParams.filter);\n\n const queryString = urlSearchParams.toString();\n const endpoint = queryString ? `?${queryString}` : '';\n\n return this.client.get<BshApiKeys>({\n path: `${this.baseEndpoint}${endpoint}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'api-key.list',\n });\n }\n\n public async deleteById(params: BshCallbackParams<unknown, BshApiKeys> & { id: string }): Promise<BshResponse<BshApiKeys> | undefined> {\n return this.client.delete<BshApiKeys>({\n path: `${this.baseEndpoint}/${params.id}`,\n options: {\n responseType: 'json',\n requestFormat: 'json',\n },\n bshOptions: { onSuccess: params.onSuccess, onError: params.onError },\n api: 'api-key.deleteById',\n });\n }\n}\n\n"]}
@@ -0,0 +1,217 @@
1
+ import { BshError } from './chunk-WMHRN3IR.js';
2
+
3
+ // src/client/types.ts
4
+ var defaultClientFn = async (params) => {
5
+ return fetch(
6
+ params.path,
7
+ {
8
+ method: params.options.method,
9
+ body: params.options.body ? JSON.stringify(params.options.body) : void 0,
10
+ headers: params.options.headers
11
+ }
12
+ );
13
+ };
14
+
15
+ // src/client/bsh-client.ts
16
+ var BshClient = class {
17
+ constructor(host, httpClient, authFn, refreshTokenFn, bshEngine) {
18
+ this.host = host || "";
19
+ this.httpClient = httpClient || defaultClientFn;
20
+ this.authFn = authFn;
21
+ this.refreshTokenFn = refreshTokenFn;
22
+ this.bshEngine = bshEngine;
23
+ }
24
+ async handleResponse(response, params, type) {
25
+ if (!response.ok) {
26
+ let error = new BshError(response.status, params.path, await response.json());
27
+ if (this.bshEngine?.getErrorInterceptors().length) {
28
+ for (const interceptor of this.bshEngine.getErrorInterceptors()) {
29
+ const newError = await interceptor(error, error.response, params);
30
+ if (newError) error = newError;
31
+ }
32
+ }
33
+ if (params.bshOptions.onError) {
34
+ params.bshOptions.onError(error);
35
+ return void 0;
36
+ } else throw error;
37
+ }
38
+ if (type === "json") {
39
+ const data = await response.json();
40
+ if (params.bshOptions.onSuccess) {
41
+ params.bshOptions.onSuccess(data);
42
+ return void 0;
43
+ }
44
+ let result = data;
45
+ result.api = params.api;
46
+ if (this.bshEngine?.getPostInterceptors().length) {
47
+ for (const interceptor of this.bshEngine.getPostInterceptors()) {
48
+ const newResult = await interceptor(result, params);
49
+ if (newResult) result = newResult;
50
+ }
51
+ }
52
+ return result;
53
+ } else if (type === "blob") {
54
+ const blob = await response.blob();
55
+ if (params.bshOptions.onDownload) {
56
+ params.bshOptions.onDownload(blob);
57
+ return void 0;
58
+ } else return blob;
59
+ }
60
+ }
61
+ async refreshTokenIfNeeded(auth, refreshTokenFn) {
62
+ if (!refreshTokenFn || !auth || auth.type !== "JWT") return auth;
63
+ const accessToken = auth.token;
64
+ try {
65
+ const tokenPayload = JSON.parse(atob(accessToken.split(".")[1] || ""));
66
+ const exp = tokenPayload.exp;
67
+ const now = (/* @__PURE__ */ new Date()).getTime();
68
+ if (exp && now < exp) return auth;
69
+ const refreshToken = await refreshTokenFn();
70
+ if (!refreshToken || !this.bshEngine) return auth;
71
+ const response = await this.bshEngine.auth.refreshToken({
72
+ payload: { refresh: refreshToken },
73
+ onError: () => {
74
+ }
75
+ });
76
+ if (response) return {
77
+ type: "JWT",
78
+ token: response.data[0].access
79
+ };
80
+ return auth;
81
+ } catch (error) {
82
+ return auth;
83
+ }
84
+ }
85
+ async getAuthHeaders(params) {
86
+ if (params.path.includes("/api/auth/")) return {};
87
+ let auth = this.authFn ? await this.authFn() : void 0;
88
+ if (auth) {
89
+ auth = await this.refreshTokenIfNeeded(auth, this.refreshTokenFn);
90
+ }
91
+ let authHeaders = {};
92
+ if (auth) {
93
+ if (auth.type === "JWT") {
94
+ authHeaders = {
95
+ Authorization: `Bearer ${auth.token}`
96
+ };
97
+ } else if (auth.type === "APIKEY") {
98
+ authHeaders = {
99
+ "X-BSH-APIKEY": auth.token
100
+ };
101
+ }
102
+ }
103
+ return authHeaders;
104
+ }
105
+ async get(params) {
106
+ const authHeaders = await this.getAuthHeaders(params);
107
+ const response = await this.httpClient({
108
+ ...params,
109
+ path: `${this.host}${params.path}`,
110
+ options: {
111
+ ...params.options,
112
+ method: "GET",
113
+ headers: {
114
+ ...params.options.headers,
115
+ ...authHeaders
116
+ }
117
+ }
118
+ });
119
+ return this.handleResponse(response, params, "json");
120
+ }
121
+ async post(params) {
122
+ const authHeaders = await this.getAuthHeaders(params);
123
+ const response = await this.httpClient({
124
+ ...params,
125
+ path: `${this.host}${params.path}`,
126
+ options: {
127
+ ...params.options,
128
+ method: "POST",
129
+ headers: {
130
+ ...params.options.headers,
131
+ ...authHeaders
132
+ }
133
+ }
134
+ });
135
+ return this.handleResponse(response, params, "json");
136
+ }
137
+ async put(params) {
138
+ const authHeaders = await this.getAuthHeaders(params);
139
+ const response = await this.httpClient({
140
+ ...params,
141
+ path: `${this.host}${params.path}`,
142
+ options: {
143
+ ...params.options,
144
+ method: "PUT",
145
+ headers: {
146
+ ...params.options.headers,
147
+ ...authHeaders
148
+ }
149
+ }
150
+ });
151
+ return this.handleResponse(response, params, "json");
152
+ }
153
+ async delete(params) {
154
+ const authHeaders = await this.getAuthHeaders(params);
155
+ const response = await this.httpClient({
156
+ ...params,
157
+ path: `${this.host}${params.path}`,
158
+ options: {
159
+ ...params.options,
160
+ method: "DELETE",
161
+ headers: {
162
+ ...params.options.headers,
163
+ ...authHeaders
164
+ }
165
+ }
166
+ });
167
+ return this.handleResponse(response, params, "json");
168
+ }
169
+ async patch(params) {
170
+ const authHeaders = await this.getAuthHeaders(params);
171
+ const response = await this.httpClient({
172
+ ...params,
173
+ path: `${this.host}${params.path}`,
174
+ options: {
175
+ ...params.options,
176
+ method: "PATCH",
177
+ headers: {
178
+ ...params.options.headers,
179
+ ...authHeaders
180
+ }
181
+ }
182
+ });
183
+ return this.handleResponse(response, params, "json");
184
+ }
185
+ async download(params) {
186
+ const authHeaders = await this.getAuthHeaders(params);
187
+ const response = await this.httpClient({
188
+ ...params,
189
+ path: `${this.host}${params.path}`,
190
+ options: {
191
+ ...params.options,
192
+ headers: {
193
+ ...params.options.headers,
194
+ ...authHeaders
195
+ }
196
+ }
197
+ });
198
+ return this.handleResponse(response, params, "blob");
199
+ }
200
+ };
201
+
202
+ // src/client/index.ts
203
+ var fetchClientFn = async (params) => {
204
+ console.log(params);
205
+ return fetch(
206
+ params.path,
207
+ {
208
+ method: params.options.method,
209
+ body: params.options.requestFormat === "form" ? params.options.body : params.options.body ? JSON.stringify(params.options.body) : void 0,
210
+ headers: params.options.headers
211
+ }
212
+ );
213
+ };
214
+
215
+ export { BshClient, defaultClientFn, fetchClientFn };
216
+ //# sourceMappingURL=chunk-NPZVTE5U.js.map
217
+ //# sourceMappingURL=chunk-NPZVTE5U.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/client/types.ts","../src/client/bsh-client.ts","../src/client/index.ts"],"names":[],"mappings":"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","file":"chunk-NPZVTE5U.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}\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.body ? 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 BshPostInterceptor<T = any> = (result: BshResponse<T>, params?: BshClientFnParams<T>) => Promise<BshResponse<T>>;\nexport type BshPreInterceptor<T = any> = (params: BshClientFnParams<T>) => Promise<BshClientFnParams<T>>;\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, 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 host: string;\n private readonly bshEngine?: BshEngine;\n\n constructor(\n host?: string,\n httpClient?: BshClientFn,\n authFn?: BshAuthFn,\n refreshTokenFn?: BshRefreshTokenFn,\n bshEngine?: BshEngine\n ) {\n this.host = host || '';\n this.httpClient = httpClient || defaultClientFn;\n this.authFn = authFn;\n this.refreshTokenFn = refreshTokenFn;\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 error = new BshError(response.status, params.path, await response.json());\n if (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 if (params.bshOptions.onSuccess) {\n params.bshOptions.onSuccess(data);\n return undefined;\n }\n let result = data as BshResponse<T>;\n result.api = params.api;\n if (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 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 refreshTokenIfNeeded(\n auth: AuthToken,\n refreshTokenFn?: BshRefreshTokenFn\n ): Promise<AuthToken | undefined | null> {\n if (!refreshTokenFn || !auth || auth.type !== 'JWT') return auth;\n const accessToken = auth.token;\n try {\n const tokenPayload = JSON.parse(atob(accessToken.split('.')[1] || ''));\n const exp = tokenPayload.exp;\n const now = new Date().getTime();\n\n if (exp && now < exp) return auth;\n\n const refreshToken = await refreshTokenFn();\n if (!refreshToken || !this.bshEngine) return auth;\n\n const response = await this.bshEngine.auth.refreshToken({\n payload: { refresh: refreshToken },\n onError: () => {}\n });\n\n if (response) return {\n type: 'JWT',\n token: response.data[0].access\n };\n\n return auth;\n } catch (error) {\n return auth;\n }\n }\n\n private async getAuthHeaders(params: BshClientFnParams<any>): Promise<Record<string, string>> {\n if (params.path.includes('/api/auth/')) return {};\n\n let auth = this.authFn ? await this.authFn() : undefined;\n if (auth) {\n auth = await this.refreshTokenIfNeeded(auth, this.refreshTokenFn);\n }\n\n let authHeaders = {};\n if (auth) {\n if (auth.type === 'JWT') {\n authHeaders = {\n Authorization: `Bearer ${auth.token}`\n };\n }\n else if (auth.type === 'APIKEY') {\n authHeaders = {\n 'X-BSH-APIKEY': auth.token\n };\n }\n }\n return authHeaders;\n }\n\n async get<T = unknown>(params: BshClientFnParams<T>): Promise<BshResponse<T> | undefined> {\n const authHeaders = await this.getAuthHeaders(params);\n\n const response = await this.httpClient({\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 });\n return this.handleResponse(response, params, 'json');\n }\n\n async post<T = unknown, R = T>(params: BshClientFnParams<T, R>): Promise<BshResponse<R> | undefined> {\n const authHeaders = await this.getAuthHeaders(params);\n const response = await this.httpClient({\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 });\n return this.handleResponse(response, params, 'json');\n }\n\n async put<T = unknown>(params: BshClientFnParams<T>): Promise<BshResponse<T> | undefined> {\n const authHeaders = await this.getAuthHeaders(params);\n const response = await this.httpClient({\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 });\n return this.handleResponse(response, params, 'json');\n }\n\n async delete<T = unknown>(params: BshClientFnParams<T>): Promise<BshResponse<T> | undefined> {\n const authHeaders = await this.getAuthHeaders(params);\n const response = await this.httpClient({\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 });\n return this.handleResponse(response, params, 'json');\n }\n\n async patch<T = unknown>(params: BshClientFnParams<T>): Promise<BshResponse<T> | undefined> {\n const authHeaders = await this.getAuthHeaders(params);\n const response = await this.httpClient({\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 });\n return this.handleResponse(response, params, 'json');\n }\n\n async download<T = unknown>(params: BshClientFnParams<T>): Promise<Blob | undefined> {\n const authHeaders = await this.getAuthHeaders(params);\n const response = await this.httpClient({\n ...params,\n path: `${this.host}${params.path}`,\n options: {\n ...params.options,\n headers: {\n ...params.options.headers,\n ...authHeaders\n }\n }\n });\n return this.handleResponse(response, params, 'blob');\n }\n}\n","import { BshClientFn } from './types';\n\nexport * from './types';\nexport * from './bsh-client';\n\nexport const fetchClientFn: BshClientFn = async (params) => {\n console.log(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"]}
@@ -0,0 +1,55 @@
1
+ // src/types/response/index.ts
2
+ var isOk = (response) => response == void 0 ? false : response?.code >= 200 && response?.code < 300;
3
+ var BshError = class extends Error {
4
+ constructor(status, endpoint, response) {
5
+ if (response) response.endpoint = endpoint;
6
+ super(JSON.stringify(response, null, 2));
7
+ this.status = status;
8
+ this.endpoint = endpoint;
9
+ this.response = response;
10
+ this.name = "BshError";
11
+ }
12
+ };
13
+
14
+ // src/types/entities/index.ts
15
+ var BshEntityTypes = ["Table", "View", "Function"];
16
+ var BshUpdateStrategies = ["Replace", "Upsert"];
17
+ var BshInsertDuplicates = ["Upsert", "Error"];
18
+ var BshPKStrategies = ["AutoIncrement", "UUID", "Fixed"];
19
+ var BshPKTypes = ["string", "number"];
20
+ var BshEntityPermissions = ["read", "write", "update", "delete"];
21
+
22
+ // src/types/security/index.ts
23
+ var PrincipalType = [
24
+ "user",
25
+ "role",
26
+ "any",
27
+ "apiKey"
28
+ /*'group'*/
29
+ ];
30
+ var PolicyActions = ["*", "READ", "WRITE", "DELETE", "UPDATE", "SEARCH"];
31
+
32
+ // src/types/config/index.ts
33
+ var defaultSettings = {
34
+ name: "BshEngine",
35
+ api: {
36
+ response: {
37
+ showSql: true
38
+ },
39
+ auth: {
40
+ enableRegister: false
41
+ }
42
+ }
43
+ };
44
+
45
+ // src/types/storage/index.ts
46
+ var formatFileSize = (file) => {
47
+ if (!file?.bytes) return "Unknown";
48
+ const sizes = ["Bytes", "KB", "MB", "GB"];
49
+ const i = Math.floor(Math.log(file.bytes) / Math.log(1024));
50
+ return Math.round(file.bytes / Math.pow(1024, i) * 100) / 100 + " " + sizes[i];
51
+ };
52
+
53
+ export { BshEntityPermissions, BshEntityTypes, BshError, BshInsertDuplicates, BshPKStrategies, BshPKTypes, BshUpdateStrategies, PolicyActions, PrincipalType, defaultSettings, formatFileSize, isOk };
54
+ //# sourceMappingURL=chunk-WMHRN3IR.js.map
55
+ //# sourceMappingURL=chunk-WMHRN3IR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/response/index.ts","../src/types/entities/index.ts","../src/types/security/index.ts","../src/types/config/index.ts","../src/types/storage/index.ts"],"names":[],"mappings":";AAiBO,IAAM,IAAA,GAAO,CAAC,QAAA,KAA+C,QAAA,IAAY,MAAA,GAAY,QAAQ,QAAA,EAAU,IAAA,IAAQ,GAAA,IAAO,QAAA,EAAU,IAAA,GAAO;AAEvI,IAAM,QAAA,GAAN,cAAuB,KAAA,CAAM;AAAA,EAChC,WAAA,CACW,MAAA,EACA,QAAA,EACA,QAAA,EACT;AACE,IAAA,IAAI,QAAA,WAAmB,QAAA,GAAW,QAAA;AAClC,IAAA,KAAA,CAAM,IAAA,CAAK,SAAA,CAAU,QAAA,EAAU,IAAA,EAAM,CAAC,CAAC,CAAA;AALhC,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AACA,IAAA,IAAA,CAAA,QAAA,GAAA,QAAA;AACA,IAAA,IAAA,CAAA,QAAA,GAAA,QAAA;AAIP,IAAA,IAAA,CAAK,IAAA,GAAO,UAAA;AAAA,EAChB;AACJ;;;ACDO,IAAM,cAAA,GAAiB,CAAC,OAAA,EAAS,MAAA,EAAQ,UAAU;AACnD,IAAM,mBAAA,GAAsB,CAAC,SAAA,EAAW,QAAQ;AAChD,IAAM,mBAAA,GAAsB,CAAC,QAAA,EAAU,OAAO;AAC9C,IAAM,eAAA,GAAkB,CAAC,eAAA,EAAiB,MAAA,EAAQ,OAAO;AACzD,IAAM,UAAA,GAAa,CAAC,QAAA,EAAU,QAAQ;AACtC,IAAM,oBAAA,GAAuB,CAAC,MAAA,EAAQ,OAAA,EAAS,UAAU,QAAQ;;;ACoBjE,IAAM,aAAA,GAAgB;AAAA,EAAC,MAAA;AAAA,EAAQ,MAAA;AAAA,EAAQ,KAAA;AAAA,EAAO;AAAA;AAAqB;AACnE,IAAM,gBAAgB,CAAC,GAAA,EAAK,QAAQ,OAAA,EAAS,QAAA,EAAU,UAAU,QAAQ;;;AClCzE,IAAM,eAAA,GAA+B;AAAA,EACxC,IAAA,EAAM,WAAA;AAAA,EACN,GAAA,EAAK;AAAA,IACD,QAAA,EAAU;AAAA,MACN,OAAA,EAAS;AAAA,KACb;AAAA,IACA,IAAA,EAAM;AAAA,MACF,cAAA,EAAgB;AAAA;AACpB;AAER;;;ACeO,IAAM,cAAA,GAAiB,CAAC,IAAA,KAA2B;AACtD,EAAA,IAAI,CAAC,IAAA,EAAM,KAAA,EAAO,OAAO,SAAA;AACzB,EAAA,MAAM,KAAA,GAAQ,CAAC,OAAA,EAAS,IAAA,EAAM,MAAM,IAAI,CAAA;AACxC,EAAA,MAAM,CAAA,GAAI,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,KAAK,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,IAAI,CAAC,CAAA;AAC1D,EAAA,OAAO,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,KAAA,GAAQ,KAAK,GAAA,CAAI,IAAA,EAAM,CAAC,CAAA,GAAI,GAAG,CAAA,GAAI,GAAA,GAAM,GAAA,GAAM,MAAM,CAAC,CAAA;AACjF","file":"chunk-WMHRN3IR.js","sourcesContent":["export type BshResponse<T> = {\n data: T[]\n timestamp: number\n code: number\n status: string\n error: string\n meta?: {\n type?: string,\n sql?: string,\n error?: string,\n tips?: {[key: string]: string}\n }\n endpoint?: string,\n api?: string,\n validations?: {field: string, error: string}[]\n}\n\nexport const isOk = (response: BshResponse<unknown> | undefined) => response == undefined ? false : response?.code >= 200 && response?.code < 300\n\nexport class BshError extends Error {\n constructor(\n public status: number,\n public endpoint: string,\n public response?: BshResponse<unknown>\n ) {\n if (response) response.endpoint = endpoint\n super(JSON.stringify(response, null, 2));\n this.name = 'BshError';\n }\n}\n","import {BshObject, BshObjectPure} from '@types';\n\nexport type BshEntities = {\n name: string\n dbTable: string\n dbSchema: string\n type: 'Table' | 'View' | 'Function'\n dbSource: string\n updateStrategy: 'Replace' | 'Upsert'\n insertDuplicate: 'Upsert' | 'Error'\n bshSchema?: string\n plugin?: string\n auditable?: boolean\n pks: {\n key: string\n strategy: 'AutoIncrement' | 'UUID' | 'Fixed'\n type: 'string' | 'number'\n }[]\n permissions?: {\n write?: boolean\n read?: boolean\n delete?: boolean\n update?: boolean\n }\n} & BshObject;\n\nexport type BshEntitiesPure = BshObjectPure<BshEntities>;\nexport type BshEntityPermissions = 'read' | 'write' | 'update' | 'delete';\nexport const BshEntityTypes = ['Table', 'View', 'Function'] as const;\nexport const BshUpdateStrategies = ['Replace', 'Upsert'] as const;\nexport const BshInsertDuplicates = ['Upsert', 'Error'] as const;\nexport const BshPKStrategies = ['AutoIncrement', 'UUID', 'Fixed'] as const;\nexport const BshPKTypes = ['string', 'number'] as const;\nexport const BshEntityPermissions = ['read', 'write', 'update', 'delete'] as const;\n\nexport type BshSchemas = {\n name: string\n label: string\n description: string\n plugin: string\n properties: {\n type: string\n\n name: string\n displayName: string\n description: string\n\n required: boolean\n unique: boolean\n default: string\n\n length: number\n maxLength: number\n minLength: number\n\n pattern: string\n }[]\n} & BshObject;\n\nexport type BshSchemasPure = BshObjectPure<BshSchemas>;\nexport type BshSchemaProperty = BshSchemas['properties'][number];\n\nexport type BshTypes = {\n name: string\n label: string\n plugin?: string\n baseType?: string\n schema?: string\n meta?: {\n description?: string\n pattern?: string\n maxLength?: number\n minLength?: number\n max?: number\n min?: number\n }\n} & BshObject;\n\nexport type BshTypesPure = BshObjectPure<BshTypes>;\n\n","import {BshDate, BshObject, BshObjectPure} from '@types';\n\nexport type BshUser = {\n userId: string\n email: string\n password?: string\n roles: string[]\n status: 'ACTIVATED' | 'REQUIRED_ACTIVATION' | 'DISABLED' | 'REQUIRED_RESET_PASSWORD'\n profile?: {\n firstName?: string\n lastName?: string\n phone?: string\n picture?: string\n tags?: string[]\n [k: string]: unknown\n }\n} & BshObject;\n\nexport type BshUserInit = {\n email: string\n password?: string\n roles?: string[]\n profile: BshUser['profile']\n}\n\nexport type BshUserPure = BshObjectPure<BshUser>;\n\nexport type BshRole = {\n name: string\n public?: boolean\n description?: string\n} & BshObject;\n\nexport type BshRolePure = BshObjectPure<BshRole>;\n\nexport type BshPolicy = {\n name: string\n description?: string\n principals: {\n type: Uppercase<'user' | 'group' | 'role' | 'apiKey' | 'any'>\n value: string[]\n }[]\n permissions: {\n entity: string[]\n actions: ('READ' | 'WRITE' | 'DELETE' | 'UPDATE' | 'SEARCH' | '*')[]\n allow: boolean\n }[]\n enabled: boolean\n priority?: number\n apiKeyId?: number\n} & BshObject;\n\nexport type BshPolicyPure = BshObjectPure<BshPolicy>;\nexport const PrincipalType = ['user', 'role', 'any', 'apiKey', /*'group'*/] as const;\nexport const PolicyActions = ['*', 'READ', 'WRITE', 'DELETE', 'UPDATE', 'SEARCH'] as const;\n\nexport type BshApiKeysScopes = {\n read: boolean\n write: boolean\n delete: boolean\n update: boolean\n}\n\nexport type BshApiKeysForm = {\n name: string\n description?: string\n duration: number\n type: 'PERSONAL' | 'MACHINE'\n scopes: string[] // Format: [\"EntityName:ACTION\", ...]\n}\n\nexport type BshApiKeys = BshApiKeysForm & {\n id: number\n apiKey: string\n startedAt: BshDate\n expiresAt?: BshDate\n status: 'ACTIVE' | 'REVOKED'\n userId?: string\n} & BshObject;\n\n","import {BshObject} from \"@types\";\n\nexport type BshConfigurations<T extends Record<string, unknown> = Record<string, unknown>> = {\n name: string;\n description: string;\n config?: T;\n} & BshObject\n\nexport type BshSettings = {\n name: string;\n api: {\n response?: {\n showSql?: boolean;\n };\n auth?: {\n enableRegister?: boolean;\n };\n };\n}\n\nexport const defaultSettings: BshSettings = {\n name: 'BshEngine',\n api: {\n response: {\n showSql: true\n },\n auth: {\n enableRegister: false\n }\n }\n}\n\n","import {BshObject, BshConfigurations} from '@types';\n\nexport type StorageProvider = 'cloudinary';\n\nexport type CloudinaryConfig = {\n url: string;\n folder?: string;\n}\n\nexport type StorageConfiguration = BshConfigurations & {\n enabled?: StorageProvider;\n cloudinary: CloudinaryConfig\n}\n\nexport type BshFiles = {\n uri: string,\n folder: string,\n secureUri: string,\n tags?: string[],\n assetId: string,\n bytes: number,\n context?: { [key: string]: string },\n publicId: string,\n fileId: string,\n width: number,\n height: number,\n format: string,\n} & BshObject\n\nexport type UploadOptions = {\n tags: string[]\n context: { [key: string]: unknown }\n [key: string]: unknown;\n}\n\nexport type UploadResponse = {\n fileId: string\n publicId: string\n assetId: string\n uri: string\n secureUri: string\n tags: string[]\n context: { [key: string]: unknown }\n}\n\nexport const formatFileSize = (file: BshFiles): string => {\n if (!file?.bytes) return 'Unknown';\n const sizes = ['Bytes', 'KB', 'MB', 'GB'];\n const i = Math.floor(Math.log(file.bytes) / Math.log(1024));\n return Math.round(file.bytes / Math.pow(1024, i) * 100) / 100 + ' ' + sizes[i];\n};\n\n"]}
@@ -0,0 +1,7 @@
1
+ import { B as BshClientFn } from '../types-lV042-cm.js';
2
+ export { A as AuthToken, a as BshAuthFn, i as BshClient, c as BshClientFnParams, h as BshErrorInterceptor, f as BshPostInterceptor, g as BshPreInterceptor, e as BshRefreshTokenFn, d as defaultClientFn } from '../types-lV042-cm.js';
3
+ import '../types/index.js';
4
+
5
+ declare const fetchClientFn: BshClientFn;
6
+
7
+ export { BshClientFn, fetchClientFn };
@@ -0,0 +1,4 @@
1
+ export { BshClient, defaultClientFn, fetchClientFn } from '../chunk-NPZVTE5U.js';
2
+ import '../chunk-WMHRN3IR.js';
3
+ //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -0,0 +1,6 @@
1
+ export { a as BshAuthFn, B as BshClientFn, b as BshEngine } from './types-lV042-cm.js';
2
+ export { BshResponse } from './types/index.js';
3
+
4
+ declare const version: "0.0.1";
5
+
6
+ export { version };
package/dist/index.js ADDED
@@ -0,0 +1,112 @@
1
+ import { fetchClientFn, BshClient } from './chunk-NPZVTE5U.js';
2
+ import { EntityService, AuthService, UserService, SettingsService, ImageService, MailingService, BshUtilsService, CachingService, ApiKeyService } from './chunk-HHI43U6W.js';
3
+ import './chunk-WMHRN3IR.js';
4
+
5
+ // src/bshengine.ts
6
+ var BshEngine = class {
7
+ constructor() {
8
+ this.clientFn = fetchClientFn;
9
+ this.postInterceptors = [];
10
+ this.preInterceptors = [];
11
+ this.errorInterceptors = [];
12
+ }
13
+ // Configuration
14
+ withHost(hostFn) {
15
+ this.host = hostFn;
16
+ return this;
17
+ }
18
+ withClient(clientFn) {
19
+ this.clientFn = clientFn;
20
+ return this;
21
+ }
22
+ withAuth(authFn) {
23
+ this.authFn = authFn;
24
+ return this;
25
+ }
26
+ withRefreshToken(refreshTokenFn) {
27
+ this.refreshTokenFn = refreshTokenFn;
28
+ return this;
29
+ }
30
+ // Interceptors
31
+ postInterceptor(interceptor) {
32
+ this.postInterceptors.push(interceptor);
33
+ return this;
34
+ }
35
+ preInterceptor(interceptor) {
36
+ this.preInterceptors.push(interceptor);
37
+ return this;
38
+ }
39
+ errorInterceptor(interceptor) {
40
+ this.errorInterceptors.push(interceptor);
41
+ return this;
42
+ }
43
+ // getters
44
+ getPostInterceptors() {
45
+ return this.postInterceptors;
46
+ }
47
+ getPreInterceptors() {
48
+ return this.preInterceptors;
49
+ }
50
+ getErrorInterceptors() {
51
+ return this.errorInterceptors;
52
+ }
53
+ // Client
54
+ get client() {
55
+ return new BshClient(this.host, this.clientFn, this.authFn, this.refreshTokenFn, this);
56
+ }
57
+ // Services
58
+ get entities() {
59
+ return new EntityService(this.client);
60
+ }
61
+ entity(entity) {
62
+ return new EntityService(this.client, entity);
63
+ }
64
+ get core() {
65
+ return {
66
+ BshEntities: this.entity("BshEntities"),
67
+ BshSchemas: this.entity("BshSchemas"),
68
+ BshTypes: this.entity("BshTypes"),
69
+ BshUsers: this.entity("BshUsers"),
70
+ BshPolicies: this.entity("BshPolicies"),
71
+ BshRoles: this.entity("BshRoles"),
72
+ BshFiles: this.entity("BshFiles"),
73
+ BshConfigurations: this.entity("BshConfigurations"),
74
+ BshEmails: this.entity("BshEmails"),
75
+ BshEmailTemplates: this.entity("BshEmailTemplates"),
76
+ BshEventLogs: this.entity("BshEventLogs"),
77
+ BshTriggers: this.entity("BshTriggers"),
78
+ BshTriggerInstances: this.entity("BshTriggerInstances")
79
+ };
80
+ }
81
+ get auth() {
82
+ return new AuthService(this.client);
83
+ }
84
+ get user() {
85
+ return new UserService(this.client);
86
+ }
87
+ get settings() {
88
+ return new SettingsService(this.client);
89
+ }
90
+ get image() {
91
+ return new ImageService(this.client);
92
+ }
93
+ get mailing() {
94
+ return new MailingService(this.client);
95
+ }
96
+ get utils() {
97
+ return new BshUtilsService(this.client);
98
+ }
99
+ get caching() {
100
+ return new CachingService(this.client);
101
+ }
102
+ get apiKey() {
103
+ return new ApiKeyService(this.client);
104
+ }
105
+ };
106
+
107
+ // src/index.ts
108
+ var version = "0.0.1";
109
+
110
+ export { BshEngine, version };
111
+ //# sourceMappingURL=index.js.map
112
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/bshengine.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { BshAuthFn, BshClient, BshClientFn, BshErrorInterceptor, BshPostInterceptor, BshPreInterceptor, BshRefreshTokenFn, fetchClientFn } from \"@client\";\nimport { ApiKeyService, AuthService, BshUtilsService, CachingService, EntityService, ImageService, MailingService, SettingsService, UserService } from \"@src/services\";\nimport { BshEntities, BshPolicy,BshRole, BshEmailTemplate, BshEventLogs, BshSchemas, BshTypes, BshUser, SentEmail, BshTrigger, BshTriggerInstance, BshFiles, BshConfigurations } from \"@types\";\n\nexport class BshEngine {\n private host?: string;\n private clientFn: BshClientFn = fetchClientFn;\n private authFn?: BshAuthFn;\n private refreshTokenFn?: BshRefreshTokenFn;\n\n private postInterceptors: BshPostInterceptor<unknown>[] = [];\n private preInterceptors: BshPreInterceptor<unknown>[] = [];\n private errorInterceptors: BshErrorInterceptor<unknown>[] = [];\n\n // Configuration\n public withHost(hostFn: string) {\n this.host = hostFn;\n return this;\n }\n\n public withClient(clientFn: BshClientFn) {\n this.clientFn = clientFn;\n return this;\n }\n\n public withAuth(authFn: BshAuthFn) {\n this.authFn = authFn;\n return this;\n }\n\n public withRefreshToken(refreshTokenFn: BshRefreshTokenFn) {\n this.refreshTokenFn = refreshTokenFn;\n return this;\n }\n\n // Interceptors\n public postInterceptor(interceptor: BshPostInterceptor<unknown>) {\n this.postInterceptors.push(interceptor);\n return this;\n }\n\n public preInterceptor(interceptor: BshPreInterceptor<unknown>) {\n this.preInterceptors.push(interceptor);\n return this;\n }\n\n public errorInterceptor(interceptor: BshErrorInterceptor<unknown>) {\n this.errorInterceptors.push(interceptor);\n return this;\n }\n\n // getters\n public getPostInterceptors() {\n return this.postInterceptors;\n }\n\n public getPreInterceptors() {\n return this.preInterceptors;\n }\n\n public getErrorInterceptors() {\n return this.errorInterceptors;\n }\n\n // Client\n private get client(): BshClient {\n return new BshClient(this.host, this.clientFn, this.authFn, this.refreshTokenFn, this);\n }\n\n // Services\n public get entities() {\n return new EntityService(this.client);\n }\n\n public entity<T>(entity: string) {\n return new EntityService<T>(this.client, entity);\n }\n\n public get core() {\n return {\n BshEntities: this.entity<BshEntities>('BshEntities'),\n BshSchemas: this.entity<BshSchemas>('BshSchemas'),\n BshTypes: this.entity<BshTypes>('BshTypes'),\n BshUsers: this.entity<BshUser>('BshUsers'),\n BshPolicies: this.entity<BshPolicy>('BshPolicies'),\n BshRoles: this.entity<BshRole>('BshRoles'),\n BshFiles: this.entity<BshFiles>('BshFiles'),\n BshConfigurations: this.entity<BshConfigurations>('BshConfigurations'),\n BshEmails: this.entity<SentEmail>('BshEmails'),\n BshEmailTemplates: this.entity<BshEmailTemplate>('BshEmailTemplates'),\n BshEventLogs: this.entity<BshEventLogs>('BshEventLogs'),\n BshTriggers: this.entity<BshTrigger>('BshTriggers'),\n BshTriggerInstances: this.entity<BshTriggerInstance>('BshTriggerInstances'),\n }\n }\n\n public get auth() {\n return new AuthService(this.client);\n }\n\n public get user() {\n return new UserService(this.client);\n }\n\n public get settings() {\n return new SettingsService(this.client);\n }\n\n public get image() {\n return new ImageService(this.client);\n }\n\n public get mailing() {\n return new MailingService(this.client);\n }\n\n public get utils() {\n return new BshUtilsService(this.client);\n }\n\n public get caching() {\n return new CachingService(this.client);\n }\n\n public get apiKey() {\n return new ApiKeyService(this.client);\n }\n}","export { type BshClientFn, type BshAuthFn } from './client'\nexport { type BshResponse } from './types'\nexport { BshEngine } from './bshengine';\nexport const version = '0.0.1' as const;\n"]}
@@ -0,0 +1,18 @@
1
+ declare const CoreEntities: {
2
+ readonly BshEntities: "BshEntities";
3
+ readonly BshSchemas: "BshSchemas";
4
+ readonly BshTypes: "BshTypes";
5
+ readonly BshUsers: "BshUsers";
6
+ readonly BshPolicies: "BshPolicies";
7
+ readonly BshRoles: "BshRoles";
8
+ readonly BshFiles: "BshFiles";
9
+ readonly BshConfigurations: "BshConfigurations";
10
+ readonly BshEmails: "BshEmails";
11
+ readonly BshEmailTemplates: "BshEmailTemplates";
12
+ readonly BshEventLogs: "BshEventLogs";
13
+ readonly BshTriggers: "BshTriggers";
14
+ readonly BshTriggerInstances: "BshTriggerInstances";
15
+ };
16
+ type CoreEntities = keyof typeof CoreEntities;
17
+
18
+ export { CoreEntities };