@stemy/backend 6.0.2 → 6.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stemy/backend",
3
- "version": "6.0.2",
3
+ "version": "6.0.4",
4
4
  "license": "MIT",
5
5
  "repository": "git@github.com:stemyke/node-backend.git",
6
6
  "builders": "builders.json",
@@ -46,6 +46,7 @@
46
46
  "tz-offset": "^0.0.2",
47
47
  "fontkit": "^2.0.4",
48
48
  "moment": "^2.30.1",
49
+ "got": "^14.4.5",
49
50
  "@stemy/terminal-commands-addon": "1.0.0",
50
51
  "tslib": "^2.3.0"
51
52
  },
package/public_api.d.ts CHANGED
@@ -4,6 +4,7 @@ export { IsFile, IsObjectId } from "./validators";
4
4
  export { FIXTURE, JOB, TERMINAL_COMMAND, EXPRESS, HTTP_SERVER, SOCKET_SERVER, SOCKET_CONTROLLERS, PARAMETER, DI_CONTAINER, OPENAPI_VALIDATION, Type, FactoryProvider, IDependencyContainer, ClassBasedProvider, ValueBasedProvider, FactoryBasedProvider, TokenBasedProvider, SyringeProvider, Provider, Constructor, InferGeneric, PickMatching, OmitFirstArg, IMatchField, IProjectOptions, IUnwindOptions, IFixture, IFixtureOutput, SchemaConverter, OpenApiValidation, ParamResolver, Parameter, SocketParam, SocketParams, ISocketMessage, IMessageBridge, IJob, IJobTask, JobParams, JobScheduleRange, JobScheduleTime, ITerminalFile, ITerminal, ITerminalCommand, IProgress, IAssetCropInfo, IImageMeta, IAssetMeta, IAssetImageParams, IAsset, IAssetUploadStream, IAssetUploadOpts, IAssetDriver, ILazyAsset, IUser, IClientSocket, IRequestBase, IRequest, IGalleryImage, IGallerySize, IGalleryImageHandler, ITranslations, IPaginationMeta, IPaginationBase, IPagination, IPaginationParams, FontFormat, IFileType, RoutingOptions, SocketOptions, IBackendConfig } from "./common-types";
5
5
  export { AssetLocalDriver } from "./services/drivers/asset-local.driver";
6
6
  export { AssetGridDriver } from "./services/drivers/asset-grid.driver";
7
+ export { AssetStorageProxyDriver } from "./services/drivers/asset-storage-proxy.driver";
7
8
  export { AssetProcessor } from "./services/asset-processor";
8
9
  export { AssetResolver } from "./services/asset-resolver";
9
10
  export { Assets } from "./services/assets";
@@ -0,0 +1,11 @@
1
+ import { Readable } from "stream";
2
+ import { ObjectId } from "bson";
3
+ import { IAssetDriver, IAssetUploadOpts, IAssetUploadStream } from "../../common-types";
4
+ export declare class AssetFallbackDriver implements IAssetDriver {
5
+ protected main: IAssetDriver;
6
+ protected fallback: IAssetDriver;
7
+ constructor(main: IAssetDriver, fallback: IAssetDriver);
8
+ openDownloadStream(id: ObjectId): Readable;
9
+ openUploadStream(filename: string, opts?: IAssetUploadOpts): IAssetUploadStream;
10
+ delete(id: ObjectId): Promise<void>;
11
+ }
@@ -2,7 +2,6 @@ import { GridFSBucket, ObjectId } from 'mongodb';
2
2
  import { IAssetDriver, IAssetUploadOpts } from '../../common-types';
3
3
  import { MongoConnector } from "../mongo-connector";
