diff --git a/.changeset/grumpy-llamas-stand.md b/.changeset/grumpy-llamas-stand.md new file mode 100644 index 0000000..7e2a4c3 --- /dev/null +++ b/.changeset/grumpy-llamas-stand.md @@ -0,0 +1,5 @@ +--- +"@musica-sacra/api": major +--- + +Fix type of getList method. Add helpers for stringifying params for axios requests. diff --git a/.changeset/tangy-brooms-eat.md b/.changeset/tangy-brooms-eat.md new file mode 100644 index 0000000..cf43f2e --- /dev/null +++ b/.changeset/tangy-brooms-eat.md @@ -0,0 +1,5 @@ +--- +"@musica-sacra/api": major +--- + +Create new plugin musica-sacra/api diff --git a/packages/api/README.md b/packages/api/README.md index f5259c8..b27d8c4 100644 --- a/packages/api/README.md +++ b/packages/api/README.md @@ -1 +1,8 @@ -# @musica-sacra/api \ No newline at end of file +# @musica-sacra/api + +ReactQuery and Axios based complex system that provides classes and hooks for handling API requests. +With typescript support. + +## Installation + +`npm install @musica-sacra/api` \ No newline at end of file diff --git a/packages/api/src/helpers/helpers.ts b/packages/api/src/helpers/helpers.ts new file mode 100644 index 0000000..ef98a0f --- /dev/null +++ b/packages/api/src/helpers/helpers.ts @@ -0,0 +1,7 @@ +export function stringifyArrayParam( + paramValues?: (string | number | boolean)[] +) { + if (!paramValues) return ''; + + return paramValues.map(String).join(','); +} diff --git a/packages/api/src/hooks/useGetList.ts b/packages/api/src/hooks/useGetList.ts index 39f0313..4ea6a85 100644 --- a/packages/api/src/hooks/useGetList.ts +++ b/packages/api/src/hooks/useGetList.ts @@ -9,7 +9,7 @@ import { BaseService } from '../service/BaseService'; export function useGetList( url: string, key: string, - params?: Record + params?: Record ) { const { addNotification } = useContext(NotificationsContext); diff --git a/packages/api/src/main.ts b/packages/api/src/main.ts index 4835e2f..5ac4373 100644 --- a/packages/api/src/main.ts +++ b/packages/api/src/main.ts @@ -3,3 +3,5 @@ export { useGetById } from './hooks/useGetById'; export { AbstractService } from './service/AbstractService'; export { BaseService } from './service/BaseService'; + +export { stringifyArrayParam } from './helpers/helpers'; diff --git a/packages/api/src/service/BaseService.ts b/packages/api/src/service/BaseService.ts index c91134b..9fd190e 100644 --- a/packages/api/src/service/BaseService.ts +++ b/packages/api/src/service/BaseService.ts @@ -7,7 +7,7 @@ export class BaseService< T = any, R = Record, > extends AbstractService { - async getList(url: string, params?: Record) { + async getList(url: string, params?: Record) { return await axios.get>(url, { params, ...this.getHeaders(),