up
This commit is contained in:
@@ -0,0 +1 @@
|
||||
import{r as e}from"./client-lOiq7Q_J.js";import{a as t,o as n}from"./index-C3-4MRIk.js";function r(){let e=n();return i(e.refreshTokenAction,e.getToken)}function i(n,r){async function i(i,a){return t(async()=>{let t=new Headers(a.headers),n=r();n&&t.set(`Authorization`,`Bearer ${n}`);let o=await fetch(`${e()}/${i}`,{...a,headers:t});if(o.status===401)throw Error(`unauthorized`);return o},n,r)}async function s(e,t){let n=await i(e,{method:`GET`});if(!n.ok)throw Error(await o(n));return{blob:await n.blob(),filename:a(n.headers.get(`Content-Disposition`))||t}}function c(e){return s(`api/scenarios/${e}/archive`,`scenario-${e}.zip`)}function l(e){return s(`api/games/${e}/teams/qr.pdf`,`game-${e}.pdf`)}function u(e,t){return s(`api/games/${e}/teams/${encodeURIComponent(t)}/receipt.png`,`receipt.png`)}function d(e){return s(`api/games/${e}/print-materials`,`game-${e}-print-materials.zip`)}function f(e){return s(`api/games/${e}/export/download`,`game-${e}.zip`)}function p(e){return s(`api/games/${e}/results-package/download`,`game-results-${e}.zip`)}async function m(e,t){let n=await i(`api/games/${e}/results-package/apply`,{method:`POST`,headers:{"Content-Type":`application/zip`},body:t});if(!n.ok)throw Error(await o(n));let r=await n.json();if(!r||typeof r!=`object`||!(`gameID`in r)||r.gameID!==e||!(`packageID`in r)||typeof r.packageID!=`string`||!(`appliedAt`in r)||typeof r.appliedAt!=`string`)throw Error(`Некорректный ответ применения результатов`);return{gameID:r.gameID,packageID:r.packageID,appliedAt:r.appliedAt}}async function h(e){let t=await i(`api/games/import`,{method:`POST`,headers:{"Content-Type":`application/zip`},body:e});if(!t.ok)throw Error(await o(t));let n=await t.json();if(!n||typeof n!=`object`||!(`gameID`in n)||typeof n.gameID!=`number`||!Number.isSafeInteger(n.gameID)||n.gameID<=0||!(`packageID`in n)||typeof n.packageID!=`string`||!(`repeated`in n)||typeof n.repeated!=`boolean`)throw Error(`Некорректный ответ импорта игры`);return{gameID:n.gameID,packageID:n.packageID,repeated:n.repeated}}async function g(e){let t=await i(`api/scenarios/archive`,{method:`POST`,headers:{"Content-Type":e.type||`application/zip`},body:e});if(!t.ok)throw Error(await o(t));let n=await t.json().catch(()=>null);return{ID:typeof n?.ID==`number`?n.ID:null}}return{downloadScenarioArchive:c,downloadTeamQR:l,downloadTeamReceipt:u,downloadGamePrintMaterials:d,uploadScenarioArchive:g,downloadGamePackage:f,uploadGamePackage:h,downloadGameResultsPackage:p,applyGameResultsPackage:m}}function a(e){if(!e)return``;let t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t)try{return decodeURIComponent(t[1].trim()).replace(/[\\/:*?"<>|]/g,`_`)}catch{}let n=e.match(/filename="?([^";]+)"?/i);return(n?n[1]:``).replace(/[\\/:*?"<>|]/g,`_`)}async function o(e){let t=await e.json().catch(()=>null);if(t&&typeof t==`object`){if(`message`in t&&typeof t.message==`string`&&t.message!==``)return t.message;if(`error`in t&&typeof t.error==`string`&&t.error!==``)return t.error}return`Ошибка сервера (${e.status})`}export{r as t};
|
||||
Reference in New Issue
Block a user