4
4
  export declare class AssetGridDriver implements IAssetDriver {
5
- readonly metaCollection: string;
6
5
  protected bucket: GridFSBucket;
7
6
  constructor(connector: MongoConnector);
8
7
  openUploadStream(filename: string, opts?: IAssetUploadOpts): import("mongodb").GridFSBucketWriteStream;
@@ -2,7 +2,6 @@ import type { ObjectId } from 'mongodb';
2
2
  import { IAssetDriver, IAssetUploadOpts, IAssetUploadStream } from '../../common-types';
3
3
  export declare class AssetLocalDriver implements IAssetDriver {
4
4
  protected dir: string;
5
- readonly metaCollection: string;
6
5
  constructor(dir: string);
7
6
  openUploadStream(filename: string, opts?: IAssetUploadOpts): IAssetUploadStream;
8
7
  openDownloadStream(id: ObjectId): import("fs").ReadStream;
@@ -0,0 +1,14 @@
1
+ import { Readable } from "stream";
2
+ import { ObjectId } from "bson";
3
+ import { IAssetDriver, IAssetUploadOpts, IAssetUploadStream } from "../../common-types";
4
+ import { Configuration } from "../configuration";
5
+ export declare class AssetStorageProxyDriver implements IAssetDriver {
6
+ protected config: Configuration;
7
+ readonly baseUrl: string;
8
+ readonly url: string;
9
+ constructor(config: Configuration);
10
+ openDownloadStream(id: ObjectId): Readable;
11
+ openUploadStream(_: string, opts?: IAssetUploadOpts): IAssetUploadStream;
12
+ delete(id: ObjectId): Promise<void>;
13
+ protected getUrl(id: ObjectId): string;
14
+ }
@@ -0,0 +1,2 @@
1
+ import { Readable } from 'stream';
2
+ export declare function createFallbackReadable(primary: Readable, fallbackFactory: () => Readable): Readable;
@@ -0,0 +1,9 @@
1
+ import { Readable, Writable } from 'stream';
2
+ import { IAssetUploadStream } from "../../common-types";
3
+ export declare function createFallbackReadable(primary: Readable, fallbackFactory: () => Readable): Readable;
4
+ /**
5
+ * Creates a Writable proxy that switches to a fallback destination on error.
6
+ * @param primary The initial Writable destination.
7
+ * @param fallbackFactory A function that returns a new Writable destination.
8
+ */
9
+ export declare function createFallbackWritable(primary: IAssetUploadStream, fallbackFactory: () => IAssetUploadStream): Writable;
@@ -13,11 +13,10 @@ export declare class JobManager {
13
13
  [name: string]: (jobParams: JobParams, uniqueId: string) => Promise<any>;
14
14
  };
15
15
  protected messages: Subject<ISocketMessage>;
16
- protected processing: Promise<any>;
17
- protected apiPush: Socket;
18
- protected apiPull: Socket;
19
- protected workerPush: Socket;
20
- protected workerPull: Socket;
16
+ protected apiPush: Promise<Socket>;
17
+ protected apiPull: Promise<Socket>;
18
+ protected workerPush: Promise<Socket>;
19
+ protected workerPull: Promise<Socket>;
21
20
  readonly maxTimeout: number;
22
21
  constructor(config: Configuration, logger: Logger, container: DependencyContainer, jobTypes: Type<IJob>[]);
23
22
  on(message: string, cb: (params: SocketParams) => any): Subscription;
@@ -25,7 +24,6 @@ export declare class JobManager {
25
24
  enqueueWithName(name: string, params?: JobParams): Promise<string>;
26
25
  enqueue(jobType: Type<IJob>, params?: JobParams): Promise<string>;
27
26
  schedule(minute: JobScheduleTime, hour: JobScheduleTime, dayOfMonth: JobScheduleTime, month: JobScheduleTime, dayOfWeek: JobScheduleTime, jobType: Type<IJob>, params?: JobParams): IJobTask;
28
- protected initProcessing(): Promise<void>;
29
27
  startProcessing(): Promise<void>;
30
28
  tryResolve(jobType: Type<IJob>, params: JobParams): string;
31
29
  protected tryResolveFromName(jobName: string, params: JobParams): string;