@akanjs/nest 1.0.7 → 1.0.8

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.
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __export = (target, all) => {
8
6
  for (var name in all)
@@ -16,43 +14,16 @@ var __copyProps = (to, from, except, desc) => {
16
14
  }
17
15
  return to;
18
16
  };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
18
  var authorization_exports = {};
29
19
  __export(authorization_exports, {
30
20
  getArgs: () => getArgs,
31
21
  getRequest: () => getRequest,
32
22
  getResponse: () => getResponse,
33
- getSocket: () => getSocket,
34
- resolveJwt: () => resolveJwt
23
+ getSocket: () => getSocket
35
24
  });
36
25
  module.exports = __toCommonJS(authorization_exports);
37
- var import_base = require("@akanjs/base");
38
- var import_common = require("@akanjs/common");
39
26
  var import_graphql = require("@nestjs/graphql");
40
- var jwt = __toESM(require("jsonwebtoken"));
41
- const resolveJwt = (secret, authorization, defaultResolved) => {
42
- const [type, token] = authorization?.split(" ") ?? [void 0, void 0];
43
- if (!token || type !== "Bearer")
44
- return defaultResolved;
45
- try {
46
- const resolved = jwt.verify(token, secret);
47
- if (resolved.appName !== import_base.baseEnv.appName || resolved.environment !== import_base.baseEnv.environment)
48
- return defaultResolved;
49
- return resolved;
50
- } catch (e) {
51
- const message = e instanceof Error ? e.message : String(e);
52
- import_common.Logger.error(`failed to verify token for ${authorization}: ${message}`);
53
- return defaultResolved;
54
- }
55
- };
56
27
  const getRequest = (context) => {
57
28
  const type = context.getType();
58
29
  if (type === "ws")
@@ -89,6 +60,5 @@ const getSocket = (context) => {
89
60
  getArgs,
90
61
  getRequest,
91
62
  getResponse,
92
- getSocket,
93
- resolveJwt
63
+ getSocket
94
64
  });
@@ -18,9 +18,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
18
18
  var generateSecrets_exports = {};
