{"version":3,"file":"assets.mjs","sources":["../../../../admin/src/future/services/assets.ts"],"sourcesContent":["import { uploadApi } from './api';\n\nimport type {\n  GetFiles,\n  File,\n  Pagination,\n  AssetWithPopulatedCreatedBy,\n} from '../../../../shared/contracts/files';\n\ninterface GetAssetsParams {\n  page?: number;\n  pageSize?: number;\n  folder?: number | null;\n  sort?: string;\n}\n\ninterface GetAssetsResponse {\n  results: File[];\n  pagination: Pagination;\n}\n\nconst assetsApi = uploadApi.injectEndpoints({\n  endpoints: (builder) => ({\n    getAssets: builder.query<GetAssetsResponse, GetAssetsParams | void>({\n      query: (params = {}) => {\n        const { folder, ...rest } = params as GetAssetsParams;\n\n        const queryParams: Record<string, unknown> = { ...rest };\n\n        if (folder != null) {\n          queryParams['filters'] = {\n            $and: [{ folder: { id: folder } }],\n          };\n        } else {\n          queryParams['filters'] = {\n            $and: [{ folder: { id: { $null: true } } }],\n          };\n        }\n\n        return {\n          url: '/upload/files',\n          method: 'GET',\n          config: { params: queryParams },\n        };\n      },\n      transformResponse: (response: GetFiles.Response['data']) => response,\n      providesTags: (result) =>\n        result\n          ? [\n              ...result.results.map(({ id }) => ({ type: 'Asset' as const, id })),\n              { type: 'Asset', id: 'LIST' },\n            ]\n          : [{ type: 'Asset', id: 'LIST' }],\n    }),\n    getAsset: builder.query<AssetWithPopulatedCreatedBy, number>({\n      query: (id) => ({\n        url: `/upload/files/${id}`,\n        method: 'GET',\n      }),\n      providesTags: (_result, _error, id) => [{ type: 'Asset' as const, id }],\n    }),\n  }),\n});\n\nexport const { useGetAssetsQuery, useGetAssetQuery } = assetsApi;\n"],"names":["assetsApi","uploadApi","injectEndpoints","endpoints","builder","getAssets","query","params","folder","rest","queryParams","$and","id","$null","url","method","config","transformResponse","response","providesTags","result","results","map","type","getAsset","_result","_error","useGetAssetsQuery","useGetAssetQuery"],"mappings":";;AAqBA,MAAMA,SAAAA,GAAYC,SAAAA,CAAUC,eAAe,CAAC;IAC1CC,SAAAA,EAAW,CAACC,WAAa;YACvBC,SAAAA,EAAWD,OAAAA,CAAQE,KAAK,CAA4C;gBAClEA,KAAAA,EAAO,CAACC,MAAAA,GAAS,EAAE,GAAA;AACjB,oBAAA,MAAM,EAAEC,MAAM,EAAE,GAAGC,MAAM,GAAGF,MAAAA;AAE5B,oBAAA,MAAMG,WAAAA,GAAuC;AAAE,wBAAA,GAAGD;AAAK,qBAAA;AAEvD,oBAAA,IAAID,UAAU,IAAA,EAAM;wBAClBE,WAAW,CAAC,UAAU,GAAG;4BACvBC,IAAAA,EAAM;AAAC,gCAAA;oCAAEH,MAAAA,EAAQ;wCAAEI,EAAAA,EAAIJ;AAAO;AAAE;AAAE;AACpC,yBAAA;oBACF,CAAA,MAAO;wBACLE,WAAW,CAAC,UAAU,GAAG;4BACvBC,IAAAA,EAAM;AAAC,gCAAA;oCAAEH,MAAAA,EAAQ;wCAAEI,EAAAA,EAAI;4CAAEC,KAAAA,EAAO;AAAK;AAAE;AAAE;AAAE;AAC7C,yBAAA;AACF,oBAAA;oBAEA,OAAO;wBACLC,GAAAA,EAAK,eAAA;wBACLC,MAAAA,EAAQ,KAAA;wBACRC,MAAAA,EAAQ;4BAAET,MAAAA,EAAQG;AAAY;AAChC,qBAAA;AACF,gBAAA,CAAA;AACAO,gBAAAA,iBAAAA,EAAmB,CAACC,QAAAA,GAAwCA,QAAAA;gBAC5DC,YAAAA,EAAc,CAACC,SACbA,MAAAA,GACI;2BACKA,MAAAA,CAAOC,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEV,EAAE,EAAE,IAAM;gCAAEW,IAAAA,EAAM,OAAA;AAAkBX,gCAAAA;6BAAG,CAAA,CAAA;AAChE,wBAAA;4BAAEW,IAAAA,EAAM,OAAA;4BAASX,EAAAA,EAAI;AAAO;qBAC7B,GACD;AAAC,wBAAA;4BAAEW,IAAAA,EAAM,OAAA;4BAASX,EAAAA,EAAI;AAAO;AAAE;AACvC,aAAA,CAAA;YACAY,QAAAA,EAAUpB,OAAAA,CAAQE,KAAK,CAAsC;gBAC3DA,KAAAA,EAAO,CAACM,MAAQ;wBACdE,GAAAA,EAAK,CAAC,cAAc,EAAEF,EAAAA,CAAAA,CAAI;wBAC1BG,MAAAA,EAAQ;qBACV,CAAA;gBACAI,YAAAA,EAAc,CAACM,OAAAA,EAASC,MAAAA,EAAQd,EAAAA,GAAO;AAAC,wBAAA;4BAAEW,IAAAA,EAAM,OAAA;AAAkBX,4BAAAA;AAAG;AAAE;AACzE,aAAA;SACF;AACF,CAAA,CAAA;MAEa,EAAEe,iBAAiB,EAAEC,gBAAgB,EAAE,GAAG5B;;;;"}