@bzbs/react-api-client 1.4.15 → 2.0.1

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 +1 @@
1
- {"version":3,"sources":["../src/api/base-service.ts","../src/api/auth/auth-api.ts","../src/api/badge/badge-api.ts","../src/api/campaign/campaign-api.ts","../src/api/cart/cart-api.ts","../src/api/category/category-api.ts","../src/api/consent/consent-api.ts","../src/api/coupon/coupon-api.ts","../src/api/dashboard/dashboard-api.ts","../src/api/history/history-api.ts","../src/api/line/line-api.ts","../src/api/notification/notification-api.ts","../src/api/place/place-api.ts","../src/api/point-log/point-log-api.ts","../src/api/profile/profile-api.ts","../src/api/registration/registration-api.ts","../src/api/address/address-api.ts","../src/api/stamp/stamp-api.ts","../src/api/request-help/request-help-api.ts","../src/api/setting/setting-api.ts","../src/api/blob/blob.ts","../src/api/bzbs-service.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { AxiosInstance, AxiosResponse } from 'axios';\nimport { BzbsErrorResponse } from '../models/bzbs-error-response';\n\nexport type ServiceResponse<T> = SuccessResponse<T> | ErrorResponse;\n\nexport interface ApiResponse<T> {\n Success: boolean;\n Data: T;\n success: boolean;\n data: T;\n}\n\nexport type SuccessResponse<T> = {\n type: 'success';\n model: T;\n response: AxiosResponse;\n};\n\nexport type ErrorResponse = ClientError | ServerError;\n\nexport type ClientError = {\n type: 'client-error';\n message: string;\n details?: any;\n};\n\nexport type ServerError = {\n type: 'server-error';\n error: BzbsErrorResponse;\n statusCode: number;\n response: AxiosResponse;\n};\n\nexport type RequestOptions = {\n headers?: { [key: string]: string };\n params?: { [key: string]: string };\n data?: any;\n baseUrl?: string;\n};\n\nexport type CrossPlatformFile = File | { uri: string; name: string; type: string } | object;\n\nexport class BaseService {\n private client: AxiosInstance;\n private baseUrl: string;\n\n constructor(client: AxiosInstance, baseUrl: string) {\n if (!client) throw new Error('Axios client is required.');\n if (!baseUrl) throw new Error('Base URL is required.');\n this.client = client;\n this.baseUrl = baseUrl;\n }\n\n private normalizeError(error: any): ErrorResponse {\n if (error.error) {\n return {\n type: 'server-error',\n error: error.error as BzbsErrorResponse,\n statusCode: error.response.status,\n response: error.response,\n };\n }\n\n if (error.response && error.response.data) {\n // Server-side error\n return {\n type: 'server-error',\n error: error.response.data as BzbsErrorResponse,\n statusCode: error.response.status,\n response: error.response,\n };\n }\n // Client-side error\n return {\n type: 'client-error',\n message: error.message || 'An unexpected error occurred.',\n details: error,\n };\n }\n\n private normalizeResponse<T>(response: AxiosResponse): ServiceResponse<T> {\n // Handle 204 No Content\n if (response.status === 204) {\n return { model: {} as T, response, type: 'success' };\n }\n\n const data = response.data;\n\n // Check for both possible success flags\n const isSuccess = data?.Success === true || data?.success === true;\n\n if (isSuccess) {\n // Prefer 'Data', fallback to 'data', else empty object\n const model = 'Data' in data ? data.Data : 'data' in data ? data.data : ({} as T);\n return { model, response, type: 'success' };\n }\n\n // If the response has the success fields but is not successful, treat as error\n if ('Success' in data || 'success' in data) {\n const error = {\n type: 'server-error',\n error: {\n requestId: data.RequestId || '',\n error: {\n id: data.Code || data.code || response.status,\n message: data.Message || data.message || response.statusText,\n code: data.Code || data.code || response.status,\n type: 'buzzebees',\n },\n },\n statusCode: data.Code || response.status,\n response,\n };\n return this.normalizeError(error);\n }\n\n // Fallback: treat as success with raw data\n return { model: data, response, type: 'success' };\n }\n\n private async request<T>(\n method: 'get' | 'post' | 'put' | 'delete' | 'patch',\n path: string,\n data?: any,\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<T>> {\n try {\n const url = this.joinUrl(requestOptions?.baseUrl ?? this.baseUrl, path);\n const config = {\n params: requestOptions?.params,\n headers: this.getHeaders(requestOptions?.headers),\n data,\n };\n const response = await this.client.request<any>({ method, url, ...config });\n return this.normalizeResponse<T>(response);\n } catch (error: any) {\n return this.normalizeError(error);\n }\n }\n\n /* if blob type we not include header in requestOptions */\n async get<T>(path: string, params?: any, requestOptions?: RequestOptions): Promise<ServiceResponse<T>> {\n return this.request<T>('get', path, undefined, { ...requestOptions, params });\n }\n\n async post<T>(path: string, data: any, requestOptions?: RequestOptions): Promise<ServiceResponse<T>> {\n return this.request<T>('post', path, data, requestOptions);\n }\n\n async put<T>(path: string, data: any, requestOptions?: RequestOptions): Promise<ServiceResponse<T>> {\n return this.request<T>('put', path, data, requestOptions);\n }\n\n async delete<T>(path: string, requestOptions?: RequestOptions): Promise<ServiceResponse<T>> {\n return this.request<T>('delete', path, undefined, requestOptions);\n }\n\n async patch<T>(path: string, data: any, requestOptions?: RequestOptions): Promise<ServiceResponse<T>> {\n return this.request<T>('patch', path, data, requestOptions);\n }\n\n joinUrl(baseUrl: string, path: string): string {\n // Remove trailing slash from baseUrl\n const sanitizedBase = baseUrl.replace(/\\/+$/, '');\n // Remove leading slash from path\n const sanitizedPath = path.replace(/^\\/+/, '');\n return `${sanitizedBase}/${sanitizedPath}`;\n }\n\n getHeaders(customHeaders?: { [key: string]: string }): { [key: string]: string } {\n return {\n 'Content-Type': 'application/json',\n ...customHeaders,\n };\n }\n\n setBaseUrl(baseUrl: string) {\n if (baseUrl.length === 0) throw new Error('Base URL is required.');\n this.baseUrl = baseUrl;\n return this;\n }\n\n static createFormData(data: Record<string, any>, fileKey?: string, file?: CrossPlatformFile): FormData {\n const formData = new FormData();\n\n for (const key in data) {\n if (data[key] !== undefined && data[key] !== null && data[key] !== '') {\n formData.append(key, data[key]);\n }\n }\n\n if (file) {\n formData.append(fileKey ?? 'data', file as any);\n }\n \n return formData;\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { LoginResponse } from '../../models/login-model';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { ForgetPasswordResponse } from '../../models/forget-password-response';\nimport { ConfirmOtpResponse, StatusResponse } from '../../models';\nimport { OtpResponse } from '../../models/otp-response';\nimport { ValidateOtpResponse } from '../../models/validate-otp-response';\nimport { ResumeResponse } from '../../models/resume-response';\nimport { Version } from '../../models/version';\nimport { AppleToken } from '../../models/apple-token';\n\nexport class AuthenticateApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Performs a device login using the provided device uuid.\n *\n * @param params - The parameters.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.otp - The OTP to confirm. (For Login with OTP only)\n * @param params.refcode - The reference code for the OTP. (For Login with OTP only)\n * @param params.contact_number - The contact number for the user. (For Login with OTP only)\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async deviceLogin(\n params: {\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n otp?: string;\n refcode?: string;\n contact_number?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/device_login',\n {\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n otp: params.otp,\n refcode: params.refcode,\n contact_number: params.contact_number,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Performs a Facebook login using the provided Facebook access token.\n *\n * @param params - The parameters.\n * @param accessToken - The access token obtained from Facebook.\n * @param appId - Your application id.\n * @param uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async facebookLogin(\n params: {\n accessToken: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/login',\n {\n access_token: params.accessToken,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Performs a Google login using the provided id token, app id, and uuid.\n *\n * @param params - The parameters.\n * @param params.idToken - The Google id token.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async googleLogin(\n params: {\n idToken: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/google_login',\n {\n id_token: params.idToken,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Performs a Line login using the provided id token, Line access token and authorization code.\n *\n * @param params - The parameters.\n * @param params.idToken - The Line id token.\n * @param params.lineAccessToken - The Line access token.\n * @param params.authorizationCode - The Line authorization code.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async lineLogin(\n params: {\n idToken: string;\n lineAccessToken: string;\n authorizationCode: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/line_login',\n {\n id_token: params.idToken,\n line_access_token: params.lineAccessToken,\n authorization_code: params.authorizationCode,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Performs an Apple login using the provided id token and Apple refresh token.\n *\n * @param params - The parameters.\n * @param params.idToken - The Apple id token.\n * @param params.refreshToken - The Apple refresh token.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async appleLogin(\n params: {\n idToken: string;\n refreshToken: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/apple_login',\n {\n id_token: params.idToken,\n refresh_token: params.refreshToken,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Request apple refresh token from the server\n *\n * @param params - The parameters.\n * @param params.authorizationCode - Apple authorization code\n * @param params.idToken - Apple identity token\n * @param params.appId - Your application id. See in Backoffice on Application\n * @param params.os - Your device operation system + version. Ex. ios 11.2.1 , android 9.0\n * @param params.platform - Your platform. Ex. iPhone , Android\n * @param params.macAddress - Unique device identifier\n * @param params.clientVersion - Number of version (App Prefix + Your application version , Ex. ios_buzzebeesdemo1.0.1)\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the Apple token response.\n */\n public async appleToken(\n params: {\n authorizationCode: string;\n idToken: string;\n appId: string;\n os: string;\n platform: string;\n macAddress: string;\n clientVersion: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<AppleToken>> {\n return await this.post<AppleToken>(\n 'auth/apple_token',\n {\n authorization_code: params.authorizationCode,\n id_token: params.idToken,\n app_id: params.appId,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n client_version: params.clientVersion,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Performs a username and password login using the provided username and password.\n *\n * @param params - The parameters.\n * @param params.username - The username of the user.\n * @param params.password - The password of the user.\n * @param params.uuid - The unique device identifier.\n * @param params.appId - Your application id.\n * @param params.options - (Optional) Additional params for the request.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async usernamePasswordLogin(\n params: {\n username: string;\n password: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/bzbs_login',\n {\n username: params.username,\n password: params.password,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Connect with LINE. If authorization token is provided, it will connect current user with given LINE credentials.\n * Otherwise, it tries to login with those credentials.\n *\n * @param params - The parameters.\n * @param params.idToken - The LINE id token.\n * @param params.lineAccessToken - The LINE access token.\n * @param params.authorizationCode - The LINE authorization code.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async connectLine(\n params: {\n idToken: string;\n lineAccessToken: string;\n authorizationCode: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/line_login',\n {\n id_token: params.idToken,\n line_access_token: params.lineAccessToken,\n authorization_code: params.authorizationCode,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Connect with Facebook. If authorization token is provided, it will connect current user with given Facebook access token.\n * Otherwise, it tries to login with that access token.\n *\n * @param params - The parameters.\n * @param params.accessToken - The Facebook access token.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async connectFacebook(\n params: {\n accessToken: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/login',\n {\n access_token: params.accessToken,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Connect with Google. If authorization token is provided, it will connect current user with given Google id token.\n * Otherwise, it tries to login with that id token.\n *\n * @param params - The parameters.\n * @param params.idToken - The Google id token.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async connectGoogle(\n params: {\n idToken: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/google_login',\n {\n id_token: params.idToken,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Connect with Apple. If authorization token is provided, it will connect current user with given Apple credentials.\n * Otherwise, it tries to login with those credentials.\n *\n * @param params - The parameters.\n * @param params.idToken - The Apple id token.\n * @param params.refreshToken - The Apple refresh token from appleToken().\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async connectApple(\n params: {\n idToken: string;\n refreshToken: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/apple_login',\n {\n id_token: params.idToken,\n refresh_token: params.refreshToken,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Performs a logout for the user.\n *\n * @param params - The parameters.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the logout response.\n */\n public async logout(\n params: {\n uuid: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post<unknown>(\n 'auth/logout',\n {\n uuid: params.uuid,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Sends a forget password request to the user.\n *\n * @param params - The parameters.\n * @param params.contact - The contact information for the user (email or contact number).\n * @param params.type - The type of contact information.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the forget password response.\n */\n public async forgetPassword(\n params: {\n contact: string;\n type: 'email' | 'contact_number';\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ForgetPasswordResponse>> {\n return await this.get<ForgetPasswordResponse>(\n `profile/${params.contact}/forget_password`,\n {\n type: params.type,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Resets the password for a user.\n *\n * @param params - The parameters.\n * @param params.contact - The contact information for the user (email or contact number).\n * @param params.refCode - The reference code for password reset.\n * @param params.newPassword - The new password to set.\n * @param params.otp - (Optional) The one-time password.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the status response.\n */\n public async resetPassword(\n params: {\n contact: string;\n refCode: string;\n newPassword: string;\n otp?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<StatusResponse>> {\n return await this.post<StatusResponse>(\n `profile/${params.contact}/forget_password`,\n {\n refcode: params.refCode,\n change: params.newPassword,\n otp: params.otp,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Sends an OTP (One-Time Password) to the user for authentication (GET method).\n *\n * @param params - The parameters.\n * @param params.uuid - The unique device identifier.\n * @param params.appId - Your application id.\n * @param params.contactNumber - The contact number for the user.\n * @param params.channel - (Optional) The channel to use for OTP delivery.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the OTP response.\n */\n public async otp(\n params: {\n uuid: string;\n appId: string;\n contactNumber: string;\n channel?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<OtpResponse>> {\n return await this.get<OtpResponse>(\n 'auth/otp',\n {\n uuid: params.uuid,\n app_id: params.appId,\n contact_number: params.contactNumber,\n channel: params.channel,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Sends an OTP (One-Time Password) to the user for authentication (POST method, V2).\n *\n * @param params - The parameters.\n * @param params.appId - Your application id.\n * @param params.contactNumber - The contact number for the user.\n * @param params.channel - (Optional) The channel to use for OTP delivery.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the OTP response.\n */\n public async otpV2(\n params: {\n appId: string;\n contactNumber: string;\n channel?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<OtpResponse>> {\n return await this.post<OtpResponse>(\n 'auth/otp',\n {\n app_id: params.appId,\n contact_number: params.contactNumber,\n channel: params.channel,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Sends an OTP (One-Time Password) via email to the user for authentication.\n *\n * @param params - The parameters.\n * @param params.uuid - The unique device identifier.\n * @param params.appId - Your application id.\n * @param params.email - The email address for the user.\n * @param params.channel - (Optional) The channel to use for OTP delivery.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the OTP response.\n */\n public async otpEmail(\n params: {\n uuid: string;\n appId: string;\n email: string;\n channel?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<OtpResponse>> {\n return await this.get<OtpResponse>(\n 'auth/otp_email',\n {\n uuid: params.uuid,\n app_id: params.appId,\n email: params.email,\n channel: params.channel,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Confirm the OTP (One-Time Password) for authentication.\n *\n * @param params - The parameters.\n * @param params.otp - The OTP to confirm.\n * @param params.refCode - The reference code for the OTP.\n * @param params.contactNumber - The contact number for the user.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the confirm OTP response.\n */\n public async confirmOtp(\n params: {\n otp: string;\n refCode: string;\n contactNumber: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ConfirmOtpResponse>> {\n return await this.post<ConfirmOtpResponse>(\n 'auth/bzbs_authen',\n {\n otp: params.otp,\n refcode: params.refCode,\n contact_number: params.contactNumber,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Validate the OTP (One-Time Password) for authentication.\n *\n * @param params - The parameters.\n * @param params.appId - Your application id.\n * @param params.otp - The OTP to validate.\n * @param params.refCode - The reference code for the OTP.\n * @param params.type - Type of contact (email or contact_number).\n * @param params.contactNumber - (Optional) The contact number for the user.\n * @param params.email - (Optional) The email address for the user.\n * @param params.use - Whether to use the OTP after validation (default: false).\n * @param params.channel - (Optional) The channel to use for OTP delivery.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the validate OTP response.\n */\n public async validateOtp(\n params: {\n appId: string;\n otp: string;\n refCode: string;\n type: string;\n contactNumber?: string;\n email?: string;\n use?: boolean;\n channel?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ValidateOtpResponse>> {\n return await this.post<ValidateOtpResponse>(\n 'auth/validate_otp',\n {\n app_id: params.appId,\n otp: params.otp,\n refcode: params.refCode,\n type: params.type,\n contact_number: params.contactNumber,\n email: params.email,\n use: params.use !== undefined ? params.use : false,\n channel: params.channel,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Refresh buzzebees token and retrieve a new token.\n *\n * @param params - The parameters.\n * @param params.uuid - The unique device identifier.\n * @param params.deviceAppId - Your application id.\n * @param params.os - Your device operation system + version. Ex. ios 11.2.1, android 9.0\n * @param params.platform - Your platform. Ex. iPhone, Android\n * @param params.macAddress - Unique device identifier\n * @param params.deviceNotificationEnabled - Enable push notification\n * @param params.clientVersion - Number of version (App Prefix + Your application version, Ex. ios_buzzebeesdemo1.0.1)\n * @param params.deviceToken - Device token used for send push notification\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the resume response.\n */\n public async resume(\n params: {\n uuid: string;\n deviceAppId: string;\n os: string;\n platform: string;\n macAddress: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ResumeResponse>> {\n return await this.post<ResumeResponse>(\n 'auth/device_resume',\n {\n uuid: params.uuid,\n device_app_id: params.deviceAppId,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: params.deviceNotificationEnabled,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Update device token for push notification.\n *\n * @param params - The parameters.\n * @param params.uuid - The unique device identifier.\n * @param params.deviceAppId - Your application id.\n * @param params.os - Your device operation system + version. Ex. ios 11.2.1, android 9.0\n * @param params.platform - Your platform. Ex. iPhone, Android\n * @param params.macAddress - Unique device identifier\n * @param params.deviceNotificationEnabled - Enable push notification\n * @param params.clientVersion - Number of version (App Prefix + Your application version, Ex. ios_buzzebeesdemo1.0.1)\n * @param params.deviceToken - Device token used for send push notification\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the resume response.\n */\n public async updateDevice(\n params: {\n uuid: string;\n deviceAppId: string;\n os: string;\n platform: string;\n macAddress: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ResumeResponse>> {\n return await this.post<ResumeResponse>(\n 'auth/update_device',\n {\n uuid: params.uuid,\n device_app_id: params.deviceAppId,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: params.deviceNotificationEnabled,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Retrieves the version information for the current app version.\n * @param clientVersion - The version of the client (App Prefix + Your application version , Ex. ios_buzzebeesdemo1.0.1).\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the version information.\n */\n public async version(clientVersion: string, requestOptions?: RequestOptions): Promise<ServiceResponse<Version>> {\n return await this.get<Version>('auth/version', { client_version: clientVersion }, requestOptions);\n }\n\n /**\n * Retrieves the raw version information for the current app version.\n * @param clientVersion - The version of the client (App Prefix + Your application version , Ex. ios_buzzebeesdemo1.0.1).\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the raw version information.\n */\n public async versionRaw(clientVersion: string, requestOptions?: RequestOptions): Promise<ServiceResponse<any>> {\n return await this.get<unknown>('auth/version', { client_version: clientVersion }, requestOptions);\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { AxiosInstance } from 'axios';\nimport { Badge } from '../../models/badge';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class BadgeApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves user badges.\n *\n * @param params - The parameters.\n * @param params.badgeId - The ID of the badge to retrieve.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing an array of Badge objects.\n */\n public async badges(\n params: {\n badgeId?: string;\n options?: { [key: string]: any };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Badge[]>> {\n return await this.get<Badge[]>(\n 'profile/me/badges',\n {\n badge_id: params.badgeId,\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { Campaign } from '../../models/campaign-model';\nimport { CampaignDetail } from '../../models/campaign-detail-model';\nimport { FavoriteResponse } from '../../models/favorite-response-model';\nimport { RedeemResponse } from '../../models/redeem-response-model';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class CampaignApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves a list of campaigns based on the provided parameters.\n *\n * @param params - The parameters for the campaign list.\n * @param params.config - The configuration for the campaign (list name).\n * @param params.cat - The category for the campaign.\n * @param params.byConfig - A boolean indicating whether to filter by configuration.\n * @param params.skip - The number of campaigns to skip.\n * @param params.top - The number of campaigns to retrieve.\n * @param params.deviceLocale - The device locale for the campaigns.\n * @param params.locale - The locale for the campaigns.\n * @param params.keyword - The keyword for the campaigns.\n * @param params.startDate - The start date for the campaigns.\n * @param params.sponsorId - The sponsor ID for the campaigns.\n * @param params.maxPoints - The maximum points for the campaigns.\n * @param params.minPoints - The minimum points for the campaigns.\n * @param params.sortBy - The sort order for the campaigns.\n * @param params.center - The coordinates for the center of the campaigns.\n * @param params.hashTags - The hash tags for the campaigns.\n * @param params.locationAgencyId - The location agency ID for the campaigns.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - The options for the HTTP request.\n * @returns A promise that resolves to a ServiceResponse containing an array of Campaign objects.\n */\n public async campaigns(\n params: {\n config: string;\n cat?: string;\n byConfig?: boolean;\n skip?: number;\n top?: number;\n deviceLocale?: number;\n locale?: number;\n keyword?: string;\n startDate?: string;\n sponsorId?: string;\n maxPoints?: string;\n minPoints?: string;\n sortBy?: string;\n center?: string;\n hashTags?: string;\n locationAgencyId?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Campaign[]>> {\n return await this.get<Campaign[]>(\n 'campaign',\n {\n config: params.config,\n cat: params.cat,\n byConfig: params.byConfig,\n skip: params.skip,\n top: params.top,\n device_locale: params.deviceLocale,\n locale: params.locale,\n q: params.keyword,\n startdate: params.startDate,\n sponsorId: params.sponsorId,\n maxpoints: params.maxPoints,\n minpoints: params.minPoints,\n sortBy: params.sortBy,\n center: params.center,\n tags: params.hashTags,\n locationAgencyId: params.locationAgencyId,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves a list of user's favorite campaigns.\n *\n * @param params - The parameters.\n * @param params.skip - The number of campaigns to skip.\n * @param params.top - The number of campaigns to retrieve.\n * @param params.locale - The locale for the campaigns.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - The options for the API request.\n * @returns A promise that resolves to a ServiceResponse containing an array of Campaign objects.\n */\n public async favoriteCampaigns(\n params: {\n skip?: number;\n top?: number;\n locale?: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Campaign[]>> {\n return await this.get(\n 'profile/me/favourite_campaign',\n {\n skip: params.skip,\n top: params.top,\n locale: params.locale,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves the details of a campaign.\n *\n * @param param - The parameters.\n * @param param.id - The ID of the campaign.\n * @param param.deviceLocale - The device locale (optional).\n * @param param.options - Additional options for the request (optional).\n * @param requestOptions - The options for the request (optional).\n * @returns A promise that resolves to a service response containing the campaign details.\n */\n public async campaignDetails(\n param: {\n id: string;\n deviceLocale?: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<CampaignDetail>> {\n return await this?.get(\n `campaign/${param.id}`,\n {\n device_locale: param.deviceLocale,\n ...param.options,\n },\n requestOptions\n );\n }\n\n /**\n * Adds a campaign to the user's favorites.\n * @param id - The ID of the campaign to add to favorites.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the FavoriteResponse.\n */\n public async addToFavorite(id: string, requestOptions?: RequestOptions): Promise<ServiceResponse<FavoriteResponse>> {\n return await this.post(`campaign/${id}/favourite`, {}, requestOptions);\n }\n\n /**\n * Removes a campaign from user's favorites.\n * @param id - The ID of the campaign to remove from favorites.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the FavoriteResponse.\n */\n public async removeFromFavorite(\n params: { id: string; options?: { [key: string]: string } },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<FavoriteResponse>> {\n return await this.delete(`campaign/${params.id}/favourite`, {\n params: {\n ...params.options,\n },\n ...requestOptions,\n });\n }\n\n /**\n * Redeems a campaign.\n *\n * @param params - The parameters for redeeming the campaign.\n * @param params.id - The ID of the campaign to redeem.\n * @param params.addressKey - The address key of a user's address.\n * @param params.contactNumber - The contact number of the user.\n * @param params.options - Additional options for the redemption.\n * @param params.spPoints - Point Per Unit x Quantity (Donate only).\n * @param requestOptions - The options for the HTTP request.\n * @returns A promise that resolves to a service response containing the redeem response.\n */\n public async redeem(\n params: {\n id: string;\n addressKey?: string;\n contactNumber?: string;\n pointUnit?: string;\n spPoints?: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<RedeemResponse>> {\n return await this.post(\n `campaign/${params.id}/redeem`,\n {\n address_key: params.addressKey,\n contact_number: params.contactNumber,\n pointUnit: params.pointUnit,\n sp_points: params.spPoints,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Redeems a campaign in bulk.\n *\n * @param params - The parameters.\n * @param params.id - The ID of the campaign to redeem.\n * @param params.quantity - The quantity to redeem.\n * @param params.addressKey - The address key of a user's address.\n * @param params.contactNumber - The contact number of the user.\n * @param params.pointUnit - The point unit of the campaign.\n * @param params.spPoints - Point Per Unit x Quantity (Donate only).\n * @param params.options - Additional options for the redemption.\n * @param requestOptions - The options for the HTTP request.\n * @returns A promise that resolves to a service response containing the redeem response.\n */\n public async bulkRedeem(\n params: {\n id: string;\n quantity: number;\n addressKey?: string;\n contactNumber?: string;\n pointUnit?: string;\n spPoints?: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<RedeemResponse>> {\n return await this.post(\n `campaign/${params.id}/bulkredeem`,\n {\n quantity: params.quantity,\n address_key: params.addressKey,\n contact_number: params.contactNumber,\n pointUnit: params.pointUnit,\n sp_points: params.spPoints,\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { CartCountResponse } from '../../models/cart-count-response';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { CartAccessResponse } from '../../models';\n\nexport class CartApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Adds an item to the cart.\n *\n * @param params - The parameters.\n * @param params.id - The ID of the item to add to the cart.\n * @param params.mode - The mode off adding.\n * @param params.qty - The quantity of the item.\n * @param params.sideCampaignJson - The side campaign JSON.\n * @param params.options - Additional options for adding the item to the cart.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the cart count response.\n */\n public async addCart(\n params: {\n id: string;\n mode?: string;\n qty?: number;\n sideCampaignJson?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<CartCountResponse>> {\n return await this.post(\n `cart/${params.id}/add`,\n {\n mode: params.mode,\n qty: params.qty,\n sideCampaignJson: params.sideCampaignJson,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Retrieves the count of items in the cart.\n *\n * @param options - Optional additional parameters.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the CartCountResponse.\n */\n public async cartCount(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<CartCountResponse>> {\n return await this.get(\n 'cart/count',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves the cart access.\n *\n * @param params - The parameters.\n * @param params.errorUrl - The error URL that the user is redirected to when an error occurs.\n * @param params.successUrl - The success URL that the user is redirected to when the operation is successful.\n * @param params.returnUrl - The return URL that the user is redirected to when press back button.\n * @param params.appId - The app ID.\n * @param params.appName - The app name.\n * @param params.options - Additional options for the request.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the CartAccessResponse.\n */\n public async cartAccess(\n params: {\n errorUrl: string;\n successUrl: string;\n returnUrl: string;\n appId: string;\n appName: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<CartAccessResponse>> {\n return await this.post(\n 'setting',\n {\n data: JSON.stringify(params),\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { Category } from '../../models/category';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class CategoryApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves the campaign categories.\n *\n * @param params - The parameters.\n * @param params.config - The configuration string.\n * @param params.byConfig - Optional. Specifies whether to retrieve categories by configuration.\n * @param params.options - Optional. Additional options for retrieving the categories.\n * @param requestOptions - Optional. The request options.\n * @returns A promise that resolves to a service response containing an array of categories.\n */\n public async categories(\n params: {\n config: string;\n byConfig?: boolean;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Category[]>> {\n return await this.get(\n 'campaigncat/menu',\n {\n byConfig: params.byConfig,\n config: params.config,\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { Consent } from '../../models/consent';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class ConsentApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves the user's consent information.\n *\n * @param options - Additional options for the request.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the consent information.\n */\n public async consent(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Consent>> {\n return await this.get<Consent>(\n 'consent',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves the user's consent information.\n *\n * @param params - The parameters for the consent request.\n * @param params.termsAndConditions - The terms and conditions consent version.\n * @param params.dataPrivacy - The data privacy consent version.\n * @param params.marketingOption - The marketing option consent version.\n * @param params.consentAge - The consent age.\n * @param params.email - The email consent (0 for false, 1 for true).\n * @param params.sms - The SMS consent (0 for false, 1 for true).\n * @param params.notification - The notification consent (0 for false, 1 for true).\n * @param params.line - The LINE consent (0 for false, 1 for true).\n * @param params.analyticsBuzzebeesCookies - The analytics Buzzebees cookies consent (0 for false, 1 for true).\n * @param params.analyticsFirebaseCookies - The analytics Firebase cookies consent (0 for false, 1 for true).\n * @param params.analyticsGoogleCookies - The analytics Google cookies consent (0 for false, 1 for true).\n * @param params.analyticsMetaCookies - The analytics Meta cookies consent (0 for false, 1 for true).\n * @param params.analyticsOtherCookies - The analytics other cookies consent (0 for false, 1 for true).\n * @param params.functionalCookies - The functional cookies consent (0 for false, 1 for true).\n * @param params.marketingCookies - The marketing cookies consent (0 for false, 1 for true).\n * @param params.necessaryCookies - The necessary cookies consent (0 for false, 1 for true).\n * @param params.options - Additional params.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the consent information.\n */\n public async updateConsent(\n params: {\n termsAndConditions?: string;\n dataPrivacy?: string;\n marketingOption?: string;\n consentAge?: string;\n email?: string;\n sms?: string;\n notification?: string;\n line?: string;\n analyticsBuzzebeesCookies?: string;\n analyticsFirebaseCookies?: string;\n analyticsGoogleCookies?: string;\n analyticsMetaCookies?: string;\n analyticsOtherCookies?: string;\n functionalCookies?: string;\n marketingCookies?: string;\n necessaryCookies?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Consent>> {\n return await this.post(\n 'consent',\n {\n termandcondition: params.termsAndConditions,\n dataprivacy: params.dataPrivacy,\n marketingoption: params.marketingOption,\n consentage: params.consentAge,\n email: params.email,\n sms: params.sms,\n notification: params.notification,\n line: params.line,\n analyticsBuzzebeesCookies: params.analyticsBuzzebeesCookies,\n analyticsFirebaseCookies: params.analyticsFirebaseCookies,\n analyticsGoogleCookies: params.analyticsGoogleCookies,\n analyticsMetaCookies: params.analyticsMetaCookies,\n analyticsOtherCookies: params.analyticsOtherCookies,\n functionalCookies: params.functionalCookies,\n marketingCookies: params.marketingCookies,\n necessaryCookies: params.necessaryCookies,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Unconsents the user.\n *\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the result of the unconsent operation.\n */\n public async unconsent(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post<unknown>(\n 'consent/unconsent',\n {\n ...options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { CouponResponse } from '../../models/coupon-response';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class CouponApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Processes coupon codes.\n *\n * @param params - The parameters.\n * @param params.codes - The coupon codes to process.\n * @param params.options - Additional options for processing coupon codes.\n * @param requestOptions - The options for making the API request.\n * @returns A promise that resolves to a service response containing the coupon response.\n */\n public async processCodes(\n params: {\n codes: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<CouponResponse>> {\n return await this.post(\n 'coupon/process',\n {\n 'codes[]': params.codes,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { Dashboard } from '../../models/dashboard';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class DashboardApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves the main dashboard data.\n *\n * @param params - The parameters.\n * @param params.appName - The name of the application.\n * @param params.locale - The locale number.\n * @param params.options - Additional options for the request.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a service response containing an array of Dashboard objects.\n */\n public async mainDashboard(\n params: {\n appName: string;\n locale: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Dashboard[]>> {\n return await this.get(\n 'dashboard/main',\n {\n app_name: params.appName,\n locale: params.locale,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves a sub-dashboard data.\n *\n * @param params - The parameters.\n * @param params.dashboardName - The name of the sub-dashboard to retrieve.\n * @param params.locale - The locale of the sub-dashboard.\n * @param params.options - Additional options for retrieving the sub-dashboard.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a service response containing an array of dashboards.\n */\n public async subDashboard(\n params: {\n dashboardName: string;\n locale: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Dashboard[]>> {\n return await this.get(\n `dashboard/${params.dashboardName}`,\n {\n locale: params.locale,\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { Purchase } from '../../models/purchase';\nimport { UseCampaignResponse } from '../../models/use-campaign-response';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class HistoryApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves the redeem histories based on the specified parameters.\n *\n * @param params - The parameters for retrieving redeem histories.\n * @param params.byConfig - Indicates whether to retrieve redeem histories by config.\n * @param params.config - The config for retrieving redeem histories.\n * @param params.skip - The number of records to skip.\n * @param params.top - The number of records to retrieve.\n * @param params.locale - The locale for retrieving redeem histories (optional).\n * @param params.startDate - The start date for retrieving redeem histories (optional).\n * @param params.endDate - The end date for retrieving redeem histories (optional).\n * @param params.options - Additional options for retrieving redeem histories (optional).\n * @param requestOptions - The options for the request (optional).\n * @returns A promise that resolves to a service response containing an array of purchase objects.\n */\n public async redeemHistories(\n params: {\n byConfig: boolean;\n config: string;\n skip: number;\n top: number;\n locale?: number;\n startDate?: string;\n endDate?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Purchase[]>> {\n const response = await this.get(\n 'redeem',\n {\n byConfig: params.byConfig,\n config: params.config,\n skip: params.skip,\n top: params.top,\n locale: params.locale,\n startdate: params.startDate,\n enddate: params.endDate,\n ...params.options,\n },\n requestOptions\n );\n \n if(response.type === 'success') {\n const purchases = (response.model as any[]).map((item) => ({\n ...item,\n ParcelNo: item.ParcelNo ?? item.PacelNo ?? undefined,\n }));\n\n return {\n ...response,\n model: purchases,\n };\n }\n\n return response;\n }\n\n /**\n * Marks the specified redeem key as used.\n *\n * @param params - The parameters.\n * @param params.redeemKey - The redeem key for the campaign.\n * @param params.options - Additional options for using the campaign.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a service response containing the result of the redemption.\n */\n public async use(\n params: {\n redeemKey: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<UseCampaignResponse>> {\n return await this.post(\n `redeem/${params.redeemKey}/use`,\n {\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { LineAuthResponse } from '../../models/line-auth-response';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class LineApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Authenticates with the LINE API.\n *\n * @param params - The authentication parameters.\n * @param params.grantType - The grant type.\n * @param params.code - The code.\n * @param params.clientId - The client ID.\n * @param params.clientSecret - The client secret.\n * @param params.redirectUrl - The redirect URL.\n * @param params.options - Additional options for the request.\n * @param requestOptions - The optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the LineAuthResponse.\n */\n public async lineAuth(\n params: {\n grantType: string;\n code: string;\n clientId: string;\n clientSecret: string;\n redirectUrl: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LineAuthResponse>> {\n return await this.post(\n 'oauth2/v2.1/token',\n {\n grant_type: params.grantType,\n code: params.code,\n client_id: params.clientId,\n client_secret: params.clientSecret,\n redirect_uri: params.redirectUrl,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { Notification } from '../../models';\n\nexport class NotificationApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves notifications.\n *\n * @param params - The parameters for retrieving notifications.\n * @param params.mode - The mode for retrieving notifications (new or all)\n * @param params.sortBy - The sort order for the notifications (createdate_desc or createdate_asc)\n * @param requestOptions - The options for the HTTP request.\n * @returns A promise that resolves to a service response containing an array of notifications.\n */\n public async notifications(\n params: {\n mode: string | 'new' | 'all';\n sortBy: string | 'createdate_desc' | 'createdate_asc';\n top?: number;\n skip?: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Notification[]>> {\n return await this.get(\n 'noti',\n {\n mode: params.mode,\n sortBy: params.sortBy,\n top: params.top,\n skip: params.skip,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Marks notifications as read.\n *\n * @param params - The parameters for marking notifications as read.\n * @param params.ids - The IDs(RowKeys) of the notifications to mark as read. (RowKey1, RowKey2)\n * @param params.options - Additional options for marking notifications as read.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a service response containing the result of marking notifications as read.\n */\n public async read(\n params: {\n ids: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post(\n 'noti/read',\n {\n ids: params.ids,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { Place } from '../../models/place';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class PlaceApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves a list of places based on the provided parameters.\n *\n * @param params - The parameters for the place list request.\n * @param params.agencyId - The ID of the agency.\n * @param params.center - The center of the search area.\n * @param params.distance - The distance from the center.\n * @param params.top - The number of places to retrieve.\n * @param params.provinceCode - The province code (optional).\n * @param params.category - The category of the place (optional).\n * @param params.mode - The mode of the place (optional).\n * @param params.requiredCampaign - Indicates whether the place requires a campaign (optional).\n * @param params.keyword - The keyword to search for (optional).\n * @param params.isFavourite - Indicates whether the place is a favourite (optional).\n * @param params.options - Additional options for the request (optional).\n * @param requestOptions - The options for the request (optional).\n * @returns A promise that resolves to a ServiceResponse containing an array of Place objects.\n */\n public async placeList(\n params: {\n agencyId: string;\n center: string;\n distance: number;\n top: number;\n provinceCode?: string;\n category?: string;\n mode?: string;\n requiredCampaign?: boolean;\n keyword?: string;\n isFavourite?: boolean;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Place[]>> {\n return await this.get(\n 'place',\n {\n agencyId: params.agencyId,\n center: params.center,\n distance: params.distance,\n top: params.top,\n province_code: params.provinceCode,\n category: params.category,\n mode: params.mode,\n require_campaign: params.requiredCampaign,\n q: params.keyword,\n isFavourite: params.isFavourite,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves information about a specific place.\n *\n * @param params - The parameters for the place request.\n * @param params.id - The ID of the place.\n * @param params.agencyId - The ID of the agency.\n * @param params.requiredCampaign - (Optional) Indicates if a campaign is required.\n * @param params.isFavourite - (Optional) Indicates if the place is a favorite.\n * @param params.options - (Optional) Additional options for the request.\n * @param requestOptions - (Optional) Additional options for the HTTP request.\n * @returns A promise that resolves to a ServiceResponse containing the place information.\n */\n public async place(\n params: {\n id: string;\n agencyId: string;\n requiredCampaign?: boolean;\n isFavourite?: boolean;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Place>> {\n return await this.get(\n `place/${params.id}`,\n {\n agencyId: params.agencyId,\n require_campaign: params.requiredCampaign,\n isFavourite: params.isFavourite,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Adds a place to the user's favorites.\n *\n * @param params - The parameters.\n * @param params.id - The ID of the place to be added to favorites.\n * @param params.options - The additional options.\n * @param requestOptions - The optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the result of the operation.\n */\n public async addToFavourite(\n params: {\n id: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post(\n `place/${params.id}/favourite`,\n {\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Removes a place from the user's favorites.\n *\n * @param params - The parameters.\n * @param params.id - The ID of the place to be removed from favorites.\n * @param params.options - The additional options.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the result of the operation.\n */\n public async removeFromFavourite(\n params: {\n id: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post(\n `place/${params.id}/unfavourite`,\n {\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { PointLog } from '../../models/point-log';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class PointLogApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves the point log.\n *\n * @param params - The parameters for retrieving the point log.\n * @param params.month - The month for which to retrieve the point log.\n * @param params.type - (Optional) The type of point log to retrieve. (earn/burn/etc)\n * @param params.lastRowKey - (Optional) The last row key for pagination.\n * @param params.top - (Optional) The maximum number of records to retrieve.\n * @param params.options - (Optional) Additional options for the request.\n * @param requestOption - (Optional) The request options.\n * @returns A promise that resolves to a service response containing an array of point logs.\n */\n public async getPointLog(\n params: {\n month: string;\n type?: string;\n lastRowKey?: string;\n top?: number;\n options?: { [key: string]: unknown };\n },\n requestOption?: RequestOptions\n ): Promise<ServiceResponse<PointLog[]>> {\n return await this.get(\n 'log/points',\n {\n month: params.month,\n type: params?.type,\n lastRowKey: params?.lastRowKey,\n top: params?.top,\n ...params.options,\n },\n requestOption\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { ConfirmOtpResponse, ExpiringPoints, ProfileResponse, StatusResponse, UpdatedPoints } from '../../models';\n\nexport class ProfileApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves the profile information for the current user.\n *\n * @param options - Optional additional parameters.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the profile information.\n */\n public async profile(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ProfileResponse>> {\n return await this.get(\n 'profile/me',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Updates the user profile with the provided parameters.\n *\n * @param params - The parameters for updating the profile.\n * @param params.options - Additional options for the request.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the updated profile.\n */\n public async updateProfile(\n params: {\n profileImage?: File | { uri: string; name: string; type: string } | object;\n firstName?: string;\n lastName?: string;\n contactNumber?: string;\n email?: string;\n notification?: boolean;\n locale?: number;\n title?: string;\n gender?: string;\n birthDate?: number;\n address?: string;\n subdistrictCode?: number;\n subdistrictName?: string;\n districtCode?: number;\n districtName?: string;\n provinceCode?: number;\n provinceName?: string;\n countryCode?: string;\n countryName?: string;\n zipCode?: string;\n idCard?: string;\n passport?: string;\n maritalStatus?: string;\n village?: string;\n building?: string;\n number?: string;\n moo?: string;\n room?: string;\n floor?: string;\n soi?: string;\n city?: string;\n road?: string;\n landmark?: string;\n alternateContactNumber?: string;\n homeContactNumber?: string;\n nationality?: string;\n religion?: string;\n location?: string;\n latitude?: number;\n longitude?: number;\n income?: string;\n interests?: string;\n region?: string;\n phonepurchase?: number;\n highestEducation?: string;\n occupation?: string;\n remark?: string;\n displayName?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ProfileResponse>> {\n return await this.post(\n 'profile/me',\n BaseService.createFormData({\n firstname: params.firstName,\n lastname: params.lastName,\n contact_number: params.contactNumber,\n email: params.email,\n notification: params.notification,\n locale: params.locale,\n title: params.title,\n gender: params.gender,\n birthdate: params.birthDate,\n address: params.address,\n subdistrict_code: params.subdistrictCode,\n subdistrict_name: params.subdistrictName,\n district_code: params.districtCode,\n district_name: params.districtName,\n province_code: params.provinceCode,\n province_name: params.provinceName,\n country_code: params.countryCode,\n country_name: params.countryName,\n Zipcode: params.zipCode,\n idCard: params.idCard,\n passport: params.passport,\n maritalstatus: params.maritalStatus,\n village: params.village,\n building: params.building,\n number: params.number,\n moo: params.moo,\n room: params.room,\n floor: params.floor,\n soi: params.soi,\n city: params.city,\n road: params.road,\n landmark: params.landmark,\n alternate_contact_number: params.alternateContactNumber,\n home_contact_number: params.homeContactNumber,\n nationality: params.nationality,\n religion: params.religion,\n location: params.location,\n latitude: params.latitude,\n longitude: params.longitude,\n income: params.income,\n interests: params.interests,\n region: params.region,\n phonepurchase: params.phonepurchase,\n highesteducation: params.highestEducation,\n occupation: params.occupation,\n remark: params.remark,\n displayname: params.displayName,\n ...params.options,\n }, 'data', params.profileImage),\n {\n headers: {\n 'Content-Type': 'multipart/form-data',\n ...requestOptions?.headers,\n },\n params: requestOptions?.params,\n data: requestOptions?.data,\n }\n );\n }\n\n /**\n * Changes the user's password.\n *\n * @param params - The parameters.\n * @param params.current - The current password.\n * @param params.change - The new password.\n * @param params.options - Optional additional options.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the status response.\n */\n public async changePassword(\n params: {\n current: string;\n change: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<StatusResponse>> {\n return await this.post(\n 'profile/me/change_password',\n {\n current: params.current,\n change: params.change,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Updates the shipping information for the user.\n *\n * @param params - The parameters for updating the shipping information.\n * @param requestOptions - The options for the HTTP request.\n * @returns A promise that resolves to a ServiceResponse containing the updated shipping information.\n */\n public async updateShipping(\n params: {\n shippingFirstName?: string;\n shippingLastName?: string;\n shippingProvinceCode?: string;\n shippingDistrictCode?: string;\n shippingSubDistrictCode?: string;\n shippingZipCode?: string;\n shippingAddress?: string;\n shippingProvinceName?: string;\n shippingDistrictName?: string;\n shippingSubFDistrictName?: string;\n shippingContactNumber?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post(\n 'profile/me/shipping',\n {\n shippingfirstname: params.shippingFirstName,\n shippinglastname: params.shippingLastName,\n shipping_province_code: params.shippingProvinceCode,\n shipping_district_code: params.shippingDistrictCode,\n shipping_subdistrict_code: params.shippingSubDistrictCode,\n shipping_zipcode: params.shippingZipCode,\n shipping_address: params.shippingAddress,\n shipping_province_name: params.shippingProvinceName,\n shipping_district_name: params.shippingDistrictName,\n shipping_subdistrict_name: params.shippingSubFDistrictName,\n shipping_contact_number: params.shippingContactNumber,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Changes the contact number of the user.\n *\n * @param params - The parameters for changing the contact number.\n * @param params.contactNumber - The new contact number.\n * @param params.otp - The one-time password.\n * @param params.refCode - The reference code.\n * @param params.idCard - (Optional) The ID card for additional verification.\n * @param params.options - (Optional) Additional options for the request.\n * @param requestOptions - (Optional) The options for the request.\n * @returns A promise that resolves to the response of the request.\n */\n public async changeContactNumber(\n params: {\n contactNumber: string;\n otp: string;\n refCode: string;\n idCard?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ConfirmOtpResponse>> {\n return await this.post(\n 'auth/change_authen',\n {\n contact_number: params.contactNumber,\n otp: params.otp,\n refcode: params.refCode,\n idcard: params.idCard,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Changes the contact number for the current user.\n *\n * @param params - The parameters for changing the contact number.\n * @param params.contactNumber - The new contact number.\n * @param params.otp - The one-time password for verification.\n * @param params.refCode - The reference code for verification.\n * @param params.options - Additional options for the request.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the result of the request.\n */\n public async changeContactNumberV2(\n params: {\n contactNumber: string;\n otp: string;\n refCode: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<any>> {\n return await this.post(\n 'profile/me/contact_number',\n {\n contact_number: params.contactNumber,\n otp: params.otp,\n refcode: params.refCode,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Changes the contact number for the current user.\n *\n * @param params - The parameters for changing the contact number.\n * @param params.contactNumber - The new contact number.\n * @param params.otp - The one-time password for verification.\n * @param params.refCode - The reference code for verification.\n * @param params.options - Additional options for the request.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the result of the request.\n */\n public async changeContactNumberV3(\n params: {\n userId: string;\n contactNumber: string;\n otp: string;\n refCode: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<any>> {\n return await this.post(\n `profile/${params.userId}/contact_number`,\n {\n contact_number: params.contactNumber,\n otp: params.otp,\n refcode: params.refCode,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Retrieves the updated points for the current user's profile.\n *\n * @param options - Optional additional parameters.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the updated points.\n */\n public async points(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<UpdatedPoints>> {\n return await this.get(\n 'profile/me/updated_points',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves the expiring points for the current user's profile.\n *\n * @param options - Optional additional parameters.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the expiring points.\n */\n public async expiringPoints(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ExpiringPoints>> {\n return await this.get(\n 'profile/me/allexpiring_points',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Deactivates the user's profile.\n *\n * @param options - Optional additional parameters.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the result of the deactivation.\n */\n public async deactivate(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post(\n 'profile/me/deactivate',\n {\n ...options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { RegistrationResponse } from '../../models/registration-response';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { OtpResponse } from '../../models';\n\nexport class RegistrationApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Validates registration information before actual registration. \n * This also triggers the backend to send OTP to the contact number or email.\n * Please refrain from using this API along with request otp API.\n * Possible error codes:\n * 2078 - Duplicate contact number\n * 2089 - Duplicate email\n * 401 - Duplicate username\n *\n * @param params - The validation parameters.\n * @param params.appId - The application ID.\n * @param params.username - The username.\n * @param params.email - The email.\n * @param params.contactNumber - The contact number.\n * @param requestOptions - The optional request options.\n * @returns A promise that resolves to a service response.\n */\n public async validateRegister(\n params: {\n appId: string;\n username: string;\n email: string;\n contactNumber: string;\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<OtpResponse>> {\n return await this.post(\n 'auth/validate_register',\n {\n app_id: params.appId,\n username: params.username,\n email: params.email,\n contact_number: params.contactNumber,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Registers a user with the provided registration parameters.\n *\n * @param params - The registration parameters.\n * @param params.appId - The application ID.\n * @param params.uuid - The UUID.\n * @param params.macAddress - The MAC address.\n * @param params.os - The operating system.\n * @param params.platform - The platform.\n * @param params.clientVersion - The client version.\n * @param params.deviceNotificationEnable - The device notification enable.\n * @param params.username - The username.\n * @param params.password - The password.\n * @param params.confirmPassword - The confirm password.\n * @param params.firstName - The first name.\n * @param params.lastName - The last name.\n * @param params.contactNumber - The contact number.\n * @param params.otp - The OTP.\n * @param params.refCode - The referral code.\n * @param params.address - The address.\n * @param params.gender - The gender.\n * @param params.birthdate - The birthdate. In seconds since epoch.\n * @param params.email - The email.\n * @param params.refUserCode - The referral user code.\n * @param params.info - The info json string.\n * @param params.termAndConditionVersion - The term and condition version.\n * @param params.dataPrivacyVersion - The data privacy version.\n * @param params.marketingOptionsVersion - The marketing options version.\n * @param params.consentAge - The consent age.\n * @param params.emailMarketing - The email marketing.\n * @param params.smsMarketing - The SMS marketing.\n * @param params.notificationMarketing - The notification marketing.\n * @param params.lineMarketing - The line marketing.\n * @param params.phoneMarketing - The phone marketing.\n * @param params.options - The options.\n * @param requestOptions - The optional request options.\n * @returns A promise that resolves to a service response containing the registration response.\n */\n public async register(\n params: {\n appId: string;\n uuid: string;\n macAddress: string;\n os: string;\n platform: string;\n clientVersion: string;\n deviceNotificationEnable: boolean;\n username: string;\n password: string;\n confirmPassword: string;\n firstName: string;\n lastName: string;\n contactNumber: string;\n otp: string;\n refCode: string;\n address?: string;\n gender?: string;\n birthdate?: number;\n email?: string;\n refUserCode?: string;\n info?: string;\n termAndConditionVersion?: string;\n dataPrivacyVersion?: string;\n marketingOptionsVersion?: string;\n consentAge?: string;\n emailMarketing?: string;\n smsMarketing?: string;\n notificationMarketing?: string;\n lineMarketing?: string;\n phoneMarketing?: string;\n options: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<RegistrationResponse>> {\n return await this.post(\n 'auth/register',\n {\n app_id: params.appId,\n uuid: params.uuid,\n mac_address: params.macAddress,\n os: params.os,\n platform: params.platform,\n client_version: params.clientVersion,\n device_noti_enable: params.deviceNotificationEnable,\n username: params.username,\n password: params.password,\n confirmpassword: params.confirmPassword,\n firstname: params.firstName,\n lastname: params.lastName,\n contact_number: params.contactNumber,\n otp: params.otp,\n refcode: params.refCode,\n address: params.address,\n gender: params.gender,\n birthdate: params.birthdate,\n email: params.email,\n refusercode: params.refUserCode,\n info: params.info,\n termandcondition: params.termAndConditionVersion,\n dataprivacy: params.dataPrivacyVersion,\n marketingOption: params.marketingOptionsVersion,\n consentage: params.consentAge,\n mktoption_email: params.emailMarketing,\n mktoption_sms: params.smsMarketing,\n mktoption_notification: params.notificationMarketing,\n mktoption_line: params.lineMarketing,\n mktoption_phone: params.phoneMarketing,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { ZipCode } from '../../models/zipcode';\nimport { Address } from '../../models/address';\nimport { Province } from '../../models/province';\nimport { District } from '../../models/district';\nimport { SubDistrict } from '../../models/sub-district';\n\nexport class AddressApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Get information of zip code\n *\n * @param params.zipCode - Zip code\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of ZipCode objects\n */\n public async zipCodes(\n params: {\n zipCode?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ZipCode[]>> {\n return await this.get<ZipCode[]>(\n 'main/postcode',\n {\n zip_code: params.zipCode,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Get list of Thailand province\n *\n * @param options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of Province objects\n */\n public async provinces(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Province[]>> {\n return await this.get<Province[]>(\n 'main/province',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Get list of Thailand district\n *\n * @param params.provinceCode - Province code\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of District objects\n */\n public async districts(\n params: {\n provinceCode?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<District[]>> {\n return await this.get<District[]>(\n 'main/district',\n {\n province_code: params.provinceCode,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Get list of Thailand sub district\n *\n * @param params.provinceCode - Province code\n * @param params.districtCode - District code\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of SubDistrict objects\n */\n public async subDistricts(\n params: {\n provinceCode?: string;\n districtCode?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<SubDistrict[]>> {\n return await this.get<SubDistrict[]>(\n 'main/subdistrict',\n {\n province_code: params.provinceCode,\n district_code: params.districtCode,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Get user addresses\n *\n * @param options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of Address objects\n */\n public async userAddresses(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Address[]>> {\n return await this.get<Address[]>(\n 'profile/me/addresses',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Update user address\n *\n * @param params - The parameters for updating the address\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the updated Address object\n */\n public async updateAddress(\n params: {\n name?: string;\n addressName?: string;\n firstName?: string;\n lastName?: string;\n address?: string;\n zipcode?: string;\n provinceCode?: string;\n provinceName?: string;\n districtCode?: string;\n districtName?: string;\n subDistrictCode?: string;\n subDistrictName?: string;\n contactNumber?: string;\n countryCode?: string;\n countryName?: string;\n isDefault?: boolean;\n rowKey?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Address>> {\n return await this.post<Address>(\n 'profile/me/address',\n {\n name: params.name,\n addressName: params.addressName,\n firstname: params.firstName,\n lastname: params.lastName,\n address: params.address,\n zipcode: params.zipcode,\n province_code: params.provinceCode,\n province_name: params.provinceName,\n district_code: params.districtCode,\n district_name: params.districtName,\n subdistrict_code: params.subDistrictCode,\n subdistrict_name: params.subDistrictName,\n contact_number: params.contactNumber,\n country_code: params.countryCode,\n country_name: params.countryName,\n isDefault: params.isDefault,\n key: params.rowKey,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Delete user address\n *\n * @param params.rowKey - Row key\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the result of the deletion\n */\n public async deleteAddress(\n params: { rowKey?: string; options?: { [key: string]: unknown } },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.delete<unknown>('profile/me/address', {\n params: {\n key: params.rowKey ?? '',\n ...params.options,\n },\n ...requestOptions,\n });\n }\n\n /**\n * Get user tax addresses\n *\n * @param options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of Address objects\n */\n public async userTaxAddresses(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Address[]>> {\n return await this.get<Address[]>(\n 'profile/me/taxes',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Update user tax address\n *\n * @param params - The parameters for updating the tax address\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the updated Address object\n */\n public async updateTaxAddress(\n params: {\n rowKey?: string;\n taxId?: string;\n isDefault?: boolean;\n personType?: string;\n title?: string;\n name?: string;\n firstName?: string;\n lastName?: string;\n email?: string;\n contactNumber?: string;\n companyName?: string;\n address?: string;\n addressName?: string;\n floor?: string;\n building?: string;\n moo?: string;\n road?: string;\n room?: string;\n soi?: string;\n village?: string;\n districtCode?: string;\n districtName?: string;\n provinceCode?: string;\n provinceName?: string;\n subDistrictCode?: string;\n subDistrictName?: string;\n zipcode?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Address>> {\n return await this.post<Address>(\n 'profile/me/tax',\n {\n key: params.rowKey,\n taxId: params.taxId,\n isDefault: params.isDefault,\n personType: params.personType,\n title: params.title,\n name: params.name,\n firstname: params.firstName,\n lastname: params.lastName,\n email: params.email,\n contact_number: params.contactNumber,\n companyName: params.companyName,\n address: params.address,\n addressName: params.addressName,\n floor: params.floor,\n building: params.building,\n moo: params.moo,\n road: params.road,\n room: params.room,\n soi: params.soi,\n village: params.village,\n district_code: params.districtCode,\n district_name: params.districtName,\n province_code: params.provinceCode,\n province_name: params.provinceName,\n subdistrict_code: params.subDistrictCode,\n subdistrict_name: params.subDistrictName,\n zipcode: params.zipcode,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Delete user tax address\n *\n * @param params.rowKey - Row key\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the result of the deletion\n */\n public async deleteTaxAddress(\n params: { rowKey?: string; options?: { [key: string]: unknown } },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.delete<unknown>('profile/me/tax', {\n params: {\n key: params.rowKey ?? '',\n ...params.options,\n },\n ...requestOptions,\n });\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { CreateStampResponse } from '../../models/create-stamp-response';\nimport { Stamp } from '../../models/stamp';\nimport { StampProfileResponse } from '../../models/stamp-profile-response';\n\nexport class StampApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Create stamp\n *\n * @param params - The parameters for creating the stamp\n * @param params.imei - The IMEI\n * @param params.issuer - The issuer\n * @param params.os - The operating system\n * @param params.platform - The platform\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the created stamp response\n */\n public async createStamp(\n params: {\n imei?: string;\n issuer?: string;\n os?: string;\n platform?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<CreateStampResponse>> {\n return await this.post<CreateStampResponse>(\n 'stamp/create',\n {\n imei: params.imei,\n issuer: params.issuer,\n os: params.os,\n platform: params.platform,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Get list of stamps\n *\n * @param options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of stamps\n */\n public async stamps(\n options: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Stamp[]>> {\n return await this.get<Stamp[]>(\n 'stamp',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Get stamp info\n *\n * @param id - Stamp id\n * @param cardId - Card Id\n * @param options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the stamp profile response\n */\n public async stampProfile(\n params: {\n id: string;\n cardId: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<StampProfileResponse>> {\n return await this.get<StampProfileResponse>(\n `stamp/${params.id}/profile`,\n {\n cardId: params.cardId,\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { RequestHelpCode } from '../../models/request-help-code';\nimport { ChatMessage } from '../../models/chat-message';\nimport { LikeForumResponse } from '../../models/like-forum-response';\n\nexport class RequestHelpApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Get help code\n *\n * @param params - The parameters for getting the help code\n * @param params.os - The operating system\n * @param params.platform - The platform\n * @param params.clientVersion - The client version\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the help code\n */\n public async helpCode(\n params: {\n os: string;\n platform: string;\n clientVersion: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<RequestHelpCode>> {\n return await this.post<RequestHelpCode>(\n 'profile/me/help',\n {\n os: params.os,\n platform: params.platform,\n client_version: params.clientVersion,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Get request help list\n *\n * @param params - The parameters for getting the request help list\n * @param params.requestId - The request ID\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing a list of chat messages\n */\n public async requestHelpList(\n params: {\n requestId: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ChatMessage[]>> {\n return await this.get<ChatMessage[]>(\n `buzz/${params.requestId}/list`,\n {\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Get request help detail\n *\n * @param params - The parameters for getting the request help detail\n * @param params.buzzKey - The buzz key\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing a chat message\n */\n public async requestDetail(\n params: { buzzKey: string; options?: { [key: string]: unknown } },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ChatMessage>> {\n return await this.get<ChatMessage>(\n `buzz/${params.buzzKey}`,\n {\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Create request help\n *\n * @param params - The parameters for creating the request help\n * @param params.requestId - The request ID\n * @param params.message - The message\n * @param params.image - The image\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing a chat message\n */\n public async postRequestHelp(\n params: {\n requestId: string;\n message: string;\n image?: File;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ChatMessage>> {\n return await this.post<ChatMessage>(\n `buzz/${params.requestId}/buzz`,\n {\n message: params.message,\n source: params.image,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'multipart/form-data',\n ...requestOptions?.headers,\n },\n ...requestOptions,\n }\n );\n }\n\n /**\n * Get comment list\n *\n * @param params - The parameters for getting the comment list\n * @param params.buzzKey - The buzz key\n * @param params.lastRowKey - The last row key\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing a list of chat messages\n */\n public async comments(\n params: {\n buzzKey: string;\n lastRowKey?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ChatMessage[]>> {\n return await this.get<ChatMessage[]>(\n `buzz/${params.buzzKey}/comments`,\n {\n lastRowKey: params.lastRowKey,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Create comment\n *\n * @param params - The parameters for creating the comment\n * @param params.buzzKey - The buzz key\n * @param params.message - The message\n * @param params.image - The image\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing a chat message\n */\n public async postComment(\n params: {\n buzzKey: string;\n message: string;\n image?: File;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ChatMessage>> {\n return await this.post<ChatMessage>(\n `buzz/${params.buzzKey}/comments`,\n {\n message: params.message,\n source: params.image,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'multipart/form-data',\n ...requestOptions?.headers,\n },\n ...requestOptions,\n }\n );\n }\n\n /**\n * Like post\n *\n * @param params - The parameters for liking the post\n * @param params.buzzKey - The buzz key\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the like forum response\n */\n public async like(\n params: { buzzKey: string; options?: { [key: string]: unknown } },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LikeForumResponse>> {\n return await this.post<LikeForumResponse>(\n `buzz/${params.buzzKey}/like`,\n {\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Unlike post\n *\n * @param params - The parameters for unliking the post\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the like forum response\n */\n public async unlike(\n params: {\n buzzKey: string;\n options?: { [key: string]: string };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LikeForumResponse>> {\n return await this.delete<LikeForumResponse>(`buzz/${params.buzzKey}/like`, {\n params: {\n ...params.options,\n },\n ...requestOptions,\n });\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { AccessTokenResponse } from '../../models/access-token-response';\n\nexport class SettingApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Get access key for web landing.\n *\n * @param params - The parameters.\n * @param params.data - JSON string of data. Available data:\n * - \"app_id\" (Required, string): App Id\n * - \"campaign_id\" (Required, int): Campaign ID\n * - \"locale\" (Required, int): User Locale\n * - \"return_url\" (Required, string): URL to redirect back to App\n * - \"version\" (Required, string): Version of landing interface\n * - \"redeem_key\" (Optional, string): Required for case history - Redeem Key from history API (CampaignID_ItemNumber)\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the access token response.\n */\n public async accessKey(\n params: {\n data: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<AccessTokenResponse>> {\n return await this.post<AccessTokenResponse>(\n 'setting',\n {\n data: params.data,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { ConsentVersion, Maintenance } from '../../models';\nimport { BaseService, ServiceResponse, RequestOptions } from '../base-service';\n\nexport class Blob extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n \n super(client, baseUrl);\n }\n\n public async consentVersion(appId: string): Promise<ServiceResponse<ConsentVersion>> {\n return this.get(`pdpaconsent/${appId}/version`);\n }\n\n public async maintenance(appId: string): Promise<ServiceResponse<Maintenance>> {\n return this.get(`config/maintenance/${appId}.json`);\n }\n\n public async blob(path: string, requestOptions?: RequestOptions): Promise<ServiceResponse<unknown>> {\n return this.get(path, requestOptions);\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { AuthenticateApi } from './auth/auth-api';\nimport { BadgeApi } from './badge/badge-api';\nimport { CampaignApi } from './campaign/campaign-api';\nimport { CartApi } from './cart/cart-api';\nimport { CategoryApi } from './category/category-api';\nimport { ConsentApi } from './consent/consent-api';\nimport { CouponApi } from './coupon/coupon-api';\nimport { DashboardApi } from './dashboard/dashboard-api';\nimport { HistoryApi } from './history/history-api';\nimport { LineApi } from './line/line-api';\nimport { NotificationApi } from './notification/notification-api';\nimport { PlaceApi } from './place/place-api';\nimport { PointLogApi } from './point-log/point-log-api';\nimport { ProfileApi } from './profile/profile-api';\nimport { RegistrationApi } from './registration/registration-api';\nimport { AddressApi } from './address/address-api';\nimport { StampApi } from './stamp/stamp-api';\nimport { RequestHelpApi } from './request-help/request-help-api';\nimport { SettingApi } from './setting/setting-api';\nimport { Blob } from './blob/blob';\n\nexport class BzbsService {\n client: AxiosInstance;\n baseUrl: string;\n baseLineUrl: string;\n baseBlobUrl: string;\n\n authApi: AuthenticateApi;\n badgeApi: BadgeApi;\n campaignApi: CampaignApi;\n cartApi: CartApi;\n categoryApi: CategoryApi;\n consentApi: ConsentApi;\n couponApi: CouponApi;\n dashboardApi: DashboardApi;\n historyApi: HistoryApi;\n lineApi: LineApi | undefined;\n notificationApi: NotificationApi;\n placeApi: PlaceApi;\n pointLogApi: PointLogApi;\n profileApi: ProfileApi;\n registerApi: RegistrationApi;\n addressApi: AddressApi;\n stampApi: StampApi;\n forumApi: RequestHelpApi;\n settingApi: SettingApi;\n blob: Blob;\n\n constructor(client: AxiosInstance, baseUrl: string, baseLineUrl: string|\"\", baseBlobUrl: string) {\n this.client = client;\n this.baseUrl = baseUrl;\n this.baseLineUrl = baseLineUrl;\n this.baseBlobUrl = baseBlobUrl;\n \n this.authApi = new AuthenticateApi(this.client, this.baseUrl);\n this.badgeApi = new BadgeApi(this.client, this.baseUrl);\n this.campaignApi = new CampaignApi(this.client, this.baseUrl);\n this.cartApi = new CartApi(this.client, this.baseUrl);\n this.categoryApi = new CategoryApi(this.client, this.baseUrl);\n this.consentApi = new ConsentApi(this.client, this.baseUrl);\n this.couponApi = new CouponApi(this.client, this.baseUrl);\n this.dashboardApi = new DashboardApi(this.client, this.baseUrl);\n this.historyApi = new HistoryApi(this.client, this.baseUrl);\n\n if(this.baseLineUrl) {\n this.lineApi = new LineApi(this.client, this.baseLineUrl);\n }\n\n this.notificationApi = new NotificationApi(this.client, this.baseUrl);\n this.placeApi = new PlaceApi(this.client, this.baseUrl);\n this.pointLogApi = new PointLogApi(this.client, this.baseUrl);\n this.profileApi = new ProfileApi(this.client, this.baseUrl);\n this.registerApi = new RegistrationApi(this.client, this.baseUrl);\n this.addressApi = new AddressApi(this.client, this.baseUrl);\n this.stampApi = new StampApi(this.client, this.baseUrl);\n this.forumApi = new RequestHelpApi(this.client, this.baseUrl);\n this.settingApi = new SettingApi(this.client, this.baseUrl);\n this.blob = new Blob(this.client, this.baseBlobUrl);\n }\n\n setBaseUrl(baseUrl: string) {\n this.baseUrl = baseUrl;\n this.authApi.setBaseUrl(baseUrl);\n this.badgeApi.setBaseUrl(baseUrl);\n this.campaignApi.setBaseUrl(baseUrl);\n this.cartApi.setBaseUrl(baseUrl);\n this.categoryApi.setBaseUrl(baseUrl);\n this.consentApi.setBaseUrl(baseUrl);\n this.couponApi.setBaseUrl(baseUrl);\n this.dashboardApi.setBaseUrl(baseUrl);\n this.historyApi.setBaseUrl(baseUrl);\n this.notificationApi.setBaseUrl(baseUrl);\n this.placeApi.setBaseUrl(baseUrl);\n this.pointLogApi.setBaseUrl(baseUrl);\n this.profileApi.setBaseUrl(baseUrl);\n this.registerApi.setBaseUrl(baseUrl);\n this.addressApi.setBaseUrl(baseUrl);\n this.stampApi.setBaseUrl(baseUrl);\n this.forumApi.setBaseUrl(baseUrl);\n this.settingApi.setBaseUrl(baseUrl);\n return this;\n }\n\n setBlobUrl(blobUrl: string) {\n this.blob.setBaseUrl(blobUrl);\n return this;\n }\n\n setLineUrl(lineUrl: string) {\n this.lineApi?.setBaseUrl(lineUrl);\n return this;\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/api/base-service.ts","../src/api/auth/auth-api.ts","../src/api/badge/badge-api.ts","../src/api/campaign/campaign-api.ts","../src/api/cart/cart-api.ts","../src/api/category/category-api.ts","../src/api/consent/consent-api.ts","../src/api/coupon/coupon-api.ts","../src/api/dashboard/dashboard-api.ts","../src/api/history/history-api.ts","../src/api/line/line-api.ts","../src/api/notification/notification-api.ts","../src/api/place/place-api.ts","../src/api/point-log/point-log-api.ts","../src/api/profile/profile-api.ts","../src/api/registration/registration-api.ts","../src/api/address/address-api.ts","../src/api/stamp/stamp-api.ts","../src/api/request-help/request-help-api.ts","../src/api/setting/setting-api.ts","../src/api/blob/blob.ts","../src/api/bzbs-service.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { AxiosInstance, AxiosResponse } from 'axios';\nimport { BzbsErrorResponse } from '../models/bzbs-error-response';\n\nexport type ServiceResponse<T> = SuccessResponse<T> | ErrorResponse;\n\nexport interface ApiResponse<T> {\n Success: boolean;\n Data: T;\n success: boolean;\n data: T;\n}\n\nexport type SuccessResponse<T> = {\n type: 'success';\n model: T;\n response: AxiosResponse;\n};\n\nexport type ErrorResponse = ClientError | ServerError;\n\nexport type ClientError = {\n type: 'client-error';\n message: string;\n details?: any;\n};\n\nexport type ServerError = {\n type: 'server-error';\n error: BzbsErrorResponse;\n statusCode: number;\n response: AxiosResponse;\n};\n\nexport type RequestOptions = {\n headers?: { [key: string]: string };\n params?: { [key: string]: string };\n data?: any;\n baseUrl?: string;\n};\n\nexport type CrossPlatformFile = File | { uri: string; name: string; type: string } | object;\n\nexport class BaseService {\n private client: AxiosInstance;\n private baseUrl: string;\n\n constructor(client: AxiosInstance, baseUrl: string) {\n if (!client) throw new Error('Axios client is required.');\n if (!baseUrl) throw new Error('Base URL is required.');\n this.client = client;\n this.baseUrl = baseUrl;\n }\n\n private normalizeError(error: any): ErrorResponse {\n if (error.error) {\n return {\n type: 'server-error',\n error: error.error as BzbsErrorResponse,\n statusCode: error.response.status,\n response: error.response,\n };\n }\n\n if (error.response && error.response.data) {\n // Server-side error\n return {\n type: 'server-error',\n error: error.response.data as BzbsErrorResponse,\n statusCode: error.response.status,\n response: error.response,\n };\n }\n // Client-side error\n return {\n type: 'client-error',\n message: error.message || 'An unexpected error occurred.',\n details: error,\n };\n }\n\n private normalizeResponse<T>(response: AxiosResponse): ServiceResponse<T> {\n // Handle 204 No Content\n if (response.status === 204) {\n return { model: {} as T, response, type: 'success' };\n }\n\n const data = response.data;\n\n // Check for both possible success flags\n const isSuccess = data?.Success === true || data?.success === true;\n\n if (isSuccess) {\n // Prefer 'Data', fallback to 'data', else empty object\n const model = 'Data' in data ? data.Data : 'data' in data ? data.data : ({} as T);\n return { model, response, type: 'success' };\n }\n\n // If the response has the success fields but is not successful, treat as error\n if ('Success' in data || 'success' in data) {\n const error = {\n type: 'server-error',\n error: {\n requestId: data.RequestId || '',\n error: {\n id: data.Code || data.code || response.status,\n message: data.Message || data.message || response.statusText,\n code: data.Code || data.code || response.status,\n type: 'buzzebees',\n },\n },\n statusCode: data.Code || response.status,\n response,\n };\n return this.normalizeError(error);\n }\n\n // Fallback: treat as success with raw data\n return { model: data, response, type: 'success' };\n }\n\n private async request<T>(\n method: 'get' | 'post' | 'put' | 'delete' | 'patch',\n path: string,\n data?: any,\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<T>> {\n try {\n const url = this.joinUrl(requestOptions?.baseUrl ?? this.baseUrl, path);\n const config = {\n params: requestOptions?.params,\n headers: this.getHeaders(requestOptions?.headers),\n data,\n };\n const response = await this.client.request<any>({ method, url, ...config });\n return this.normalizeResponse<T>(response);\n } catch (error: any) {\n return this.normalizeError(error);\n }\n }\n\n /* if blob type we not include header in requestOptions */\n async get<T>(path: string, params?: any, requestOptions?: RequestOptions): Promise<ServiceResponse<T>> {\n return this.request<T>('get', path, undefined, { ...requestOptions, params });\n }\n\n async post<T>(path: string, data: any, requestOptions?: RequestOptions): Promise<ServiceResponse<T>> {\n return this.request<T>('post', path, data, requestOptions);\n }\n\n async put<T>(path: string, data: any, requestOptions?: RequestOptions): Promise<ServiceResponse<T>> {\n return this.request<T>('put', path, data, requestOptions);\n }\n\n async delete<T>(path: string, requestOptions?: RequestOptions): Promise<ServiceResponse<T>> {\n return this.request<T>('delete', path, undefined, requestOptions);\n }\n\n async patch<T>(path: string, data: any, requestOptions?: RequestOptions): Promise<ServiceResponse<T>> {\n return this.request<T>('patch', path, data, requestOptions);\n }\n\n joinUrl(baseUrl: string, path: string): string {\n // Remove trailing slash from baseUrl\n const sanitizedBase = baseUrl.replace(/\\/+$/, '');\n // Remove leading slash from path\n const sanitizedPath = path.replace(/^\\/+/, '');\n return `${sanitizedBase}/${sanitizedPath}`;\n }\n\n getHeaders(customHeaders?: { [key: string]: string }): { [key: string]: string } {\n return {\n 'Content-Type': 'application/json',\n ...customHeaders,\n };\n }\n\n setBaseUrl(baseUrl: string) {\n if (baseUrl.length === 0) throw new Error('Base URL is required.');\n this.baseUrl = baseUrl;\n return this;\n }\n\n static createFormData(data: Record<string, any>, fileKey?: string, file?: CrossPlatformFile): FormData {\n const formData = new FormData();\n\n for (const key in data) {\n if (data[key] !== undefined && data[key] !== null && data[key] !== '') {\n formData.append(key, data[key]);\n }\n }\n\n if (file) {\n formData.append(fileKey ?? 'data', file as any);\n }\n \n return formData;\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { LoginResponse } from '../../models/login-model';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { ForgetPasswordResponse } from '../../models/forget-password-response';\nimport { ConfirmOtpResponse, StatusResponse } from '../../models';\nimport { OtpResponse } from '../../models/otp-response';\nimport { ValidateOtpResponse } from '../../models/validate-otp-response';\nimport { ResumeResponse } from '../../models/resume-response';\nimport { Version } from '../../models/version';\nimport { AppleToken } from '../../models/apple-token';\n\nexport class AuthenticateApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Performs a device login using the provided device uuid.\n *\n * @param params - The parameters.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.otp - The OTP to confirm. (For Login with OTP only)\n * @param params.refcode - The reference code for the OTP. (For Login with OTP only)\n * @param params.contact_number - The contact number for the user. (For Login with OTP only)\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async deviceLogin(\n params: {\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n otp?: string;\n refcode?: string;\n contact_number?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/device_login',\n {\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n otp: params.otp,\n refcode: params.refcode,\n contact_number: params.contact_number,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Performs a Facebook login using the provided Facebook access token.\n *\n * @param params - The parameters.\n * @param accessToken - The access token obtained from Facebook.\n * @param appId - Your application id.\n * @param uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async facebookLogin(\n params: {\n accessToken: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/login',\n {\n access_token: params.accessToken,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Performs a Google login using the provided id token, app id, and uuid.\n *\n * @param params - The parameters.\n * @param params.idToken - The Google id token.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async googleLogin(\n params: {\n idToken: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/google_login',\n {\n id_token: params.idToken,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Performs a Line login using the provided id token, Line access token and authorization code.\n *\n * @param params - The parameters.\n * @param params.idToken - The Line id token.\n * @param params.lineAccessToken - The Line access token.\n * @param params.authorizationCode - The Line authorization code.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async lineLogin(\n params: {\n idToken: string;\n lineAccessToken: string;\n authorizationCode: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/line_login',\n {\n id_token: params.idToken,\n line_access_token: params.lineAccessToken,\n authorization_code: params.authorizationCode,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Performs an Apple login using the provided id token and Apple refresh token.\n *\n * @param params - The parameters.\n * @param params.idToken - The Apple id token.\n * @param params.refreshToken - The Apple refresh token.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async appleLogin(\n params: {\n idToken: string;\n refreshToken: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/apple_login',\n {\n id_token: params.idToken,\n refresh_token: params.refreshToken,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Request apple refresh token from the server\n *\n * @param params - The parameters.\n * @param params.authorizationCode - Apple authorization code\n * @param params.idToken - Apple identity token\n * @param params.appId - Your application id. See in Backoffice on Application\n * @param params.os - Your device operation system + version. Ex. ios 11.2.1 , android 9.0\n * @param params.platform - Your platform. Ex. iPhone , Android\n * @param params.macAddress - Unique device identifier\n * @param params.clientVersion - Number of version (App Prefix + Your application version , Ex. ios_buzzebeesdemo1.0.1)\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the Apple token response.\n */\n public async appleToken(\n params: {\n authorizationCode: string;\n idToken: string;\n appId: string;\n os: string;\n platform: string;\n macAddress: string;\n clientVersion: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<AppleToken>> {\n return await this.post<AppleToken>(\n 'auth/apple_token',\n {\n authorization_code: params.authorizationCode,\n id_token: params.idToken,\n app_id: params.appId,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n client_version: params.clientVersion,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Performs a username and password login using the provided username and password.\n *\n * @param params - The parameters.\n * @param params.username - The username of the user.\n * @param params.password - The password of the user.\n * @param params.uuid - The unique device identifier.\n * @param params.appId - Your application id.\n * @param params.options - (Optional) Additional params for the request.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async usernamePasswordLogin(\n params: {\n username: string;\n password: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/bzbs_login',\n {\n username: params.username,\n password: params.password,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Connect with LINE. If authorization token is provided, it will connect current user with given LINE credentials.\n * Otherwise, it tries to login with those credentials.\n *\n * @param params - The parameters.\n * @param params.idToken - The LINE id token.\n * @param params.lineAccessToken - The LINE access token.\n * @param params.authorizationCode - The LINE authorization code.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async connectLine(\n params: {\n idToken: string;\n lineAccessToken: string;\n authorizationCode: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/line_login',\n {\n id_token: params.idToken,\n line_access_token: params.lineAccessToken,\n authorization_code: params.authorizationCode,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Connect with Facebook. If authorization token is provided, it will connect current user with given Facebook access token.\n * Otherwise, it tries to login with that access token.\n *\n * @param params - The parameters.\n * @param params.accessToken - The Facebook access token.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async connectFacebook(\n params: {\n accessToken: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/login',\n {\n access_token: params.accessToken,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Connect with Google. If authorization token is provided, it will connect current user with given Google id token.\n * Otherwise, it tries to login with that id token.\n *\n * @param params - The parameters.\n * @param params.idToken - The Google id token.\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async connectGoogle(\n params: {\n idToken: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/google_login',\n {\n id_token: params.idToken,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Connect with Apple. If authorization token is provided, it will connect current user with given Apple credentials.\n * Otherwise, it tries to login with those credentials.\n *\n * @param params - The parameters.\n * @param params.idToken - The Apple id token.\n * @param params.refreshToken - The Apple refresh token from appleToken().\n * @param params.appId - Your application id.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the login response.\n */\n public async connectApple(\n params: {\n idToken: string;\n refreshToken: string;\n appId: string;\n uuid: string;\n deviceLocale: string;\n os: string;\n platform: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n macAddress: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LoginResponse>> {\n return await this.post<LoginResponse>(\n 'auth/apple_login',\n {\n id_token: params.idToken,\n refresh_token: params.refreshToken,\n app_id: params.appId,\n uuid: params.uuid,\n device_locale: params.deviceLocale,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: true,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Performs a logout for the user.\n *\n * @param params - The parameters.\n * @param params.uuid - The unique device identifier.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the logout response.\n */\n public async logout(\n params: {\n uuid: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post<unknown>(\n 'auth/logout',\n {\n uuid: params.uuid,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Sends a forget password request to the user.\n *\n * @param params - The parameters.\n * @param params.contact - The contact information for the user (email or contact number).\n * @param params.type - The type of contact information.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the forget password response.\n */\n public async forgetPassword(\n params: {\n contact: string;\n type: 'email' | 'contact_number' | 'email_otp';\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ForgetPasswordResponse>> {\n return await this.get<ForgetPasswordResponse>(\n 'profile/forget_password',\n {\n id: params.contact,\n type: params.type,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Resets the password for a user.\n *\n * @param params - The parameters.\n * @param params.contact - The contact information for the user (email or contact number).\n * @param params.refCode - The reference code for password reset.\n * @param params.newPassword - The new password to set.\n * @param params.otp - (Optional) The one-time password.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the status response.\n */\n public async resetPassword(\n params: {\n contact: string;\n refCode: string;\n newPassword: string;\n otp?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<StatusResponse>> {\n return await this.post<StatusResponse>(\n 'profile/forget_password',\n {\n id: params.contact,\n refcode: params.refCode,\n change: params.newPassword,\n otp: params.otp,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Sends an OTP (One-Time Password) to the user for authentication (GET method).\n *\n * @param params - The parameters.\n * @param params.uuid - The unique device identifier.\n * @param params.appId - Your application id.\n * @param params.contactNumber - The contact number for the user.\n * @param params.channel - (Optional) The channel to use for OTP delivery.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the OTP response.\n */\n public async otp(\n params: {\n uuid: string;\n appId: string;\n contactNumber: string;\n channel?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<OtpResponse>> {\n return await this.get<OtpResponse>(\n 'auth/otp',\n {\n uuid: params.uuid,\n app_id: params.appId,\n contact_number: params.contactNumber,\n channel: params.channel,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Sends an OTP (One-Time Password) to the user for authentication (POST method, V2).\n *\n * @param params - The parameters.\n * @param params.appId - Your application id.\n * @param params.contactNumber - The contact number for the user.\n * @param params.channel - (Optional) The channel to use for OTP delivery.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the OTP response.\n */\n public async otpV2(\n params: {\n appId: string;\n contactNumber: string;\n channel?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<OtpResponse>> {\n return await this.post<OtpResponse>(\n 'auth/otp',\n {\n app_id: params.appId,\n contact_number: params.contactNumber,\n channel: params.channel,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Sends an OTP (One-Time Password) via email to the user for authentication.\n *\n * @param params - The parameters.\n * @param params.uuid - The unique device identifier.\n * @param params.appId - Your application id.\n * @param params.email - The email address for the user.\n * @param params.channel - (Optional) The channel to use for OTP delivery.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the OTP response.\n */\n public async otpEmail(\n params: {\n uuid: string;\n appId: string;\n email: string;\n channel?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<OtpResponse>> {\n return await this.get<OtpResponse>(\n 'auth/otp_email',\n {\n uuid: params.uuid,\n app_id: params.appId,\n email: params.email,\n channel: params.channel,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Confirm the OTP (One-Time Password) for authentication.\n *\n * @param params - The parameters.\n * @param params.otp - The OTP to confirm.\n * @param params.refCode - The reference code for the OTP.\n * @param params.contactNumber - The contact number for the user.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the confirm OTP response.\n */\n public async confirmOtp(\n params: {\n otp: string;\n refCode: string;\n contactNumber: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ConfirmOtpResponse>> {\n return await this.post<ConfirmOtpResponse>(\n 'auth/bzbs_authen',\n {\n otp: params.otp,\n refcode: params.refCode,\n contact_number: params.contactNumber,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Validate the OTP (One-Time Password) for authentication.\n *\n * @param params - The parameters.\n * @param params.appId - Your application id.\n * @param params.otp - The OTP to validate.\n * @param params.refCode - The reference code for the OTP.\n * @param params.type - Type of contact (email or contact_number).\n * @param params.contactNumber - (Optional) The contact number for the user.\n * @param params.email - (Optional) The email address for the user.\n * @param params.use - Whether to use the OTP after validation (default: false).\n * @param params.channel - (Optional) The channel to use for OTP delivery.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the validate OTP response.\n */\n public async validateOtp(\n params: {\n appId: string;\n otp: string;\n refCode: string;\n type: string;\n contactNumber?: string;\n email?: string;\n use?: boolean;\n channel?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ValidateOtpResponse>> {\n return await this.post<ValidateOtpResponse>(\n 'auth/validate_otp',\n {\n app_id: params.appId,\n otp: params.otp,\n refcode: params.refCode,\n type: params.type,\n contact_number: params.contactNumber,\n email: params.email,\n use: params.use !== undefined ? params.use : false,\n channel: params.channel,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Refresh buzzebees token and retrieve a new token.\n *\n * @param params - The parameters.\n * @param params.uuid - The unique device identifier.\n * @param params.deviceAppId - Your application id.\n * @param params.os - Your device operation system + version. Ex. ios 11.2.1, android 9.0\n * @param params.platform - Your platform. Ex. iPhone, Android\n * @param params.macAddress - Unique device identifier\n * @param params.deviceNotificationEnabled - Enable push notification\n * @param params.clientVersion - Number of version (App Prefix + Your application version, Ex. ios_buzzebeesdemo1.0.1)\n * @param params.deviceToken - Device token used for send push notification\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the resume response.\n */\n public async resume(\n params: {\n uuid: string;\n deviceAppId: string;\n os: string;\n platform: string;\n macAddress: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ResumeResponse>> {\n return await this.post<ResumeResponse>(\n 'auth/device_resume',\n {\n uuid: params.uuid,\n app_id: params.deviceAppId,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: params.deviceNotificationEnabled,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Update device token for push notification.\n *\n * @param params - The parameters.\n * @param params.uuid - The unique device identifier.\n * @param params.deviceAppId - Your application id.\n * @param params.os - Your device operation system + version. Ex. ios 11.2.1, android 9.0\n * @param params.platform - Your platform. Ex. iPhone, Android\n * @param params.macAddress - Unique device identifier\n * @param params.deviceNotificationEnabled - Enable push notification\n * @param params.clientVersion - Number of version (App Prefix + Your application version, Ex. ios_buzzebeesdemo1.0.1)\n * @param params.deviceToken - Device token used for send push notification\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the resume response.\n */\n public async updateDevice(\n params: {\n uuid: string;\n deviceAppId: string;\n os: string;\n platform: string;\n macAddress: string;\n deviceNotificationEnabled: boolean;\n clientVersion: string;\n deviceToken: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ResumeResponse>> {\n return await this.post<ResumeResponse>(\n 'auth/update_device',\n {\n uuid: params.uuid,\n device_app_id: params.deviceAppId,\n os: params.os,\n platform: params.platform,\n mac_address: params.macAddress,\n device_noti_enable: params.deviceNotificationEnabled,\n client_version: params.clientVersion,\n device_token: params.deviceToken,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves the version information for the current app version.\n * @param clientVersion - The version of the client (App Prefix + Your application version , Ex. ios_buzzebeesdemo1.0.1).\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the version information.\n */\n public async version(clientVersion: string, requestOptions?: RequestOptions): Promise<ServiceResponse<Version>> {\n return await this.get<Version>('auth/version', { client_version: clientVersion }, requestOptions);\n }\n\n /**\n * Retrieves the raw version information for the current app version.\n * @param clientVersion - The version of the client (App Prefix + Your application version , Ex. ios_buzzebeesdemo1.0.1).\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the raw version information.\n */\n public async versionRaw(clientVersion: string, requestOptions?: RequestOptions): Promise<ServiceResponse<any>> {\n return await this.get<unknown>('auth/version', { client_version: clientVersion }, requestOptions);\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { AxiosInstance } from 'axios';\nimport { Badge } from '../../models/badge';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class BadgeApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves user badges.\n *\n * @param params - The parameters.\n * @param params.badgeId - The ID of the badge to retrieve.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing an array of Badge objects.\n */\n public async badges(\n params: {\n badgeId?: string;\n options?: { [key: string]: any };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Badge[]>> {\n return await this.get<Badge[]>(\n 'profile/me/badges',\n {\n badge_id: params.badgeId,\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { Campaign } from '../../models/campaign-model';\nimport { CampaignDetail } from '../../models/campaign-detail-model';\nimport { FavoriteResponse } from '../../models/favorite-response-model';\nimport { RedeemResponse } from '../../models/redeem-response-model';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class CampaignApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves a list of campaigns based on the provided parameters.\n *\n * @param params - The parameters for the campaign list.\n * @param params.config - The configuration for the campaign (list name).\n * @param params.cat - The category for the campaign.\n * @param params.byConfig - A boolean indicating whether to filter by configuration.\n * @param params.skip - The number of campaigns to skip.\n * @param params.top - The number of campaigns to retrieve.\n * @param params.deviceLocale - The device locale for the campaigns.\n * @param params.locale - The locale for the campaigns.\n * @param params.keyword - The keyword for the campaigns.\n * @param params.startDate - The start date for the campaigns. Example: 2017-07-21T17:32:28Z\n * @param params.sponsorId - The sponsor ID for the campaigns.\n * @param params.maxPoints - The maximum points for the campaigns.\n * @param params.minPoints - The minimum points for the campaigns.\n * @param params.minPrice - The minimum price for the campaigns.\n * @param params.maxPrice - The maximum price for the campaigns.\n * @param params.sortBy - The sort order for the campaigns.\n * @param params.center - The coordinates for the center of the campaigns.\n * @param params.hashTags - The hash tags for the campaigns.\n * @param params.locationAgencyId - The location agency ID for the campaigns.\n * @param params.campaignservice - Use campaign service.\n * @param params.mode - The mode for the campaigns.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - The options for the HTTP request.\n * @returns A promise that resolves to a ServiceResponse containing an array of Campaign objects.\n */\n public async campaigns(\n params: {\n config: string;\n cat?: string;\n byConfig?: boolean;\n skip?: number;\n top?: number;\n deviceLocale?: number;\n locale?: number;\n keyword?: string;\n startDate?: string;\n sponsorId?: string;\n maxPoints?: string;\n minPoints?: string;\n minPrice?: string;\n maxPrice?: string;\n sortBy?: string;\n center?: string;\n hashTags?: string;\n locationAgencyId?: string;\n campaignservice?: boolean;\n mode?: string | 'hot' | 'all' | 'bzbs' | 'sponsor' | 'draw' | 'free' | 'deal' | 'buy' | 'ads' | 'full' | 'cart';\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Campaign[]>> {\n return await this.get<Campaign[]>(\n 'campaign/list',\n {\n config: params.config,\n cat: params.cat,\n byConfig: params.byConfig,\n skip: params.skip,\n top: params.top,\n device_locale: params.deviceLocale,\n locale: params.locale,\n q: params.keyword,\n startdate: params.startDate,\n sponsorId: params.sponsorId,\n maxpoints: params.maxPoints,\n minpoints: params.minPoints,\n sortby: params.sortBy,\n center: params.center,\n tags: params.hashTags,\n locationAgencyId: params.locationAgencyId,\n campaignservice: params.campaignservice,\n mode: params.mode,\n minprice: params.minPrice,\n maxprice: params.maxPrice,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves a list of user's favorite campaigns.\n *\n * @param params - The parameters.\n * @param params.skip - The number of campaigns to skip.\n * @param params.top - The number of campaigns to retrieve.\n * @param params.locale - The locale for the campaigns.\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - The options for the API request.\n * @returns A promise that resolves to a ServiceResponse containing an array of Campaign objects.\n */\n public async favoriteCampaigns(\n params: {\n skip?: number;\n top?: number;\n locale?: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Campaign[]>> {\n return await this.get(\n 'profile/favourite_campaign',\n {\n skip: params.skip,\n top: params.top,\n locale: params.locale,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves the details of a campaign.\n *\n * @param param - The parameters.\n * @param param.id - The ID of the campaign.\n * @param param.deviceLocale - The device locale (optional).\n * @param param.options - Additional options for the request (optional).\n * @param requestOptions - The options for the request (optional).\n * @returns A promise that resolves to a service response containing the campaign details.\n */\n public async campaignDetails(\n param: {\n id: string;\n deviceLocale?: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<CampaignDetail>> {\n return await this?.get(\n 'campaign/detail',\n {\n campaignId: param.id,\n device_locale: param.deviceLocale,\n ...param.options,\n },\n requestOptions\n );\n }\n\n /**\n * Adds a campaign to the user's favorites.\n * @param id - The ID of the campaign to add to favorites.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the FavoriteResponse.\n */\n public async addToFavorite(id: string, requestOptions?: RequestOptions): Promise<ServiceResponse<FavoriteResponse>> {\n return await this.post('campaign/favourite', { id: parseInt(id), favourite: true }, requestOptions);\n }\n\n /**\n * Removes a campaign from user's favorites.\n * @param id - The ID of the campaign to remove from favorites.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the FavoriteResponse.\n */\n public async removeFromFavorite(\n params: { id: string; options?: { [key: string]: string } },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<FavoriteResponse>> {\n return await this.delete('campaign/favourite', {\n params: {\n id: params.id,\n ...params.options,\n },\n ...requestOptions,\n });\n }\n\n /**\n * Redeems a campaign.\n *\n * @param params - The parameters for redeeming the campaign.\n * @param params.id - The ID of the campaign to redeem.\n * @param params.addressKey - The address key of a user's address.\n * @param params.contactNumber - The contact number of the user.\n * @param params.options - Additional options for the redemption.\n * @param params.spPoints - Point Per Unit x Quantity (Donate only).\n * @param requestOptions - The options for the HTTP request.\n * @returns A promise that resolves to a service response containing the redeem response.\n */\n public async redeem(\n params: {\n id: string;\n addressKey?: string;\n contactNumber?: string;\n pointUnit?: string;\n spPoints?: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<RedeemResponse>> {\n return await this.post(\n 'campaign/redeem',\n {\n campaignid: parseInt(params.id),\n address_key: params.addressKey,\n contact_number: params.contactNumber,\n pointUnit: params.pointUnit,\n sp_points: params.spPoints,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Redeems a campaign in bulk.\n *\n * @param params - The parameters.\n * @param params.id - The ID of the campaign to redeem.\n * @param params.quantity - The quantity to redeem.\n * @param params.addressKey - The address key of a user's address.\n * @param params.contactNumber - The contact number of the user.\n * @param params.pointUnit - The point unit of the campaign.\n * @param params.spPoints - Point Per Unit x Quantity (Donate only).\n * @param params.options - Additional options for the redemption.\n * @param requestOptions - The options for the HTTP request.\n * @returns A promise that resolves to a service response containing the redeem response.\n */\n public async bulkRedeem(\n params: {\n id: string;\n quantity: number;\n addressKey?: string;\n contactNumber?: string;\n pointUnit?: string;\n spPoints?: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<RedeemResponse>> {\n return await this.post(\n `campaign/${params.id}/bulkredeem`,\n {\n quantity: params.quantity,\n address_key: params.addressKey,\n contact_number: params.contactNumber,\n pointUnit: params.pointUnit,\n sp_points: params.spPoints,\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { CartCountResponse } from '../../models/cart-count-response';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { CartAccessResponse } from '../../models';\n\nexport class CartApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Adds an item to the cart.\n *\n * @param params - The parameters.\n * @param params.id - The ID of the item to add to the cart.\n * @param params.mode - The mode off adding.\n * @param params.qty - The quantity of the item.\n * @param params.sideCampaignJson - The side campaign JSON.\n * @param params.options - Additional options for adding the item to the cart.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the cart count response.\n */\n public async addCart(\n params: {\n id: string;\n mode?: string;\n qty?: number;\n sideCampaignJson?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<CartCountResponse>> {\n return await this.post(\n `cart/${params.id}/add`,\n {\n mode: params.mode,\n qty: params.qty,\n sideCampaignJson: params.sideCampaignJson,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n\n /**\n * Retrieves the count of items in the cart.\n *\n * @param options - Optional additional parameters.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the CartCountResponse.\n */\n public async cartCount(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<CartCountResponse>> {\n return await this.get(\n 'cart/count',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves the cart access.\n *\n * @param params - The parameters.\n * @param params.errorUrl - The error URL that the user is redirected to when an error occurs.\n * @param params.successUrl - The success URL that the user is redirected to when the operation is successful.\n * @param params.returnUrl - The return URL that the user is redirected to when press back button.\n * @param params.appId - The app ID.\n * @param params.appName - The app name.\n * @param params.options - Additional options for the request.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the CartAccessResponse.\n */\n public async cartAccess(\n params: {\n errorUrl: string;\n successUrl: string;\n returnUrl: string;\n appId: string;\n appName: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<CartAccessResponse>> {\n return await this.post(\n 'setting',\n {\n data: JSON.stringify(params),\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { Category } from '../../models/category';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class CategoryApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves the campaign categories.\n *\n * @param params - The parameters.\n * @param params.config - The configuration string.\n * @param params.byConfig - Optional. Specifies whether to retrieve categories by configuration.\n * @param params.options - Optional. Additional options for retrieving the categories.\n * @param requestOptions - Optional. The request options.\n * @returns A promise that resolves to a service response containing an array of categories.\n */\n public async categories(\n params: {\n config: string;\n byConfig?: boolean;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Category[]>> {\n return await this.get(\n 'category/menu',\n {\n byConfig: params.byConfig,\n config: params.config,\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { Consent } from '../../models/consent';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class ConsentApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves the user's consent information.\n *\n * @param options - Additional options for the request.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the consent information.\n */\n public async consent(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Consent>> {\n return await this.get<Consent>(\n 'consent/status',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Update the user's consent information.\n *\n * @param params - The parameters for the consent request.\n * @param params.termsAndConditions - The terms and conditions consent version.\n * @param params.dataPrivacy - The data privacy consent version.\n * @param params.marketingOption - The marketing option consent version.\n * @param params.consentAge - The consent age.\n * @param params.email - The email consent (0 for false, 1 for true).\n * @param params.sms - The SMS consent (0 for false, 1 for true).\n * @param params.notification - The notification consent (0 for false, 1 for true).\n * @param params.line - The LINE consent (0 for false, 1 for true).\n * @param params.analyticsBuzzebeesCookies - The analytics Buzzebees cookies consent (0 for false, 1 for true).\n * @param params.analyticsFirebaseCookies - The analytics Firebase cookies consent (0 for false, 1 for true).\n * @param params.analyticsGoogleCookies - The analytics Google cookies consent (0 for false, 1 for true).\n * @param params.analyticsMetaCookies - The analytics Meta cookies consent (0 for false, 1 for true).\n * @param params.analyticsOtherCookies - The analytics other cookies consent (0 for false, 1 for true).\n * @param params.functionalCookies - The functional cookies consent (0 for false, 1 for true).\n * @param params.marketingCookies - The marketing cookies consent (0 for false, 1 for true).\n * @param params.necessaryCookies - The necessary cookies consent (0 for false, 1 for true).\n * @param params.options - Additional params.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the consent information.\n */\n public async updateConsent(\n params: {\n termsAndConditions?: string;\n dataPrivacy?: string;\n marketingOption?: string;\n consentAge?: string;\n email?: string;\n sms?: string;\n notification?: string;\n line?: string;\n analyticsBuzzebeesCookies?: string;\n analyticsFirebaseCookies?: string;\n analyticsGoogleCookies?: string;\n analyticsMetaCookies?: string;\n analyticsOtherCookies?: string;\n functionalCookies?: string;\n marketingCookies?: string;\n necessaryCookies?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Consent>> {\n return await this.post(\n 'consent/consent',\n {\n termandcondition: params.termsAndConditions,\n dataprivacy: params.dataPrivacy,\n marketingoption: params.marketingOption,\n consentage: params.consentAge,\n email: params.email,\n sms: params.sms,\n notification: params.notification,\n line: params.line,\n analyticsbuzzebeescookies: params.analyticsBuzzebeesCookies,\n analyticsfirebasecookies: params.analyticsFirebaseCookies,\n analyticsgooglecookies: params.analyticsGoogleCookies,\n analyticsmetacookies: params.analyticsMetaCookies,\n analyticsothercookies: params.analyticsOtherCookies,\n functionalcookies: params.functionalCookies,\n marketingcookies: params.marketingCookies,\n necessarycookies: params.necessaryCookies,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Revoke user consent.\n *\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the result of the revoke consent operation.\n */\n public async unconsent(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post<unknown>(\n 'consent/unconsent',\n {\n ...options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { CouponResponse } from '../../models/coupon-response';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class CouponApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Process coupon codes to earn points.\n *\n * @param params - The parameters.\n * @param params.codes - The coupon codes to process.\n * @param params.options - Additional options for processing coupon codes.\n * @param requestOptions - The options for making the API request.\n * @returns A promise that resolves to a service response containing the coupon response.\n */\n public async processCodes(\n params: {\n codes: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<CouponResponse>> {\n return await this.post(\n 'coupon/process',\n {\n codes: Array.isArray(params.codes) ? params.codes : [params.codes],\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { Dashboard } from '../../models/dashboard';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class DashboardApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves the main dashboard data.\n *\n * @param params - The parameters.\n * @param params.appName - The name of the application.\n * @param params.locale - The locale number.\n * @param params.options - Additional options for the request.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a service response containing an array of Dashboard objects.\n */\n public async mainDashboard(\n params: {\n appName: string;\n locale: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Dashboard[]>> {\n return await this.get(\n 'dashboard/config',\n {\n config: params.appName,\n locale: params.locale,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves a sub-dashboard data.\n *\n * @param params - The parameters.\n * @param params.dashboardName - The name of the sub-dashboard to retrieve.\n * @param params.locale - The locale of the sub-dashboard.\n * @param params.options - Additional options for retrieving the sub-dashboard.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a service response containing an array of dashboards.\n */\n public async subDashboard(\n params: {\n dashboardName: string;\n locale: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Dashboard[]>> {\n return await this.get(\n 'dashboard/config',\n {\n config: params.dashboardName,\n locale: params.locale,\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { Purchase } from '../../models/purchase';\nimport { UseCampaignResponse } from '../../models/use-campaign-response';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class HistoryApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves the redeem histories based on the specified parameters.\n *\n * @param params - The parameters for retrieving redeem histories.\n * @param params.byConfig - Indicates whether to retrieve redeem histories by config.\n * @param params.config - The config for retrieving redeem histories.\n * @param params.skip - The number of records to skip.\n * @param params.top - The number of records to retrieve.\n * @param params.locale - The locale for retrieving redeem histories (optional).\n * @param params.startDate - The start date for retrieving redeem histories (optional).\n * @param params.endDate - The end date for retrieving redeem histories (optional).\n * @param params.options - Additional options for retrieving redeem histories (optional).\n * @param requestOptions - The options for the request (optional).\n * @returns A promise that resolves to a service response containing an array of purchase objects.\n */\n public async redeemHistories(\n params: {\n byConfig: boolean;\n config: string;\n skip: number;\n top: number;\n locale?: number;\n startDate?: string;\n endDate?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Purchase[]>> {\n const response = await this.get(\n 'redeem/list',\n {\n byConfig: params.byConfig,\n config: params.config,\n skip: params.skip,\n top: params.top,\n locale: params.locale,\n startdate: params.startDate,\n enddate: params.endDate,\n ...params.options,\n },\n requestOptions\n );\n\n if (response.type === 'success') {\n const purchases = (response.model as any[]).map((item) => ({\n ...item,\n ParcelNo: item.ParcelNo ?? item.PacelNo ?? undefined,\n }));\n\n return {\n ...response,\n model: purchases,\n };\n }\n\n return response;\n }\n\n /**\n * Marks the specified redeem key as used.\n *\n * @param params - The parameters.\n * @param params.redeemKey - The redeem key for the campaign.\n * @param params.options - Additional options for using the campaign.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a service response containing the result of the redemption.\n */\n public async use(\n params: {\n redeemKey: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<UseCampaignResponse>> {\n return await this.post(\n 'redeem/use',\n {\n redeemkey: params.redeemKey,\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { LineAuthResponse } from '../../models/line-auth-response';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class LineApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Authenticates with the LINE API.\n *\n * @param params - The authentication parameters.\n * @param params.grantType - The grant type.\n * @param params.code - The code.\n * @param params.clientId - The client ID.\n * @param params.clientSecret - The client secret.\n * @param params.redirectUrl - The redirect URL.\n * @param params.options - Additional options for the request.\n * @param requestOptions - The optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the LineAuthResponse.\n */\n public async lineAuth(\n params: {\n grantType: string;\n code: string;\n clientId: string;\n clientSecret: string;\n redirectUrl: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LineAuthResponse>> {\n return await this.post(\n 'oauth2/v2.1/token',\n {\n grant_type: params.grantType,\n code: params.code,\n client_id: params.clientId,\n client_secret: params.clientSecret,\n redirect_uri: params.redirectUrl,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...requestOptions?.headers,\n },\n data: requestOptions?.data,\n params: requestOptions?.params,\n }\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { Notification } from '../../models';\n\nexport class NotificationApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves notifications.\n *\n * @param params - The parameters for retrieving notifications.\n * @param params.mode - The mode for retrieving notifications (new or all)\n * @param params.sortBy - The sort order for the notifications (createdate_desc or createdate_asc)\n * @param requestOptions - The options for the HTTP request.\n * @returns A promise that resolves to a service response containing an array of notifications.\n */\n public async notifications(\n params: {\n mode: string | 'new' | 'all';\n sortBy: string | 'createdate_desc' | 'createdate_asc';\n top?: number;\n skip?: number;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Notification[]>> {\n return await this.get(\n 'notification/list',\n {\n mode: params.mode,\n sortby: params.sortBy,\n top: params.top,\n skip: params.skip,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Marks notifications as read.\n *\n * @param params - The parameters for marking notifications as read.\n * @param params.ids - The IDs(RowKeys) of the notifications to mark as read. (RowKey1, RowKey2)\n * @param params.options - Additional options for marking notifications as read.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a service response containing the result of marking notifications as read.\n */\n public async read(\n params: {\n ids: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post(\n 'notification/read',\n {\n ids: params.ids,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { Place } from '../../models/place';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class PlaceApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves a list of places based on the provided parameters.\n *\n * @param params - The parameters for the place list request.\n * @param params.agencyId - The ID of the agency.\n * @param params.center - The center of the search area.\n * @param params.distance - The distance from the center.\n * @param params.top - The number of places to retrieve.\n * @param params.provinceCode - The province code (optional).\n * @param params.category - The category of the place (optional).\n * @param params.mode - The mode of the place (optional).\n * @param params.requiredCampaign - Indicates whether the place requires a campaign (optional).\n * @param params.keyword - The keyword to search for (optional).\n * @param params.isFavourite - Indicates whether the place is a favourite (optional).\n * @param params.options - Additional options for the request (optional).\n * @param requestOptions - The options for the request (optional).\n * @returns A promise that resolves to a ServiceResponse containing an array of Place objects.\n */\n public async placeList(\n params: {\n agencyId: string;\n center: string;\n distance: number;\n top: number;\n provinceCode?: string;\n category?: string;\n mode?: string;\n requiredCampaign?: boolean;\n keyword?: string;\n isFavourite?: boolean;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Place[]>> {\n return await this.get(\n 'place',\n {\n agencyId: params.agencyId,\n center: params.center,\n distance: params.distance,\n top: params.top,\n province_code: params.provinceCode,\n category: params.category,\n mode: params.mode,\n require_campaign: params.requiredCampaign,\n q: params.keyword,\n isFavourite: params.isFavourite,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves information about a specific place.\n *\n * @param params - The parameters for the place request.\n * @param params.id - The ID of the place.\n * @param params.agencyId - The ID of the agency.\n * @param params.requiredCampaign - (Optional) Indicates if a campaign is required.\n * @param params.isFavourite - (Optional) Indicates if the place is a favorite.\n * @param params.options - (Optional) Additional options for the request.\n * @param requestOptions - (Optional) Additional options for the HTTP request.\n * @returns A promise that resolves to a ServiceResponse containing the place information.\n */\n public async place(\n params: {\n id: string;\n agencyId: string;\n requiredCampaign?: boolean;\n isFavourite?: boolean;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Place>> {\n return await this.get(\n `place/${params.id}`,\n {\n agencyId: params.agencyId,\n require_campaign: params.requiredCampaign,\n isFavourite: params.isFavourite,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Adds a place to the user's favorites.\n *\n * @param params - The parameters.\n * @param params.id - The ID of the place to be added to favorites.\n * @param params.options - The additional options.\n * @param requestOptions - The optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the result of the operation.\n */\n public async addToFavourite(\n params: {\n id: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post(\n `place/${params.id}/favourite`,\n {\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Removes a place from the user's favorites.\n *\n * @param params - The parameters.\n * @param params.id - The ID of the place to be removed from favorites.\n * @param params.options - The additional options.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the result of the operation.\n */\n public async removeFromFavourite(\n params: {\n id: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post(\n `place/${params.id}/unfavourite`,\n {\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { PointLog } from '../../models/point-log';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\n\nexport class PointLogApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves the point log.\n *\n * @param params - The parameters for retrieving the point log.\n * @param params.month - The month for which to retrieve the point log.\n * @param params.type - (Optional) The type of point log to retrieve. (earn/burn/etc)\n * @param params.lastRowKey - (Optional) The last row key for pagination.\n * @param params.top - (Optional) The maximum number of records to retrieve.\n * @param params.options - (Optional) Additional options for the request.\n * @param requestOption - (Optional) The request options.\n * @returns A promise that resolves to a service response containing an array of point logs.\n */\n public async getPointLog(\n params: {\n month: string;\n type?: string;\n lastRowKey?: string;\n top?: number;\n options?: { [key: string]: unknown };\n },\n requestOption?: RequestOptions\n ): Promise<ServiceResponse<PointLog[]>> {\n return await this.get(\n 'log/points',\n {\n month: params.month,\n type: params?.type,\n lastRowKey: params?.lastRowKey,\n top: params?.top,\n ...params.options,\n },\n requestOption\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { ConfirmOtpResponse, ExpiringPoints, ProfileResponse, StatusResponse, UpdatedPoints } from '../../models';\n\nexport class ProfileApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Retrieves the profile information for the current user.\n *\n * @param options - Optional additional parameters.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the profile information.\n */\n public async profile(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ProfileResponse>> {\n return await this.get(\n 'profile/info',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Updates the user profile with the provided parameters.\n *\n * @param params - The parameters for updating the profile.\n * @param params.options - Additional options for the request.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the updated profile.\n */\n public async updateProfile(\n params: {\n firstName?: string;\n lastName?: string;\n contactNumber?: string;\n email?: string;\n notification?: boolean;\n locale?: number;\n title?: string;\n gender?: string;\n birthDate?: number;\n address?: string;\n subdistrictCode?: number;\n subdistrictName?: string;\n districtCode?: number;\n districtName?: string;\n provinceCode?: number;\n provinceName?: string;\n countryCode?: string;\n countryName?: string;\n zipCode?: string;\n idCard?: string;\n passport?: string;\n maritalStatus?: string;\n village?: string;\n building?: string;\n number?: string;\n moo?: string;\n room?: string;\n floor?: string;\n soi?: string;\n city?: string;\n road?: string;\n landmark?: string;\n alternateContactNumber?: string;\n homeContactNumber?: string;\n nationality?: string;\n religion?: string;\n location?: string;\n latitude?: number;\n longitude?: number;\n income?: string;\n interests?: string;\n region?: string;\n phonepurchase?: number;\n highestEducation?: string;\n occupation?: string;\n remark?: string;\n displayName?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ProfileResponse>> {\n return await this.post(\n 'profile/info',\n {\n firstname: params.firstName,\n lastname: params.lastName,\n contact_number: params.contactNumber,\n email: params.email,\n notification: params.notification,\n locale: params.locale,\n title: params.title,\n gender: params.gender,\n birthdate: params.birthDate,\n address: params.address,\n subdistrict_code: params.subdistrictCode,\n subdistrict_name: params.subdistrictName,\n district_code: params.districtCode,\n district_name: params.districtName,\n province_code: params.provinceCode,\n province_name: params.provinceName,\n country_code: params.countryCode,\n country_name: params.countryName,\n zipcode: params.zipCode,\n idcard: params.idCard,\n passport: params.passport,\n maritalstatus: params.maritalStatus,\n village: params.village,\n building: params.building,\n number: params.number,\n moo: params.moo,\n room: params.room,\n floor: params.floor,\n soi: params.soi,\n city: params.city,\n road: params.road,\n landmark: params.landmark,\n alternate_contact_number: params.alternateContactNumber,\n home_contact_number: params.homeContactNumber,\n nationality: params.nationality,\n religion: params.religion,\n location: params.location,\n latitude: params.latitude,\n longitude: params.longitude,\n income: params.income,\n interests: params.interests,\n region: params.region,\n phonepurchase: params.phonepurchase,\n highesteducation: params.highestEducation,\n occupation: params.occupation,\n remark: params.remark,\n displayname: params.displayName,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Changes the user's password.\n *\n * @param params - The parameters.\n * @param params.current - The current password.\n * @param params.change - The new password.\n * @param params.options - Optional additional options.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the status response.\n */\n public async changePassword(\n params: {\n current: string;\n change: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<StatusResponse>> {\n return await this.post(\n 'profile/change_password',\n {\n current: params.current,\n change: params.change,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Updates the shipping information for the user.\n *\n * @param params - The parameters for updating the shipping information.\n * @param requestOptions - The options for the HTTP request.\n * @returns A promise that resolves to a ServiceResponse containing the updated shipping information.\n */\n public async updateShipping(\n params: {\n shippingFirstName?: string;\n shippingLastName?: string;\n shippingProvinceCode?: string;\n shippingDistrictCode?: string;\n shippingSubDistrictCode?: string;\n shippingZipCode?: string;\n shippingAddress?: string;\n shippingProvinceName?: string;\n shippingDistrictName?: string;\n shippingSubFDistrictName?: string;\n shippingContactNumber?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post(\n 'profile/shipping',\n {\n shippingfirstname: params.shippingFirstName,\n shippinglastname: params.shippingLastName,\n shipping_province_code: params.shippingProvinceCode,\n shipping_district_code: params.shippingDistrictCode,\n shipping_subdistrict_code: params.shippingSubDistrictCode,\n shipping_zipcode: params.shippingZipCode,\n shipping_address: params.shippingAddress,\n shipping_province_name: params.shippingProvinceName,\n shipping_district_name: params.shippingDistrictName,\n shipping_subdistrict_name: params.shippingSubFDistrictName,\n shipping_contact_number: params.shippingContactNumber,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Changes the contact number of the user.\n *\n * @param params - The parameters for changing the contact number.\n * @param params.contactNumber - The new contact number.\n * @param params.otp - The one-time password.\n * @param params.refCode - The reference code.\n * @param params.idCard - (Optional) The ID card for additional verification.\n * @param params.options - (Optional) Additional options for the request.\n * @param requestOptions - (Optional) The options for the request.\n * @returns A promise that resolves to the response of the request.\n */\n public async changeContactNumber(\n params: {\n contactNumber: string;\n otp: string;\n refCode: string;\n idCard?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ConfirmOtpResponse>> {\n return await this.post(\n 'auth/change_authen',\n {\n contact_number: params.contactNumber,\n otp: params.otp,\n refcode: params.refCode,\n idcard: params.idCard,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Changes the contact number for the current user.\n *\n * @param params - The parameters for changing the contact number.\n * @param params.contactNumber - The new contact number.\n * @param params.otp - The one-time password for verification.\n * @param params.refCode - The reference code for verification.\n * @param params.options - Additional options for the request.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the result of the request.\n */\n public async changeContactNumberV2(\n params: {\n contactNumber: string;\n otp: string;\n refCode: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<any>> {\n return await this.post(\n 'profile/contact_number',\n {\n contact_number: params.contactNumber,\n otp: params.otp,\n refcode: params.refCode,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Changes the contact number for the current user.\n *\n * @param params - The parameters for changing the contact number.\n * @param params.contactNumber - The new contact number.\n * @param params.otp - The one-time password for verification.\n * @param params.refCode - The reference code for verification.\n * @param params.options - Additional options for the request.\n * @param requestOptions - The options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the result of the request.\n */\n public async changeContactNumberV3(\n params: {\n userId: string;\n contactNumber: string;\n otp: string;\n refCode: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<any>> {\n return await this.post(\n 'profile/contact_number',\n {\n userid: params.userId,\n contact_number: params.contactNumber,\n otp: params.otp,\n refcode: params.refCode,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves the updated points for the current user's profile.\n *\n * @param options - Optional additional parameters.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the updated points.\n */\n public async points(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<UpdatedPoints>> {\n return await this.get(\n 'profile/updated_points',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Retrieves the expiring points for the current user's profile.\n *\n * @param options - Optional additional parameters.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the expiring points.\n */\n public async expiringPoints(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ExpiringPoints>> {\n return await this.get(\n 'profile/allexpiring_points',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Updates the user's profile picture.\n *\n * @param params - The parameters.\n * @param params.image - The image file to upload (File or cross-platform file object with uri, name, type).\n * @param params.options - Optional additional parameters.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the updated profile.\n */\n public async updateProfileImage(\n params: {\n image: File | { uri: string; name: string; type: string } | object;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ProfileResponse>> {\n const formData = BaseService.createFormData(\n { ...params.options },\n 'data',\n params.image\n );\n return await this.post<ProfileResponse>(\n 'profile/picture',\n formData,\n {\n ...requestOptions,\n headers: {\n 'Content-Type': 'multipart/form-data',\n ...requestOptions?.headers,\n },\n }\n );\n }\n\n /**\n * Deactivates the user's profile.\n *\n * @param options - Optional additional parameters.\n * @param requestOptions - Optional request options.\n * @returns A promise that resolves to a ServiceResponse containing the result of the deactivation.\n */\n public async deactivate(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.post(\n 'profile/deactivate',\n {\n ...options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { RegistrationResponse } from '../../models/registration-response';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { OtpResponse } from '../../models';\n\nexport class RegistrationApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Validates registration information before actual registration. \n * This also triggers the backend to send OTP to the contact number or email.\n * Please refrain from using this API along with request otp API.\n * Possible error codes:\n * 2078 - Duplicate contact number\n * 2089 - Duplicate email\n * 401 - Duplicate username\n *\n * @param params - The validation parameters.\n * @param params.appId - The application ID.\n * @param params.username - The username.\n * @param params.email - The email.\n * @param params.contactNumber - The contact number.\n * @param requestOptions - The optional request options.\n * @returns A promise that resolves to a service response.\n */\n public async validateRegister(\n params: {\n appId: string;\n username: string;\n email: string;\n contactNumber: string;\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<OtpResponse>> {\n return await this.post(\n 'auth/validate_register',\n {\n app_id: params.appId,\n username: params.username,\n email: params.email,\n contact_number: params.contactNumber,\n },\n requestOptions\n );\n }\n\n /**\n * Registers a user with the provided registration parameters.\n *\n * @param params - The registration parameters.\n * @param params.appId - The application ID.\n * @param params.uuid - The UUID.\n * @param params.macAddress - The MAC address.\n * @param params.os - The operating system.\n * @param params.platform - The platform.\n * @param params.clientVersion - The client version.\n * @param params.deviceNotificationEnable - The device notification enable.\n * @param params.username - The username.\n * @param params.password - The password.\n * @param params.confirmPassword - The confirm password.\n * @param params.firstName - The first name.\n * @param params.lastName - The last name.\n * @param params.contactNumber - The contact number.\n * @param params.otp - The OTP.\n * @param params.refCode - The referral code.\n * @param params.address - The address.\n * @param params.gender - The gender.\n * @param params.birthdate - The birthdate. In seconds since epoch.\n * @param params.email - The email.\n * @param params.refUserCode - The referral user code.\n * @param params.info - The info json string.\n * @param params.termAndConditionVersion - The term and condition version.\n * @param params.dataPrivacyVersion - The data privacy version.\n * @param params.marketingOptionsVersion - The marketing options version.\n * @param params.consentAge - The consent age.\n * @param params.emailMarketing - The email marketing.\n * @param params.smsMarketing - The SMS marketing.\n * @param params.notificationMarketing - The notification marketing.\n * @param params.lineMarketing - The line marketing.\n * @param params.phoneMarketing - The phone marketing.\n * @param params.options - The options.\n * @param requestOptions - The optional request options.\n * @returns A promise that resolves to a service response containing the registration response.\n */\n public async register(\n params: {\n appId: string;\n uuid: string;\n macAddress: string;\n os: string;\n platform: string;\n clientVersion: string;\n deviceNotificationEnable: boolean;\n username: string;\n password: string;\n confirmPassword: string;\n firstName: string;\n lastName: string;\n contactNumber: string;\n otp: string;\n refCode: string;\n address?: string;\n gender?: string;\n birthdate?: number;\n email?: string;\n refUserCode?: string;\n info?: string;\n termAndConditionVersion?: string;\n dataPrivacyVersion?: string;\n marketingOptionsVersion?: string;\n consentAge?: string;\n emailMarketing?: string;\n smsMarketing?: string;\n notificationMarketing?: string;\n lineMarketing?: string;\n phoneMarketing?: string;\n options: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<RegistrationResponse>> {\n return await this.post(\n 'auth/register',\n {\n app_id: params.appId,\n uuid: params.uuid,\n mac_address: params.macAddress,\n os: params.os,\n platform: params.platform,\n client_version: params.clientVersion,\n device_noti_enable: params.deviceNotificationEnable,\n username: params.username,\n password: params.password,\n confirmpassword: params.confirmPassword,\n firstname: params.firstName,\n lastname: params.lastName,\n contact_number: params.contactNumber,\n otp: params.otp,\n refcode: params.refCode,\n address: params.address,\n gender: params.gender,\n birthdate: params.birthdate,\n email: params.email,\n refusercode: params.refUserCode,\n info: params.info,\n termandcondition: params.termAndConditionVersion,\n dataprivacy: params.dataPrivacyVersion,\n marketingOption: params.marketingOptionsVersion,\n consentage: params.consentAge,\n mktoption_email: params.emailMarketing,\n mktoption_sms: params.smsMarketing,\n mktoption_notification: params.notificationMarketing,\n mktoption_line: params.lineMarketing,\n mktoption_phone: params.phoneMarketing,\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { ZipCode } from '../../models/zipcode';\nimport { Address } from '../../models/address';\nimport { Province } from '../../models/province';\nimport { District } from '../../models/district';\nimport { SubDistrict } from '../../models/sub-district';\n\nexport class AddressApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Get information of zip code\n *\n * @param params.zipCode - Zip code\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of ZipCode objects\n */\n public async zipCodes(\n params: {\n zipCode?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ZipCode[]>> {\n return await this.get<ZipCode[]>(\n 'address/postcode',\n {\n zip_code: params.zipCode,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Get list of Thailand province\n *\n * @param options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of Province objects\n */\n public async provinces(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Province[]>> {\n return await this.get<Province[]>(\n 'address/province',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Get list of Thailand district\n *\n * @param params.provinceCode - Province code\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of District objects\n */\n public async districts(\n params: {\n provinceCode?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<District[]>> {\n return await this.get<District[]>(\n 'address/district',\n {\n province_code: params.provinceCode,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Get list of Thailand sub district\n *\n * @param params.provinceCode - Province code\n * @param params.districtCode - District code\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of SubDistrict objects\n */\n public async subDistricts(\n params: {\n provinceCode?: string;\n districtCode?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<SubDistrict[]>> {\n return await this.get<SubDistrict[]>(\n 'address/subdistrict',\n {\n province_code: params.provinceCode,\n district_code: params.districtCode,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Get user addresses\n *\n * @param options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of Address objects\n */\n public async userAddresses(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Address[]>> {\n return await this.get<Address[]>(\n 'profile/addresses',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Update user address\n *\n * @param params - The parameters for updating the address\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the updated Address object\n */\n public async updateAddress(\n params: {\n name?: string;\n addressName?: string;\n firstName?: string;\n lastName?: string;\n address?: string;\n zipcode?: string;\n provinceCode?: string;\n provinceName?: string;\n districtCode?: string;\n districtName?: string;\n subDistrictCode?: string;\n subDistrictName?: string;\n contactNumber?: string;\n countryCode?: string;\n countryName?: string;\n latitude?: number;\n longitude?: number;\n landmark?: string;\n isDefault?: boolean;\n rowKey?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Address>> {\n return await this.post<Address>(\n 'profile/address',\n {\n name: params.name,\n addressname: params.addressName,\n firstname: params.firstName,\n lastname: params.lastName,\n address: params.address,\n zipcode: params.zipcode,\n province_code: params.provinceCode,\n province_name: params.provinceName,\n district_code: params.districtCode,\n district_name: params.districtName,\n subdistrict_code: params.subDistrictCode,\n subdistrict_name: params.subDistrictName,\n contact_number: params.contactNumber,\n country_code: params.countryCode,\n country_name: params.countryName,\n latitude: params.latitude,\n longitude: params.longitude,\n landmark: params.landmark,\n isdefault: params.isDefault,\n key: params.rowKey,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Delete user address\n *\n * @param params.rowKey - Row key\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the result of the deletion\n */\n public async deleteAddress(\n params: { rowKey?: string; options?: { [key: string]: unknown } },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.delete<unknown>('profile/address', {\n params: {\n key: params.rowKey ?? '',\n ...params.options,\n },\n ...requestOptions,\n });\n }\n\n /**\n * Get user tax addresses\n *\n * @param options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of Address objects\n */\n public async userTaxAddresses(\n options?: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Address[]>> {\n return await this.get<Address[]>(\n 'profile/taxes',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Update user tax address\n *\n * @param params - The parameters for updating the tax address\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the updated Address object\n */\n public async updateTaxAddress(\n params: {\n rowKey?: string;\n taxId?: string;\n isDefault?: boolean;\n personType?: string;\n title?: string;\n name?: string;\n firstName?: string;\n lastName?: string;\n email?: string;\n contactNumber?: string;\n brnachId?: string;\n branchName?: string;\n companyName?: string;\n address?: string;\n addressName?: string;\n floor?: string;\n building?: string;\n moo?: string;\n road?: string;\n room?: string;\n soi?: string;\n village?: string;\n districtCode?: string;\n districtName?: string;\n provinceCode?: string;\n provinceName?: string;\n subDistrictCode?: string;\n subDistrictName?: string;\n zipcode?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Address>> {\n return await this.post<Address>(\n 'profile/tax',\n {\n key: params.rowKey,\n taxid: params.taxId,\n isdefault: params.isDefault,\n persontype: params.personType,\n title: params.title,\n name: params.name,\n firstname: params.firstName,\n lastname: params.lastName,\n email: params.email,\n contact_number: params.contactNumber,\n brnachid: params.brnachId,\n branchname: params.branchName,\n companyname: params.companyName,\n address: params.address,\n addressname: params.addressName,\n floor: params.floor,\n building: params.building,\n moo: params.moo,\n road: params.road,\n room: params.room,\n soi: params.soi,\n village: params.village,\n district_code: params.districtCode,\n district_name: params.districtName,\n province_code: params.provinceCode,\n province_name: params.provinceName,\n subdistrict_code: params.subDistrictCode,\n subdistrict_name: params.subDistrictName,\n zipcode: params.zipcode,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Delete user tax address\n *\n * @param params.rowKey - Row key\n * @param params.options - Optional additional parameters\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the result of the deletion\n */\n public async deleteTaxAddress(\n params: { rowKey?: string; options?: { [key: string]: unknown } },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<unknown>> {\n return await this.delete<unknown>('profile/tax', {\n params: {\n key: params.rowKey ?? '',\n ...params.options,\n },\n ...requestOptions,\n });\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { CreateStampResponse } from '../../models/create-stamp-response';\nimport { Stamp } from '../../models/stamp';\nimport { StampProfileResponse } from '../../models/stamp-profile-response';\n\nexport class StampApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Create stamp\n *\n * @param params - The parameters for creating the stamp\n * @param params.imei - The IMEI\n * @param params.issuer - The issuer\n * @param params.os - The operating system\n * @param params.platform - The platform\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the created stamp response\n */\n public async createStamp(\n params: {\n imei?: string;\n issuer?: string;\n os?: string;\n platform?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<CreateStampResponse>> {\n return await this.post<CreateStampResponse>(\n 'stamp/create',\n {\n imei: params.imei,\n issuer: params.issuer,\n os: params.os,\n platform: params.platform,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Get list of stamps\n *\n * @param options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing an array of stamps\n */\n public async stamps(\n options: { [key: string]: unknown },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<Stamp[]>> {\n return await this.get<Stamp[]>(\n 'stamp',\n {\n ...options,\n },\n requestOptions\n );\n }\n\n /**\n * Get stamp info\n *\n * @param id - Stamp id\n * @param cardId - Card Id\n * @param options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the stamp profile response\n */\n public async stampProfile(\n params: {\n id: string;\n cardId: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<StampProfileResponse>> {\n return await this.get<StampProfileResponse>(\n `stamp/${params.id}/profile`,\n {\n cardId: params.cardId,\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { RequestHelpCode } from '../../models/request-help-code';\nimport { ChatMessage } from '../../models/chat-message';\nimport { LikeForumResponse } from '../../models/like-forum-response';\n\nexport class RequestHelpApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Get help code\n *\n * @param params - The parameters for getting the help code\n * @param params.os - The operating system\n * @param params.platform - The platform\n * @param params.clientVersion - The client version\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the help code\n */\n public async helpCode(\n params: {\n os: string;\n platform: string;\n clientVersion: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<RequestHelpCode>> {\n return await this.post<RequestHelpCode>(\n 'profile/me/help',\n {\n os: params.os,\n platform: params.platform,\n client_version: params.clientVersion,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Get request help list\n *\n * @param params - The parameters for getting the request help list\n * @param params.requestId - The request ID\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing a list of chat messages\n */\n public async requestHelpList(\n params: {\n requestId: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ChatMessage[]>> {\n return await this.get<ChatMessage[]>(\n `buzz/${params.requestId}/list`,\n {\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Get request help detail\n *\n * @param params - The parameters for getting the request help detail\n * @param params.buzzKey - The buzz key\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing a chat message\n */\n public async requestDetail(\n params: { buzzKey: string; options?: { [key: string]: unknown } },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ChatMessage>> {\n return await this.get<ChatMessage>(\n `buzz/${params.buzzKey}`,\n {\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Create request help\n *\n * @param params - The parameters for creating the request help\n * @param params.requestId - The request ID\n * @param params.message - The message\n * @param params.image - The image\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing a chat message\n */\n public async postRequestHelp(\n params: {\n requestId: string;\n message: string;\n image?: File;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ChatMessage>> {\n return await this.post<ChatMessage>(\n `buzz/${params.requestId}/buzz`,\n {\n message: params.message,\n source: params.image,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'multipart/form-data',\n ...requestOptions?.headers,\n },\n ...requestOptions,\n }\n );\n }\n\n /**\n * Get comment list\n *\n * @param params - The parameters for getting the comment list\n * @param params.buzzKey - The buzz key\n * @param params.lastRowKey - The last row key\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing a list of chat messages\n */\n public async comments(\n params: {\n buzzKey: string;\n lastRowKey?: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ChatMessage[]>> {\n return await this.get<ChatMessage[]>(\n `buzz/${params.buzzKey}/comments`,\n {\n lastRowKey: params.lastRowKey,\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Create comment\n *\n * @param params - The parameters for creating the comment\n * @param params.buzzKey - The buzz key\n * @param params.message - The message\n * @param params.image - The image\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing a chat message\n */\n public async postComment(\n params: {\n buzzKey: string;\n message: string;\n image?: File;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<ChatMessage>> {\n return await this.post<ChatMessage>(\n `buzz/${params.buzzKey}/comments`,\n {\n message: params.message,\n source: params.image,\n ...params.options,\n },\n {\n headers: {\n 'Content-Type': 'multipart/form-data',\n ...requestOptions?.headers,\n },\n ...requestOptions,\n }\n );\n }\n\n /**\n * Like post\n *\n * @param params - The parameters for liking the post\n * @param params.buzzKey - The buzz key\n * @param params.options - Additional options for the request\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the like forum response\n */\n public async like(\n params: { buzzKey: string; options?: { [key: string]: unknown } },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LikeForumResponse>> {\n return await this.post<LikeForumResponse>(\n `buzz/${params.buzzKey}/like`,\n {\n ...params.options,\n },\n requestOptions\n );\n }\n\n /**\n * Unlike post\n *\n * @param params - The parameters for unliking the post\n * @param requestOptions - Optional request options\n * @returns A promise that resolves to a service response containing the like forum response\n */\n public async unlike(\n params: {\n buzzKey: string;\n options?: { [key: string]: string };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<LikeForumResponse>> {\n return await this.delete<LikeForumResponse>(`buzz/${params.buzzKey}/like`, {\n params: {\n ...params.options,\n },\n ...requestOptions,\n });\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { BaseService, RequestOptions, ServiceResponse } from '../base-service';\nimport { AccessTokenResponse } from '../../models/access-token-response';\n\nexport class SettingApi extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n super(client, baseUrl);\n }\n\n /**\n * Get access key for web landing.\n *\n * @param params - The parameters.\n * @param params.data - JSON string of data. Available data:\n * - \"app_id\" (Required, string): App Id\n * - \"campaign_id\" (Required, int): Campaign ID\n * - \"locale\" (Required, int): User Locale\n * - \"return_url\" (Required, string): URL to redirect back to App\n * - \"version\" (Required, string): Version of landing interface\n * - \"redeem_key\" (Optional, string): Required for case history - Redeem Key from history API (CampaignID_ItemNumber)\n * @param params.options - (Optional) Additional params for the request.\n * @param requestOptions - (Optional) Additional options for the request.\n * @returns A promise that resolves to a ServiceResponse containing the access token response.\n */\n public async accessKey(\n params: {\n data: string;\n options?: { [key: string]: unknown };\n },\n requestOptions?: RequestOptions\n ): Promise<ServiceResponse<AccessTokenResponse>> {\n return await this.post<AccessTokenResponse>(\n 'setting/add',\n {\n data: params.data,\n ...params.options,\n },\n requestOptions\n );\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { ConsentVersion, Maintenance } from '../../models';\nimport { BaseService, ServiceResponse, RequestOptions } from '../base-service';\n\nexport class Blob extends BaseService {\n constructor(client: AxiosInstance, baseUrl: string) {\n \n super(client, baseUrl);\n }\n\n public async consentVersion(appId: string): Promise<ServiceResponse<ConsentVersion>> {\n return this.get(`pdpaconsent/${appId}/version`);\n }\n\n public async maintenance(appId: string): Promise<ServiceResponse<Maintenance>> {\n return this.get(`config/maintenance/${appId}.json`);\n }\n\n public async blob(path: string, requestOptions?: RequestOptions): Promise<ServiceResponse<unknown>> {\n return this.get(path, requestOptions);\n }\n}\n","import { AxiosInstance } from 'axios';\nimport { AuthenticateApi } from './auth/auth-api';\nimport { BadgeApi } from './badge/badge-api';\nimport { CampaignApi } from './campaign/campaign-api';\nimport { CartApi } from './cart/cart-api';\nimport { CategoryApi } from './category/category-api';\nimport { ConsentApi } from './consent/consent-api';\nimport { CouponApi } from './coupon/coupon-api';\nimport { DashboardApi } from './dashboard/dashboard-api';\nimport { HistoryApi } from './history/history-api';\nimport { LineApi } from './line/line-api';\nimport { NotificationApi } from './notification/notification-api';\nimport { PlaceApi } from './place/place-api';\nimport { PointLogApi } from './point-log/point-log-api';\nimport { ProfileApi } from './profile/profile-api';\nimport { RegistrationApi } from './registration/registration-api';\nimport { AddressApi } from './address/address-api';\nimport { StampApi } from './stamp/stamp-api';\nimport { RequestHelpApi } from './request-help/request-help-api';\nimport { SettingApi } from './setting/setting-api';\nimport { Blob } from './blob/blob';\n\nexport class BzbsService {\n client: AxiosInstance;\n baseUrl: string;\n baseLineUrl: string;\n baseBlobUrl: string;\n\n authApi: AuthenticateApi;\n badgeApi: BadgeApi;\n campaignApi: CampaignApi;\n cartApi: CartApi;\n categoryApi: CategoryApi;\n consentApi: ConsentApi;\n couponApi: CouponApi;\n dashboardApi: DashboardApi;\n historyApi: HistoryApi;\n lineApi: LineApi | undefined;\n notificationApi: NotificationApi;\n placeApi: PlaceApi;\n pointLogApi: PointLogApi;\n profileApi: ProfileApi;\n registerApi: RegistrationApi;\n addressApi: AddressApi;\n stampApi: StampApi;\n forumApi: RequestHelpApi;\n settingApi: SettingApi;\n blob: Blob;\n\n constructor(client: AxiosInstance, baseUrl: string, baseLineUrl: string|\"\", baseBlobUrl: string) {\n this.client = client;\n this.baseUrl = baseUrl;\n this.baseLineUrl = baseLineUrl;\n this.baseBlobUrl = baseBlobUrl;\n \n this.authApi = new AuthenticateApi(this.client, this.baseUrl);\n this.badgeApi = new BadgeApi(this.client, this.baseUrl);\n this.campaignApi = new CampaignApi(this.client, this.baseUrl);\n this.cartApi = new CartApi(this.client, this.baseUrl);\n this.categoryApi = new CategoryApi(this.client, this.baseUrl);\n this.consentApi = new ConsentApi(this.client, this.baseUrl);\n this.couponApi = new CouponApi(this.client, this.baseUrl);\n this.dashboardApi = new DashboardApi(this.client, this.baseUrl);\n this.historyApi = new HistoryApi(this.client, this.baseUrl);\n\n if(this.baseLineUrl) {\n this.lineApi = new LineApi(this.client, this.baseLineUrl);\n }\n\n this.notificationApi = new NotificationApi(this.client, this.baseUrl);\n this.placeApi = new PlaceApi(this.client, this.baseUrl);\n this.pointLogApi = new PointLogApi(this.client, this.baseUrl);\n this.profileApi = new ProfileApi(this.client, this.baseUrl);\n this.registerApi = new RegistrationApi(this.client, this.baseUrl);\n this.addressApi = new AddressApi(this.client, this.baseUrl);\n this.stampApi = new StampApi(this.client, this.baseUrl);\n this.forumApi = new RequestHelpApi(this.client, this.baseUrl);\n this.settingApi = new SettingApi(this.client, this.baseUrl);\n this.blob = new Blob(this.client, this.baseBlobUrl);\n }\n\n setBaseUrl(baseUrl: string) {\n this.baseUrl = baseUrl;\n this.authApi.setBaseUrl(baseUrl);\n this.badgeApi.setBaseUrl(baseUrl);\n this.campaignApi.setBaseUrl(baseUrl);\n this.cartApi.setBaseUrl(baseUrl);\n this.categoryApi.setBaseUrl(baseUrl);\n this.consentApi.setBaseUrl(baseUrl);\n this.couponApi.setBaseUrl(baseUrl);\n this.dashboardApi.setBaseUrl(baseUrl);\n this.historyApi.setBaseUrl(baseUrl);\n this.notificationApi.setBaseUrl(baseUrl);\n this.placeApi.setBaseUrl(baseUrl);\n this.pointLogApi.setBaseUrl(baseUrl);\n this.profileApi.setBaseUrl(baseUrl);\n this.registerApi.setBaseUrl(baseUrl);\n this.addressApi.setBaseUrl(baseUrl);\n this.stampApi.setBaseUrl(baseUrl);\n this.forumApi.setBaseUrl(baseUrl);\n this.settingApi.setBaseUrl(baseUrl);\n return this;\n }\n\n setBlobUrl(blobUrl: string) {\n this.blob.setBaseUrl(blobUrl);\n return this;\n }\n\n setLineUrl(lineUrl: string) {\n this.lineApi?.setBaseUrl(lineUrl);\n return this;\n }\n}\n"],"mappings":"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","names":[]}