taon 19.0.67 → 19.0.72
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/README.md +158 -160
- package/bin/start.js +281 -281
- package/bin/taon +6 -6
- package/bin/taon-debug +5 -5
- package/bin/taon-debug-brk +5 -5
- package/browser/README.md +24 -24
- package/browser/fesm2022/taon.mjs +152 -118
- package/browser/fesm2022/taon.mjs.map +1 -1
- package/browser/lib/base-classes/base-abstract-entity.d.ts +3 -3
- package/browser/lib/base-classes/base-class.d.ts +1 -1
- package/browser/lib/base-classes/base-context.d.ts +2 -2
- package/browser/lib/base-classes/base-controller.d.ts +2 -2
- package/browser/lib/base-classes/base-crud-controller.d.ts +4 -4
- package/browser/lib/base-classes/base-custom-repository.d.ts +2 -2
- package/browser/lib/base-classes/base-entity.d.ts +3 -3
- package/browser/lib/base-classes/base-file-upload.middleware.d.ts +2 -2
- package/browser/lib/base-classes/base-injector.d.ts +6 -6
- package/browser/lib/base-classes/base-middleware.d.ts +5 -5
- package/browser/lib/base-classes/base-migration.d.ts +2 -2
- package/browser/lib/base-classes/base-provider.d.ts +2 -2
- package/browser/lib/base-classes/base-repository.d.ts +3 -3
- package/browser/lib/base-classes/base-subscriber-for-entity.d.ts +2 -2
- package/browser/lib/base-classes/base.d.ts +11 -11
- package/browser/lib/config/method-config.d.ts +2 -2
- package/browser/lib/decorators/http/http-methods-decorators.d.ts +2 -2
- package/browser/lib/endpoint-context.d.ts +9 -6
- package/browser/lib/index.d.ts +11 -11
- package/browser/lib/models.d.ts +4 -0
- package/browser/package.json +1 -1
- package/icon-menu-taon.svg +15 -15
- package/lib/base-classes/base-abstract-entity.d.ts +3 -3
- package/lib/base-classes/base-abstract-entity.js +7 -7
- package/lib/base-classes/base-abstract-entity.js.map +1 -1
- package/lib/base-classes/base-class.d.ts +1 -1
- package/lib/base-classes/base-class.js +3 -3
- package/lib/base-classes/base-class.js.map +1 -1
- package/lib/base-classes/base-context.d.ts +2 -2
- package/lib/base-classes/base-context.js +6 -6
- package/lib/base-classes/base-context.js.map +1 -1
- package/lib/base-classes/base-controller.d.ts +2 -2
- package/lib/base-classes/base-controller.js +8 -8
- package/lib/base-classes/base-controller.js.map +1 -1
- package/lib/base-classes/base-crud-controller.d.ts +4 -4
- package/lib/base-classes/base-crud-controller.js +19 -19
- package/lib/base-classes/base-crud-controller.js.map +1 -1
- package/lib/base-classes/base-custom-repository.d.ts +2 -2
- package/lib/base-classes/base-custom-repository.js +6 -6
- package/lib/base-classes/base-custom-repository.js.map +1 -1
- package/lib/base-classes/base-entity.d.ts +3 -3
- package/lib/base-classes/base-entity.js +5 -5
- package/lib/base-classes/base-entity.js.map +1 -1
- package/lib/base-classes/base-file-upload.middleware.d.ts +2 -2
- package/lib/base-classes/base-file-upload.middleware.js +6 -6
- package/lib/base-classes/base-file-upload.middleware.js.map +1 -1
- package/lib/base-classes/base-injector.d.ts +6 -6
- package/lib/base-classes/base-injector.js +4 -4
- package/lib/base-classes/base-injector.js.map +1 -1
- package/lib/base-classes/base-middleware.d.ts +5 -5
- package/lib/base-classes/base-middleware.js +4 -3
- package/lib/base-classes/base-middleware.js.map +1 -1
- package/lib/base-classes/base-migration.d.ts +2 -2
- package/lib/base-classes/base-migration.js +5 -5
- package/lib/base-classes/base-migration.js.map +1 -1
- package/lib/base-classes/base-provider.d.ts +2 -2
- package/lib/base-classes/base-provider.js +3 -3
- package/lib/base-classes/base-provider.js.map +1 -1
- package/lib/base-classes/base-repository.d.ts +3 -3
- package/lib/base-classes/base-repository.js +10 -10
- package/lib/base-classes/base-repository.js.map +1 -1
- package/lib/base-classes/base-subscriber-for-entity.d.ts +2 -2
- package/lib/base-classes/base-subscriber-for-entity.js +6 -6
- package/lib/base-classes/base-subscriber-for-entity.js.map +1 -1
- package/lib/base-classes/base.d.ts +11 -11
- package/lib/base-classes/base.js +12 -12
- package/lib/base-classes/base.js.map +1 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/config/method-config.d.ts +2 -2
- package/lib/context-db-migrations.js.map +1 -1
- package/lib/decorators/http/http-methods-decorators.d.ts +2 -2
- package/lib/endpoint-context.d.ts +9 -6
- package/lib/endpoint-context.js +50 -42
- package/lib/endpoint-context.js.map +1 -1
- package/lib/entity-process.js +1 -1
- package/lib/entity-process.js.map +1 -1
- package/lib/env/env.angular-node-app.d.ts +1 -2
- package/lib/env/env.angular-node-app.js +3 -4
- package/lib/env/env.angular-node-app.js.map +1 -1
- package/lib/env/env.docs-webapp.d.ts +1 -2
- package/lib/env/env.docs-webapp.js +3 -4
- package/lib/env/env.docs-webapp.js.map +1 -1
- package/lib/env/env.electron-app.d.ts +1 -2
- package/lib/env/env.electron-app.js +3 -4
- package/lib/env/env.electron-app.js.map +1 -1
- package/lib/env/env.mobile-app.d.ts +1 -2
- package/lib/env/env.mobile-app.js +3 -4
- package/lib/env/env.mobile-app.js.map +1 -1
- package/lib/env/env.npm-lib-and-cli-tool.d.ts +1 -2
- package/lib/env/env.npm-lib-and-cli-tool.js +3 -4
- package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
- package/lib/env/env.vscode-plugin.d.ts +1 -2
- package/lib/env/env.vscode-plugin.js +3 -4
- package/lib/env/env.vscode-plugin.js.map +1 -1
- package/lib/index.d.ts +11 -11
- package/lib/index.js +21 -13
- package/lib/index.js.map +1 -1
- package/lib/inject.js +1 -1
- package/lib/inject.js.map +1 -1
- package/lib/models.d.ts +4 -0
- package/lib/models.js +23 -1
- package/lib/models.js.map +1 -1
- package/lib/realtime/realtime-client.js.map +1 -1
- package/lib/ui/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
- package/package.json +1 -1
- package/websql/README.md +24 -24
- package/websql/fesm2022/taon.mjs +160 -126
- package/websql/fesm2022/taon.mjs.map +1 -1
- package/websql/lib/base-classes/base-abstract-entity.d.ts +3 -3
- package/websql/lib/base-classes/base-class.d.ts +1 -1
- package/websql/lib/base-classes/base-context.d.ts +2 -2
- package/websql/lib/base-classes/base-controller.d.ts +2 -2
- package/websql/lib/base-classes/base-crud-controller.d.ts +4 -4
- package/websql/lib/base-classes/base-custom-repository.d.ts +2 -2
- package/websql/lib/base-classes/base-entity.d.ts +3 -3
- package/websql/lib/base-classes/base-file-upload.middleware.d.ts +2 -2
- package/websql/lib/base-classes/base-injector.d.ts +6 -6
- package/websql/lib/base-classes/base-middleware.d.ts +5 -5
- package/websql/lib/base-classes/base-migration.d.ts +2 -2
- package/websql/lib/base-classes/base-provider.d.ts +2 -2
- package/websql/lib/base-classes/base-repository.d.ts +3 -3
- package/websql/lib/base-classes/base-subscriber-for-entity.d.ts +2 -2
- package/websql/lib/base-classes/base.d.ts +11 -11
- package/websql/lib/config/method-config.d.ts +2 -2
- package/websql/lib/decorators/http/http-methods-decorators.d.ts +2 -2
- package/websql/lib/endpoint-context.d.ts +9 -6
- package/websql/lib/index.d.ts +11 -11
- package/websql/lib/models.d.ts +4 -0
- package/websql/package.json +1 -1
package/websql/fesm2022/taon.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import * as coreHelpers from 'tnp-core/websql';
|
|
3
|
-
import { _, Utils, UtilsMigrations, Helpers, UtilsOs, crossPlatformPath, CoreModels, UtilsTerminal } from 'tnp-core/websql';
|
|
3
|
+
import { _, Utils, UtilsMigrations, Helpers, UtilsOs, crossPlatformPath, config, CoreModels, UtilsTerminal } from 'tnp-core/websql';
|
|
4
4
|
import { __decorate, __metadata, __param } from 'tslib';
|
|
5
5
|
import * as tsorm from 'taon-typeorm/websql';
|
|
6
6
|
import { OrignalClassKey, Entity, Table, TableIndex, EventSubscriber, DataSource } from 'taon-typeorm/websql';
|
|
@@ -12,7 +12,6 @@ import axios from 'axios';
|
|
|
12
12
|
import { JSON10 } from 'json10/websql';
|
|
13
13
|
import { RestResponseWrapper, Models as Models$1, Resource, RestHeaders, Mapping, HttpResponseError } from 'ng2-rest/websql';
|
|
14
14
|
import { Observable, Subject, from } from 'rxjs';
|
|
15
|
-
import { config } from 'tnp-config/websql';
|
|
16
15
|
import * as JSON5 from 'json5';
|
|
17
16
|
import { io } from 'socket.io-client';
|
|
18
17
|
import { MySqlQuerySource } from 'taon-type-sql/websql';
|
|
@@ -587,7 +586,7 @@ const cloneObj = (override, classFn) => {
|
|
|
587
586
|
};
|
|
588
587
|
|
|
589
588
|
//#endregion
|
|
590
|
-
class
|
|
589
|
+
class TaonBaseClass {
|
|
591
590
|
//#region class initialization hook
|
|
592
591
|
/**
|
|
593
592
|
* class initialization hook
|
|
@@ -625,7 +624,7 @@ let EntityDecorator$1 = () => {
|
|
|
625
624
|
//#region @websql
|
|
626
625
|
EntityDecorator$1 = Entity;
|
|
627
626
|
//#endregion
|
|
628
|
-
let
|
|
627
|
+
let TaonBaseEntity = class TaonBaseEntity extends TaonBaseClass {
|
|
629
628
|
/**
|
|
630
629
|
* simple check if relation is ok
|
|
631
630
|
*/
|
|
@@ -639,9 +638,9 @@ let BaseEntity = class BaseEntity extends BaseClass {
|
|
|
639
638
|
return relationNames;
|
|
640
639
|
}
|
|
641
640
|
};
|
|
642
|
-
|
|
641
|
+
TaonBaseEntity = __decorate([
|
|
643
642
|
EntityDecorator$1()
|
|
644
|
-
],
|
|
643
|
+
], TaonBaseEntity);
|
|
645
644
|
|
|
646
645
|
// empty decorator
|
|
647
646
|
let EntityDecorator = () => {
|
|
@@ -650,23 +649,23 @@ let EntityDecorator = () => {
|
|
|
650
649
|
//#region @websql
|
|
651
650
|
EntityDecorator = Entity;
|
|
652
651
|
//#endregion
|
|
653
|
-
let
|
|
652
|
+
let TaonBaseAbstractEntity = class TaonBaseAbstractEntity extends TaonBaseEntity {
|
|
654
653
|
};
|
|
655
654
|
__decorate([
|
|
656
655
|
Orm.Column.Generated()
|
|
657
656
|
//#endregion
|
|
658
657
|
,
|
|
659
658
|
__metadata("design:type", String)
|
|
660
|
-
],
|
|
659
|
+
], TaonBaseAbstractEntity.prototype, "id", void 0);
|
|
661
660
|
__decorate([
|
|
662
661
|
Orm.Column.Version()
|
|
663
662
|
//#endregion
|
|
664
663
|
,
|
|
665
664
|
__metadata("design:type", Number)
|
|
666
|
-
],
|
|
667
|
-
|
|
665
|
+
], TaonBaseAbstractEntity.prototype, "version", void 0);
|
|
666
|
+
TaonBaseAbstractEntity = __decorate([
|
|
668
667
|
EntityDecorator()
|
|
669
|
-
],
|
|
668
|
+
], TaonBaseAbstractEntity);
|
|
670
669
|
|
|
671
670
|
const TaonEntityKeysToOmitArr = [
|
|
672
671
|
'ctrl',
|
|
@@ -754,7 +753,7 @@ const inject = (entity) => {
|
|
|
754
753
|
// return (...args: any[]) => {
|
|
755
754
|
// if (isFirstSubscription) {
|
|
756
755
|
// isFirstSubscription = false;
|
|
757
|
-
// const subscriberClassFN: typeof
|
|
756
|
+
// const subscriberClassFN: typeof TaonBaseClass =
|
|
758
757
|
// subscriberClassResolveFn() as any;
|
|
759
758
|
// const ctx = subscriberClassFN[
|
|
760
759
|
// Symbols.ctxInClassOrClassObj
|
|
@@ -840,18 +839,40 @@ class BaseAngularsService {
|
|
|
840
839
|
return currentContext ? currentContext.getClass(ctor) : void 0;
|
|
841
840
|
});
|
|
842
841
|
}
|
|
843
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
844
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
842
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BaseAngularsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
843
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BaseAngularsService }); }
|
|
845
844
|
}
|
|
846
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
845
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BaseAngularsService, decorators: [{
|
|
847
846
|
type: Injectable
|
|
848
847
|
}], ctorParameters: () => [] });
|
|
849
848
|
|
|
850
849
|
// ! TODO make it as a nice way to wrap normal request
|
|
851
850
|
class TaonRestResponseWrapper extends RestResponseWrapper {
|
|
852
851
|
}
|
|
852
|
+
const BaseTaonClassesNames = [
|
|
853
|
+
'BaseCrudController',
|
|
854
|
+
'BaseController',
|
|
855
|
+
'BaseAbstractEntity',
|
|
856
|
+
'BaseEntity',
|
|
857
|
+
'BaseContext',
|
|
858
|
+
'BaseCustomRepository',
|
|
859
|
+
'BaseFileUploadMiddleware',
|
|
860
|
+
'BaseMiddleware',
|
|
861
|
+
'BaseClass',
|
|
862
|
+
'BaseInjector',
|
|
863
|
+
'BaseMigration',
|
|
864
|
+
'BaseProvider',
|
|
865
|
+
'BaseRepository',
|
|
866
|
+
'BaseSubscriberForEntity',
|
|
867
|
+
'BaseCliWorkerController',
|
|
868
|
+
'PortsController',
|
|
869
|
+
'PortsContext',
|
|
870
|
+
];
|
|
871
|
+
const TaonTempDatabasesFolder = 'databases';
|
|
872
|
+
const TaonTempRoutesFolder = 'routes';
|
|
853
873
|
var Models;
|
|
854
874
|
(function (Models) {
|
|
875
|
+
Models.DatabasesFolder = TaonTempDatabasesFolder;
|
|
855
876
|
//#region models / class types
|
|
856
877
|
let ClassType;
|
|
857
878
|
(function (ClassType) {
|
|
@@ -2777,21 +2798,15 @@ class EndpointContext {
|
|
|
2777
2798
|
this.originalConfig = originalConfig;
|
|
2778
2799
|
this.configFn = configFn;
|
|
2779
2800
|
this.cloneOptions = cloneOptions;
|
|
2780
|
-
//#
|
|
2801
|
+
//#endregion
|
|
2802
|
+
//#endregion
|
|
2803
|
+
//#region fields
|
|
2804
|
+
//#region fields / use mariadb mysql in docker
|
|
2781
2805
|
/**
|
|
2782
2806
|
* JUST FOR TESTING PURPOSES
|
|
2783
2807
|
*/
|
|
2784
2808
|
this.USE_MARIADB_MYSQL_IN_DOCKER = false;
|
|
2785
2809
|
//#endregion
|
|
2786
|
-
// public static findForTraget(classFnOrObject: any): EndpointContext {
|
|
2787
|
-
// const obj = ClassHelpers.getClassFnFromObject(classFnOrObject) || {};
|
|
2788
|
-
// return (
|
|
2789
|
-
// classFnOrObject[Symbols.ctxInClassOrClassObj] ||
|
|
2790
|
-
// obj[Symbols.ctxInClassOrClassObj]
|
|
2791
|
-
// );
|
|
2792
|
-
// }
|
|
2793
|
-
//#endregion
|
|
2794
|
-
//#region fields
|
|
2795
2810
|
//#region fields / flags
|
|
2796
2811
|
this.disabledRealtime = false;
|
|
2797
2812
|
/**
|
|
@@ -2800,8 +2815,12 @@ class EndpointContext {
|
|
|
2800
2815
|
*/
|
|
2801
2816
|
this.inited = false;
|
|
2802
2817
|
//#endregion
|
|
2818
|
+
//#region fields / db migrations
|
|
2803
2819
|
this.dbMigrations = new ContextDbMigrations(this);
|
|
2820
|
+
//#endregion
|
|
2821
|
+
//#region fields / local instance obj symbol
|
|
2804
2822
|
this.localInstaceObjSymbol = Symbol('localInstaceObjSymbol');
|
|
2823
|
+
//#endregion
|
|
2805
2824
|
//#region fields / all instances of classes from context
|
|
2806
2825
|
/**
|
|
2807
2826
|
* all instances of classes from context
|
|
@@ -2822,7 +2841,9 @@ class EndpointContext {
|
|
|
2822
2841
|
//#region @websql
|
|
2823
2842
|
this.repos = new Map();
|
|
2824
2843
|
//#endregion
|
|
2844
|
+
//#region fields / skip writing server routes
|
|
2825
2845
|
this.skipWritingServerRoutes = false;
|
|
2846
|
+
//#endregion
|
|
2826
2847
|
//#region fields / types from contexts
|
|
2827
2848
|
this.injectableTypesfromContexts = [
|
|
2828
2849
|
Models.ClassType.CONTROLLER,
|
|
@@ -2833,11 +2854,12 @@ class EndpointContext {
|
|
|
2833
2854
|
Models.ClassType.MIGRATION,
|
|
2834
2855
|
];
|
|
2835
2856
|
//#endregion
|
|
2857
|
+
//#region fields / all types from contexts
|
|
2836
2858
|
this.allTypesfromContexts = [
|
|
2837
2859
|
...this.injectableTypesfromContexts,
|
|
2838
2860
|
Models.ClassType.ENTITY,
|
|
2839
2861
|
];
|
|
2840
|
-
|
|
2862
|
+
//#endregion
|
|
2841
2863
|
//#region fields / express app
|
|
2842
2864
|
this.expressApp = {};
|
|
2843
2865
|
//#endregion
|
|
@@ -2856,17 +2878,17 @@ class EndpointContext {
|
|
|
2856
2878
|
this.isRunningInsideDocker = false;
|
|
2857
2879
|
//#endregion
|
|
2858
2880
|
//#region methods & getters / clone class
|
|
2859
|
-
this.cloneClassWithNewMetadata = ({
|
|
2881
|
+
this.cloneClassWithNewMetadata = ({ TaonBaseClass, className, config, ctx, classType, }) => {
|
|
2860
2882
|
// Return a new class that extends the base class
|
|
2861
2883
|
const cloneClass = () => {
|
|
2862
2884
|
var _a, _b, _c, _d, _e;
|
|
2863
|
-
if (
|
|
2885
|
+
if (TaonBaseClass[Symbols.fullClassNameStaticProperty] ===
|
|
2864
2886
|
`${ctx.contextName}.${className}`) {
|
|
2865
|
-
return
|
|
2887
|
+
return TaonBaseClass;
|
|
2866
2888
|
}
|
|
2867
|
-
return class extends
|
|
2889
|
+
return class extends TaonBaseClass {
|
|
2868
2890
|
constructor() {
|
|
2869
|
-
// static ['_'] =
|
|
2891
|
+
// static ['_'] = TaonBaseClass['_'];
|
|
2870
2892
|
super(...arguments);
|
|
2871
2893
|
this[_e] = ctx;
|
|
2872
2894
|
// You can override prototype properties or methods here if needed
|
|
@@ -2874,7 +2896,7 @@ class EndpointContext {
|
|
|
2874
2896
|
}
|
|
2875
2897
|
static { _a = Symbols.orignalClass, _b = Symbols.fullClassNameStaticProperty, _c = Symbols.classNameStaticProperty, _d = Symbols.ctxInClassOrClassObj, _e = Symbols.ctxInClassOrClassObj; }
|
|
2876
2898
|
// @ts-ignore
|
|
2877
|
-
static { this[_a] =
|
|
2899
|
+
static { this[_a] = TaonBaseClass; }
|
|
2878
2900
|
// @ts-ignore
|
|
2879
2901
|
static { this[_b] = `${ctx.contextName}.${className}`; }
|
|
2880
2902
|
// @ts-ignore
|
|
@@ -2904,16 +2926,16 @@ class EndpointContext {
|
|
|
2904
2926
|
// if (_.isUndefined(cloneClassFunction[Symbols.orignalClassClonesObj])) {
|
|
2905
2927
|
// cloneClassFunction[Symbols.orignalClassClonesObj] = {};
|
|
2906
2928
|
// }
|
|
2907
|
-
// if (_.isUndefined(
|
|
2908
|
-
//
|
|
2929
|
+
// if (_.isUndefined(TaonBaseClass[Symbols.orignalClassClonesObj])) {
|
|
2930
|
+
// TaonBaseClass[Symbols.orignalClassClonesObj] = {};
|
|
2909
2931
|
// }
|
|
2910
2932
|
// const all = {
|
|
2911
|
-
// ...
|
|
2933
|
+
// ...TaonBaseClass[Symbols.orignalClassClonesObj],
|
|
2912
2934
|
// ...cloneClassFunction[Symbols.orignalClassClonesObj],
|
|
2913
2935
|
// };
|
|
2914
2936
|
// all[ctx.contextName] = cloneClassFunction;
|
|
2915
2937
|
// cloneClassFunction[Symbols.orignalClassClonesObj] = all;
|
|
2916
|
-
//
|
|
2938
|
+
// TaonBaseClass[Symbols.orignalClassClonesObj] = all;
|
|
2917
2939
|
//#endregion
|
|
2918
2940
|
return cloneClassFunction;
|
|
2919
2941
|
};
|
|
@@ -2924,23 +2946,23 @@ class EndpointContext {
|
|
|
2924
2946
|
const classes = {};
|
|
2925
2947
|
// console.log(Object.keys(classesInput))
|
|
2926
2948
|
for (const key of Object.keys(classesInput || {})) {
|
|
2927
|
-
const
|
|
2928
|
-
if (!
|
|
2949
|
+
const TaonBaseClass = classesInput[key];
|
|
2950
|
+
if (!TaonBaseClass) {
|
|
2929
2951
|
Helpers.error(`Class ${key} is not defined in context ${ctx.contextName}
|
|
2930
2952
|
|
|
2931
2953
|
Please check if you have correct import in context file
|
|
2932
2954
|
|
|
2933
2955
|
`);
|
|
2934
2956
|
}
|
|
2935
|
-
var className = Reflect.getMetadata(Symbols.metadata.className,
|
|
2936
|
-
// console.log('Metadata className', className,
|
|
2957
|
+
var className = Reflect.getMetadata(Symbols.metadata.className, TaonBaseClass);
|
|
2958
|
+
// console.log('Metadata className', className, TaonBaseClass);
|
|
2937
2959
|
// if (!className) {
|
|
2938
|
-
// console.warn(`Please provide className for ${
|
|
2960
|
+
// console.warn(`Please provide className for ${TaonBaseClass.name} class`);
|
|
2939
2961
|
// }
|
|
2940
2962
|
className = className || key;
|
|
2941
|
-
|
|
2963
|
+
TaonBaseClass[Symbols.classNameStaticProperty] = className;
|
|
2942
2964
|
const clonedClass = this.cloneClassWithNewMetadata({
|
|
2943
|
-
|
|
2965
|
+
TaonBaseClass,
|
|
2944
2966
|
className,
|
|
2945
2967
|
config,
|
|
2946
2968
|
ctx,
|
|
@@ -3012,7 +3034,7 @@ class EndpointContext {
|
|
|
3012
3034
|
this.mode = 'backend-frontend(ipc-electron)';
|
|
3013
3035
|
}
|
|
3014
3036
|
}
|
|
3015
|
-
// mode === undefined for
|
|
3037
|
+
// mode === undefined for TaonBaseContext => ok behavior
|
|
3016
3038
|
// console.log(`Mode for BE/FE communication: ${this.mode}`);
|
|
3017
3039
|
// if(!this.mode) {
|
|
3018
3040
|
// console.log(this.config)
|
|
@@ -3245,6 +3267,7 @@ class EndpointContext {
|
|
|
3245
3267
|
`);
|
|
3246
3268
|
//#region @websqlFunc
|
|
3247
3269
|
let databaseConfig = Models.DatabaseConfig.from({});
|
|
3270
|
+
const tcpUdpDatabaseSqliteRelativeFileLocation = `${Models.DatabasesFolder}/db-${this.contextName}.sqlite`;
|
|
3248
3271
|
if (this.isRunningInsideDocker) {
|
|
3249
3272
|
if (this.USE_MARIADB_MYSQL_IN_DOCKER) {
|
|
3250
3273
|
// Helpers.info('Running in docker, using in mysql database');
|
|
@@ -3274,7 +3297,7 @@ class EndpointContext {
|
|
|
3274
3297
|
/* */
|
|
3275
3298
|
/* */
|
|
3276
3299
|
databaseConfig = databaseConfig = Models.DatabaseConfig.from({
|
|
3277
|
-
location:
|
|
3300
|
+
location: tcpUdpDatabaseSqliteRelativeFileLocation,
|
|
3278
3301
|
type: 'sqljs',
|
|
3279
3302
|
useLocalForage: false,
|
|
3280
3303
|
recreateMode: 'PRESERVE_DATA+MIGRATIONS',
|
|
@@ -3347,7 +3370,7 @@ class EndpointContext {
|
|
|
3347
3370
|
case 'backend-frontend(tcp+udp)':
|
|
3348
3371
|
databaseConfig = Models.DatabaseConfig.from({
|
|
3349
3372
|
database: `context-db-${this.contextName}`,
|
|
3350
|
-
location:
|
|
3373
|
+
location: tcpUdpDatabaseSqliteRelativeFileLocation,
|
|
3351
3374
|
type: 'sqljs',
|
|
3352
3375
|
recreateMode: 'DROP_DB+MIGRATIONS',
|
|
3353
3376
|
logging: this.logDb,
|
|
@@ -3506,7 +3529,7 @@ class EndpointContext {
|
|
|
3506
3529
|
const ctxClassFn = this.getClassFunByClassName(className);
|
|
3507
3530
|
let entityName = '';
|
|
3508
3531
|
// entity thing is only for repositories local repositories
|
|
3509
|
-
// if (className === '
|
|
3532
|
+
// if (className === 'TaonBaseRepository') {
|
|
3510
3533
|
const entityFn = _.first(locaInstanceConstructorArgs);
|
|
3511
3534
|
const entity = entityFn && entityFn();
|
|
3512
3535
|
entityName = (entity && ClassHelpers.getName(entity)) || '';
|
|
@@ -3758,7 +3781,7 @@ class EndpointContext {
|
|
|
3758
3781
|
return isNonRootProperPathName ? this.uri.pathname.replace(/\/$/, '') : '';
|
|
3759
3782
|
}
|
|
3760
3783
|
//#endregion
|
|
3761
|
-
//#region port from uri
|
|
3784
|
+
//#region methods & getters / port from uri
|
|
3762
3785
|
get uriPort() {
|
|
3763
3786
|
if (!this.uri?.origin?.includes('localhost')) {
|
|
3764
3787
|
return this.config?.hostPortNumber?.toString();
|
|
@@ -3779,12 +3802,15 @@ class EndpointContext {
|
|
|
3779
3802
|
return this.uriProtocol === 'https:';
|
|
3780
3803
|
}
|
|
3781
3804
|
//#endregion
|
|
3782
|
-
//#region methods & getters /
|
|
3805
|
+
//#region methods & getters / is remote host
|
|
3806
|
+
/**
|
|
3807
|
+
* Check if context is for remote only
|
|
3808
|
+
*/
|
|
3783
3809
|
get isRemoteHost() {
|
|
3784
3810
|
return !!this.cloneOptions?.useAsRemoteContext;
|
|
3785
3811
|
}
|
|
3786
3812
|
//#endregion
|
|
3787
|
-
//#region methods & getters /
|
|
3813
|
+
//#region methods & getters / context name
|
|
3788
3814
|
/**
|
|
3789
3815
|
* ipc/udp needs this
|
|
3790
3816
|
*/
|
|
@@ -3793,7 +3819,7 @@ class EndpointContext {
|
|
|
3793
3819
|
return this.config?.contextName || this.originalConfig?.contextName;
|
|
3794
3820
|
}
|
|
3795
3821
|
//#endregion
|
|
3796
|
-
//#region methods & getters /
|
|
3822
|
+
//#region methods & getters / context name for communication
|
|
3797
3823
|
/**
|
|
3798
3824
|
* ipc/udp needs this
|
|
3799
3825
|
*/
|
|
@@ -3812,7 +3838,7 @@ class EndpointContext {
|
|
|
3812
3838
|
return contextName;
|
|
3813
3839
|
}
|
|
3814
3840
|
//#endregion
|
|
3815
|
-
//#region methods & getters /
|
|
3841
|
+
//#region methods & getters / get context type
|
|
3816
3842
|
/**
|
|
3817
3843
|
* Check context type
|
|
3818
3844
|
*/
|
|
@@ -3856,8 +3882,8 @@ class EndpointContext {
|
|
|
3856
3882
|
return this.config.host;
|
|
3857
3883
|
}
|
|
3858
3884
|
//#endregion
|
|
3859
|
-
//#region methods & getters /
|
|
3860
|
-
get
|
|
3885
|
+
//#region methods & getters / origin
|
|
3886
|
+
get origin() {
|
|
3861
3887
|
return this.uri?.origin;
|
|
3862
3888
|
}
|
|
3863
3889
|
//#endregion
|
|
@@ -4224,7 +4250,7 @@ class EndpointContext {
|
|
|
4224
4250
|
const fileName = crossPlatformPath([
|
|
4225
4251
|
/* */
|
|
4226
4252
|
/* */
|
|
4227
|
-
`routes-${this.config.contextName}.rest`,
|
|
4253
|
+
`routes/routes-${this.config.contextName}.rest`,
|
|
4228
4254
|
]);
|
|
4229
4255
|
this.logFramework && console.log(`[taon] routes file: ${fileName} `);
|
|
4230
4256
|
this.logRoutes && console.log(routes);
|
|
@@ -4712,6 +4738,7 @@ class EndpointContext {
|
|
|
4712
4738
|
};
|
|
4713
4739
|
}
|
|
4714
4740
|
//#endregion
|
|
4741
|
+
//#region methods & getters / send error
|
|
4715
4742
|
sendError(res, error, req, expressPath) {
|
|
4716
4743
|
/* */
|
|
4717
4744
|
/* */
|
|
@@ -4745,6 +4772,7 @@ class EndpointContext {
|
|
|
4745
4772
|
/* */
|
|
4746
4773
|
return (void 0);
|
|
4747
4774
|
}
|
|
4775
|
+
//#endregion
|
|
4748
4776
|
//#region methods & getters / init client
|
|
4749
4777
|
/**
|
|
4750
4778
|
* client can be browser or nodejs (when remote host)
|
|
@@ -5373,7 +5401,7 @@ class TaonMiddlewareOptions extends DecoratorAbstractOpt {
|
|
|
5373
5401
|
}
|
|
5374
5402
|
|
|
5375
5403
|
//#endregion
|
|
5376
|
-
class
|
|
5404
|
+
class TaonBaseInjector {
|
|
5377
5405
|
//#endregion
|
|
5378
5406
|
//#region class initialization hook
|
|
5379
5407
|
/**
|
|
@@ -5405,7 +5433,7 @@ class BaseInjector {
|
|
|
5405
5433
|
injectRepo(entityForCrud) {
|
|
5406
5434
|
const repoProxy = this.__inject(void 0, {
|
|
5407
5435
|
localInstance: true,
|
|
5408
|
-
resolveClassFromContext: '
|
|
5436
|
+
resolveClassFromContext: 'TaonBaseRepository',
|
|
5409
5437
|
locaInstanceConstructorArgs: [() => entityForCrud],
|
|
5410
5438
|
});
|
|
5411
5439
|
return repoProxy;
|
|
@@ -5556,19 +5584,20 @@ class BaseInjector {
|
|
|
5556
5584
|
}
|
|
5557
5585
|
}
|
|
5558
5586
|
|
|
5587
|
+
//#endregion
|
|
5559
5588
|
/**
|
|
5560
5589
|
* TODO
|
|
5561
5590
|
* - global provider available in all contexts
|
|
5562
5591
|
* - provider available in own context
|
|
5563
5592
|
*/
|
|
5564
|
-
class
|
|
5593
|
+
class TaonBaseMiddleware extends TaonBaseInjector {
|
|
5565
5594
|
}
|
|
5566
5595
|
|
|
5567
5596
|
//#endregion
|
|
5568
5597
|
/**
|
|
5569
5598
|
* Configurable file upload middleware (multer based)
|
|
5570
5599
|
*/
|
|
5571
|
-
let
|
|
5600
|
+
let TaonBaseFileUploadMiddleware = class TaonBaseFileUploadMiddleware extends TaonBaseMiddleware {
|
|
5572
5601
|
async interceptServerMethod({ req, res, next }, { methodName, expressPath }) {
|
|
5573
5602
|
return this.middleware()(req, res, next);
|
|
5574
5603
|
}
|
|
@@ -5626,11 +5655,11 @@ let BaseFileUploadMiddleware = class BaseFileUploadMiddleware extends BaseMiddle
|
|
|
5626
5655
|
return (void 0);
|
|
5627
5656
|
}
|
|
5628
5657
|
};
|
|
5629
|
-
|
|
5658
|
+
TaonBaseFileUploadMiddleware = __decorate([
|
|
5630
5659
|
TaonMiddleware({
|
|
5631
|
-
className: '
|
|
5660
|
+
className: 'TaonBaseFileUploadMiddleware',
|
|
5632
5661
|
})
|
|
5633
|
-
],
|
|
5662
|
+
], TaonBaseFileUploadMiddleware);
|
|
5634
5663
|
|
|
5635
5664
|
/**
|
|
5636
5665
|
* Repository decorator
|
|
@@ -5646,18 +5675,18 @@ class TaonRepositoryOptions extends DecoratorAbstractOpt {
|
|
|
5646
5675
|
}
|
|
5647
5676
|
|
|
5648
5677
|
//#endregion
|
|
5649
|
-
let
|
|
5678
|
+
let TaonBaseCustomRepository = class TaonBaseCustomRepository extends TaonBaseInjector {
|
|
5650
5679
|
};
|
|
5651
|
-
|
|
5652
|
-
TaonRepository({ className: '
|
|
5653
|
-
],
|
|
5680
|
+
TaonBaseCustomRepository = __decorate([
|
|
5681
|
+
TaonRepository({ className: 'TaonBaseCustomRepository' })
|
|
5682
|
+
], TaonBaseCustomRepository);
|
|
5654
5683
|
|
|
5655
5684
|
//#endregion
|
|
5656
5685
|
const INDEX_KEYS_NO_FOR_UPDATE = ['id'];
|
|
5657
5686
|
const REPOS_CACHE = Symbol('repository cache inside instance');
|
|
5658
|
-
let
|
|
5687
|
+
let TaonBaseRepository = class TaonBaseRepository extends TaonBaseCustomRepository {
|
|
5659
5688
|
constructor(
|
|
5660
|
-
// Injected through
|
|
5689
|
+
// Injected through TaonBaseCrudController
|
|
5661
5690
|
__entityClassResolveFn) {
|
|
5662
5691
|
super();
|
|
5663
5692
|
this.allowedTypesToUpdate = ['simple-json', 'simple-array', 'json'];
|
|
@@ -5669,11 +5698,11 @@ let BaseRepository = class BaseRepository extends BaseCustomRepository {
|
|
|
5669
5698
|
if (!this.__dbQuery) {
|
|
5670
5699
|
if (!this.ctx) {
|
|
5671
5700
|
return; // TODO
|
|
5672
|
-
throw new Error(`[
|
|
5701
|
+
throw new Error(`[TaonBaseRepository] Context not inited for class ${ClassHelpers.getName(this)}`);
|
|
5673
5702
|
}
|
|
5674
5703
|
const connection = this.ctx?.connection;
|
|
5675
5704
|
if (!connection) {
|
|
5676
|
-
throw new Error(`[
|
|
5705
|
+
throw new Error(`[TaonBaseRepository] Database not inited for context ${this.ctx?.contextName}`);
|
|
5677
5706
|
}
|
|
5678
5707
|
this.__dbQuery = new MySqlQuerySource(connection);
|
|
5679
5708
|
}
|
|
@@ -5858,7 +5887,7 @@ let BaseRepository = class BaseRepository extends BaseCustomRepository {
|
|
|
5858
5887
|
where: { id: idOrEntity },
|
|
5859
5888
|
});
|
|
5860
5889
|
if (!deletedEntity) {
|
|
5861
|
-
Helpers.warn(`[
|
|
5890
|
+
Helpers.warn(`[TaonBaseRepository] Entity "${ClassHelpers.getName(this.repo.target)}" ` +
|
|
5862
5891
|
`with id ${idOrEntity} not found, cannot remove`);
|
|
5863
5892
|
return;
|
|
5864
5893
|
}
|
|
@@ -6239,26 +6268,26 @@ let BaseRepository = class BaseRepository extends BaseCustomRepository {
|
|
|
6239
6268
|
//#endregion
|
|
6240
6269
|
}
|
|
6241
6270
|
};
|
|
6242
|
-
|
|
6243
|
-
TaonRepository({ className: '
|
|
6271
|
+
TaonBaseRepository = __decorate([
|
|
6272
|
+
TaonRepository({ className: 'TaonBaseRepository' }),
|
|
6244
6273
|
__metadata("design:paramtypes", [Function])
|
|
6245
|
-
],
|
|
6274
|
+
], TaonBaseRepository);
|
|
6246
6275
|
|
|
6247
|
-
const
|
|
6248
|
-
contextName: '
|
|
6276
|
+
const TaonBaseContext = createContext(() => ({
|
|
6277
|
+
contextName: 'TaonBaseContext',
|
|
6249
6278
|
abstract: true,
|
|
6250
6279
|
middlewares: {
|
|
6251
|
-
|
|
6280
|
+
TaonBaseFileUploadMiddleware,
|
|
6252
6281
|
},
|
|
6253
6282
|
repositories: {
|
|
6254
6283
|
// @ts-ignore
|
|
6255
|
-
|
|
6284
|
+
TaonBaseRepository,
|
|
6256
6285
|
},
|
|
6257
6286
|
}));
|
|
6258
6287
|
|
|
6259
6288
|
var baseContext = /*#__PURE__*/Object.freeze({
|
|
6260
6289
|
__proto__: null,
|
|
6261
|
-
|
|
6290
|
+
TaonBaseContext: TaonBaseContext
|
|
6262
6291
|
});
|
|
6263
6292
|
|
|
6264
6293
|
/**
|
|
@@ -6420,7 +6449,7 @@ function Body(name) {
|
|
|
6420
6449
|
};
|
|
6421
6450
|
}
|
|
6422
6451
|
|
|
6423
|
-
let
|
|
6452
|
+
let TaonBaseController = class TaonBaseController extends TaonBaseInjector {
|
|
6424
6453
|
/**
|
|
6425
6454
|
* Hook that is called when taon app is inited
|
|
6426
6455
|
* (all contexts are created and inited)
|
|
@@ -6558,7 +6587,7 @@ __decorate([
|
|
|
6558
6587
|
overrideContentType: 'multipart/form-data',
|
|
6559
6588
|
middlewares: ({ parentMiddlewares }) => ({
|
|
6560
6589
|
...parentMiddlewares,
|
|
6561
|
-
|
|
6590
|
+
TaonBaseFileUploadMiddleware,
|
|
6562
6591
|
}),
|
|
6563
6592
|
}),
|
|
6564
6593
|
__param(0, Body()),
|
|
@@ -6566,18 +6595,18 @@ __decorate([
|
|
|
6566
6595
|
__metadata("design:type", Function),
|
|
6567
6596
|
__metadata("design:paramtypes", [FormData, Object]),
|
|
6568
6597
|
__metadata("design:returntype", Object)
|
|
6569
|
-
],
|
|
6570
|
-
|
|
6598
|
+
], TaonBaseController.prototype, "uploadFormDataToServer", null);
|
|
6599
|
+
TaonBaseController = __decorate([
|
|
6571
6600
|
TaonController({
|
|
6572
|
-
className: '
|
|
6601
|
+
className: 'TaonBaseController',
|
|
6573
6602
|
})
|
|
6574
|
-
],
|
|
6603
|
+
], TaonBaseController);
|
|
6575
6604
|
|
|
6576
6605
|
//#endregion
|
|
6577
6606
|
/**
|
|
6578
6607
|
* Please override property entityClassFn with entity class.
|
|
6579
6608
|
*/
|
|
6580
|
-
let
|
|
6609
|
+
let TaonBaseCrudController = class TaonBaseCrudController extends TaonBaseController {
|
|
6581
6610
|
//#endregion
|
|
6582
6611
|
//#region init
|
|
6583
6612
|
async _() {
|
|
@@ -6598,7 +6627,7 @@ let BaseCrudController = class BaseCrudController extends BaseController {
|
|
|
6598
6627
|
|
|
6599
6628
|
Please provide entity as class property entityClassFn:
|
|
6600
6629
|
|
|
6601
|
-
class ${ClassHelpers.getName(this)} extends
|
|
6630
|
+
class ${ClassHelpers.getName(this)} extends TaonBaseCrudController<Entity> {
|
|
6602
6631
|
// ...
|
|
6603
6632
|
entityClassResolveFn = ()=> MyEntityClass;
|
|
6604
6633
|
// ...
|
|
@@ -6780,7 +6809,7 @@ __decorate([
|
|
|
6780
6809
|
__metadata("design:type", Function),
|
|
6781
6810
|
__metadata("design:paramtypes", [Object, String, Number]),
|
|
6782
6811
|
__metadata("design:returntype", Object)
|
|
6783
|
-
],
|
|
6812
|
+
], TaonBaseCrudController.prototype, "bufforedChanges", null);
|
|
6784
6813
|
__decorate([
|
|
6785
6814
|
GET(),
|
|
6786
6815
|
__param(0, Query('pageNumber')),
|
|
@@ -6789,20 +6818,20 @@ __decorate([
|
|
|
6789
6818
|
__metadata("design:type", Function),
|
|
6790
6819
|
__metadata("design:paramtypes", [Number, Number, String]),
|
|
6791
6820
|
__metadata("design:returntype", Object)
|
|
6792
|
-
],
|
|
6821
|
+
], TaonBaseCrudController.prototype, "pagination", null);
|
|
6793
6822
|
__decorate([
|
|
6794
6823
|
GET(),
|
|
6795
6824
|
__metadata("design:type", Function),
|
|
6796
6825
|
__metadata("design:paramtypes", []),
|
|
6797
6826
|
__metadata("design:returntype", Object)
|
|
6798
|
-
],
|
|
6827
|
+
], TaonBaseCrudController.prototype, "getAll", null);
|
|
6799
6828
|
__decorate([
|
|
6800
6829
|
GET(),
|
|
6801
6830
|
__param(0, Query(`id`)),
|
|
6802
6831
|
__metadata("design:type", Function),
|
|
6803
6832
|
__metadata("design:paramtypes", [Object]),
|
|
6804
6833
|
__metadata("design:returntype", Object)
|
|
6805
|
-
],
|
|
6834
|
+
], TaonBaseCrudController.prototype, "getBy", null);
|
|
6806
6835
|
__decorate([
|
|
6807
6836
|
PUT(),
|
|
6808
6837
|
__param(0, Query(`id`)),
|
|
@@ -6810,7 +6839,7 @@ __decorate([
|
|
|
6810
6839
|
__metadata("design:type", Function),
|
|
6811
6840
|
__metadata("design:paramtypes", [Object, Object]),
|
|
6812
6841
|
__metadata("design:returntype", Object)
|
|
6813
|
-
],
|
|
6842
|
+
], TaonBaseCrudController.prototype, "updateById", null);
|
|
6814
6843
|
__decorate([
|
|
6815
6844
|
PATCH(),
|
|
6816
6845
|
__param(0, Query(`id`)),
|
|
@@ -6818,53 +6847,53 @@ __decorate([
|
|
|
6818
6847
|
__metadata("design:type", Function),
|
|
6819
6848
|
__metadata("design:paramtypes", [Object, Object]),
|
|
6820
6849
|
__metadata("design:returntype", Object)
|
|
6821
|
-
],
|
|
6850
|
+
], TaonBaseCrudController.prototype, "patchById", null);
|
|
6822
6851
|
__decorate([
|
|
6823
6852
|
PUT(),
|
|
6824
6853
|
__param(0, Body()),
|
|
6825
6854
|
__metadata("design:type", Function),
|
|
6826
6855
|
__metadata("design:paramtypes", [Array]),
|
|
6827
6856
|
__metadata("design:returntype", Object)
|
|
6828
|
-
],
|
|
6857
|
+
], TaonBaseCrudController.prototype, "bulkUpdate", null);
|
|
6829
6858
|
__decorate([
|
|
6830
6859
|
DELETE(),
|
|
6831
6860
|
__param(0, Query(`id`)),
|
|
6832
6861
|
__metadata("design:type", Function),
|
|
6833
6862
|
__metadata("design:paramtypes", [Object]),
|
|
6834
6863
|
__metadata("design:returntype", Object)
|
|
6835
|
-
],
|
|
6864
|
+
], TaonBaseCrudController.prototype, "deleteById", null);
|
|
6836
6865
|
__decorate([
|
|
6837
6866
|
DELETE(),
|
|
6838
6867
|
__param(0, Query(`ids`)),
|
|
6839
6868
|
__metadata("design:type", Function),
|
|
6840
6869
|
__metadata("design:paramtypes", [Array]),
|
|
6841
6870
|
__metadata("design:returntype", Object)
|
|
6842
|
-
],
|
|
6871
|
+
], TaonBaseCrudController.prototype, "bulkDelete", null);
|
|
6843
6872
|
__decorate([
|
|
6844
6873
|
DELETE(),
|
|
6845
6874
|
__metadata("design:type", Function),
|
|
6846
6875
|
__metadata("design:paramtypes", []),
|
|
6847
6876
|
__metadata("design:returntype", Object)
|
|
6848
|
-
],
|
|
6877
|
+
], TaonBaseCrudController.prototype, "clearTable", null);
|
|
6849
6878
|
__decorate([
|
|
6850
6879
|
POST(),
|
|
6851
6880
|
__param(0, Body()),
|
|
6852
6881
|
__metadata("design:type", Function),
|
|
6853
6882
|
__metadata("design:paramtypes", [Object]),
|
|
6854
6883
|
__metadata("design:returntype", Object)
|
|
6855
|
-
],
|
|
6884
|
+
], TaonBaseCrudController.prototype, "save", null);
|
|
6856
6885
|
__decorate([
|
|
6857
6886
|
POST(),
|
|
6858
6887
|
__param(0, Body()),
|
|
6859
6888
|
__metadata("design:type", Function),
|
|
6860
6889
|
__metadata("design:paramtypes", [Object]),
|
|
6861
6890
|
__metadata("design:returntype", Object)
|
|
6862
|
-
],
|
|
6863
|
-
|
|
6864
|
-
TaonController({ className: '
|
|
6865
|
-
],
|
|
6891
|
+
], TaonBaseCrudController.prototype, "bulkCreate", null);
|
|
6892
|
+
TaonBaseCrudController = __decorate([
|
|
6893
|
+
TaonController({ className: 'TaonBaseCrudController' })
|
|
6894
|
+
], TaonBaseCrudController);
|
|
6866
6895
|
|
|
6867
|
-
class
|
|
6896
|
+
class TaonBaseMigration extends TaonBaseInjector {
|
|
6868
6897
|
/**
|
|
6869
6898
|
* by default is READY to run
|
|
6870
6899
|
*/
|
|
@@ -6875,10 +6904,10 @@ class BaseMigration extends BaseInjector {
|
|
|
6875
6904
|
return _.startCase(ClassHelpers.getName(this));
|
|
6876
6905
|
}
|
|
6877
6906
|
async up(queryRunner) {
|
|
6878
|
-
console.log(`[
|
|
6907
|
+
console.log(`[TaonBaseMigration] Running migration UP "${ClassHelpers.getName(this)}"`);
|
|
6879
6908
|
}
|
|
6880
6909
|
async down(queryRunner) {
|
|
6881
|
-
console.log(`[
|
|
6910
|
+
console.log(`[TaonBaseMigration] Running migration DOWN "${ClassHelpers.getName(this)}"`);
|
|
6882
6911
|
}
|
|
6883
6912
|
}
|
|
6884
6913
|
|
|
@@ -6887,7 +6916,7 @@ class BaseMigration extends BaseInjector {
|
|
|
6887
6916
|
* - global provider available in all contexts
|
|
6888
6917
|
* - provider available in own context
|
|
6889
6918
|
*/
|
|
6890
|
-
class
|
|
6919
|
+
class TaonBaseProvider extends TaonBaseInjector {
|
|
6891
6920
|
}
|
|
6892
6921
|
|
|
6893
6922
|
/**
|
|
@@ -6903,7 +6932,7 @@ function TaonSubscriber(options) {
|
|
|
6903
6932
|
class TaonSubscriberOptions extends DecoratorAbstractOpt {
|
|
6904
6933
|
}
|
|
6905
6934
|
|
|
6906
|
-
let
|
|
6935
|
+
let TaonBaseSubscriberForEntity = class TaonBaseSubscriberForEntity extends TaonBaseInjector {
|
|
6907
6936
|
/**
|
|
6908
6937
|
* Called after entity is loaded.
|
|
6909
6938
|
*/
|
|
@@ -7040,27 +7069,27 @@ let BaseSubscriberForEntity = class BaseSubscriberForEntity extends BaseInjector
|
|
|
7040
7069
|
console.log(`AFTER TRANSACTION ROLLBACK: `, event);
|
|
7041
7070
|
}
|
|
7042
7071
|
};
|
|
7043
|
-
|
|
7072
|
+
TaonBaseSubscriberForEntity = __decorate([
|
|
7044
7073
|
TaonSubscriber({
|
|
7045
|
-
className: '
|
|
7074
|
+
className: 'TaonBaseSubscriberForEntity',
|
|
7046
7075
|
})
|
|
7047
|
-
],
|
|
7076
|
+
], TaonBaseSubscriberForEntity);
|
|
7048
7077
|
|
|
7049
7078
|
var Base;
|
|
7050
7079
|
(function (Base) {
|
|
7051
|
-
Base.Controller =
|
|
7052
|
-
Base.CrudController =
|
|
7053
|
-
Base.Entity =
|
|
7054
|
-
Base.AbstractEntity =
|
|
7055
|
-
Base.Provider =
|
|
7056
|
-
Base.Class =
|
|
7057
|
-
Base.Repository =
|
|
7058
|
-
Base.CustomRepository =
|
|
7059
|
-
Base.SubscriberForEntity =
|
|
7060
|
-
Base.Migration =
|
|
7061
|
-
Base.Middleware =
|
|
7080
|
+
Base.Controller = TaonBaseController;
|
|
7081
|
+
Base.CrudController = TaonBaseCrudController;
|
|
7082
|
+
Base.Entity = TaonBaseEntity;
|
|
7083
|
+
Base.AbstractEntity = TaonBaseAbstractEntity;
|
|
7084
|
+
Base.Provider = TaonBaseProvider;
|
|
7085
|
+
Base.Class = TaonBaseClass;
|
|
7086
|
+
Base.Repository = TaonBaseRepository;
|
|
7087
|
+
Base.CustomRepository = TaonBaseCustomRepository;
|
|
7088
|
+
Base.SubscriberForEntity = TaonBaseSubscriberForEntity;
|
|
7089
|
+
Base.Migration = TaonBaseMigration;
|
|
7090
|
+
Base.Middleware = TaonBaseMiddleware;
|
|
7062
7091
|
Base.AngularService = BaseAngularsService;
|
|
7063
|
-
Base.Context =
|
|
7092
|
+
Base.Context = TaonBaseContext;
|
|
7064
7093
|
})(Base || (Base = {}));
|
|
7065
7094
|
|
|
7066
7095
|
/**
|
|
@@ -7136,6 +7165,11 @@ var Taon;
|
|
|
7136
7165
|
(function (Taon) {
|
|
7137
7166
|
Taon.error = (opt) => {
|
|
7138
7167
|
throw () => {
|
|
7168
|
+
if (typeof opt === 'string') {
|
|
7169
|
+
opt = {
|
|
7170
|
+
message: opt,
|
|
7171
|
+
};
|
|
7172
|
+
}
|
|
7139
7173
|
return opt;
|
|
7140
7174
|
};
|
|
7141
7175
|
};
|
|
@@ -7172,13 +7206,13 @@ var Taon;
|
|
|
7172
7206
|
* use createContext instead
|
|
7173
7207
|
*/
|
|
7174
7208
|
Taon.init = async (options) => {
|
|
7175
|
-
const
|
|
7176
|
-
.
|
|
7209
|
+
const TaonBaseContext = (await Promise.resolve().then(function () { return baseContext; }))
|
|
7210
|
+
.TaonBaseContext;
|
|
7177
7211
|
const context = Taon.createContext(() => ({
|
|
7178
7212
|
appId: 'default-app-not-used-anymore',
|
|
7179
7213
|
contextName: 'default',
|
|
7180
7214
|
host: options.host,
|
|
7181
|
-
contexts: {
|
|
7215
|
+
contexts: { TaonBaseContext },
|
|
7182
7216
|
database: true,
|
|
7183
7217
|
entities: Array.from(options.entities),
|
|
7184
7218
|
controllers: Array.from(options.controllers),
|
|
@@ -7192,5 +7226,5 @@ var Taon;
|
|
|
7192
7226
|
* Generated bundle index. Do not edit.
|
|
7193
7227
|
*/
|
|
7194
7228
|
|
|
7195
|
-
export {
|
|
7229
|
+
export { BaseTaonClassesNames, CURRENT_HOST_BACKEND_PORT, CURRENT_HOST_URL, ClassHelpers, ContextsEndpointStorage, EndpointContext, Models, TAON_CONTEXT, Taon, TaonAdminService, TaonBaseClass, TaonBaseContext, TaonBaseController, TaonBaseCustomRepository, TaonBaseEntity, TaonBaseFileUploadMiddleware, TaonBaseMigration, TaonBaseProvider, TaonBaseRepository, TaonEntityKeysToOmitArr, TaonTempDatabasesFolder, TaonTempRoutesFolder, apiPrefix, createContext, inject };
|
|
7196
7230
|
//# sourceMappingURL=taon.mjs.map
|