Second frontend, written in Next.JS + Typescript.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1 lines
4.9 KiB

{"ast":null,"code":"function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport fetch from \"node-fetch\";\nimport { getSession } from \"next-auth/client\";\nimport config from \"../../config\";\nexport default async function post(req, res) {\n if (req.method !== \"POST\") {\n res.status(405).json({\n error: \"Method not allowed;.\"\n });\n return;\n }\n\n if (typeof req.body !== \"object\" || typeof req.body.query !== \"string\") {\n res.status(400).json({\n error: \"Invalid request body (expected json object with query)\"\n });\n return;\n }\n\n const authHeaders = {};\n const session = await getSession({\n req\n });\n\n if (session != null && session.user != null) {\n authHeaders[\"Authorization\"] = `Bearer ${config.jwtToken(session.user.name, 15)}`;\n }\n\n const apires = await fetch(config.apiUrl(\"/graphql\"), {\n method: \"POST\",\n headers: _objectSpread({\n \"Content-Type\": \"application/json\"\n }, authHeaders),\n body: JSON.stringify(req.body)\n });\n res.setHeader(\"Content-Type\", apires.headers.get(\"Content-Type\"));\n res.status(apires.status);\n apires.body.pipe(res);\n}","map":{"version":3,"sources":["/data/projects/react/rpdata-frontend2/pages/api/graphql.ts"],"names":["fetch","getSession","config","post","req","res","method","status","json","error","body","query","authHeaders","session","user","jwtToken","name","apires","apiUrl","headers","JSON","stringify","setHeader","get","pipe"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,YAAlB;AAEA,SAASC,UAAT,QAA2B,kBAA3B;AAEA,OAAOC,MAAP,MAAmB,cAAnB;AAEA,eAAe,eAAeC,IAAf,CAAoBC,GAApB,EAAyCC,GAAzC,EAA+D;AAC5E,MAAID,GAAG,CAACE,MAAJ,KAAe,MAAnB,EAA2B;AACzBD,IAAAA,GAAG,CAACE,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;AAACC,MAAAA,KAAK,EAAE;AAAR,KAArB;AACA;AACD;;AAED,MAAI,OAAOL,GAAG,CAACM,IAAX,KAAqB,QAArB,IAAiC,OAAON,GAAG,CAACM,IAAJ,CAASC,KAAhB,KAA2B,QAAhE,EAA0E;AACxEN,IAAAA,GAAG,CAACE,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;AAACC,MAAAA,KAAK,EAAE;AAAR,KAArB;AACA;AACD;;AAED,QAAMG,WAAW,GAAG,EAApB;AACA,QAAMC,OAAO,GAAG,MAAMZ,UAAU,CAAC;AAACG,IAAAA;AAAD,GAAD,CAAhC;;AACA,MAAIS,OAAO,IAAI,IAAX,IAAmBA,OAAO,CAACC,IAAR,IAAgB,IAAvC,EAA6C;AAC3CF,IAAAA,WAAW,CAAC,eAAD,CAAX,GAAgC,UAASV,MAAM,CAACa,QAAP,CAAgBF,OAAO,CAACC,IAAR,CAAaE,IAA7B,EAAmC,EAAnC,CAAuC,EAAhF;AACD;;AAED,QAAMC,MAAM,GAAG,MAAMjB,KAAK,CAACE,MAAM,CAACgB,MAAP,CAAc,UAAd,CAAD,EAA4B;AACpDZ,IAAAA,MAAM,EAAE,MAD4C;AAEpDa,IAAAA,OAAO;AACL,sBAAgB;AADX,OAEFP,WAFE,CAF6C;AAMpDF,IAAAA,IAAI,EAAEU,IAAI,CAACC,SAAL,CAAejB,GAAG,CAACM,IAAnB;AAN8C,GAA5B,CAA1B;AASAL,EAAAA,GAAG,CAACiB,SAAJ,CAAc,cAAd,EAA8BL,MAAM,CAACE,OAAP,CAAeI,GAAf,CAAmB,cAAnB,CAA9B;AACAlB,EAAAA,GAAG,CAACE,MAAJ,CAAWU,MAAM,CAACV,MAAlB;AACAU,EAAAA,MAAM,CAACP,IAAP,CAAYc,IAAZ,CAAiBnB,GAAjB;AACD","sourcesContent":["import fetch from \"node-fetch\";\nimport { NextApiRequest, NextApiResponse } from \"next\";\nimport { getSession } from \"next-auth/client\";\n\nimport config from \"../../config\";\n\nexport default async function post(req: NextApiRequest, res: NextApiResponse) {\n if (req.method !== \"POST\") {\n res.status(405).json({error: \"Method not allowed;.\"});\n return;\n }\n \n if (typeof(req.body) !== \"object\" || typeof(req.body.query) !== \"string\") {\n res.status(400).json({error: \"Invalid request body (expected json object with query)\"});\n return;\n }\n\n const authHeaders = {};\n const session = await getSession({req});\n if (session != null && session.user != null) {\n authHeaders[\"Authorization\"] = `Bearer ${config.jwtToken(session.user.name, 15)}`;\n }\n\n const apires = await fetch(config.apiUrl(\"/graphql\"), {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...authHeaders,\n },\n body: JSON.stringify(req.body),\n });\n\n res.setHeader(\"Content-Type\", apires.headers.get(\"Content-Type\"));\n res.status(apires.status);\n apires.body.pipe(res);\n}\n"]},"metadata":{},"sourceType":"module"}