@restorecommerce/facade 1.3.5 → 1.3.6

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
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.3.6](https://github.com/restorecommerce/libs/compare/@restorecommerce/facade@1.3.5...@restorecommerce/facade@1.3.6) (2023-06-16)
7
+
8
+ **Note:** Version bump only for package @restorecommerce/facade
9
+
10
+
11
+
12
+
13
+
6
14
  ## [1.3.5](https://github.com/restorecommerce/libs/compare/@restorecommerce/facade@1.3.4...@restorecommerce/facade@1.3.5) (2023-06-16)
7
15
 
8
16
  **Note:** Version bump only for package @restorecommerce/facade
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ import { type Logger } from 'winston';
4
4
  import { type Server, ServerResponse } from 'node:http';
5
5
  import Koa from 'koa';
6
6
  import { type AddressInfo } from 'node:net';
7
- import { type Facade, type FacadeBaseContext, type FacadeModule, type FacadeModuleBase, type FacadeModulesContext } from './interfaces.js';
7
+ import { type Facade, type FacadeBaseContext, type FacadeModule, type FacadeModuleBase, type FacadeModulesContext, FileUploadOptionsConfig } from './interfaces.js';
8
8
  import { type KafkaProviderConfig } from '@restorecommerce/kafka-client';
9
9
  export * from './modules/index.js';
10
10
  export * from './middlewares/index.js';
@@ -18,6 +18,7 @@ interface RestoreCommerceFacadeImplConfig {
18
18
  hostname?: string;
19
19
  env?: string;
20
20
  kafka?: KafkaProviderConfig['kafka'];
21
+ fileUploadOptions?: FileUploadOptionsConfig['fileUploadOptions'];
21
22
  }
22
23
  export declare class RestoreCommerceFacade<TModules extends FacadeModuleBase[] = []> implements Facade<TModules> {
23
24
  private apolloServices;
@@ -31,9 +32,10 @@ export declare class RestoreCommerceFacade<TModules extends FacadeModuleBase[] =
31
32
  readonly env: string;
32
33
  readonly modules: FacadeModule[];
33
34
  readonly kafkaConfig?: KafkaProviderConfig['kafka'];
35
+ readonly fileUploadOptionsConfig?: FileUploadOptionsConfig['fileUploadOptions'];
34
36
  private startFns;
35
37
  private stopFns;
36
- constructor({ koa, logger, port, hostname, env, kafka }: RestoreCommerceFacadeImplConfig);
38
+ constructor({ koa, logger, port, hostname, env, kafka, fileUploadOptions }: RestoreCommerceFacadeImplConfig);
37
39
  get server(): Server<typeof import("http").IncomingMessage, typeof ServerResponse> | undefined;
38
40
  get address(): AddressInfo | undefined;
39
41
  get listening(): boolean;
@@ -59,5 +61,6 @@ export interface FacadeConfig {
59
61
  env?: string;
60
62
  keys?: string[];
61
63
  kafka?: KafkaProviderConfig['kafka'];
64
+ fileUploadOptions?: FileUploadOptionsConfig['fileUploadOptions'];
62
65
  }
63
66
  export declare const createFacade: (config: FacadeConfig) => Facade;
package/dist/index.js CHANGED
@@ -38,7 +38,7 @@ export * from './interfaces.js';
38
38
  export * from './utils.js';
39
39
  export * from './gql/index.js';
40
40
  export class RestoreCommerceFacade {
41
- constructor({ koa, logger, port, hostname, env, kafka }) {
41
+ constructor({ koa, logger, port, hostname, env, kafka, fileUploadOptions }) {
42
42
  this.apolloServices = {};
43
43
  this.allResolvers = {};
44
44
  this._initialized = false;
@@ -51,6 +51,7 @@ export class RestoreCommerceFacade {
51
51
  this.koa = koa;
52
52
  this.env = env !== null && env !== void 0 ? env : 'development';
53
53
  this.kafkaConfig = kafka;
54
+ this.fileUploadOptionsConfig = fileUploadOptions;
54
55
  setUseSubscriptions(!!kafka);
55
56
  }
56
57
  get server() {
@@ -163,6 +164,7 @@ export class RestoreCommerceFacade {
163
164
  });
164
165
  }
165
166
  mountApolloServer() {
167
+ var _a, _b;
166
168
  return __awaiter(this, void 0, void 0, function* () {
167
169
  const serviceList = Object.keys(this.apolloServices).map(key => {
168
170
  var _a;
@@ -265,10 +267,12 @@ export class RestoreCommerceFacade {
265
267
  },
266
268
  });
267
269
  yield gqlServer.start();
268
- // TODO set maxFile size and maximum files via Facade config of `createFacade`
270
+ // set maxFile size and maximum files via Facade config of `createFacade`
271
+ const maxFileSize = ((_a = this.fileUploadOptionsConfig) === null || _a === void 0 ? void 0 : _a.maxFileSize) ? this.fileUploadOptionsConfig.maxFileSize : 10000000;
272
+ const maxFiles = ((_b = this.fileUploadOptionsConfig) === null || _b === void 0 ? void 0 : _b.maxFiles) ? this.fileUploadOptionsConfig.maxFiles : 20;
269
273
  this.koa.use(graphqlUploadKoa({
270
- maxFileSize: 10000000,
271
- maxFiles: 20,
274
+ maxFileSize,
275
+ maxFiles
272
276
  }));
273
277
  this.koa.use(cors());
274
278
  this.koa.use(bodyParser());
@@ -302,6 +306,7 @@ export const createFacade = (config) => {
302
306
  port: config.port,
303
307
  hostname: config.hostname,
304
308
  env: config.env,
305
- kafka: config.kafka
309
+ kafka: config.kafka,
310
+ fileUploadOptions: config.fileUploadOptions,
306
311
  }).useModule(facadeStatusModule);
307
312
  };
@@ -44,4 +44,11 @@ export interface Facade<TModules extends FacadeModuleBase[] = []> {
44
44
  useModule<TNewModule extends FacadeModule>(mod: TNewModule): Facade<[...TModules, TNewModule]>;
45
45
  supportsModule<TSupportedModule extends FacadeModuleBase>(mod: TSupportedModule): this is Facade<[TSupportedModule, ...TModules]> & Facade<[...TModules]>;
46
46
  }
47
+ export interface FileUploadOptionsConfig {
48
+ fileUploadOptions: FileUploadOptions;
49
+ }
50
+ interface FileUploadOptions {
51
+ maxFileSize: number;
52
+ maxFiles: number;
53
+ }
47
54
  export {};
@@ -1,4 +1,6 @@
1
1
  ;
2
2
  ;
3
3
  ;
4
+ ;
5
+ ;
4
6
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@restorecommerce/facade",
3
- "version": "1.3.5",
3
+ "version": "1.3.6",
4
4
  "description": "Facade for Restorecommerce microservices",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -136,5 +136,5 @@
136
136
  }
137
137
  }
138
138
  },
139
- "gitHead": "1caa7cb6acfb09a9ea79c9ff4349390617175854"
139
+ "gitHead": "9ba83dbe3c8e4b790b0a98cce14f1daa004a13a9"
140
140
  }