19
19
  __export(generateSecrets_exports, {
20
20
  SALT_ROUNDS: () => SALT_ROUNDS,
21
- generateAeskey: () => generateAeskey,
22
21
  generateHost: () => generateHost,
23
- generateJwtSecret: () => generateJwtSecret,
24
22
  generateMeiliKey: () => generateMeiliKey,
25
23
  generateMeiliUri: () => generateMeiliUri,
26
24
  generateMongoUri: () => generateMongoUri,
@@ -28,26 +26,7 @@ __export(generateSecrets_exports, {
28
26
  });
29
27
  module.exports = __toCommonJS(generateSecrets_exports);
30
28
  var import_base = require("@akanjs/base");
31
- var import_crypto = require("crypto");
32
29
  var import_tunnel_ssh = require("tunnel-ssh");
33
- const generateHexStringFromSeed = (seed, length = 256) => {
34
- let hexString = "";
35
- let currentSeed = seed;
36
- while (hexString.length < length * 2) {
37
- const hash = (0, import_crypto.createHash)("sha256").update(currentSeed).digest("hex");
38
- hexString += hash;
39
- currentSeed = hash;
40
- }
41
- return hexString.substring(0, length * 2);
42
- };
43
- const generateJwtSecret = (appName, environment) => {
44
- const seed = `${appName}-${environment}-jwt-secret`;
45
- return generateHexStringFromSeed(seed);
46
- };
47
- const generateAeskey = (appName, environment) => {
48
- const seed = `${appName}-${environment}-aes-key`;
49
- return (0, import_crypto.createHash)("sha256").update(seed).digest("hex");
50
- };
51
30
  const DEFAULT_CLOUD_PORT = 3e4;
52
31
  const getEnvironmentPort = (environment) => environment === "main" ? 2e3 : environment === "develop" ? 1e3 : environment === "debug" ? 0 : 0;
53
32
  const getServicePort = (service) => service === "redis" ? 300 : service === "mongo" ? 400 : 500;
@@ -138,9 +117,7 @@ const generateMeiliKey = ({ appName, environment }) => {
138
117
  // Annotate the CommonJS export names for ESM import in node:
139
118
  0 && (module.exports = {
140
119
  SALT_ROUNDS,
141
- generateAeskey,
142
120
  generateHost,
143
- generateJwtSecret,
144
121
  generateMeiliKey,
145
122
  generateMeiliUri,
146
123
  generateMongoUri,
package/cjs/src/index.js CHANGED
@@ -1,13 +1,7 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
5
  var __copyProps = (to, from, except, desc) => {
12
6
  if (from && typeof from === "object" || typeof from === "function") {
13
7
  for (let key of __getOwnPropNames(from))
@@ -17,27 +11,14 @@ var __copyProps = (to, from, except, desc) => {
17
11
  return to;
18
12
  };
19
13
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
15
  var src_exports = {};
30
- __export(src_exports, {
31
- Exporter: () => Exporter
32
- });
33
16
  module.exports = __toCommonJS(src_exports);
34
17
  __reExport(src_exports, require("./authorization"), module.exports);
35
18
  __reExport(src_exports, require("./guards"), module.exports);
36
19
  __reExport(src_exports, require("./interceptors"), module.exports);
37
20
  __reExport(src_exports, require("./redis-io.adapter"), module.exports);
38
21
  __reExport(src_exports, require("./pipes"), module.exports);
39
- var Exporter = __toESM(require("./exporter"));
40
- __reExport(src_exports, require("./exporter"), module.exports);
41
22
  __reExport(src_exports, require("./exceptions"), module.exports);
42
23
  __reExport(src_exports, require("./generateSecrets"), module.exports);
43
24
  __reExport(src_exports, require("./mongoose"), module.exports);
@@ -49,13 +30,11 @@ __reExport(src_exports, require("./internalParams"), module.exports);
49
30
  __reExport(src_exports, require("./guards"), module.exports);
50
31
  // Annotate the CommonJS export names for ESM import in node:
51
32
  0 && (module.exports = {
52
- Exporter,
53
33
  ...require("./authorization"),
54
34
  ...require("./guards"),
55
35
  ...require("./interceptors"),
56
36
  ...require("./redis-io.adapter"),
57
37
  ...require("./pipes"),
58
- ...require("./exporter"),
59
38
  ...require("./exceptions"),
60
39
  ...require("./generateSecrets"),
61
40
  ...require("./mongoose"),
@@ -1,22 +1,4 @@
1
- import { baseEnv } from "@akanjs/base";
2
- import { Logger } from "@akanjs/common";
3
1
  import { GqlExecutionContext } from "@nestjs/graphql";
4
- import * as jwt from "jsonwebtoken";
5
- const resolveJwt = (secret, authorization, defaultResolved) => {
6
- const [type, token] = authorization?.split(" ") ?? [void 0, void 0];
7
- if (!token || type !== "Bearer")
8
- return defaultResolved;
9
- try {
10
- const resolved = jwt.verify(token, secret);
11
- if (resolved.appName !== baseEnv.appName || resolved.environment !== baseEnv.environment)
12
- return defaultResolved;
13
- return resolved;
14
- } catch (e) {
15
- const message = e instanceof Error ? e.message : String(e);
16
- Logger.error(`failed to verify token for ${authorization}: ${message}`);
17
- return defaultResolved;
18
- }
19
- };
20
2
  const getRequest = (context) => {
21
3
  const type = context.getType();
22
4
  if (type === "ws")
@@ -52,6 +34,5 @@ export {
52
34
  getArgs,
53
35
  getRequest,
54
36
  getResponse,
55
- getSocket,
56
- resolveJwt
37
+ getSocket
57
38
  };
@@ -1,24 +1,5 @@
1
1
  import { baseEnv } from "@akanjs/base";
2
- import { createHash } from "crypto";
3
2
  import { createTunnel } from "tunnel-ssh";
4
- const generateHexStringFromSeed = (seed, length = 256) => {
5
- let hexString = "";
6
- let currentSeed = seed;
7
- while (hexString.length < length * 2) {
8
- const hash = createHash("sha256").update(currentSeed).digest("hex");
9
- hexString += hash;
10
- currentSeed = hash;
11
- }
12
- return hexString.substring(0, length * 2);
13
- };
14
- const generateJwtSecret = (appName, environment) => {
15
- const seed = `${appName}-${environment}-jwt-secret`;
16
- return generateHexStringFromSeed(seed);
17
- };
18
- const generateAeskey = (appName, environment) => {
19
- const seed = `${appName}-${environment}-aes-key`;
20
- return createHash("sha256").update(seed).digest("hex");
21
- };
22
3
  const DEFAULT_CLOUD_PORT = 3e4;
23
4
  const getEnvironmentPort = (environment) => environment === "main" ? 2e3 : environment === "develop" ? 1e3 : environment === "debug" ? 0 : 0;
24
5
  const getServicePort = (service) => service === "redis" ? 300 : service === "mongo" ? 400 : 500;
@@ -108,9 +89,7 @@ const generateMeiliKey = ({ appName, environment }) => {
108
89
  };
109
90
  export {
110
91
  SALT_ROUNDS,
111
- generateAeskey,
112
92
  generateHost,
113
- generateJwtSecret,
114
93
  generateMeiliKey,
115
94
  generateMeiliUri,
116
95
  generateMongoUri,
package/esm/src/index.js CHANGED
@@ -3,8 +3,6 @@ export * from "./guards";
3
3
  export * from "./interceptors";
4
4
  export * from "./redis-io.adapter";
5
5
  export * from "./pipes";
6
- import * as Exporter from "./exporter";
7
- export * from "./exporter";
8
6
  export * from "./exceptions";
9
7
  export * from "./generateSecrets";
10
8
  export * from "./mongoose";
@@ -14,6 +12,3 @@ export * from "./databaseClient";
14
12
  export * from "./decorators";
15
13
  export * from "./internalParams";
16
14
  export * from "./guards";
17
- export {
18
- Exporter
19
- };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akanjs/nest",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "sourceType": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,11 +1,5 @@
1
- import { Environment } from "@akanjs/base";
2
1
  import { ExecutionContext } from "@nestjs/common";
3
2
  import { Socket } from "socket.io";
4
- interface ResolvedToken {
5
- appName: string;
6
- environment: Environment;
7
- }
8
- export declare const resolveJwt: <Resolved extends ResolvedToken>(secret: string, authorization: string | undefined, defaultResolved: Resolved) => Resolved;
9
3
  export interface ReqType {
10
4
  method: string;
11
5
  url: string;
@@ -25,4 +19,3 @@ export declare const getArgs: (context: ExecutionContext) => {
25
19
  [key: string]: any;
26
20
  };
27
21
  export declare const getSocket: (context: ExecutionContext) => Socket<import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, any>;
28
- export {};
@@ -1,7 +1,5 @@
1
1
  import { BackendEnv, type BaseEnv } from "@akanjs/base";
2
2
  import { SshOptions } from "tunnel-ssh";
3
- export declare const generateJwtSecret: (appName: string, environment: BaseEnv["environment"]) => string;
4
- export declare const generateAeskey: (appName: string, environment: BaseEnv["environment"]) => string;
5
3
  interface RedisEnv {
6
4
  appName: string;
7
5
  environment: BaseEnv["environment"];
package/src/index.d.ts CHANGED
@@ -3,8 +3,6 @@ export * from "./guards";
3
3
  export * from "./interceptors";
4
4
  export * from "./redis-io.adapter";
5
5
  export * from "./pipes";
6
- export * as Exporter from "./exporter";
7
- export * from "./exporter";
8
6
  export * from "./exceptions";
9
7
  export * from "./generateSecrets";
10
8
  export * from "./mongoose";
package/src/pipes.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Type } from "@akanjs/base";
1
+ import { Dayjs, Type } from "@akanjs/base";
2
2
  import { ArgMeta } from "@akanjs/signal";
3
3
  import { ArgumentMetadata, PipeTransform } from "@nestjs/common";
4
4
  import { Readable } from "stream";
@@ -15,7 +15,7 @@ export declare class BooleanPipe implements PipeTransform {
15
15
  transform(value: string, metadata: ArgumentMetadata): boolean[];
16
16
  }
17
17
  export declare class DayjsPipe implements PipeTransform {
18
- transform(value: string, metadata: ArgumentMetadata): import("dayjs").Dayjs[];
18
+ transform(value: string, metadata: ArgumentMetadata): Dayjs[];
19
19
  }
20
20
  export declare class JSONPipe implements PipeTransform {
21
21
  transform(value: string | object, metadata: ArgumentMetadata): object;
@@ -1,113 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var exporter_exports = {};
29
- __export(exporter_exports, {
30
- FileSystem: () => FileSystem,
31
- exportToCsv: () => exportToCsv,
32
- exportToJson: () => exportToJson,
33
- objPath: () => objPath,
34
- readJson: () => readJson
35
- });
36
- module.exports = __toCommonJS(exporter_exports);
37
- var fs = __toESM(require("fs"));
38
- const objPath = (o, p) => p.split(".").reduce((a, v) => a[v], o);
39
- class FileSystem {
40
- filename = "";
41
- dirname = "./";
42
- writeStream;
43
- constructor(dirname = "./", filename = "") {
44
- this.dirname = dirname;
45
- this.filename = filename;
46
- }
47
- async init() {
48
- return new Promise((resolve, reject) => {
49
- fs.mkdirSync(this.dirname, { recursive: true });
50
- const writeStream = fs.createWriteStream(`${this.dirname}/${this.filename}.csv`);
51
- if (!writeStream) {
52
- reject(new Error("No WriteStream"));
53
- return;
54
- }
55
- writeStream.once(`open`, () => {
56
- this.writeStream = writeStream;
57
- resolve(writeStream);
58
- });
59
- });
60
- }
61
- write(body) {
62
- if (!this.writeStream)
63
- throw new Error("no write stream");
64
- return this.writeStream.write(`${body.replace(/\n/g, "")}
65
- `);
66
- }
67
- // async finish() {}
68
- }
69
- const exportToCsv = async ({ items, path, fields, delimiter, options }) => {
70
- return new Promise((resolve, reject) => {
71
- const dirs = path.split("/");
72
- if (dirs.length > 1) {
73
- const dirname = dirs.slice(-1).join("/");
74
- if (!fs.existsSync(dirname))
75
- fs.mkdirSync(dirname, { recursive: true });
76
- }
77
- if (!fields)
78
- throw new Error("Fields Required");
79
- const writeStream = !options?.append && fs.createWriteStream(path);
80
- const header = fields.reduce((acc, cur) => acc + (delimiter ?? `,`) + cur) + `
81
- `;
82
- if (!writeStream) {
83
- reject(new Error("No WriteStream"));
84
- return;
85
- }
86
- writeStream.once(`open`, () => {
87
- writeStream.write(header);
88
- for (const item of items) {
89
- const data = fields.map((field) => objPath(item, field) ?? null).map((field) => String(field).replace(/\n/g, "").replace(/,/g, ""));
90
- const body = data.reduce((acc, cur) => acc + (delimiter ?? `,`) + cur) + `
91
- `;
92
- if (options?.append)
93
- fs.appendFileSync(path, body);
94
- }
95
- resolve();
96
- });
97
- });
98
- };
99
- const exportToJson = (items, localPath) => {
100
- const dirname = localPath.split("/").slice(0, -1).join("/");
101
- if (!fs.existsSync(dirname))
102
- fs.mkdirSync(dirname, { recursive: true });
103
- fs.writeFileSync(localPath, JSON.stringify(items));
104
- };
105
- const readJson = (localPath) => JSON.parse(fs.readFileSync(localPath).toString("utf-8"));
106
- // Annotate the CommonJS export names for ESM import in node:
107
- 0 && (module.exports = {
108
- FileSystem,
109
- exportToCsv,
110
- exportToJson,
111
- objPath,
112
- readJson
113
- });
@@ -1,76 +0,0 @@
1
- import * as fs from "fs";
2
- const objPath = (o, p) => p.split(".").reduce((a, v) => a[v], o);
3
- class FileSystem {
4
- filename = "";
5
- dirname = "./";
6
- writeStream;
7
- constructor(dirname = "./", filename = "") {
8
- this.dirname = dirname;
9
- this.filename = filename;
10
- }
11
- async init() {
12
- return new Promise((resolve, reject) => {
13
- fs.mkdirSync(this.dirname, { recursive: true });
14
- const writeStream = fs.createWriteStream(`${this.dirname}/${this.filename}.csv`);
15
- if (!writeStream) {
16
- reject(new Error("No WriteStream"));
17
- return;
18
- }
19
- writeStream.once(`open`, () => {
20
- this.writeStream = writeStream;
21
- resolve(writeStream);
22
- });
23
- });
24
- }
25
- write(body) {
26
- if (!this.writeStream)
27
- throw new Error("no write stream");
28
- return this.writeStream.write(`${body.replace(/\n/g, "")}
29
- `);
30
- }
31
- // async finish() {}
32
- }
33
- const exportToCsv = async ({ items, path, fields, delimiter, options }) => {
34
- return new Promise((resolve, reject) => {
35
- const dirs = path.split("/");
36
- if (dirs.length > 1) {
37
- const dirname = dirs.slice(-1).join("/");
38
- if (!fs.existsSync(dirname))
39
- fs.mkdirSync(dirname, { recursive: true });
40
- }
41
- if (!fields)
42
- throw new Error("Fields Required");
43
- const writeStream = !options?.append && fs.createWriteStream(path);
44
- const header = fields.reduce((acc, cur) => acc + (delimiter ?? `,`) + cur) + `
45
- `;
46
- if (!writeStream) {
47
- reject(new Error("No WriteStream"));
48
- return;
49
- }
50
- writeStream.once(`open`, () => {
51
- writeStream.write(header);
52
- for (const item of items) {
53
- const data = fields.map((field) => objPath(item, field) ?? null).map((field) => String(field).replace(/\n/g, "").replace(/,/g, ""));
54
- const body = data.reduce((acc, cur) => acc + (delimiter ?? `,`) + cur) + `
55
- `;
56
- if (options?.append)
57
- fs.appendFileSync(path, body);
58
- }
59
- resolve();
60
- });
61
- });
62
- };
63
- const exportToJson = (items, localPath) => {
64
- const dirname = localPath.split("/").slice(0, -1).join("/");
65
- if (!fs.existsSync(dirname))
66
- fs.mkdirSync(dirname, { recursive: true });
67
- fs.writeFileSync(localPath, JSON.stringify(items));
68
- };
69
- const readJson = (localPath) => JSON.parse(fs.readFileSync(localPath).toString("utf-8"));
70
- export {
71
- FileSystem,
72
- exportToCsv,
73
- exportToJson,
74
- objPath,
75
- readJson
76
- };
package/src/exporter.d.ts DELETED
@@ -1,22 +0,0 @@
1
- import * as fs from "fs";
2
- export declare const objPath: (o: unknown, p: string) => unknown;
3
- export declare class FileSystem {
4
- filename: string;
5
- dirname: string;
6
- writeStream?: fs.WriteStream;
7
- constructor(dirname?: string, filename?: string);
8
- init(): Promise<unknown>;
9
- write(body: string): boolean;
10
- }
11
- export interface ExportForm<T> {
12
- items: T[];
13
- path: string;
14
- fields?: string[];
15
- options?: {
16
- append: boolean;
17
- };
18
- delimiter?: string;
19
- }
20
- export declare const exportToCsv: <T>({ items, path, fields, delimiter, options }: ExportForm<T>) => Promise<void>;
21
- export declare const exportToJson: <T>(items: T | T[], localPath: string) => void;
22
- export declare const readJson: (localPath: string) => unknown;