@myxtra/microservice 0.1.0 → 0.1.2
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/dist/index.d.mts +23 -2
- package/dist/index.mjs +50 -1
- package/package.json +3 -2
package/dist/index.d.mts
CHANGED
@@ -1,5 +1,12 @@
|
|
1
|
-
import { FastifyPluginAsync, FastifyPluginCallback, FastifyInstance } from 'fastify';
|
1
|
+
import { FastifyPluginAsync, FastifyPluginCallback, FastifyRequest, FastifyInstance } from 'fastify';
|
2
2
|
import { z } from 'zod';
|
3
|
+
import { BaseApi, Api } from '@myxtra/api';
|
4
|
+
|
5
|
+
declare const MOCKED_JWT_NAME = "toolkit@systemtest.dcs";
|
6
|
+
declare const MOCKED_JWT_HEADER: string;
|
7
|
+
declare const MOCKED_JWT_PAYLOAD: string;
|
8
|
+
declare const MOCKED_JWT_SIGNATURE: string;
|
9
|
+
declare const MOCKED_BEARER_TOKEN: string;
|
3
10
|
|
4
11
|
declare const _default$1: FastifyPluginAsync<never>;
|
5
12
|
|
@@ -39,7 +46,21 @@ declare const validationError: z.ZodObject<{
|
|
39
46
|
}>;
|
40
47
|
declare const _default: FastifyPluginCallback<never>;
|
41
48
|
|
49
|
+
declare const createApi: <T extends BaseApi>(Api: Api<T>, request: FastifyRequest) => T;
|
50
|
+
|
51
|
+
type Language = 'nl' | 'fr';
|
52
|
+
declare const getLanguage: (acceptLanguage?: string) => Language;
|
53
|
+
|
42
54
|
declare const DEFAULT_SPEC_FILE_URL = "../.azure/apim/swagger.json";
|
43
55
|
declare const generateSwagger: (app: FastifyInstance, specFile: URL) => void;
|
44
56
|
|
45
|
-
|
57
|
+
declare const getTechnicalContext: (request: FastifyRequest) => {
|
58
|
+
webSignature: {
|
59
|
+
userAgent: string;
|
60
|
+
originUrl: string;
|
61
|
+
remoteIPAddress: string;
|
62
|
+
signatureDate: string;
|
63
|
+
};
|
64
|
+
};
|
65
|
+
|
66
|
+
export { DEFAULT_SPEC_FILE_URL, MOCKED_BEARER_TOKEN, MOCKED_JWT_HEADER, MOCKED_JWT_NAME, MOCKED_JWT_PAYLOAD, MOCKED_JWT_SIGNATURE, createApi, generateSwagger, getLanguage, getTechnicalContext, _default$1 as swagger, validationError, _default as zod };
|
package/dist/index.mjs
CHANGED
@@ -5321,6 +5321,14 @@ var require_dist = __commonJS({
|
|
5321
5321
|
}
|
5322
5322
|
});
|
5323
5323
|
|
5324
|
+
// src/mocks/jwt.ts
|
5325
|
+
import { createHmac } from "crypto";
|
5326
|
+
var MOCKED_JWT_NAME = "toolkit@systemtest.dcs";
|
5327
|
+
var MOCKED_JWT_HEADER = btoa(JSON.stringify({ alg: "HS256" }));
|
5328
|
+
var MOCKED_JWT_PAYLOAD = btoa(JSON.stringify({ name: MOCKED_JWT_NAME }));
|
5329
|
+
var MOCKED_JWT_SIGNATURE = createHmac("sha256", "").update(MOCKED_JWT_HEADER + "." + MOCKED_JWT_PAYLOAD).digest("base64").replace("=", "");
|
5330
|
+
var MOCKED_BEARER_TOKEN = `Bearer ${MOCKED_JWT_HEADER}.${MOCKED_JWT_PAYLOAD}.${MOCKED_JWT_SIGNATURE}`;
|
5331
|
+
|
5324
5332
|
// src/plugins/swagger.ts
|
5325
5333
|
var import_fastify_type_provider_zod = __toESM(require_dist());
|
5326
5334
|
import swagger from "@fastify/swagger";
|
@@ -9097,7 +9105,7 @@ var zod = (app, options, done) => {
|
|
9097
9105
|
app.setValidatorCompiler(import_fastify_type_provider_zod2.validatorCompiler);
|
9098
9106
|
app.setSerializerCompiler(import_fastify_type_provider_zod2.serializerCompiler);
|
9099
9107
|
app.setErrorHandler((error, request, reply) => {
|
9100
|
-
if (error
|
9108
|
+
if (error.name === "ZodError") {
|
9101
9109
|
const problemJson = error.flatten();
|
9102
9110
|
return reply.status(400).send({
|
9103
9111
|
url: request.url,
|
@@ -9114,6 +9122,26 @@ var zod = (app, options, done) => {
|
|
9114
9122
|
};
|
9115
9123
|
var zod_default = fp2(zod);
|
9116
9124
|
|
9125
|
+
// src/utils/api.ts
|
9126
|
+
import "@myxtra/api";
|
9127
|
+
import config from "config";
|
9128
|
+
import "fastify";
|
9129
|
+
|
9130
|
+
// src/utils/language.ts
|
9131
|
+
var getLanguage = (acceptLanguage) => {
|
9132
|
+
if (acceptLanguage !== "nl" && acceptLanguage !== "fr") {
|
9133
|
+
return "nl";
|
9134
|
+
}
|
9135
|
+
return acceptLanguage;
|
9136
|
+
};
|
9137
|
+
|
9138
|
+
// src/utils/api.ts
|
9139
|
+
var createApi = (Api, request) => {
|
9140
|
+
const acceptLanguage = getLanguage(request.headers["accept-language"]);
|
9141
|
+
const authorization = request.headers.authorization ?? "";
|
9142
|
+
return new Api({ acceptLanguage, authorization, config });
|
9143
|
+
};
|
9144
|
+
|
9117
9145
|
// src/utils/swagger.ts
|
9118
9146
|
import { writeFile } from "fs";
|
9119
9147
|
import "fastify";
|
@@ -9131,9 +9159,30 @@ var generateSwagger = (app, specFile) => {
|
|
9131
9159
|
return app.log.info(`Saved api spec to ${specFile.href}`);
|
9132
9160
|
});
|
9133
9161
|
};
|
9162
|
+
|
9163
|
+
// src/utils/technicalContext.ts
|
9164
|
+
import "@myxtra/api";
|
9165
|
+
import "fastify";
|
9166
|
+
var getTechnicalContext = (request) => {
|
9167
|
+
const userAgent = request.headers["user-agent"] ?? "";
|
9168
|
+
const originUrl = request.url;
|
9169
|
+
const remoteIPAddress = request.ip;
|
9170
|
+
const signatureDate = (/* @__PURE__ */ new Date()).toISOString();
|
9171
|
+
return {
|
9172
|
+
webSignature: { userAgent, originUrl, remoteIPAddress, signatureDate }
|
9173
|
+
};
|
9174
|
+
};
|
9134
9175
|
export {
|
9135
9176
|
DEFAULT_SPEC_FILE_URL,
|
9177
|
+
MOCKED_BEARER_TOKEN,
|
9178
|
+
MOCKED_JWT_HEADER,
|
9179
|
+
MOCKED_JWT_NAME,
|
9180
|
+
MOCKED_JWT_PAYLOAD,
|
9181
|
+
MOCKED_JWT_SIGNATURE,
|
9182
|
+
createApi,
|
9136
9183
|
generateSwagger,
|
9184
|
+
getLanguage,
|
9185
|
+
getTechnicalContext,
|
9137
9186
|
swagger_default as swagger,
|
9138
9187
|
validationError,
|
9139
9188
|
zod_default as zod
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@myxtra/microservice",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.2",
|
4
4
|
"main": "./dist/index.mjs",
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"publishConfig": {
|
@@ -20,7 +20,7 @@
|
|
20
20
|
"typecheck": "tsc --noEmit"
|
21
21
|
},
|
22
22
|
"dependencies": {
|
23
|
-
"@myxtra/api": "0.1.
|
23
|
+
"@myxtra/api": "0.1.2"
|
24
24
|
},
|
25
25
|
"devDependencies": {
|
26
26
|
"@myxtra/eslint-config": "1.12.0",
|
@@ -33,6 +33,7 @@
|
|
33
33
|
"peerDependencies": {
|
34
34
|
"@fastify/swagger": ">=8.0.0",
|
35
35
|
"@fastify/swagger-ui": ">=1.0.0",
|
36
|
+
"config": ">=3.0.0",
|
36
37
|
"fastify": ">=4.0.0",
|
37
38
|
"fastify-plugin": ">=4.0.0"
|
38
39
|
}
|