@telia-ace/alliance-internal-node-utilities 1.0.1 → 1.0.2-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/auth/auth.middleware.d.ts +13 -0
- package/dist/auth/index.d.ts +2 -0
- package/dist/constants/index.d.ts +2 -0
- package/dist/exceptions/alliance.exception.d.ts +7 -0
- package/dist/{exceptions.d.ts → exceptions/codes.d.ts} +12 -11
- package/dist/exceptions/exception.filter.d.ts +5 -0
- package/dist/exceptions/index.d.ts +3 -0
- package/dist/index.cjs +4 -4
- package/dist/index.d.ts +6 -6
- package/dist/index.mjs +5 -5
- package/dist/logging/index.d.ts +2 -0
- package/dist/logging/logging.module.d.ts +9 -0
- package/dist/{logging.d.ts → logging/logging.service.d.ts} +0 -9
- package/dist/slugify.d.ts +1 -0
- package/package.json +12 -12
- /package/dist/{auth.d.ts → auth/tokens.d.ts} +0 -0
- /package/dist/{config.d.ts → constants/config.d.ts} +0 -0
- /package/dist/{constants.d.ts → constants/headers.d.ts} +0 -0
- /package/dist/{vite-plugin-css-import.d.ts → vite-css-import.plugin.d.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ConfigService } from '@nestjs/config';
|
|
2
|
+
import type { RequestHandler } from 'express';
|
|
3
|
+
import { ConfigParams } from 'express-openid-connect';
|
|
4
|
+
type Settings = {
|
|
5
|
+
baseURL?: ConfigParams['baseURL'];
|
|
6
|
+
clientID?: ConfigParams['clientID'];
|
|
7
|
+
clientSecret?: ConfigParams['clientSecret'];
|
|
8
|
+
authRequired?: ConfigParams['authRequired'];
|
|
9
|
+
authorizationParams?: ConfigParams['authorizationParams'];
|
|
10
|
+
afterCallback?: ConfigParams['afterCallback'];
|
|
11
|
+
};
|
|
12
|
+
export declare function authMiddleware(configService: ConfigService, { baseURL, clientSecret, clientID, authRequired, authorizationParams, afterCallback, }?: Settings): RequestHandler;
|
|
13
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HttpStatus } from '@nestjs/common';
|
|
2
2
|
export declare enum GatewayErrorCodes {
|
|
3
3
|
NoMatchingEndpoint = 10000,
|
|
4
4
|
NoObjectId = 10001,
|
|
@@ -16,18 +16,19 @@ export declare enum GatewayErrorCodes {
|
|
|
16
16
|
}
|
|
17
17
|
export declare enum DatabasesErrorCodes {
|
|
18
18
|
NoPublicKey = 11000,
|
|
19
|
-
NoAuthHeader = 11001
|
|
19
|
+
NoAuthHeader = 11001,
|
|
20
|
+
FailedFileStore = 11002,
|
|
21
|
+
FailedFileRead = 11003
|
|
20
22
|
}
|
|
21
23
|
export declare enum PortalErrorCodes {
|
|
22
24
|
NoObjectId = 12000
|
|
23
25
|
}
|
|
24
|
-
type ErrorCodes = GatewayErrorCodes | DatabasesErrorCodes | PortalErrorCodes;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
26
|
+
export type ErrorCodes = GatewayErrorCodes | DatabasesErrorCodes | PortalErrorCodes;
|
|
27
|
+
type AllianceErrors = {
|
|
28
|
+
[key in ErrorCodes]: {
|
|
29
|
+
httpCode: HttpStatus;
|
|
30
|
+
message: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export declare const allianceErrors: AllianceErrors;
|
|
33
34
|
export {};
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";const nestjsPino=require("nestjs-pino"),jsonwebtoken=require("jsonwebtoken"),common=require("@nestjs/common"),config=require("@nestjs/config"),node_fs=require("node:fs"),node_path=require("node:path"),promises=require("node:stream/promises");var SharedConfigKeys=(e=>(e.AuthAuthority="AUTH_AUTHORITY",e.AuthCookieName="AUTH_COOKIE_NAME",e.AuthCookieSecret="AUTH_COOKIE_SECRET",e.DbEndpoint="DB_ENDPOINT",e.JwtPrivateKey="JWT_PRIVATE_KEY",e.ServiceLogLevel="SERVICE_LOG_LEVEL",e.ServicePort="SERVICE_PORT",e))(SharedConfigKeys||{});function createBearerToken({privateKey:e,aud:
|
|
1
|
+
"use strict";const nestjsPino=require("nestjs-pino"),expressOpenidConnect=require("express-openid-connect"),jsonwebtoken=require("jsonwebtoken"),common=require("@nestjs/common"),config=require("@nestjs/config"),t=require("slugify"),node_fs=require("node:fs"),node_path=require("node:path"),promises=require("node:stream/promises");function _interopDefaultCompat(e){return e&&typeof e=="object"&&"default"in e?e.default:e}const t__default=_interopDefaultCompat(t);var SharedConfigKeys=(e=>(e.AuthAuthority="AUTH_AUTHORITY",e.AuthCookieName="AUTH_COOKIE_NAME",e.AuthCookieSecret="AUTH_COOKIE_SECRET",e.DbEndpoint="DB_ENDPOINT",e.JwtPrivateKey="JWT_PRIVATE_KEY",e.ServiceLogLevel="SERVICE_LOG_LEVEL",e.ServicePort="SERVICE_PORT",e))(SharedConfigKeys||{}),AllianceHeaders=(e=>(e.TargetUrl="alliance-target-url",e.TargetApp="alliance-target-app",e.TargetWorkspace="alliance-target-workspace",e))(AllianceHeaders||{});function authMiddleware(e,{baseURL:i="https://127.0.0.1",clientSecret:o,clientID:u=" ",authRequired:n=!0,authorizationParams:g={},afterCallback:d}={}){return expressOpenidConnect.auth({baseURL:i,clientSecret:o,clientID:u,authRequired:n,authorizationParams:g,afterCallback:d,issuerBaseURL:`${e.getOrThrow(SharedConfigKeys.AuthAuthority)}/.well-known/openid-configuration`,secret:e.getOrThrow(SharedConfigKeys.AuthCookieSecret),session:{name:e.getOrThrow(SharedConfigKeys.AuthCookieName)},routes:{callback:"/signin-oidc"}})}function createBearerToken({privateKey:e,aud:i,sub:o,name:u,user:n,workspace:g}){return`Bearer ${jsonwebtoken.sign({iss:"Alliance",aud:i,sub:o,name:u,"https://alliance.teliacompany.net/user_type":n.type,"https://alliance.teliacompany.net/user_privileges":n.permissions,"https://alliance.teliacompany.net/workspace":g.slug,"https://alliance.teliacompany.net/workspace_name":g.name,"https://alliance.teliacompany.net/tenant":g.slug,"https://alliance.teliacompany.net/tenant_name":g.name},e,{expiresIn:"1h",algorithm:"RS256"})}`}function getPrivateKey(e){return`-----BEGIN RSA PRIVATE KEY-----
|
|
2
2
|
`+e.getOrThrow(SharedConfigKeys.JwtPrivateKey)+`
|
|
3
|
-
-----END RSA PRIVATE KEY-----`}function createSystemUserToken(e){return createBearerToken({aud:"system",sub:"system",name:"system",workspace:{slug:"system",name:"system"},user:{type:"system",permissions:[]},privateKey:getPrivateKey(e)})}var
|
|
4
|
-
`}return`${
|
|
5
|
-
`},""),h=node_fs.createWriteStream(
|
|
3
|
+
-----END RSA PRIVATE KEY-----`}function createSystemUserToken(e){return createBearerToken({aud:"system",sub:"system",name:"system",workspace:{slug:"system",name:"system"},user:{type:"system",permissions:[]},privateKey:getPrivateKey(e)})}var GatewayErrorCodes=(e=>(e[e.NoMatchingEndpoint=1e4]="NoMatchingEndpoint",e[e.NoObjectId=10001]="NoObjectId",e[e.NoTargetAppHeader=10002]="NoTargetAppHeader",e[e.NoTargetWorkspaceHeader=10003]="NoTargetWorkspaceHeader",e[e.NoManifestsInCache=10004]="NoManifestsInCache",e[e.NoDevSessionInCache=10005]="NoDevSessionInCache",e[e.NoManifest=10006]="NoManifest",e[e.NoRequestContext=10007]="NoRequestContext",e[e.NoUserInRequestContext=10008]="NoUserInRequestContext",e[e.NoAppInRequestContext=10009]="NoAppInRequestContext",e[e.NoWorkspaceInRequestContext=10010]="NoWorkspaceInRequestContext",e[e.NoManifestInRequestContext=10011]="NoManifestInRequestContext",e[e.NoUserPermissionsInRequestContext=10012]="NoUserPermissionsInRequestContext",e))(GatewayErrorCodes||{}),DatabasesErrorCodes=(e=>(e[e.NoPublicKey=11e3]="NoPublicKey",e[e.NoAuthHeader=11001]="NoAuthHeader",e[e.FailedFileStore=11002]="FailedFileStore",e[e.FailedFileRead=11003]="FailedFileRead",e))(DatabasesErrorCodes||{}),PortalErrorCodes=(e=>(e[e.NoObjectId=12e3]="NoObjectId",e))(PortalErrorCodes||{});const allianceErrors={[1e4]:{httpCode:common.HttpStatus.BAD_REQUEST,message:"Could not find endpoint matching request in app manifest."},[10001]:{httpCode:common.HttpStatus.UNAUTHORIZED,message:"No object id available on authenticated user."},[10002]:{httpCode:common.HttpStatus.BAD_REQUEST,message:`Request missing header '${AllianceHeaders.TargetApp}'.`},[10003]:{httpCode:common.HttpStatus.BAD_REQUEST,message:`Request missing header '${AllianceHeaders.TargetWorkspace}'.`},[10004]:{httpCode:common.HttpStatus.INTERNAL_SERVER_ERROR,message:"App manifests missing in cache."},[10005]:{httpCode:common.HttpStatus.INTERNAL_SERVER_ERROR,message:"No dev session in memory cache."},[10006]:{httpCode:common.HttpStatus.INTERNAL_SERVER_ERROR,message:"Could not find manifest for app '{{appSlug}}'."},[10007]:{httpCode:common.HttpStatus.INTERNAL_SERVER_ERROR,message:"No request context."},[10008]:{httpCode:common.HttpStatus.INTERNAL_SERVER_ERROR,message:"No user in request context."},[10009]:{httpCode:common.HttpStatus.INTERNAL_SERVER_ERROR,message:"No app in request context."},[10010]:{httpCode:common.HttpStatus.INTERNAL_SERVER_ERROR,message:"No workspace in request context."},[10011]:{httpCode:common.HttpStatus.INTERNAL_SERVER_ERROR,message:"No manifest in request context."},[10012]:{httpCode:common.HttpStatus.INTERNAL_SERVER_ERROR,message:"No user permissions in request context."},[11e3]:{httpCode:common.HttpStatus.UNAUTHORIZED,message:"No public key available to decode JWT."},[11001]:{httpCode:common.HttpStatus.UNAUTHORIZED,message:"No authorization header found."},[11002]:{httpCode:common.HttpStatus.INTERNAL_SERVER_ERROR,message:"Error storing file."},[11003]:{httpCode:common.HttpStatus.INTERNAL_SERVER_ERROR,message:"Error reading file."},[12e3]:{httpCode:common.HttpStatus.UNAUTHORIZED,message:"No object id found in user claims."}};function p(e,i){return Object.entries(i).reduce((o,[u,n])=>o.replaceAll(`{{${u}}}`,n),e)}class AllianceException extends common.HttpException{constructor(i,o={}){const{message:u,httpCode:n}=allianceErrors[i];super(p(u,o),n),this.code=i,this.info=`https://github.com/telia-company/ace-alliance-sdk/wiki/error-codes#${i}`}}var c=Object.defineProperty,a$2=Object.getOwnPropertyDescriptor,r=(e,i,o,u)=>{for(var n=u>1?void 0:u?a$2(i,o):i,g=e.length-1,d;g>=0;g--)(d=e[g])&&(n=(u?d(i,o,n):d(n))||n);return u&&n&&c(i,o,n),n};exports.AllianceExceptionFilter=class{catch(i,o){const u=o.switchToHttp().getResponse(),n=i.getStatus();u.status&&u.status(n).json({httpCode:n,code:i.code,info:i.info,message:i.message})}},exports.AllianceExceptionFilter=r([common.Catch(AllianceException)],exports.AllianceExceptionFilter);var f=Object.defineProperty,s=Object.getOwnPropertyDescriptor,a$1=(e,i,o,u)=>{for(var n=u>1?void 0:u?s(i,o):i,g=e.length-1,d;g>=0;g--)(d=e[g])&&(n=(u?d(i,o,n):d(n))||n);return u&&n&&f(i,o,n),n},l$1=(e,i)=>(o,u)=>i(o,u,e);exports.LoggerService=class{constructor(i){this.logger=i,this.log=(...o)=>this.logger.info(...o),this.trace=(...o)=>this.logger.trace(...o),this.debug=(...o)=>this.logger.debug(...o),this.info=(...o)=>this.logger.info(...o),this.warn=(...o)=>this.logger.warn(...o),this.error=(...o)=>this.logger.error(...o),this.fatal=(...o)=>this.logger.fatal(...o)}},exports.LoggerService=a$1([common.Injectable(),l$1(0,nestjsPino.InjectPinoLogger())],exports.LoggerService);var l=Object.defineProperty,m=Object.getOwnPropertyDescriptor,a=(e,i,o,u)=>{for(var n=u>1?void 0:u?m(i,o):i,g=e.length-1,d;g>=0;g--)(d=e[g])&&(n=(u?d(i,o,n):d(n))||n);return u&&n&&l(i,o,n),n};exports.LoggerModule=class{static forRoot({logLevel:i,redact:o=!0}={}){return{module:exports.LoggerModule,controllers:[],imports:[nestjsPino.LoggerModule.forRootAsync({imports:[config.ConfigModule],inject:[config.ConfigService],useFactory:async u=>({pinoHttp:{level:i||u.get(SharedConfigKeys.ServiceLogLevel)||"silent",redact:o?["authorization","headers.authorization","req.headers.authorization","req.remoteAddress","req.remotePort"]:[],transport:{target:"pino-pretty",options:{colorize:!0,colorizeObjects:!0}}}})})],global:!0,providers:[exports.LoggerService],exports:[]}}},exports.LoggerModule=a([common.Module({providers:[exports.LoggerService],exports:[exports.LoggerService]})],exports.LoggerModule);function slugify(e){return t__default(e,{strict:!0,replacement:"-",lower:!0})}function viteCssImportPlugin(e,i=!1){return{name:"vite-plugin-css-import",apply:"build",enforce:"post",writeBundle:async(o,u)=>{const n=Object.keys(u).filter(R=>R.endsWith(".css"));if(!n.length)return;const g=node_path.resolve(process.cwd(),`${e}-temp.js`),d=node_path.resolve(process.cwd(),`${e}.js`),N=n.reduce((R,E)=>{if(i){const C=node_path.dirname(d),A=node_path.relative(C,E);return`${R}import "${A.replaceAll("\\","/")}";
|
|
4
|
+
`}return`${R}import "./${E}";
|
|
5
|
+
`},""),h=node_fs.createWriteStream(g);h.write(N,"utf8");const S=node_fs.createReadStream(d);await promises.pipeline(S,h),node_fs.rmSync(d,{force:!0}),node_fs.renameSync(g,d),h.end()}}}exports.LoggerErrorInterceptor=nestjsPino.LoggerErrorInterceptor,exports.AllianceException=AllianceException,exports.AllianceHeaders=AllianceHeaders,exports.DatabasesErrorCodes=DatabasesErrorCodes,exports.GatewayErrorCodes=GatewayErrorCodes,exports.PortalErrorCodes=PortalErrorCodes,exports.SharedConfigKeys=SharedConfigKeys,exports.authMiddleware=authMiddleware,exports.createBearerToken=createBearerToken,exports.createSystemUserToken=createSystemUserToken,exports.getPrivateKey=getPrivateKey,exports.slugify=slugify,exports.viteCssImportPlugin=viteCssImportPlugin;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { LoggerErrorInterceptor } from 'nestjs-pino';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export * from './vite-
|
|
2
|
+
export { authMiddleware, createBearerToken, createSystemUserToken, getPrivateKey } from './auth';
|
|
3
|
+
export { AllianceHeaders, SharedConfigKeys } from './constants';
|
|
4
|
+
export { AllianceException, AllianceExceptionFilter, DatabasesErrorCodes, GatewayErrorCodes, PortalErrorCodes, } from './exceptions';
|
|
5
|
+
export { LoggerModule, LoggerService } from './logging';
|
|
6
|
+
export { slugify } from './slugify';
|
|
7
|
+
export * from './vite-css-import.plugin';
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{InjectPinoLogger as S,LoggerModule as
|
|
2
|
-
`+e.getOrThrow(
|
|
3
|
-
-----END RSA PRIVATE KEY-----`}function
|
|
4
|
-
`}return`${
|
|
5
|
-
`},""),d=
|
|
1
|
+
import{InjectPinoLogger as S,LoggerModule as _}from"nestjs-pino";export{LoggerErrorInterceptor}from"nestjs-pino";import{auth as b}from"express-openid-connect";import{sign as w}from"jsonwebtoken";import{HttpStatus as i,HttpException as L,Catch as x,Injectable as k,Module as q}from"@nestjs/common";import{ConfigModule as P,ConfigService as U}from"@nestjs/config";import j from"slugify";import{createWriteStream as D,createReadStream as H,rmSync as V,renameSync as $}from"node:fs";import{resolve as h,dirname as M,relative as K}from"node:path";import{pipeline as F}from"node:stream/promises";var c=(e=>(e.AuthAuthority="AUTH_AUTHORITY",e.AuthCookieName="AUTH_COOKIE_NAME",e.AuthCookieSecret="AUTH_COOKIE_SECRET",e.DbEndpoint="DB_ENDPOINT",e.JwtPrivateKey="JWT_PRIVATE_KEY",e.ServiceLogLevel="SERVICE_LOG_LEVEL",e.ServicePort="SERVICE_PORT",e))(c||{}),u=(e=>(e.TargetUrl="alliance-target-url",e.TargetApp="alliance-target-app",e.TargetWorkspace="alliance-target-workspace",e))(u||{});function W(e,{baseURL:t="https://127.0.0.1",clientSecret:a,clientID:o=" ",authRequired:r=!0,authorizationParams:s={},afterCallback:n}={}){return b({baseURL:t,clientSecret:a,clientID:o,authRequired:r,authorizationParams:s,afterCallback:n,issuerBaseURL:`${e.getOrThrow(c.AuthAuthority)}/.well-known/openid-configuration`,secret:e.getOrThrow(c.AuthCookieSecret),session:{name:e.getOrThrow(c.AuthCookieName)},routes:{callback:"/signin-oidc"}})}function E({privateKey:e,aud:t,sub:a,name:o,user:r,workspace:s}){return`Bearer ${w({iss:"Alliance",aud:t,sub:a,name:o,"https://alliance.teliacompany.net/user_type":r.type,"https://alliance.teliacompany.net/user_privileges":r.permissions,"https://alliance.teliacompany.net/workspace":s.slug,"https://alliance.teliacompany.net/workspace_name":s.name,"https://alliance.teliacompany.net/tenant":s.slug,"https://alliance.teliacompany.net/tenant_name":s.name},e,{expiresIn:"1h",algorithm:"RS256"})}`}function N(e){return`-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
`+e.getOrThrow(c.JwtPrivateKey)+`
|
|
3
|
+
-----END RSA PRIVATE KEY-----`}function B(e){return E({aud:"system",sub:"system",name:"system",workspace:{slug:"system",name:"system"},user:{type:"system",permissions:[]},privateKey:N(e)})}var f=(e=>(e[e.NoMatchingEndpoint=1e4]="NoMatchingEndpoint",e[e.NoObjectId=10001]="NoObjectId",e[e.NoTargetAppHeader=10002]="NoTargetAppHeader",e[e.NoTargetWorkspaceHeader=10003]="NoTargetWorkspaceHeader",e[e.NoManifestsInCache=10004]="NoManifestsInCache",e[e.NoDevSessionInCache=10005]="NoDevSessionInCache",e[e.NoManifest=10006]="NoManifest",e[e.NoRequestContext=10007]="NoRequestContext",e[e.NoUserInRequestContext=10008]="NoUserInRequestContext",e[e.NoAppInRequestContext=10009]="NoAppInRequestContext",e[e.NoWorkspaceInRequestContext=10010]="NoWorkspaceInRequestContext",e[e.NoManifestInRequestContext=10011]="NoManifestInRequestContext",e[e.NoUserPermissionsInRequestContext=10012]="NoUserPermissionsInRequestContext",e))(f||{}),C=(e=>(e[e.NoPublicKey=11e3]="NoPublicKey",e[e.NoAuthHeader=11001]="NoAuthHeader",e[e.FailedFileStore=11002]="FailedFileStore",e[e.FailedFileRead=11003]="FailedFileRead",e))(C||{}),A=(e=>(e[e.NoObjectId=12e3]="NoObjectId",e))(A||{});const z={[1e4]:{httpCode:i.BAD_REQUEST,message:"Could not find endpoint matching request in app manifest."},[10001]:{httpCode:i.UNAUTHORIZED,message:"No object id available on authenticated user."},[10002]:{httpCode:i.BAD_REQUEST,message:`Request missing header '${u.TargetApp}'.`},[10003]:{httpCode:i.BAD_REQUEST,message:`Request missing header '${u.TargetWorkspace}'.`},[10004]:{httpCode:i.INTERNAL_SERVER_ERROR,message:"App manifests missing in cache."},[10005]:{httpCode:i.INTERNAL_SERVER_ERROR,message:"No dev session in memory cache."},[10006]:{httpCode:i.INTERNAL_SERVER_ERROR,message:"Could not find manifest for app '{{appSlug}}'."},[10007]:{httpCode:i.INTERNAL_SERVER_ERROR,message:"No request context."},[10008]:{httpCode:i.INTERNAL_SERVER_ERROR,message:"No user in request context."},[10009]:{httpCode:i.INTERNAL_SERVER_ERROR,message:"No app in request context."},[10010]:{httpCode:i.INTERNAL_SERVER_ERROR,message:"No workspace in request context."},[10011]:{httpCode:i.INTERNAL_SERVER_ERROR,message:"No manifest in request context."},[10012]:{httpCode:i.INTERNAL_SERVER_ERROR,message:"No user permissions in request context."},[11e3]:{httpCode:i.UNAUTHORIZED,message:"No public key available to decode JWT."},[11001]:{httpCode:i.UNAUTHORIZED,message:"No authorization header found."},[11002]:{httpCode:i.INTERNAL_SERVER_ERROR,message:"Error storing file."},[11003]:{httpCode:i.INTERNAL_SERVER_ERROR,message:"Error reading file."},[12e3]:{httpCode:i.UNAUTHORIZED,message:"No object id found in user claims."}};function J(e,t){return Object.entries(t).reduce((a,[o,r])=>a.replaceAll(`{{${o}}}`,r),e)}class I extends L{constructor(t,a={}){const{message:o,httpCode:r}=z[t];super(J(o,a),r),this.code=t,this.info=`https://github.com/telia-company/ace-alliance-sdk/wiki/error-codes#${t}`}}var Y=Object.defineProperty,Z=Object.getOwnPropertyDescriptor,G=(e,t,a,o)=>{for(var r=o>1?void 0:o?Z(t,a):t,s=e.length-1,n;s>=0;s--)(n=e[s])&&(r=(o?n(t,a,r):n(r))||r);return o&&r&&Y(t,a,r),r};let g=class{catch(e,t){const a=t.switchToHttp().getResponse(),o=e.getStatus();a.status&&a.status(o).json({httpCode:o,code:e.code,info:e.info,message:e.message})}};g=G([x(I)],g);var Q=Object.defineProperty,X=Object.getOwnPropertyDescriptor,ee=(e,t,a,o)=>{for(var r=o>1?void 0:o?X(t,a):t,s=e.length-1,n;s>=0;s--)(n=e[s])&&(r=(o?n(t,a,r):n(r))||r);return o&&r&&Q(t,a,r),r},te=(e,t)=>(a,o)=>t(a,o,e);let p=class{constructor(e){this.logger=e,this.log=(...t)=>this.logger.info(...t),this.trace=(...t)=>this.logger.trace(...t),this.debug=(...t)=>this.logger.debug(...t),this.info=(...t)=>this.logger.info(...t),this.warn=(...t)=>this.logger.warn(...t),this.error=(...t)=>this.logger.error(...t),this.fatal=(...t)=>this.logger.fatal(...t)}};p=ee([k(),te(0,S())],p);var re=Object.defineProperty,oe=Object.getOwnPropertyDescriptor,ae=(e,t,a,o)=>{for(var r=o>1?void 0:o?oe(t,a):t,s=e.length-1,n;s>=0;s--)(n=e[s])&&(r=(o?n(t,a,r):n(r))||r);return o&&r&&re(t,a,r),r};let R=class{static forRoot({logLevel:e,redact:t=!0}={}){return{module:R,controllers:[],imports:[_.forRootAsync({imports:[P],inject:[U],useFactory:async a=>({pinoHttp:{level:e||a.get(c.ServiceLogLevel)||"silent",redact:t?["authorization","headers.authorization","req.headers.authorization","req.remoteAddress","req.remotePort"]:[],transport:{target:"pino-pretty",options:{colorize:!0,colorizeObjects:!0}}}})})],global:!0,providers:[p],exports:[]}}};R=ae([q({providers:[p],exports:[p]})],R);function se(e){return j(e,{strict:!0,replacement:"-",lower:!0})}function ne(e,t=!1){return{name:"vite-plugin-css-import",apply:"build",enforce:"post",writeBundle:async(a,o)=>{const r=Object.keys(o).filter(l=>l.endsWith(".css"));if(!r.length)return;const s=h(process.cwd(),`${e}-temp.js`),n=h(process.cwd(),`${e}.js`),T=r.reduce((l,m)=>{if(t){const v=M(n),O=K(v,m);return`${l}import "${O.replaceAll("\\","/")}";
|
|
4
|
+
`}return`${l}import "./${m}";
|
|
5
|
+
`},""),d=D(s);d.write(T,"utf8");const y=H(n);await F(y,d),V(n,{force:!0}),$(s,n),d.end()}}}export{I as AllianceException,g as AllianceExceptionFilter,u as AllianceHeaders,C as DatabasesErrorCodes,f as GatewayErrorCodes,R as LoggerModule,p as LoggerService,A as PortalErrorCodes,c as SharedConfigKeys,W as authMiddleware,E as createBearerToken,B as createSystemUserToken,N as getPrivateKey,se as slugify,ne as viteCssImportPlugin};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { DynamicModule } from '@nestjs/common';
|
|
2
1
|
import { PinoLogger } from 'nestjs-pino';
|
|
3
2
|
export declare class LoggerService {
|
|
4
3
|
private readonly logger;
|
|
@@ -11,11 +10,3 @@ export declare class LoggerService {
|
|
|
11
10
|
error: PinoLogger['error'];
|
|
12
11
|
fatal: PinoLogger['fatal'];
|
|
13
12
|
}
|
|
14
|
-
type ModuleSettings = {
|
|
15
|
-
logLevel?: string;
|
|
16
|
-
redact?: boolean;
|
|
17
|
-
};
|
|
18
|
-
export declare class LoggerModule {
|
|
19
|
-
static forRoot({ logLevel, redact }?: ModuleSettings): DynamicModule;
|
|
20
|
-
}
|
|
21
|
-
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function slugify(name: string): string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telia-ace/alliance-internal-node-utilities",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2-next.0",
|
|
4
4
|
"description": "Utilities used internally by packages developed by team Alliance.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"author": "Telia Company AB",
|
|
@@ -14,28 +14,28 @@
|
|
|
14
14
|
"dist"
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@nestjs/common": "^
|
|
18
|
-
"@nestjs/config": "^
|
|
19
|
-
"
|
|
20
|
-
"
|
|
17
|
+
"@nestjs/common": "^10.1.0",
|
|
18
|
+
"@nestjs/config": "^3.0.0",
|
|
19
|
+
"express-openid-connect": "^2.16.0",
|
|
20
|
+
"jsonwebtoken": "^9.0.1",
|
|
21
|
+
"nestjs-pino": "^3.3.0",
|
|
21
22
|
"pino-http": "^8.3.3",
|
|
22
|
-
"pino-pretty": "^10.
|
|
23
|
+
"pino-pretty": "^10.1.0",
|
|
24
|
+
"slugify": "^1.6.6"
|
|
23
25
|
},
|
|
24
26
|
"devDependencies": {
|
|
25
27
|
"@types/express": "^4.17.17",
|
|
26
28
|
"@types/jsonwebtoken": "^9.0.2",
|
|
27
|
-
"@types/node": "^20.
|
|
28
|
-
"
|
|
29
|
-
"
|
|
29
|
+
"@types/node": "^20.4.2",
|
|
30
|
+
"unbuild": "^1.2.1",
|
|
31
|
+
"vite": "^4.4.6"
|
|
30
32
|
},
|
|
31
33
|
"publishConfig": {
|
|
32
34
|
"access": "public"
|
|
33
35
|
},
|
|
34
36
|
"scripts": {
|
|
35
37
|
"build:dev": "tsc && unbuild --mode development",
|
|
36
|
-
"build:prod": "rimraf dist && tsc && unbuild
|
|
37
|
-
"build:test": "rimraf dist && tsc && unbuild --mode test",
|
|
38
|
-
"build:docker": "unbuild",
|
|
38
|
+
"build:prod": "rimraf dist && tsc && unbuild",
|
|
39
39
|
"dev": "tsc && unbuild --mode development --watch"
|
|
40
40
|
}
|
|
41
41
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|