@nimee/initialize-ms 1.0.2 → 1.0.4

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.
@@ -5,7 +5,10 @@ declare module "@fastify/request-context" {
5
5
  }
6
6
  declare class ServerInitializerFastify {
7
7
  server: any;
8
- initialize(serviceName?: string): Promise<any>;
8
+ initialize(params: {
9
+ serviceName: string;
10
+ port: number;
11
+ }): Promise<any>;
9
12
  listen(port?: number): Promise<any>;
10
13
  }
11
14
  export default ServerInitializerFastify;
@@ -16,11 +16,14 @@ const fastify_1 = __importDefault(require("fastify"));
16
16
  const logger_1 = __importDefault(require("@nimee/logger"));
17
17
  const request_context_1 = __importDefault(require("@fastify/request-context"));
18
18
  const crypto_1 = __importDefault(require("crypto"));
19
+ const swagger_1 = __importDefault(require("@fastify/swagger"));
20
+ const swagger_ui_1 = __importDefault(require("@fastify/swagger-ui"));
19
21
  const uuid = crypto_1.default.randomUUID();
20
22
  class ServerInitializerFastify {
21
- initialize(serviceName) {
23
+ initialize(params) {
22
24
  return __awaiter(this, void 0, void 0, function* () {
23
25
  try {
26
+ const { serviceName, port } = params;
24
27
  this.server = (0, fastify_1.default)({
25
28
  logger: logger_1.default,
26
29
  requestIdLogLabel: "reqId",
@@ -36,10 +39,27 @@ class ServerInitializerFastify {
36
39
  this.server.register(request_context_1.default, {
37
40
  hook: "preValidation",
38
41
  });
39
- // this.server.addHook("preHandler", async (request: any) => {
40
- // requestContext.set("user", request.user);
41
- // logger.info(`1user:${requestContext.get("user")}`);
42
- // });
42
+ yield this.server.register(swagger_1.default, {
43
+ swagger: {
44
+ info: {
45
+ title: `${serviceName.toLocaleUpperCase()} Service`,
46
+ description: "Testing the NIMI API",
47
+ version: "0.1.0",
48
+ },
49
+ host: `localhost:${port}`,
50
+ schemes: ["http"],
51
+ consumes: ["application/json"],
52
+ produces: ["application/json"],
53
+ },
54
+ });
55
+ yield this.server.register(swagger_ui_1.default, {
56
+ routePrefix: `/${serviceName}/documentation`,
57
+ initOAuth: {},
58
+ uiConfig: {
59
+ docExpansion: "full",
60
+ deepLinking: false,
61
+ },
62
+ });
43
63
  return this.server;
44
64
  }
45
65
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"fastify.js","sourceRoot":"","sources":["../../src/fastify.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAkD;AAClD,2DAAmC;AACnC,+EAAmE;AACnE,oDAA4B;AAC5B,MAAM,IAAI,GAAG,gBAAM,CAAC,UAAU,EAAE,CAAC;AAQjC,MAAM,wBAAwB;IAEtB,UAAU,CAAC,WAAoB;;YACnC,IAAI;gBACF,IAAI,CAAC,MAAM,GAAG,IAAA,iBAAO,EAAC;oBACpB,MAAM,EAAN,gBAAM;oBACN,iBAAiB,EAAE,OAAO;oBAC1B,QAAQ,CAAC,GAAmB;wBAC1B,iFAAiF;wBACjF,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;oBAC7C,MAAM,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,CAAC;oBACnF,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;iBACnD,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAA2B,EAAE;oBAChD,IAAI,EAAE,eAAe;iBACtB,CAAC,CAAC;gBACH,8DAA8D;gBAC9D,8CAA8C;gBAC9C,wDAAwD;gBACxD,MAAM;gBAEN,OAAO,IAAI,CAAC,MAAM,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;QACH,CAAC;KAAA;IACK,MAAM,CAAC,IAAa;;YACxB,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBACpD,OAAO,IAAI,CAAC,MAAM,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;QACH,CAAC;KAAA;CACF;AAED,kBAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"fastify.js","sourceRoot":"","sources":["../../src/fastify.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAkD;AAClD,2DAAmC;AACnC,+EAAmE;AACnE,oDAA4B;AAC5B,+DAA8C;AAC9C,qEAAmD;AAEnD,MAAM,IAAI,GAAG,gBAAM,CAAC,UAAU,EAAE,CAAC;AAQjC,MAAM,wBAAwB;IAEtB,UAAU,CAAC,MAA6C;;YAC5D,IAAI;gBACF,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;gBACrC,IAAI,CAAC,MAAM,GAAG,IAAA,iBAAO,EAAC;oBACpB,MAAM,EAAN,gBAAM;oBACN,iBAAiB,EAAE,OAAO;oBAC1B,QAAQ,CAAC,GAAmB;wBAC1B,iFAAiF;wBACjF,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;oBAC7C,MAAM,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,CAAC;oBACnF,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;iBACnD,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAA2B,EAAE;oBAChD,IAAI,EAAE,eAAe;iBACtB,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAc,EAAE;oBACzC,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,KAAK,EAAE,GAAG,WAAW,CAAC,iBAAiB,EAAE,UAAU;4BACnD,WAAW,EAAE,sBAAsB;4BACnC,OAAO,EAAE,OAAO;yBACjB;wBACD,IAAI,EAAE,aAAa,IAAI,EAAE;wBACzB,OAAO,EAAE,CAAC,MAAM,CAAC;wBACjB,QAAQ,EAAE,CAAC,kBAAkB,CAAC;wBAC9B,QAAQ,EAAE,CAAC,kBAAkB,CAAC;qBAC/B;iBACF,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAgB,EAAE;oBAC3C,WAAW,EAAE,IAAI,WAAW,gBAAgB;oBAC5C,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE;wBACR,YAAY,EAAE,MAAM;wBACpB,WAAW,EAAE,KAAK;qBACnB;iBACF,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC,MAAM,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;QACH,CAAC;KAAA;IACK,MAAM,CAAC,IAAa;;YACxB,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBACpD,OAAO,IAAI,CAAC,MAAM,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;QACH,CAAC;KAAA;CACF;AAED,kBAAe,wBAAwB,CAAC"}
package/dist/src/index.js CHANGED
@@ -26,7 +26,7 @@ class AppInitializer {
26
26
  case "fastify": {
27
27
  logger_1.default.info("Initializing Fastify now!");
28
28
  fastify = new fastify_1.default();
29
- this.server = yield fastify.initialize(serviceName);
29
+ this.server = yield fastify.initialize({ serviceName, port });
30
30
  break;
31
31
  }
32
32
  case "express": {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wDAAiD;AACjD,2DAAmC;AACnC,wDAAoD;AACpD,2DAA0C;AAC1C,4CAAwD;AACxD,MAAM,cAAc;IAKZ,UAAU,CACd,MAAW,EACX,UAAkB,EAClB,WAAmB,EACnB,sBAA2B,EAC3B,gBAAwB,EACxB,YAAiB,EACjB,gBAA+B,EAC/B,IAAY;;YAEZ,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,OAAO,CAAC;YACZ,QAAQ,UAAU,EAAE;gBAClB,KAAK,SAAS,CAAC,CAAC;oBACd,gBAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;oBACzC,OAAO,GAAG,IAAI,iBAAwB,EAAE,CAAC;oBACzC,IAAI,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;oBACpD,MAAM;iBACP;gBACD,KAAK,SAAS,CAAC,CAAC;oBACd,8EAA8E;oBAC9E,MAAM;iBACP;aACF;YACD,IAAI,YAAY,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,MAAM,YAAY,CAAC,WAAW,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;YACvH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACvC,oFAAoF;aACrF;YACD,4BAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,IAAI,gBAAa,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxE,gCAAsB,CAAC,8BAA8B,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE3G,IAAI,sBAAsB,EAAE;gBAC1B,MAAM,yBAAyB,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBAC3D,yBAAyB,CAAC,OAAO,CAAC,CAAC,qBAAqB,EAAE,EAAE;oBAC1D,gBAAM,CAAC,IAAI,CAAC,mDAAmD,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC;oBACtF,IAAI,qBAAqB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;gBACH,gBAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC;aAC1E;YACD,IAAI,UAAU;gBAAE,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;KAAA;CACF;AAED,kBAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wDAAiD;AACjD,2DAAmC;AACnC,wDAAoD;AACpD,2DAA0C;AAC1C,4CAAwD;AACxD,MAAM,cAAc;IAKZ,UAAU,CACd,MAAW,EACX,UAAkB,EAClB,WAAmB,EACnB,sBAA2B,EAC3B,gBAAwB,EACxB,YAAiB,EACjB,gBAA+B,EAC/B,IAAY;;YAEZ,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,OAAO,CAAC;YACZ,QAAQ,UAAU,EAAE;gBAClB,KAAK,SAAS,CAAC,CAAC;oBACd,gBAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;oBACzC,OAAO,GAAG,IAAI,iBAAwB,EAAE,CAAC;oBACzC,IAAI,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC9D,MAAM;iBACP;gBACD,KAAK,SAAS,CAAC,CAAC;oBACd,8EAA8E;oBAC9E,MAAM;iBACP;aACF;YACD,IAAI,YAAY,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,MAAM,YAAY,CAAC,WAAW,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;YACvH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACvC,oFAAoF;aACrF;YACD,4BAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,IAAI,gBAAa,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxE,gCAAsB,CAAC,8BAA8B,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE3G,IAAI,sBAAsB,EAAE;gBAC1B,MAAM,yBAAyB,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBAC3D,yBAAyB,CAAC,OAAO,CAAC,CAAC,qBAAqB,EAAE,EAAE;oBAC1D,gBAAM,CAAC,IAAI,CAAC,mDAAmD,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC;oBACtF,IAAI,qBAAqB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;gBACH,gBAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC;aAC1E;YACD,IAAI,UAAU;gBAAE,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;KAAA;CACF;AAED,kBAAe,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nimee/initialize-ms",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "init behavior for each ms",
5
5
  "main": "dist/src/index.js",
6
6
  "author": "dan goldberg",
@@ -29,6 +29,7 @@
29
29
  "@fastify/cors": "^8.1.1",
30
30
  "@fastify/request-context": "^4.2.0",
31
31
  "@fastify/swagger": "^8.1.0",
32
+ "@fastify/swagger-ui": "^1.3.0",
32
33
  "@nimee/error-handler": "0.0.4",
33
34
  "@nimee/health": "2.1.1",
34
35
  "@nimee/logger": "1.0.21",
package/src/fastify.ts CHANGED
@@ -2,6 +2,9 @@ import Fastify, { FastifyRequest } from "fastify";
2
2
  import logger from "@nimee/logger";
3
3
  import fastifyRequestContextPlugin from "@fastify/request-context";
4
4
  import crypto from "crypto";
5
+ import fastifySwagger from "@fastify/swagger";
6
+ import fastifySwaggerUi from "@fastify/swagger-ui";
7
+
5
8
  const uuid = crypto.randomUUID();
6
9
 
7
10
  declare module "@fastify/request-context" {
@@ -12,8 +15,9 @@ declare module "@fastify/request-context" {
12
15
 
13
16
  class ServerInitializerFastify {
14
17
  server: any;
15
- async initialize(serviceName?: string) {
18
+ async initialize(params: { serviceName: string; port: number }) {
16
19
  try {
20
+ const { serviceName, port } = params;
17
21
  this.server = Fastify({
18
22
  logger,
19
23
  requestIdLogLabel: "reqId",
@@ -22,7 +26,6 @@ class ServerInitializerFastify {
22
26
  return uuid;
23
27
  },
24
28
  });
25
-
26
29
  this.server.register(require("@fastify/cors"), {
27
30
  origin: ["http://localhost:8080", "http://127.0.0.1:8080", "http://localhost:3000"],
28
31
  methods: ["GET", "PUT", "PATCH", "POST", "DELETE"],
@@ -30,10 +33,29 @@ class ServerInitializerFastify {
30
33
  this.server.register(fastifyRequestContextPlugin, {
31
34
  hook: "preValidation",
32
35
  });
33
- // this.server.addHook("preHandler", async (request: any) => {
34
- // requestContext.set("user", request.user);
35
- // logger.info(`1user:${requestContext.get("user")}`);
36
- // });
36
+
37
+ await this.server.register(fastifySwagger, {
38
+ swagger: {
39
+ info: {
40
+ title: `${serviceName.toLocaleUpperCase()} Service`,
41
+ description: "Testing the NIMI API",
42
+ version: "0.1.0",
43
+ },
44
+ host: `localhost:${port}`,
45
+ schemes: ["http"],
46
+ consumes: ["application/json"],
47
+ produces: ["application/json"],
48
+ },
49
+ });
50
+
51
+ await this.server.register(fastifySwaggerUi, {
52
+ routePrefix: `/${serviceName}/documentation`,
53
+ initOAuth: {},
54
+ uiConfig: {
55
+ docExpansion: "full",
56
+ deepLinking: false,
57
+ },
58
+ });
37
59
 
38
60
  return this.server;
39
61
  } catch (err) {
package/src/index.ts CHANGED
@@ -24,7 +24,7 @@ class AppInitializer {
24
24
  case "fastify": {
25
25
  logger.info("Initializing Fastify now!");
26
26
  fastify = new ServerInitializerFastify();
27
- this.server = await fastify.initialize(serviceName);
27
+ this.server = await fastify.initialize({ serviceName, port });
28
28
  break;
29
29
  }
30
30
  case "express": {