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.6 KiB

{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport getConfig from \"next/config\";\nimport * as jwt from \"jsonwebtoken\";\n\nvar Config = /*#__PURE__*/function () {\n function Config(data) {\n _classCallCheck(this, Config);\n\n _defineProperty(this, \"data\", void 0);\n\n this.data = data;\n\n while (this.data.api && this.data.api.urlRoot.endsWith(\"/\")) {\n this.data.api.urlRoot = this.data.api.urlRoot.slice(0, -1);\n }\n }\n\n _createClass(Config, [{\n key: \"auth0\",\n value: function auth0() {\n return {\n clientId: this.data.auth0.clientId,\n clientSecret: this.data.auth0.secret,\n domain: this.data.auth0.domain\n };\n }\n }, {\n key: \"session\",\n value: function session() {\n return this.data.session;\n }\n }, {\n key: \"apiUrl\",\n value: function apiUrl(path) {\n return this.data.api.urlRoot + path;\n }\n }, {\n key: \"jwtToken\",\n value: function jwtToken(username) {\n var expiry = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 15;\n return jwt.sign({\n user: username,\n exp: Math.floor(Date.now() / 1000 + expiry)\n }, this.data.api.secretKey, {\n header: {\n kid: this.data.api.secretId\n }\n });\n }\n }]);\n\n return Config;\n}();\n\nvar config = new Config(getConfig().serverRuntimeConfig);\nexport default config;","map":{"version":3,"sources":["/data/projects/react/rpdata-frontend2/config.ts"],"names":["getConfig","jwt","Config","data","api","urlRoot","endsWith","slice","clientId","auth0","clientSecret","secret","domain","session","path","username","expiry","sign","user","exp","Math","floor","Date","now","secretKey","header","kid","secretId","config","serverRuntimeConfig"],"mappings":";;;AAAA,OAAOA,SAAP,MAAsB,aAAtB;AACA,OAAO,KAAKC,GAAZ,MAAqB,cAArB;;IAEMC,M;AAGJ,kBAAYC,IAAZ,EAA8B;AAAA;;AAAA;;AAC5B,SAAKA,IAAL,GAAYA,IAAZ;;AAEA,WAAO,KAAKA,IAAL,CAAUC,GAAV,IAAiB,KAAKD,IAAL,CAAUC,GAAV,CAAcC,OAAd,CAAsBC,QAAtB,CAA+B,GAA/B,CAAxB,EAA6D;AAC3D,WAAKH,IAAL,CAAUC,GAAV,CAAcC,OAAd,GAAwB,KAAKF,IAAL,CAAUC,GAAV,CAAcC,OAAd,CAAsBE,KAAtB,CAA4B,CAA5B,EAA+B,CAAC,CAAhC,CAAxB;AACD;AACF;;;;4BAEiE;AAChE,aAAO;AACLC,QAAAA,QAAQ,EAAE,KAAKL,IAAL,CAAUM,KAAV,CAAgBD,QADrB;AAELE,QAAAA,YAAY,EAAE,KAAKP,IAAL,CAAUM,KAAV,CAAgBE,MAFzB;AAGLC,QAAAA,MAAM,EAAE,KAAKT,IAAL,CAAUM,KAAV,CAAgBG;AAHnB,OAAP;AAKD;;;8BAE4B;AAC3B,aAAO,KAAKT,IAAL,CAAUU,OAAjB;AACD;;;2BAEMC,I,EAAc;AACnB,aAAO,KAAKX,IAAL,CAAUC,GAAV,CAAcC,OAAd,GAAwBS,IAA/B;AACD;;;6BAEQC,Q,EAA+C;AAAA,UAA7BC,MAA6B,uEAAZ,EAAY;AACtD,aAAOf,GAAG,CAACgB,IAAJ,CAAS;AACdC,QAAAA,IAAI,EAAEH,QADQ;AAEdI,QAAAA,GAAG,EAAEC,IAAI,CAACC,KAAL,CAAYC,IAAI,CAACC,GAAL,KAAa,IAAd,GAAsBP,MAAjC;AAFS,OAAT,EAGJ,KAAKb,IAAL,CAAUC,GAAV,CAAcoB,SAHV,EAGqB;AAC1BC,QAAAA,MAAM,EAAE;AACNC,UAAAA,GAAG,EAAE,KAAKvB,IAAL,CAAUC,GAAV,CAAcuB;AADb;AADkB,OAHrB,CAAP;AAQD;;;;;;AAgCH,IAAMC,MAAM,GAAG,IAAI1B,MAAJ,CAAWF,SAAS,GAAG6B,mBAAvB,CAAf;AAEA,eAAeD,MAAf","sourcesContent":["import getConfig from \"next/config\";\nimport * as jwt from \"jsonwebtoken\";\n\nclass Config {\n private data : ConfigData | null;\n \n constructor(data: ConfigData) {\n this.data = data;\n\n while (this.data.api && this.data.api.urlRoot.endsWith(\"/\")) {\n this.data.api.urlRoot = this.data.api.urlRoot.slice(0, -1)\n }\n }\n\n auth0(): {clientId: string, clientSecret: string, domain: string} {\n return {\n clientId: this.data.auth0.clientId,\n clientSecret: this.data.auth0.secret,\n domain: this.data.auth0.domain,\n }\n }\n\n session(): ConfigDataSession {\n return this.data.session\n }\n\n apiUrl(path: string) {\n return this.data.api.urlRoot + path;\n }\n\n jwtToken(username: string, expiry: number = 15): string {\n return jwt.sign({\n user: username,\n exp: Math.floor((Date.now() / 1000) + expiry),\n }, this.data.api.secretKey, {\n header: {\n kid: this.data.api.secretId,\n }\n })\n }\n}\n\nexport interface ConfigData {\n api: ConfigDataAPI\n auth0: ConfigDataAuth0\n session: ConfigDataSession\n redis: ConfigDataRedis\n}\n\ninterface ConfigDataAPI {\n urlRoot: string\n secretId: string\n secretKey: string\n}\n\ninterface ConfigDataAuth0 {\n secret: string\n clientId: string\n domain: string\n}\n\ninterface ConfigDataSession {\n secret: string\n secure?: boolean\n}\n\ninterface ConfigDataRedis {\n host: string\n port: number\n}\n\nconst config = new Config(getConfig().serverRuntimeConfig);\n\nexport default config;"]},"metadata":{},"sourceType":"module"}