equipped 5.0.0-alpha.1 → 5.0.0-alpha.3

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 CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [5.0.0-alpha.3](https://github.com/kevinand11/equipped/compare/v5.0.0-alpha.2...v5.0.0-alpha.3) (2024-06-18)
6
+
7
+ ## [5.0.0-alpha.2](https://github.com/kevinand11/equipped/compare/v5.0.0-alpha.1...v5.0.0-alpha.2) (2024-06-16)
8
+
9
+
10
+ ### Features
11
+
12
+ * open api base url ([2a1becf](https://github.com/kevinand11/equipped/commit/2a1becf5f18f2b62ec5b2aada4c14db349e449bc))
13
+
5
14
  ## [5.0.0-alpha.1](https://github.com/kevinand11/equipped/compare/v5.0.0-beta.17...v5.0.0-alpha.1) (2024-06-09)
6
15
 
7
16
  ## [5.0.0-beta.17](https://github.com/kevinand11/equipped/compare/v5.0.0-beta.16...v5.0.0-beta.17) (2024-06-03)
@@ -25,7 +25,8 @@ export type Settings = {
25
25
  paginationDefaultLimit: number;
26
26
  server: ServerTypes;
27
27
  openapiDocsVersion: string;
28
- openapiDocsUrl: string;
28
+ openapiDocsBaseUrl: string[];
29
+ openapiDocsPath: string;
29
30
  logLevel: Level;
30
31
  logRequests: boolean;
31
32
  requestSchemaValidation: boolean;
@@ -26,7 +26,8 @@ exports.defaulInstanceSetting = {
26
26
  paginationDefaultLimit: 100,
27
27
  server: 'express',
28
28
  openapiDocsVersion: '1.0.0',
29
- openapiDocsUrl: '/__docs',
29
+ openapiDocsBaseUrl: ['/'],
30
+ openapiDocsPath: '/__docs',
30
31
  logLevel: 'info',
31
32
  logRequests: true,
32
33
  requestSchemaValidation: false,
@@ -14,7 +14,7 @@ export declare class Listener {
14
14
  constructor(socket: io.Server, callers: SocketCallers);
15
15
  start(): Promise<void>;
16
16
  created<T extends BaseEntity<any, any>>(channels: string[], data: T): Promise<void>;
17
- updated<T extends BaseEntity<any, any>>(channels: string[], data: T): Promise<void>;
17
+ updated<T extends BaseEntity<any, any>>(channels: string[], after: T, before: T): Promise<void>;
18
18
  deleted<T extends BaseEntity<any, any>>(channels: string[], data: T): Promise<void>;
19
19
  set callers(callers: SocketCallers);
20
20
  register(channel: string, onJoin?: OnJoinFn): this;
@@ -101,13 +101,13 @@ class Listener {
101
101
  await __classPrivateFieldGet(this, _Listener_subscriber, "f").subscribe();
102
102
  }
103
103
  async created(channels, data) {
104
- await __classPrivateFieldGet(this, _Listener_instances, "m", _Listener_emit).call(this, channels, EmitTypes.created, data.toJSON());
104
+ await __classPrivateFieldGet(this, _Listener_instances, "m", _Listener_emit).call(this, channels, EmitTypes.created, { after: data.toJSON(), before: null });
105
105
  }
106
- async updated(channels, data) {
107
- await __classPrivateFieldGet(this, _Listener_instances, "m", _Listener_emit).call(this, channels, EmitTypes.updated, data.toJSON());
106
+ async updated(channels, after, before) {
107
+ await __classPrivateFieldGet(this, _Listener_instances, "m", _Listener_emit).call(this, channels, EmitTypes.updated, { after: after.toJSON(), before: before.toJSON() });
108
108
  }
109
109
  async deleted(channels, data) {
110
- await __classPrivateFieldGet(this, _Listener_instances, "m", _Listener_emit).call(this, channels, EmitTypes.deleted, data.toJSON());
110
+ await __classPrivateFieldGet(this, _Listener_instances, "m", _Listener_emit).call(this, channels, EmitTypes.deleted, { before: data.toJSON(), after: null });
111
111
  }
112
112
  set callers(callers) {
113
113
  __classPrivateFieldSet(this, _Listener_callers, callers, "f");
@@ -134,9 +134,9 @@ _Listener_socket = new WeakMap(), _Listener_callers = new WeakMap(), _Listener_r
134
134
  onJoin: __classPrivateFieldGet(this, _Listener_routes, "f")[matchedChannel],
135
135
  params: JSON.parse(JSON.stringify(match.params))
136
136
  };
137
- }, _Listener_emit = async function _Listener_emit(channels, type, data) {
137
+ }, _Listener_emit = async function _Listener_emit(channels, type, { before, after }) {
138
138
  await Promise.all(channels.map(async (channel) => {
139
- const emitData = { channel, type, data };
139
+ const emitData = { channel, type, before, after };
140
140
  await __classPrivateFieldGet(this, _Listener_publisher, "f").publish(emitData);
141
141
  }));
142
142
  };
@@ -35,6 +35,7 @@ class Server {
35
35
  this.baseOpenapiDoc = {
36
36
  openapi: '3.0.0',
37
37
  info: { title: this.settings.appId, version: this.settings.openapiDocsVersion },
38
+ servers: this.settings.openapiDocsBaseUrl.map((url) => ({ url })),
38
39
  paths: {},
39
40
  components: {
40
41
  schemas: {},
@@ -40,7 +40,7 @@ class ExpressServer extends base_1.Server {
40
40
  const app = (0, express_1.default)();
41
41
  super(http_1.default.createServer(app));
42
42
  _ExpressServer_expressApp.set(this, void 0);
43
- _ExpressServer_oapi.set(this, (0, openapi_1.default)(`${this.settings.openapiDocsUrl}/json`, this.baseOpenapiDoc, { coerce: false }));
43
+ _ExpressServer_oapi.set(this, (0, openapi_1.default)(`${this.settings.openapiDocsPath}/json`, this.baseOpenapiDoc, { coerce: false }));
44
44
  _ExpressServer_ref.set(this, (0, json_schema_resolver_1.default)({ clone: true }));
45
45
  __classPrivateFieldSet(this, _ExpressServer_expressApp, app, "f");
46
46
  app.disable('x-powered-by');
@@ -54,7 +54,7 @@ class ExpressServer extends base_1.Server {
54
54
  app.use(express_1.default.urlencoded({ extended: false }));
55
55
  app.use(express_1.default.static(this.staticPath));
56
56
  app.use(__classPrivateFieldGet(this, _ExpressServer_oapi, "f"));
57
- app.use(this.settings.openapiDocsUrl, __classPrivateFieldGet(this, _ExpressServer_oapi, "f").swaggerui());
57
+ app.use(this.settings.openapiDocsPath, __classPrivateFieldGet(this, _ExpressServer_oapi, "f").swaggerui());
58
58
  app.use((0, express_fileupload_1.default)({
59
59
  limits: { fileSize: this.settings.maxFileUploadSizeInMb * 1024 * 1024 },
60
60
  useTempFiles: false
@@ -38,6 +38,7 @@ const base_1 = require("./base");
38
38
  function getFastifyApp() {
39
39
  const instance = instance_1.Instance.get();
40
40
  return (0, fastify_1.default)({
41
+ caseSensitive: false,
41
42
  logger: instance.settings.logRequests ? instance.logger : false,
42
43
  ajv: { customOptions: { coerceTypes: false } },
43
44
  schemaErrorFormatter: (errors, data) => new errors_1.ValidationError(errors.map((error) => ({ messages: [error.message ?? ''], field: `${data}${error.instancePath}`.replaceAll('/', '.') })))
@@ -54,7 +55,7 @@ class FastifyServer extends base_1.Server {
54
55
  app.register(cookie_1.default, {});
55
56
  app.register(cors_1.default, { origin: '*' });
56
57
  app.register(swagger_1.default, { openapi: this.baseOpenapiDoc });
57
- app.register(swagger_ui_1.default, { routePrefix: this.settings.openapiDocsUrl });
58
+ app.register(swagger_ui_1.default, { routePrefix: this.settings.openapiDocsPath });
58
59
  app.register(formbody_1.default, { parser: (str) => qs_1.default.parse(str) });
59
60
  app.register(helmet_1.default, { crossOriginResourcePolicy: { policy: 'cross-origin' } });
60
61
  app.register(multipart_1.default, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "equipped",
3
- "version": "5.0.0-alpha.1",
3
+ "version": "5.0.0-alpha.3",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "main": "lib/index.js",