@quatrain/core 1.0.0-beta25 → 1.0.0-beta26
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 +0 -12
- package/lib/Core.js +0 -16
- package/lib/components/AbstractObject.d.ts +1 -1
- package/lib/components/BaseObjectCore.d.ts +5 -46
- package/lib/components/BaseObjectCore.js +46 -65
- package/lib/components/DataObject.d.ts +2 -7
- package/lib/components/DataObject.js +10 -42
- package/lib/components/ObjectUri.d.ts +3 -3
- package/lib/components/ObjectUri.js +1 -3
- package/lib/components/index.d.ts +1 -3
- package/lib/components/index.js +1 -8
- package/lib/index.d.ts +4 -16
- package/lib/index.js +6 -35
- package/lib/properties/CollectionProperty.d.ts +1 -16
- package/lib/properties/CollectionProperty.js +0 -41
- package/lib/properties/ObjectProperty.d.ts +6 -0
- package/lib/properties/ObjectProperty.js +12 -5
- package/package.json +1 -1
- package/lib/Auth.d.ts +0 -25
- package/lib/Auth.js +0 -9
- package/lib/Backend copy.d.ts +0 -39
- package/lib/Backend copy.js +0 -11
- package/lib/Backend.d.ts +0 -39
- package/lib/Backend.js +0 -11
- package/lib/Storage.d.ts +0 -13
- package/lib/Storage.js +0 -2
- package/lib/authentication/AbstractAuthAdapter.d.ts +0 -18
- package/lib/authentication/AbstractAuthAdapter.js +0 -23
- 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/AuthMiddleware.d.ts +0 -5
- package/lib/authentication/middlewares/AuthMiddleware.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 -45
- 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 -56
- package/lib/backends/Query.js +0 -129
- 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 -138
- 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/properties/ObjectProperty copy.d.ts +0 -16
- package/lib/properties/ObjectProperty copy.js +0 -85
- package/lib/storages/AbstractStorageAdapter.d.ts +0 -23
- package/lib/storages/AbstractStorageAdapter.js +0 -13
- package/lib/storages/StorageAdapterInterface.d.ts +0 -20
- package/lib/storages/StorageAdapterInterface.js +0 -2
- package/lib/storages/index.d.ts +0 -9
- package/lib/storages/index.js +0 -17
- package/lib/storages/types/BlobMediaType.d.ts +0 -8
- package/lib/storages/types/BlobMediaType.js +0 -2
- package/lib/storages/types/BlobType.d.ts +0 -6
- package/lib/storages/types/BlobType.js +0 -2
- package/lib/storages/types/DownloadFileMetaType.d.ts +0 -4
- package/lib/storages/types/DownloadFileMetaType.js +0 -2
- package/lib/storages/types/FileResponseLink.d.ts +0 -7
- package/lib/storages/types/FileResponseLink.js +0 -2
- package/lib/storages/types/FileResponseUrl.d.ts +0 -4
- package/lib/storages/types/FileResponseUrl.js +0 -2
- package/lib/storages/types/FileType.d.ts +0 -15
- package/lib/storages/types/FileType.js +0 -2
- package/lib/storages/types.d.ts +0 -5
- package/lib/storages/types.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
- package/lib/wrappers/cloud/AbstractCloudWrapper.d.ts +0 -4
- package/lib/wrappers/cloud/AbstractCloudWrapper.js +0 -9
- package/lib/wrappers/cloud/types/DatabaseTriggerType.d.ts +0 -8
- package/lib/wrappers/cloud/types/DatabaseTriggerType.js +0 -2
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InjectKeywordsMiddleware = void 0;
|
|
4
|
-
const Backend_1 = require("../../Backend");
|
|
5
|
-
const properties_1 = require("../../properties");
|
|
6
|
-
class InjectKeywordsMiddleware {
|
|
7
|
-
execute(dataObject, action) {
|
|
8
|
-
if (!dataObject.has('keywords')) {
|
|
9
|
-
dataObject.addProperty(new properties_1.ArrayProperty({ name: 'keywords' }));
|
|
10
|
-
}
|
|
11
|
-
switch (action) {
|
|
12
|
-
case Backend_1.BackendAction.CREATE:
|
|
13
|
-
case Backend_1.BackendAction.UPDATE:
|
|
14
|
-
dataObject.set('keywords', this._createKeywords(dataObject));
|
|
15
|
-
break;
|
|
16
|
-
default:
|
|
17
|
-
break;
|
|
18
|
-
}
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
_createKeywords(dataObject) {
|
|
22
|
-
const keywords = [];
|
|
23
|
-
Object.keys(dataObject.properties)
|
|
24
|
-
.filter((key) => dataObject.get(key).fullSearch === true)
|
|
25
|
-
.forEach((key) => {
|
|
26
|
-
const val = dataObject.val(key);
|
|
27
|
-
if (val) {
|
|
28
|
-
val.toLowerCase()
|
|
29
|
-
.split(' ')
|
|
30
|
-
.forEach((word) => {
|
|
31
|
-
let seq = '';
|
|
32
|
-
word
|
|
33
|
-
.split('')
|
|
34
|
-
.splice(0, 15)
|
|
35
|
-
.forEach((letter) => {
|
|
36
|
-
seq += letter;
|
|
37
|
-
if (seq.length > 1) {
|
|
38
|
-
keywords.push(seq);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
return [...new Set(keywords)];
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.InjectKeywordsMiddleware = InjectKeywordsMiddleware;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { DataObjectClass } from '../../components';
|
|
2
|
-
import { BackendAction } from '../../Backend';
|
|
3
|
-
import { User } from '../../components/User';
|
|
4
|
-
import BackendMiddleware from './Middleware';
|
|
5
|
-
import { MiddlewareParams } from './types/MiddlewareParams';
|
|
6
|
-
export interface InjectMetaMiddlewareParams {
|
|
7
|
-
user: User;
|
|
8
|
-
}
|
|
9
|
-
export declare class InjectMetaMiddleware implements BackendMiddleware {
|
|
10
|
-
protected _user: User;
|
|
11
|
-
constructor(params: InjectMetaMiddlewareParams);
|
|
12
|
-
execute(dataObject: DataObjectClass<any>, action: BackendAction, params?: MiddlewareParams): void;
|
|
13
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InjectMetaMiddleware = void 0;
|
|
4
|
-
const Backend_1 = require("../../Backend");
|
|
5
|
-
const Core_1 = require("../../Core");
|
|
6
|
-
class InjectMetaMiddleware {
|
|
7
|
-
constructor(params) {
|
|
8
|
-
this._user = params.user;
|
|
9
|
-
}
|
|
10
|
-
execute(dataObject, action, params) {
|
|
11
|
-
Core_1.Core.log(`[MDW] Executing Middleware ${this.constructor.name}`);
|
|
12
|
-
const date = params && params.useDateFormat ? (new Date()).toISOString() : Date.now();
|
|
13
|
-
switch (action) {
|
|
14
|
-
// add properties existence validation
|
|
15
|
-
case Backend_1.BackendAction.CREATE:
|
|
16
|
-
dataObject.set('createdBy', this._user);
|
|
17
|
-
dataObject.set('createdAt', date);
|
|
18
|
-
break;
|
|
19
|
-
case Backend_1.BackendAction.UPDATE:
|
|
20
|
-
dataObject.set('updatedBy', this._user);
|
|
21
|
-
dataObject.set('updatedAt', date);
|
|
22
|
-
break;
|
|
23
|
-
case Backend_1.BackendAction.DELETE:
|
|
24
|
-
dataObject.set('deletedBy', this._user);
|
|
25
|
-
dataObject.set('deletedAt', date);
|
|
26
|
-
break;
|
|
27
|
-
default:
|
|
28
|
-
break;
|
|
29
|
-
}
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.InjectMetaMiddleware = InjectMetaMiddleware;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { DataObjectClass } from '../../components';
|
|
2
|
-
import { Filter } from '../Filter';
|
|
3
|
-
import { Filters } from '../Filters';
|
|
4
|
-
import { Query, QueryResultType } from '../Query';
|
|
5
|
-
import { SortAndLimit } from '../SortAndLimit';
|
|
6
|
-
export interface BackendInterface {
|
|
7
|
-
create(dataObject: DataObjectClass<any>, desiredUid: string | undefined): Promise<DataObjectClass<any>>;
|
|
8
|
-
read(param: string | DataObjectClass<any>): Promise<DataObjectClass<any>>;
|
|
9
|
-
update(dataObject: DataObjectClass<any>): Promise<DataObjectClass<any>>;
|
|
10
|
-
delete(dataObject: DataObjectClass<any>, hardDelete?: boolean): Promise<DataObjectClass<any>>;
|
|
11
|
-
query(query: Query<any>): Promise<QueryResultType<DataObjectClass<any>>>;
|
|
12
|
-
find(dataObject: DataObjectClass<any>, filters: Filters | Filter[] | undefined, pagination: SortAndLimit | undefined, parent: any): Promise<QueryResultType<DataObjectClass<any>>>;
|
|
13
|
-
}
|
|
@@ -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, hardDelete?: boolean): Promise<DataObjectClass<any>>;
|
|
24
|
-
query(query: Query<any>): Promise<QueryResultType<T>>;
|
|
25
|
-
}
|
|
@@ -1,138 +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
|
-
let path = `${collection}/${uid}`;
|
|
53
|
-
if (uid.split('/').length > 2) {
|
|
54
|
-
path = uid;
|
|
55
|
-
}
|
|
56
|
-
const dataObject = DataObject_1.DataObject.factory({
|
|
57
|
-
properties: this._model.PROPS_DEFINITION,
|
|
58
|
-
uri: path,
|
|
59
|
-
});
|
|
60
|
-
dataObject.uid = uid;
|
|
61
|
-
return dataObject;
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
getDataObjectFromPath(path) {
|
|
65
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
const dataObject = DataObject_1.DataObject.factory({
|
|
67
|
-
properties: this._model.PROPS_DEFINITION,
|
|
68
|
-
uri: path,
|
|
69
|
-
});
|
|
70
|
-
dataObject.uid = path.substring(path.lastIndexOf('/') + 1);
|
|
71
|
-
return dataObject;
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
create(obj, uid) {
|
|
75
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
const savedObj = yield this.backendAdapter.create(obj.dataObject, uid);
|
|
77
|
-
return this._model.fromDataObject(savedObj);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
read(key) {
|
|
81
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
-
if (!key) {
|
|
83
|
-
throw new Error(`Missing key value in ${this.constructor.name}`);
|
|
84
|
-
}
|
|
85
|
-
try {
|
|
86
|
-
let dataObject;
|
|
87
|
-
if (key.split('/').length <= 2) {
|
|
88
|
-
const uid = key.indexOf('/') !== -1
|
|
89
|
-
? key.substring(key.lastIndexOf('/') + 1)
|
|
90
|
-
: key;
|
|
91
|
-
dataObject = yield this.getDataObjectFromUid(uid);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
dataObject = yield this.getDataObjectFromPath(key);
|
|
95
|
-
}
|
|
96
|
-
const response = yield this.backendAdapter.read(dataObject);
|
|
97
|
-
const obj = this._model.fromDataObject(response);
|
|
98
|
-
// TODO should be moved to the backend middleware
|
|
99
|
-
if (obj.status === statuses.DELETED) {
|
|
100
|
-
throw new ResourcesErrors_1.GoneError(RESOURCE_GONE_ERROR);
|
|
101
|
-
}
|
|
102
|
-
return obj;
|
|
103
|
-
}
|
|
104
|
-
catch (e) {
|
|
105
|
-
if (e instanceof ResourcesErrors_1.GoneError) {
|
|
106
|
-
throw e;
|
|
107
|
-
}
|
|
108
|
-
if (e instanceof ResourcesErrors_1.NotFoundError) {
|
|
109
|
-
return null;
|
|
110
|
-
}
|
|
111
|
-
throw e;
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
update(obj) {
|
|
116
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
-
const dataObject = obj.dataObject || obj;
|
|
118
|
-
const savedObj = yield this.backendAdapter.update(dataObject);
|
|
119
|
-
return this._model.fromDataObject(savedObj);
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* delete object in its backend
|
|
124
|
-
* @param uid string
|
|
125
|
-
*/
|
|
126
|
-
delete(uid, hardDelete = false) {
|
|
127
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
-
const dataObject = yield this.getDataObjectFromUid(uid);
|
|
129
|
-
return yield this.backendAdapter.delete(dataObject, hardDelete);
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
query(query) {
|
|
133
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
134
|
-
return yield query.fetchAsInstances(this.backendAdapter);
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
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,16 +0,0 @@
|
|
|
1
|
-
import { ObjectUri } from '../components/ObjectUri';
|
|
2
|
-
import { BaseProperty, BasePropertyType } from './BaseProperty';
|
|
3
|
-
import { BaseObjectClass } from '../components/types/BaseObjectClass';
|
|
4
|
-
export interface ObjectPropertyType extends BasePropertyType {
|
|
5
|
-
instanceOf: any;
|
|
6
|
-
}
|
|
7
|
-
export declare class ObjectProperty extends BaseProperty {
|
|
8
|
-
static TYPE: string;
|
|
9
|
-
_value: BaseObjectClass | ObjectUri | undefined;
|
|
10
|
-
_instanceOf: any;
|
|
11
|
-
constructor(config: ObjectPropertyType);
|
|
12
|
-
get instanceOf(): any;
|
|
13
|
-
val(transform?: string | undefined): any;
|
|
14
|
-
set(value: object, setChanged?: boolean): this;
|
|
15
|
-
toJSON(): any;
|
|
16
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ObjectProperty = void 0;
|
|
4
|
-
const DataObject_1 = require("../components/DataObject");
|
|
5
|
-
const ObjectUri_1 = require("../components/ObjectUri");
|
|
6
|
-
const BaseProperty_1 = require("./BaseProperty");
|
|
7
|
-
const Query_1 = require("../backends/Query");
|
|
8
|
-
const Core_1 = require("../Core");
|
|
9
|
-
class ObjectProperty extends BaseProperty_1.BaseProperty {
|
|
10
|
-
constructor(config) {
|
|
11
|
-
super(config);
|
|
12
|
-
this._value = undefined;
|
|
13
|
-
this._instanceOf = config.instanceOf;
|
|
14
|
-
}
|
|
15
|
-
get instanceOf() {
|
|
16
|
-
return this._instanceOf;
|
|
17
|
-
}
|
|
18
|
-
val(transform = undefined) {
|
|
19
|
-
if (typeof this._instanceOf === 'string') {
|
|
20
|
-
this._instanceOf = Core_1.Core.getClass(this._instanceOf);
|
|
21
|
-
}
|
|
22
|
-
if (!this._value) {
|
|
23
|
-
return this._defaultValue;
|
|
24
|
-
}
|
|
25
|
-
switch (transform) {
|
|
26
|
-
case Query_1.returnAs.AS_DATAOBJECTS:
|
|
27
|
-
if (this._value instanceof DataObject_1.DataObject) {
|
|
28
|
-
console.log(`Returning already existing dataObject`);
|
|
29
|
-
return this._value;
|
|
30
|
-
}
|
|
31
|
-
else if (this._value instanceof ObjectUri_1.ObjectUri) {
|
|
32
|
-
console.log(`Converting objectUri -> dataObject`);
|
|
33
|
-
return DataObject_1.DataObject.factory({
|
|
34
|
-
properties: Reflect.get(this._instanceOf, 'PROPS_DEFINITION'),
|
|
35
|
-
uri: this._value,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
console.log(`Converting instance -> dataObject`);
|
|
40
|
-
return this._value.dataObject;
|
|
41
|
-
}
|
|
42
|
-
case Query_1.returnAs.AS_INSTANCES:
|
|
43
|
-
if (this._value instanceof DataObject_1.DataObject) {
|
|
44
|
-
console.log(`Converting dataObject -> instance`);
|
|
45
|
-
return Reflect.construct(this._instanceOf, [this._value]);
|
|
46
|
-
}
|
|
47
|
-
else if (this._value instanceof ObjectUri_1.ObjectUri) {
|
|
48
|
-
// console.log('ObjectProperty', this)
|
|
49
|
-
console.log(`Converting objectUri -> dataObject -> instance`);
|
|
50
|
-
// console.log(this._instanceOf)
|
|
51
|
-
const dao = DataObject_1.DataObject.factory({
|
|
52
|
-
properties: Reflect.get(this._instanceOf, 'PROPS_DEFINITION'),
|
|
53
|
-
uri: this._value,
|
|
54
|
-
});
|
|
55
|
-
return Reflect.construct(this._instanceOf, [dao]);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
console.log(`Returning already existing instance`);
|
|
59
|
-
return this._value;
|
|
60
|
-
}
|
|
61
|
-
case Query_1.returnAs.AS_OBJECTURIS:
|
|
62
|
-
default:
|
|
63
|
-
return this._value;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
set(value, setChanged = true) {
|
|
67
|
-
if (value instanceof ObjectUri_1.ObjectUri &&
|
|
68
|
-
value instanceof DataObject_1.DataObject &&
|
|
69
|
-
value.constructor.name !== this._instanceOf.constructor.name) {
|
|
70
|
-
throw new Error(`value ${JSON.stringify(value)} is not an instance of ${this._instanceOf.constructor.name}`);
|
|
71
|
-
}
|
|
72
|
-
return super.set(value, setChanged);
|
|
73
|
-
}
|
|
74
|
-
toJSON() {
|
|
75
|
-
if (this._value instanceof ObjectUri_1.ObjectUri) {
|
|
76
|
-
return this._value.toJSON();
|
|
77
|
-
}
|
|
78
|
-
return this._value &&
|
|
79
|
-
(this._value.dataObject || this._value instanceof DataObject_1.DataObject)
|
|
80
|
-
? this._value.dataObject.toReference()
|
|
81
|
-
: null;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
exports.ObjectProperty = ObjectProperty;
|
|
85
|
-
ObjectProperty.TYPE = 'object';
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Readable } from 'stream';
|
|
3
|
-
import { FileType } from './types/FileType';
|
|
4
|
-
import { StorageAdapterInterface } from './StorageAdapterInterface';
|
|
5
|
-
import { DownloadFileMeta } from './types/DownloadFileMetaType';
|
|
6
|
-
import { StorageParameters } from '../Storage';
|
|
7
|
-
export declare abstract class AbstractStorageAdapter implements StorageAdapterInterface {
|
|
8
|
-
protected _alias: string;
|
|
9
|
-
protected _params: StorageParameters;
|
|
10
|
-
constructor(params?: StorageParameters);
|
|
11
|
-
abstract getDriver(): any;
|
|
12
|
-
abstract create(file: FileType, stream: Readable): Promise<FileType>;
|
|
13
|
-
abstract download(file: FileType, path: DownloadFileMeta): Promise<any>;
|
|
14
|
-
abstract copy(file: FileType, destFile: FileType): Promise<any>;
|
|
15
|
-
abstract getUrl(file: FileType, expiresIn?: number, action?: string, extra?: any): Promise<any>;
|
|
16
|
-
abstract delete(file: FileType): Promise<Boolean>;
|
|
17
|
-
abstract stream(file: FileType, res: any): Promise<any>;
|
|
18
|
-
abstract getUploadUrl(filePath: FileType, expiresIn?: number): Promise<any>;
|
|
19
|
-
abstract getReadable(file: FileType): Promise<Readable>;
|
|
20
|
-
abstract generateThumbnail(file: FileType, sizes: number[]): Promise<any>;
|
|
21
|
-
abstract generateImageThumbnail(file: FileType, sizes: number[]): Promise<any>;
|
|
22
|
-
abstract generateVideoThumbnail(file: FileType, sizes: number[]): Promise<any>;
|
|
23
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractStorageAdapter = void 0;
|
|
4
|
-
//import { APIResponseLink, ResponsePublicUrl } from './types'
|
|
5
|
-
class AbstractStorageAdapter {
|
|
6
|
-
constructor(params = {}) {
|
|
7
|
-
this._alias = '';
|
|
8
|
-
this._params = {};
|
|
9
|
-
this._alias = params.alias || '';
|
|
10
|
-
this._params = params;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.AbstractStorageAdapter = AbstractStorageAdapter;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Readable } from 'stream';
|
|
3
|
-
import { FileType } from './types/FileType';
|
|
4
|
-
import { DownloadFileMeta } from './types/DownloadFileMetaType';
|
|
5
|
-
/**
|
|
6
|
-
* These are the public functions that any storage interface must expose
|
|
7
|
-
*/
|
|
8
|
-
export interface StorageAdapterInterface {
|
|
9
|
-
getDriver(): any;
|
|
10
|
-
create(file: FileType, stream: Readable): Promise<FileType>;
|
|
11
|
-
delete(file: FileType): Promise<Boolean>;
|
|
12
|
-
stream(file: FileType, res: any): Promise<any>;
|
|
13
|
-
download(file: FileType, path: DownloadFileMeta): Promise<string>;
|
|
14
|
-
getUrl(file: FileType, expiresIn?: number, action?: string, extra?: any): Promise<any>;
|
|
15
|
-
getUploadUrl(filePath: FileType, expiresIn?: number): Promise<any>;
|
|
16
|
-
getReadable(filePath: FileType): Promise<Readable>;
|
|
17
|
-
generateThumbnail(file: FileType, sizes: number[]): Promise<any>;
|
|
18
|
-
generateImageThumbnail(file: FileType, sizes: number[]): Promise<any>;
|
|
19
|
-
generateVideoThumbnail(file: FileType, sizes: number[]): Promise<any>;
|
|
20
|
-
}
|
package/lib/storages/index.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { FileType } from './types/FileType';
|
|
2
|
-
import { BlobType } from './types/BlobType';
|
|
3
|
-
import { BlobMediaType } from './types/BlobMediaType';
|
|
4
|
-
import { FileResponseLink } from './types/FileResponseLink';
|
|
5
|
-
import { FileResponseUrl } from './types/FileResponseUrl';
|
|
6
|
-
import { DownloadFileMeta } from './types/DownloadFileMetaType';
|
|
7
|
-
import { StorageAdapterInterface } from './StorageAdapterInterface';
|
|
8
|
-
import { AbstractStorageAdapter } from './AbstractStorageAdapter';
|
|
9
|
-
export { FileType, BlobType, BlobMediaType, FileResponseLink, FileResponseUrl, DownloadFileMeta, StorageAdapterInterface, AbstractStorageAdapter, };
|
package/lib/storages/index.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractStorageAdapter = exports.DownloadFileMeta = exports.FileResponseUrl = exports.FileResponseLink = exports.BlobMediaType = exports.BlobType = exports.FileType = void 0;
|
|
4
|
-
const FileType_1 = require("./types/FileType");
|
|
5
|
-
Object.defineProperty(exports, "FileType", { enumerable: true, get: function () { return FileType_1.FileType; } });
|
|
6
|
-
const BlobType_1 = require("./types/BlobType");
|
|
7
|
-
Object.defineProperty(exports, "BlobType", { enumerable: true, get: function () { return BlobType_1.BlobType; } });
|
|
8
|
-
const BlobMediaType_1 = require("./types/BlobMediaType");
|
|
9
|
-
Object.defineProperty(exports, "BlobMediaType", { enumerable: true, get: function () { return BlobMediaType_1.BlobMediaType; } });
|
|
10
|
-
const FileResponseLink_1 = require("./types/FileResponseLink");
|
|
11
|
-
Object.defineProperty(exports, "FileResponseLink", { enumerable: true, get: function () { return FileResponseLink_1.FileResponseLink; } });
|
|
12
|
-
const FileResponseUrl_1 = require("./types/FileResponseUrl");
|
|
13
|
-
Object.defineProperty(exports, "FileResponseUrl", { enumerable: true, get: function () { return FileResponseUrl_1.FileResponseUrl; } });
|
|
14
|
-
const DownloadFileMetaType_1 = require("./types/DownloadFileMetaType");
|
|
15
|
-
Object.defineProperty(exports, "DownloadFileMeta", { enumerable: true, get: function () { return DownloadFileMetaType_1.DownloadFileMeta; } });
|
|
16
|
-
const AbstractStorageAdapter_1 = require("./AbstractStorageAdapter");
|
|
17
|
-
Object.defineProperty(exports, "AbstractStorageAdapter", { enumerable: true, get: function () { return AbstractStorageAdapter_1.AbstractStorageAdapter; } });
|