@quatrain/core 1.0.0-beta8 → 1.0.0
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/lib/Core.d.ts +4 -10
- package/lib/Core.js +25 -14
- package/lib/components/AbstractObject.d.ts +1 -1
- package/lib/components/BaseObjectCore.d.ts +5 -45
- package/lib/components/BaseObjectCore.js +45 -63
- package/lib/components/DataObject.d.ts +3 -7
- package/lib/components/DataObject.js +14 -43
- package/lib/components/ObjectUri.d.ts +23 -4
- package/lib/components/ObjectUri.js +47 -18
- package/lib/components/index.d.ts +1 -3
- package/lib/components/index.js +1 -8
- package/lib/index.d.ts +5 -15
- package/lib/index.js +7 -33
- package/lib/properties/ArrayProperty.js +3 -0
- package/lib/properties/BaseProperty.js +2 -2
- package/lib/properties/CollectionProperty.d.ts +1 -16
- package/lib/properties/CollectionProperty.js +0 -41
- package/lib/properties/FileProperty.d.ts +10 -0
- package/lib/properties/FileProperty.js +12 -0
- package/lib/properties/ObjectProperty.d.ts +7 -0
- package/lib/properties/ObjectProperty.js +17 -10
- package/lib/properties/Property.d.ts +3 -1
- package/lib/properties/Property.js +4 -0
- package/lib/properties/index.d.ts +2 -1
- package/lib/properties/index.js +3 -1
- package/package.json +4 -2
- package/lib/Auth.d.ts +0 -25
- package/lib/Auth.js +0 -9
- package/lib/Backend.d.ts +0 -38
- package/lib/Backend.js +0 -10
- package/lib/authentication/AbstractAuthAdapter.d.ts +0 -21
- package/lib/authentication/AbstractAuthAdapter.js +0 -28
- package/lib/authentication/AuthenticationError.d.ts +0 -2
- package/lib/authentication/AuthenticationError.js +0 -6
- package/lib/authentication/index.d.ts +0 -4
- package/lib/authentication/index.js +0 -7
- package/lib/authentication/middlewares/AbstractAuthMiddleware.d.ts +0 -0
- package/lib/authentication/middlewares/AbstractAuthMiddleware.js +0 -1
- package/lib/authentication/middlewares/Middleware.d.ts +0 -5
- package/lib/authentication/middlewares/Middleware.js +0 -2
- package/lib/authentication/types/AuthInterface.d.ts +0 -9
- package/lib/authentication/types/AuthInterface.js +0 -2
- package/lib/backends/AbstractAdapter.d.ts +0 -42
- package/lib/backends/AbstractAdapter.js +0 -86
- package/lib/backends/BackendError.d.ts +0 -2
- package/lib/backends/BackendError.js +0 -6
- package/lib/backends/Filter.d.ts +0 -17
- package/lib/backends/Filter.js +0 -14
- package/lib/backends/FilterOperators.d.ts +0 -13
- package/lib/backends/FilterOperators.js +0 -16
- package/lib/backends/Filters.d.ts +0 -11
- package/lib/backends/Filters.js +0 -14
- package/lib/backends/Limits.d.ts +0 -9
- package/lib/backends/Limits.js +0 -10
- package/lib/backends/MockAdapter.d.ts +0 -25
- package/lib/backends/MockAdapter.js +0 -189
- package/lib/backends/NotFoundError.d.ts +0 -2
- package/lib/backends/NotFoundError.js +0 -6
- package/lib/backends/Query.d.ts +0 -54
- package/lib/backends/Query.js +0 -131
- package/lib/backends/SortAndLimit.d.ts +0 -11
- package/lib/backends/SortAndLimit.js +0 -11
- package/lib/backends/Sorting.d.ts +0 -9
- package/lib/backends/Sorting.js +0 -10
- package/lib/backends/index.d.ts +0 -12
- package/lib/backends/index.js +0 -46
- package/lib/backends/middlewares/AbstractMiddleware.d.ts +0 -0
- package/lib/backends/middlewares/AbstractMiddleware.js +0 -1
- package/lib/backends/middlewares/InjectKeywordsMiddleware.d.ts +0 -9
- package/lib/backends/middlewares/InjectKeywordsMiddleware.js +0 -47
- package/lib/backends/middlewares/InjectMetaMiddleware.d.ts +0 -13
- package/lib/backends/middlewares/InjectMetaMiddleware.js +0 -33
- package/lib/backends/middlewares/Middleware.d.ts +0 -5
- package/lib/backends/middlewares/Middleware.js +0 -2
- package/lib/backends/middlewares/types/MiddlewareParams.d.ts +0 -3
- package/lib/backends/middlewares/types/MiddlewareParams.js +0 -2
- package/lib/backends/types/BackendInterface.d.ts +0 -13
- package/lib/backends/types/BackendInterface.js +0 -2
- package/lib/backends/types/CollectionHierarchy.d.ts +0 -3
- package/lib/backends/types/CollectionHierarchy.js +0 -6
- package/lib/components/BaseRepository.d.ts +0 -25
- package/lib/components/BaseRepository.js +0 -132
- package/lib/components/EntityRepository.d.ts +0 -6
- package/lib/components/EntityRepository.js +0 -14
- package/lib/components/UserRepository.d.ts +0 -7
- package/lib/components/UserRepository.js +0 -36
- package/lib/components/types/RepositoryClass.d.ts +0 -40
- package/lib/components/types/RepositoryClass.js +0 -2
- package/lib/utils/DataGenerator.d.ts +0 -9
- package/lib/utils/DataGenerator.js +0 -102
- package/lib/utils/index.d.ts +0 -2
- package/lib/utils/index.js +0 -5
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Query, QueryResultType } from '../backends/Query';
|
|
2
|
-
import { BaseObjectCore } from './BaseObjectCore';
|
|
3
|
-
import { DataObjectClass } from './types/DataObjectClass';
|
|
4
|
-
import { BaseObject } from './BaseObject';
|
|
5
|
-
import { BackendInterface } from '../backends/types/BackendInterface';
|
|
6
|
-
/**
|
|
7
|
-
* CRUD methods for models/entities inheriting from BaseObject
|
|
8
|
-
* Extend this by passing the typeof of the desired class to the constructor
|
|
9
|
-
*/
|
|
10
|
-
export default class BaseRepository<T extends BaseObject> {
|
|
11
|
-
protected _model: typeof BaseObjectCore;
|
|
12
|
-
backendAdapter: BackendInterface;
|
|
13
|
-
constructor(model: typeof BaseObjectCore, backendAdapter?: BackendInterface);
|
|
14
|
-
protected getDataObjectFromUid(uid: string): Promise<DataObjectClass<any>>;
|
|
15
|
-
protected getDataObjectFromPath(path: string): Promise<DataObjectClass<any>>;
|
|
16
|
-
create<B extends BaseObjectCore>(obj: B, uid?: string): Promise<any>;
|
|
17
|
-
read(key: string): Promise<any>;
|
|
18
|
-
update(obj: BaseObjectCore): Promise<any>;
|
|
19
|
-
/**
|
|
20
|
-
* delete object in its backend
|
|
21
|
-
* @param uid string
|
|
22
|
-
*/
|
|
23
|
-
delete(uid: string): Promise<DataObjectClass<any>>;
|
|
24
|
-
query(query: Query<any>): Promise<QueryResultType<T>>;
|
|
25
|
-
}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
const Core_1 = require("../Core");
|
|
36
|
-
const statuses = __importStar(require("../statuses"));
|
|
37
|
-
const ResourcesErrors_1 = require("../common/ResourcesErrors");
|
|
38
|
-
const DataObject_1 = require("./DataObject");
|
|
39
|
-
const RESOURCE_GONE_ERROR = `The resource you are trying to access has been deleted.`;
|
|
40
|
-
/**
|
|
41
|
-
* CRUD methods for models/entities inheriting from BaseObject
|
|
42
|
-
* Extend this by passing the typeof of the desired class to the constructor
|
|
43
|
-
*/
|
|
44
|
-
class BaseRepository {
|
|
45
|
-
constructor(model, backendAdapter = Core_1.Core.getBackend()) {
|
|
46
|
-
this._model = model;
|
|
47
|
-
this.backendAdapter = backendAdapter;
|
|
48
|
-
}
|
|
49
|
-
getDataObjectFromUid(uid) {
|
|
50
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
const collection = this._model.COLLECTION || this._model.name.toLowerCase();
|
|
52
|
-
const path = `${collection}/${uid}`;
|
|
53
|
-
const dataObject = DataObject_1.DataObject.factory({
|
|
54
|
-
properties: this._model.PROPS_DEFINITION,
|
|
55
|
-
uri: path,
|
|
56
|
-
});
|
|
57
|
-
dataObject.uid = uid;
|
|
58
|
-
return dataObject;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
getDataObjectFromPath(path) {
|
|
62
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
-
const dataObject = DataObject_1.DataObject.factory({
|
|
64
|
-
properties: this._model.PROPS_DEFINITION,
|
|
65
|
-
uri: path,
|
|
66
|
-
});
|
|
67
|
-
dataObject.uid = path.substring(path.lastIndexOf('/') + 1);
|
|
68
|
-
return dataObject;
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
create(obj, uid) {
|
|
72
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
const savedObj = yield this.backendAdapter.create(obj.dataObject, uid);
|
|
74
|
-
return this._model.fromDataObject(savedObj);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
read(key) {
|
|
78
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
-
try {
|
|
80
|
-
let dataObject;
|
|
81
|
-
if (key.split('/').length <= 2) {
|
|
82
|
-
const uid = key.indexOf('/') !== -1
|
|
83
|
-
? key.substring(key.lastIndexOf('/') + 1)
|
|
84
|
-
: key;
|
|
85
|
-
dataObject = yield this.getDataObjectFromUid(uid);
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
dataObject = yield this.getDataObjectFromPath(key);
|
|
89
|
-
}
|
|
90
|
-
const response = yield this.backendAdapter.read(dataObject);
|
|
91
|
-
const obj = this._model.fromDataObject(response);
|
|
92
|
-
// TODO should be moved to the backend middleware
|
|
93
|
-
if (obj.status === statuses.DELETED) {
|
|
94
|
-
throw new ResourcesErrors_1.GoneError(RESOURCE_GONE_ERROR);
|
|
95
|
-
}
|
|
96
|
-
return obj;
|
|
97
|
-
}
|
|
98
|
-
catch (e) {
|
|
99
|
-
if (e instanceof ResourcesErrors_1.GoneError) {
|
|
100
|
-
throw e;
|
|
101
|
-
}
|
|
102
|
-
if (e instanceof ResourcesErrors_1.NotFoundError) {
|
|
103
|
-
throw new ResourcesErrors_1.NotFoundError('[Repository] ' + e.message);
|
|
104
|
-
}
|
|
105
|
-
throw e;
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
update(obj) {
|
|
110
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
-
const dataObject = obj.dataObject;
|
|
112
|
-
const savedObj = yield this.backendAdapter.update(dataObject);
|
|
113
|
-
return this._model.fromDataObject(savedObj);
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* delete object in its backend
|
|
118
|
-
* @param uid string
|
|
119
|
-
*/
|
|
120
|
-
delete(uid) {
|
|
121
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
122
|
-
const dataObject = yield this.getDataObjectFromUid(uid);
|
|
123
|
-
return yield this.backendAdapter.delete(dataObject);
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
query(query) {
|
|
127
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
-
return yield query.fetchAsInstances(this.backendAdapter);
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
exports.default = BaseRepository;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { BackendInterface } from '../backends/types/BackendInterface';
|
|
2
|
-
import BaseRepository from './BaseRepository';
|
|
3
|
-
import { EntityType } from './Entity';
|
|
4
|
-
export default class EntityRepository extends BaseRepository<EntityType> {
|
|
5
|
-
constructor(backendAdapter?: BackendInterface);
|
|
6
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const Core_1 = require("../Core");
|
|
7
|
-
const BaseRepository_1 = __importDefault(require("./BaseRepository"));
|
|
8
|
-
const Entity_1 = require("./Entity");
|
|
9
|
-
class EntityRepository extends BaseRepository_1.default {
|
|
10
|
-
constructor(backendAdapter = Core_1.Core.getBackend()) {
|
|
11
|
-
super(Entity_1.Entity, backendAdapter);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.default = EntityRepository;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { BackendInterface } from '../backends/types/BackendInterface';
|
|
2
|
-
import BaseRepository from './BaseRepository';
|
|
3
|
-
import { UserType } from './User';
|
|
4
|
-
export default class UserRepository extends BaseRepository<UserType> {
|
|
5
|
-
constructor(backendAdapter?: BackendInterface);
|
|
6
|
-
getFromEmail(email: string): Promise<UserType>;
|
|
7
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const backends_1 = require("../backends");
|
|
16
|
-
const ResourcesErrors_1 = require("../common/ResourcesErrors");
|
|
17
|
-
const BaseRepository_1 = __importDefault(require("./BaseRepository"));
|
|
18
|
-
const User_1 = require("./User");
|
|
19
|
-
const UNAUTHORIZED_ERROR = `Wrong password or email`;
|
|
20
|
-
class UserRepository extends BaseRepository_1.default {
|
|
21
|
-
constructor(backendAdapter) {
|
|
22
|
-
super(User_1.User, backendAdapter);
|
|
23
|
-
}
|
|
24
|
-
getFromEmail(email) {
|
|
25
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
const query = new backends_1.Query(User_1.User);
|
|
27
|
-
query.where('email', email).batch(1);
|
|
28
|
-
const { items } = yield this.query(query);
|
|
29
|
-
if (items.length == 0) {
|
|
30
|
-
throw new ResourcesErrors_1.NotFoundError(`There is no user with email '${email}'`);
|
|
31
|
-
}
|
|
32
|
-
return items[0];
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.default = UserRepository;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { BackendInterface } from '../../backends/types/BackendInterface';
|
|
2
|
-
import { Query } from '../../backends/Query';
|
|
3
|
-
import { BaseObjectCore } from '../BaseObjectCore';
|
|
4
|
-
import { BaseObject } from '../BaseObject';
|
|
5
|
-
import { Proxy } from './ProxyConstructor';
|
|
6
|
-
import Payload from './Payload';
|
|
7
|
-
import { Persisted } from './Persisted';
|
|
8
|
-
export default interface RepositoryClass<T extends BaseObject> {
|
|
9
|
-
backendAdapter: BackendInterface;
|
|
10
|
-
/**
|
|
11
|
-
* Creates a given object in the collection and returns it
|
|
12
|
-
* @param obj
|
|
13
|
-
* @returns
|
|
14
|
-
*/
|
|
15
|
-
create(obj: Proxy<T>): Promise<Persisted<T>>;
|
|
16
|
-
/**
|
|
17
|
-
* Returns an object of the collection from its uid
|
|
18
|
-
* @param uid
|
|
19
|
-
* @returns
|
|
20
|
-
*/
|
|
21
|
-
read(uid: string): Promise<any>;
|
|
22
|
-
/**
|
|
23
|
-
* Updates a given object in the collction and returns it
|
|
24
|
-
* @param obj
|
|
25
|
-
* @returns
|
|
26
|
-
*/
|
|
27
|
-
update(obj: Proxy<T>): Promise<Persisted<T>>;
|
|
28
|
-
/**
|
|
29
|
-
* Deletes a given object of the collection
|
|
30
|
-
* @param uid
|
|
31
|
-
* @returns
|
|
32
|
-
*/
|
|
33
|
-
delete(uid: string): Promise<void>;
|
|
34
|
-
/**
|
|
35
|
-
* Executes a given query on the collection
|
|
36
|
-
* @param query
|
|
37
|
-
* @returns
|
|
38
|
-
*/
|
|
39
|
-
query(query: Query<typeof BaseObjectCore>): Promise<Payload<Persisted<T>>>;
|
|
40
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { AbstractObject } from '../components';
|
|
2
|
-
/**
|
|
3
|
-
* Generate data from model of object and save it in default backend
|
|
4
|
-
* @param model
|
|
5
|
-
* @param qty
|
|
6
|
-
* @param forcedValues
|
|
7
|
-
* @returns
|
|
8
|
-
*/
|
|
9
|
-
export declare const DataGenerator: <T extends AbstractObject>(model: T, qty?: number, forcedValues?: any) => Promise<any>;
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.DataGenerator = void 0;
|
|
36
|
-
const Core_1 = require("../Core");
|
|
37
|
-
const htmlType = __importStar(require("../properties/types/PropertyHTMLType"));
|
|
38
|
-
const faker_1 = require("@faker-js/faker");
|
|
39
|
-
/**
|
|
40
|
-
* Generate data from model of object and save it in default backend
|
|
41
|
-
* @param model
|
|
42
|
-
* @param qty
|
|
43
|
-
* @param forcedValues
|
|
44
|
-
* @returns
|
|
45
|
-
*/
|
|
46
|
-
const DataGenerator = (model, qty = 5, forcedValues = {}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
|
-
const promises = [];
|
|
48
|
-
Core_1.Core.log(`Starting to create ${qty} ${model.constructor.name} records`);
|
|
49
|
-
for (let i = 0; i < qty; i++) {
|
|
50
|
-
const dao = yield model.dataObject.clone();
|
|
51
|
-
Object.keys(dao.properties).forEach((key) => {
|
|
52
|
-
console.log(`Getting property for '${key}'`);
|
|
53
|
-
const property = dao.get(key);
|
|
54
|
-
if (forcedValues[key]) {
|
|
55
|
-
property.set(forcedValues[key]);
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
switch (property.constructor.name) {
|
|
59
|
-
case 'StringProperty':
|
|
60
|
-
switch (property.htmlType) {
|
|
61
|
-
case htmlType.GIVEN_NAME:
|
|
62
|
-
property.set(faker_1.faker.name.firstName());
|
|
63
|
-
break;
|
|
64
|
-
case htmlType.FAMILY_NAME:
|
|
65
|
-
property.set(faker_1.faker.name.lastName());
|
|
66
|
-
break;
|
|
67
|
-
case htmlType.EMAIL:
|
|
68
|
-
property.set(faker_1.faker.helpers.unique(faker_1.faker.internet.email));
|
|
69
|
-
break;
|
|
70
|
-
case htmlType.ORG:
|
|
71
|
-
property.set(faker_1.faker.company.name());
|
|
72
|
-
default:
|
|
73
|
-
property.set(faker_1.faker.word.noun());
|
|
74
|
-
break;
|
|
75
|
-
}
|
|
76
|
-
break;
|
|
77
|
-
case 'EnumProperty':
|
|
78
|
-
property.set(faker_1.faker.helpers.arrayElement(property.values));
|
|
79
|
-
break;
|
|
80
|
-
case 'HashProperty':
|
|
81
|
-
property.set(faker_1.faker.random.alphaNumeric(16));
|
|
82
|
-
break;
|
|
83
|
-
case 'DateTimeProperty':
|
|
84
|
-
switch (property.htmlType) {
|
|
85
|
-
case htmlType.BIRTHDAY:
|
|
86
|
-
property.set(faker_1.faker.date.birthdate());
|
|
87
|
-
break;
|
|
88
|
-
default:
|
|
89
|
-
//property.set(faker.date.future())
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
92
|
-
break;
|
|
93
|
-
default:
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
yield dao.save();
|
|
98
|
-
promises.push(dao);
|
|
99
|
-
}
|
|
100
|
-
return promises;
|
|
101
|
-
});
|
|
102
|
-
exports.DataGenerator = DataGenerator;
|
package/lib/utils/index.d.ts
DELETED
package/lib/utils/index.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DataGenerator = void 0;
|
|
4
|
-
const DataGenerator_1 = require("./DataGenerator");
|
|
5
|
-
Object.defineProperty(exports, "DataGenerator", { enumerable: true, get: function () { return DataGenerator_1.DataGenerator; } });
|