{"version":3,"file":"Bzxhv9da.js","sources":["../../../../ClientWebAppSrc/parts/medias/fileService.ts"],"sourcesContent":["import EService from '~/parts/core/services/eService';\r\nimport { type FileModel } from \"~/parts/medias\";\r\nclass FileService extends EService {\r\n\r\n constructor(useApiKey: boolean = false) {\r\n super(useApiKey);\r\n }\r\n\r\n async get(id: number) {\r\n const file = await this.http.get(`files/GetModel/${id}`);\r\n return file;\r\n }\r\n\r\n async getMany(ids: Array) {\r\n const query = this.serializeArrayQuery(\"ids\", ids);\r\n const files = await this.http.get>(`files/GetModels/?${query}`);\r\n return files;\r\n }\r\n\r\n async uploadFile(files: Array | File, path: string | null = null) {\r\n const formData = new FormData();\r\n const filesToUpload = Array.isArray(files) ? files : [files];\r\n filesToUpload.forEach(file => {\r\n formData.append(\"formFiles\", file, file.name);\r\n });\r\n\r\n const response = await this.http.post(path ?? 'files/upload/', formData);\r\n return response;\r\n }\r\n\r\n async uploadFileWithProgress(file: FormData,\r\n uploadProgress: (e: ProgressEvent) => void) {\r\n const response = await this.http.postWithProgress('files/upload/', file, uploadProgress);\r\n return response;\r\n }\r\n\r\n downloadBlobFile(data: BlobPart, type: string, fileName: string, targetElement: HTMLElement) {\r\n var blob = new Blob([data], { type });\r\n if (window.navigator && window.navigator.hasOwnProperty(\"msSaveOrOpenBlob\")) {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n window.navigator.msSaveOrOpenBlob(blob, fileName);\r\n }\r\n else {\r\n var elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(blob);\r\n elem.download = fileName;\r\n targetElement.appendChild(elem);\r\n elem.click();\r\n targetElement.removeChild(elem);\r\n }\r\n }\r\n}\r\n\r\nexport default FileService;\r\n"],"names":["FileService","EService","useApiKey","id","ids","query","files","path","formData","file","uploadProgress","data","type","fileName","targetElement","blob","elem"],"mappings":"kCAEA,MAAMA,UAAoBC,CAAS,CAE/B,YAAYC,EAAqB,GAAO,CACpC,MAAMA,CAAS,CAAA,CAGnB,MAAM,IAAIC,EAAY,CAEX,OADM,MAAM,KAAK,KAAK,IAAe,kBAAkBA,CAAE,EAAE,CAC3D,CAGX,MAAM,QAAQC,EAAoB,CAC9B,MAAMC,EAAQ,KAAK,oBAAoB,MAAOD,CAAG,EAE1C,OADO,MAAM,KAAK,KAAK,IAAsB,oBAAoBC,CAAK,EAAE,CACxE,CAGX,MAAM,WAAsBC,EAA2BC,EAAsB,KAAM,CACzE,MAAAC,EAAW,IAAI,SAErB,OADsB,MAAM,QAAQF,CAAK,EAAIA,EAAQ,CAACA,CAAK,GAC7C,QAAgBG,GAAA,CAC1BD,EAAS,OAAO,YAAaC,EAAMA,EAAK,IAAI,CAAA,CAC/C,EAEgB,MAAM,KAAK,KAAK,KAA0BF,GAAQ,gBAAiBC,CAAQ,CACrF,CAGX,MAAM,uBAAuBC,EACzBC,EAA4C,CAErC,OADU,MAAM,KAAK,KAAK,iBAA0B,gBAAiBD,EAAMC,CAAc,CACzF,CAGX,iBAAiBC,EAAgBC,EAAcC,EAAkBC,EAA4B,CACrF,IAAAC,EAAO,IAAI,KAAK,CAACJ,CAAI,EAAG,CAAE,KAAAC,EAAM,EACpC,GAAI,OAAO,WAAa,OAAO,UAAU,eAAe,kBAAkB,EAG/D,OAAA,UAAU,iBAAiBG,EAAMF,CAAQ,MAE/C,CACD,IAAIG,EAAO,OAAO,SAAS,cAAc,GAAG,EAC5CA,EAAK,KAAO,OAAO,IAAI,gBAAgBD,CAAI,EAC3CC,EAAK,SAAWH,EAChBC,EAAc,YAAYE,CAAI,EAC9BA,EAAK,MAAM,EACXF,EAAc,YAAYE,CAAI,CAAA,CAClC,CAER"}