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

{"ast":null,"code":"function _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 getConfig from \"next/config\";\nimport * as jwt from \"jsonwebtoken\";\n\nclass Config {\n constructor(data) {\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 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 session() {\n return this.data.session;\n }\n\n apiUrl(path) {\n return this.data.api.urlRoot + path;\n }\n\n jwtToken(username, expiry = 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\nconst config = new Config(getConfig().serverRuntimeConfig);\nexport default config;","map":{"version":3,"sources":["/data/projects/react/rpdata-frontend2/config.ts"],"names":["getConfig","jwt","Config","constructor","data","api","urlRoot","endsWith","slice","auth0","clientId","clientSecret","secret","domain","session","apiUrl","path","jwtToken","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;;AAEA,MAAMC,MAAN,CAAa;AAGXC,EAAAA,WAAW,CAACC,IAAD,EAAmB;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;;AAEDC,EAAAA,KAAK,GAA6D;AAChE,WAAO;AACLC,MAAAA,QAAQ,EAAE,KAAKN,IAAL,CAAUK,KAAV,CAAgBC,QADrB;AAELC,MAAAA,YAAY,EAAE,KAAKP,IAAL,CAAUK,KAAV,CAAgBG,MAFzB;AAGLC,MAAAA,MAAM,EAAE,KAAKT,IAAL,CAAUK,KAAV,CAAgBI;AAHnB,KAAP;AAKD;;AAEDC,EAAAA,OAAO,GAAsB;AAC3B,WAAO,KAAKV,IAAL,CAAUU,OAAjB;AACD;;AAEDC,EAAAA,MAAM,CAACC,IAAD,EAAe;AACnB,WAAO,KAAKZ,IAAL,CAAUC,GAAV,CAAcC,OAAd,GAAwBU,IAA/B;AACD;;AAEDC,EAAAA,QAAQ,CAACC,QAAD,EAAmBC,MAAc,GAAG,EAApC,EAAgD;AACtD,WAAOlB,GAAG,CAACmB,IAAJ,CAAS;AACdC,MAAAA,IAAI,EAAEH,QADQ;AAEdI,MAAAA,GAAG,EAAEC,IAAI,CAACC,KAAL,CAAYC,IAAI,CAACC,GAAL,KAAa,IAAd,GAAsBP,MAAjC;AAFS,KAAT,EAGJ,KAAKf,IAAL,CAAUC,GAAV,CAAcsB,SAHV,EAGqB;AAC1BC,MAAAA,MAAM,EAAE;AACNC,QAAAA,GAAG,EAAE,KAAKzB,IAAL,CAAUC,GAAV,CAAcyB;AADb;AADkB,KAHrB,CAAP;AAQD;;AApCU;;AAoEb,MAAMC,MAAM,GAAG,IAAI7B,MAAJ,CAAWF,SAAS,GAAGgC,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"}