{"version":3,"sources":["../../src/link/index.ts"],"sourcesContent":["import { fetch } from '@shware/utils';\nimport type { CreateLinkDTO } from '../schema/index';\nimport { config } from '../setup/index';\n\nexport interface Link extends CreateLinkDTO {\n  id: string;\n  created_at: string;\n}\n\nexport async function createLink(dto: CreateLinkDTO) {\n  const response = await fetch(`${config.endpoint}/links`, {\n    method: 'POST',\n    credentials: 'include',\n    headers: await config.getHeaders(),\n    body: JSON.stringify(dto),\n  });\n\n  if (!response.ok) {\n    throw new Error(`Failed to create link: ${response.status} ${await response.text()}`);\n  }\n  return response.json() as Promise<Link>;\n}\n\nexport async function getLink(id: string): Promise<Link | null> {\n  try {\n    const response = await fetch(`${config.endpoint}/links/${id}`, {\n      method: 'GET',\n      credentials: 'include',\n      headers: await config.getHeaders(),\n    });\n\n    if (!response.ok) {\n      console.error(`Failed to get link(${id}): ${response.status} ${await response.text()}`);\n      return null;\n    }\n    return response.json() as Promise<Link>;\n  } catch {\n    console.error(`Failed to get link(${id}): network error`);\n    return null;\n  }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsB;AAEtB,mBAAuB;AAOvB,eAAsB,WAAW,KAAoB;AACnD,QAAM,WAAW,UAAM,oBAAM,GAAG,oBAAO,QAAQ,UAAU;AAAA,IACvD,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,SAAS,MAAM,oBAAO,WAAW;AAAA,IACjC,MAAM,KAAK,UAAU,GAAG;AAAA,EAC1B,CAAC;AAED,MAAI,CAAC,SAAS,IAAI;AAChB,UAAM,IAAI,MAAM,0BAA0B,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,CAAC,EAAE;AAAA,EACtF;AACA,SAAO,SAAS,KAAK;AACvB;AAEA,eAAsB,QAAQ,IAAkC;AAC9D,MAAI;AACF,UAAM,WAAW,UAAM,oBAAM,GAAG,oBAAO,QAAQ,UAAU,EAAE,IAAI;AAAA,MAC7D,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,SAAS,MAAM,oBAAO,WAAW;AAAA,IACnC,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,cAAQ,MAAM,sBAAsB,EAAE,MAAM,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,CAAC,EAAE;AACtF,aAAO;AAAA,IACT;AACA,WAAO,SAAS,KAAK;AAAA,EACvB,QAAQ;AACN,YAAQ,MAAM,sBAAsB,EAAE,kBAAkB;AACxD,WAAO;AAAA,EACT;AACF;","names":[]}