onecore 0.0.42 → 0.0.44
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/index.js +60 -8
- package/package.json +1 -1
- package/src/index.ts +62 -8
- package/src/metadata.ts +1 -0
package/lib/index.js
CHANGED
|
@@ -32,6 +32,14 @@ var ViewManager = (function () {
|
|
|
32
32
|
return ViewManager;
|
|
33
33
|
}());
|
|
34
34
|
exports.ViewManager = ViewManager;
|
|
35
|
+
var DefaultViewService = (function (_super) {
|
|
36
|
+
__extends(DefaultViewService, _super);
|
|
37
|
+
function DefaultViewService() {
|
|
38
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
39
|
+
}
|
|
40
|
+
return DefaultViewService;
|
|
41
|
+
}(ViewManager));
|
|
42
|
+
exports.DefaultViewService = DefaultViewService;
|
|
35
43
|
var ViewSearchManager = (function (_super) {
|
|
36
44
|
__extends(ViewSearchManager, _super);
|
|
37
45
|
function ViewSearchManager(find, repo) {
|
|
@@ -86,6 +94,30 @@ var GenericManager = (function (_super) {
|
|
|
86
94
|
return GenericManager;
|
|
87
95
|
}(ViewManager));
|
|
88
96
|
exports.GenericManager = GenericManager;
|
|
97
|
+
var DefaultGenericService = (function (_super) {
|
|
98
|
+
__extends(DefaultGenericService, _super);
|
|
99
|
+
function DefaultGenericService() {
|
|
100
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
101
|
+
}
|
|
102
|
+
return DefaultGenericService;
|
|
103
|
+
}(GenericManager));
|
|
104
|
+
exports.DefaultGenericService = DefaultGenericService;
|
|
105
|
+
var DefaultService = (function (_super) {
|
|
106
|
+
__extends(DefaultService, _super);
|
|
107
|
+
function DefaultService() {
|
|
108
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
109
|
+
}
|
|
110
|
+
return DefaultService;
|
|
111
|
+
}(GenericManager));
|
|
112
|
+
exports.DefaultService = DefaultService;
|
|
113
|
+
var DefaultGenericSearchService = (function (_super) {
|
|
114
|
+
__extends(DefaultGenericSearchService, _super);
|
|
115
|
+
function DefaultGenericSearchService() {
|
|
116
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
117
|
+
}
|
|
118
|
+
return DefaultGenericSearchService;
|
|
119
|
+
}(GenericManager));
|
|
120
|
+
exports.DefaultGenericSearchService = DefaultGenericSearchService;
|
|
89
121
|
var Manager = (function (_super) {
|
|
90
122
|
__extends(Manager, _super);
|
|
91
123
|
function Manager(find, repo) {
|
|
@@ -100,16 +132,20 @@ var Manager = (function (_super) {
|
|
|
100
132
|
return Manager;
|
|
101
133
|
}(GenericManager));
|
|
102
134
|
exports.Manager = Manager;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
135
|
+
var GenericSearchManager = (function (_super) {
|
|
136
|
+
__extends(GenericSearchManager, _super);
|
|
137
|
+
function GenericSearchManager() {
|
|
138
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
139
|
+
}
|
|
140
|
+
return GenericSearchManager;
|
|
141
|
+
}(Manager));
|
|
142
|
+
exports.GenericSearchManager = GenericSearchManager;
|
|
108
143
|
var SavedService = (function () {
|
|
109
|
-
function SavedService(repository, query, max) {
|
|
144
|
+
function SavedService(repository, query, max, autoRemove) {
|
|
110
145
|
this.repository = repository;
|
|
111
146
|
this.query = query;
|
|
112
147
|
this.max = max;
|
|
148
|
+
this.autoRemove = autoRemove;
|
|
113
149
|
this.load = this.load.bind(this);
|
|
114
150
|
this.save = this.save.bind(this);
|
|
115
151
|
this.remove = this.remove.bind(this);
|
|
@@ -136,9 +172,17 @@ var SavedService = (function () {
|
|
|
136
172
|
else {
|
|
137
173
|
items.push(itemId);
|
|
138
174
|
if (items.length > _this.max) {
|
|
139
|
-
|
|
175
|
+
if (_this.autoRemove) {
|
|
176
|
+
items.shift();
|
|
177
|
+
return _this.repository.update(id, items);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
return Promise.resolve(-1);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
return _this.repository.update(id, items);
|
|
140
185
|
}
|
|
141
|
-
return _this.repository.update(id, items);
|
|
142
186
|
}
|
|
143
187
|
}
|
|
144
188
|
});
|
|
@@ -165,3 +209,11 @@ var SavedService = (function () {
|
|
|
165
209
|
return SavedService;
|
|
166
210
|
}());
|
|
167
211
|
exports.SavedService = SavedService;
|
|
212
|
+
var SavedManager = (function (_super) {
|
|
213
|
+
__extends(SavedManager, _super);
|
|
214
|
+
function SavedManager() {
|
|
215
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
216
|
+
}
|
|
217
|
+
return SavedManager;
|
|
218
|
+
}(SavedService));
|
|
219
|
+
exports.SavedManager = SavedManager;
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -67,6 +67,40 @@ import { ViewService } from './service/ViewService';
|
|
|
67
67
|
export type Search<T, F> = (s: F, limit?: number, offset?: number | string, fields?: string[]) => Promise<SearchResult<T>>;
|
|
68
68
|
export type SearchFunc<T, F> = Search<T, F>;
|
|
69
69
|
|
|
70
|
+
export interface KeypairResult {
|
|
71
|
+
rsaEncrypted: string;
|
|
72
|
+
data: {
|
|
73
|
+
shareKey: string;
|
|
74
|
+
salt: string;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export interface CryptoOption {
|
|
78
|
+
isEncoded64?: boolean;
|
|
79
|
+
convertKey2Bytes?: boolean;
|
|
80
|
+
}
|
|
81
|
+
export interface CryptoPort {
|
|
82
|
+
exchangeKeypair: (pk: string) => Promise<KeypairResult>;
|
|
83
|
+
encryptAESMessage: (aesKey: string, salt: string, dataJSON: string, options?: CryptoOption) => Promise<string>;
|
|
84
|
+
decryptAESMessage: <T>(messageEncrypted: string, clientShKey: string, clientSalt: string, options?: CryptoOption) => Promise<T | string>;
|
|
85
|
+
encrypt: (pk: any, message: string) => string;
|
|
86
|
+
decrypt: (sk: any, data: string) => string;
|
|
87
|
+
encryptAES: (key: string, message: string) => string;
|
|
88
|
+
decryptAES: (key: string, ciphertext: string, iv: string) => string;
|
|
89
|
+
hashHMAC: (key: string, data: string) => string;
|
|
90
|
+
hashData: (text: string) => string;
|
|
91
|
+
}
|
|
92
|
+
export interface CryptoService {
|
|
93
|
+
exchangeKeypair: (pk: string) => Promise<KeypairResult>;
|
|
94
|
+
encryptAESMessage: (aesKey: string, salt: string, dataJSON: string, options?: CryptoOption) => Promise<string>;
|
|
95
|
+
decryptAESMessage: <T>(messageEncrypted: string, clientShKey: string, clientSalt: string, options?: CryptoOption) => Promise<T | string>;
|
|
96
|
+
encrypt: (pk: any, message: string) => string;
|
|
97
|
+
decrypt: (sk: any, data: string) => string;
|
|
98
|
+
encryptAES: (key: string, message: string) => string;
|
|
99
|
+
decryptAES: (key: string, ciphertext: string, iv: string) => string;
|
|
100
|
+
hashHMAC: (key: string, data: string) => string;
|
|
101
|
+
hashData: (text: string) => string;
|
|
102
|
+
}
|
|
103
|
+
|
|
70
104
|
export interface ExceptionHandler {
|
|
71
105
|
handleException(rs: string, err: any, i?: number, filename?: string): void;
|
|
72
106
|
}
|
|
@@ -108,6 +142,10 @@ export class ViewManager<T, ID> implements ViewService<T, ID> {
|
|
|
108
142
|
return this.r.load(id, ctx);
|
|
109
143
|
}
|
|
110
144
|
}
|
|
145
|
+
// tslint:disable-next-line:max-classes-per-file
|
|
146
|
+
export class DefaultViewService<T, ID> extends ViewManager<T, ID> {
|
|
147
|
+
}
|
|
148
|
+
|
|
111
149
|
// tslint:disable-next-line:max-classes-per-file
|
|
112
150
|
export class ViewSearchManager<T, ID, F extends Filter> extends ViewManager<T, ID> implements ViewSearchService<T, ID, F> {
|
|
113
151
|
constructor(public find: Search<T, F>, repo: ViewRepository<T, ID>) {
|
|
@@ -151,6 +189,15 @@ export class GenericManager<T, ID> extends ViewManager<T, ID> implements Generic
|
|
|
151
189
|
}
|
|
152
190
|
}
|
|
153
191
|
// tslint:disable-next-line:max-classes-per-file
|
|
192
|
+
export class DefaultGenericService<T, ID> extends GenericManager<T, ID> {
|
|
193
|
+
}
|
|
194
|
+
// tslint:disable-next-line:max-classes-per-file
|
|
195
|
+
export class DefaultService<T, ID> extends GenericManager<T, ID> {
|
|
196
|
+
}
|
|
197
|
+
// tslint:disable-next-line:max-classes-per-file
|
|
198
|
+
export class DefaultGenericSearchService<T, ID> extends GenericManager<T, ID> {
|
|
199
|
+
}
|
|
200
|
+
// tslint:disable-next-line:max-classes-per-file
|
|
154
201
|
export class Manager<T, ID, F extends Filter> extends GenericManager<T, ID> implements GenericSearchService<T, ID, number, F> {
|
|
155
202
|
constructor(public find: Search<T, F>, repo: GenericRepository<T, ID>) {
|
|
156
203
|
super(repo);
|
|
@@ -160,11 +207,9 @@ export class Manager<T, ID, F extends Filter> extends GenericManager<T, ID> impl
|
|
|
160
207
|
return this.find(s, limit, offset, fields);
|
|
161
208
|
}
|
|
162
209
|
}
|
|
163
|
-
|
|
164
|
-
export
|
|
165
|
-
|
|
166
|
-
export const DefaultService = GenericManager;
|
|
167
|
-
export const DefaultGenericSearchService = GenericManager;
|
|
210
|
+
// tslint:disable-next-line:max-classes-per-file
|
|
211
|
+
export class GenericSearchManager<T, ID, F extends Filter> extends Manager<T, ID, F> {
|
|
212
|
+
}
|
|
168
213
|
export interface SavedRepository<ID> {
|
|
169
214
|
load(id: ID): Promise<string[]|null>;
|
|
170
215
|
insert(id: ID, arr: string[]): Promise<number>;
|
|
@@ -172,7 +217,7 @@ export interface SavedRepository<ID> {
|
|
|
172
217
|
}
|
|
173
218
|
// tslint:disable-next-line:max-classes-per-file
|
|
174
219
|
export class SavedService<ID, T> {
|
|
175
|
-
constructor(protected repository: SavedRepository<ID>, protected query: (ids: string[]) => Promise<T[]>, public max: number) {
|
|
220
|
+
constructor(protected repository: SavedRepository<ID>, protected query: (ids: string[]) => Promise<T[]>, public max: number, public autoRemove?: boolean) {
|
|
176
221
|
this.load = this.load.bind(this);
|
|
177
222
|
this.save = this.save.bind(this);
|
|
178
223
|
this.remove = this.remove.bind(this);
|
|
@@ -195,9 +240,15 @@ export class SavedService<ID, T> {
|
|
|
195
240
|
} else {
|
|
196
241
|
items.push(itemId);
|
|
197
242
|
if (items.length > this.max) {
|
|
198
|
-
|
|
243
|
+
if (this.autoRemove) {
|
|
244
|
+
items.shift();
|
|
245
|
+
return this.repository.update(id, items);
|
|
246
|
+
} else {
|
|
247
|
+
return Promise.resolve(-1);
|
|
248
|
+
}
|
|
249
|
+
} else {
|
|
250
|
+
return this.repository.update(id, items);
|
|
199
251
|
}
|
|
200
|
-
return this.repository.update(id, items);
|
|
201
252
|
}
|
|
202
253
|
}
|
|
203
254
|
});
|
|
@@ -219,3 +270,6 @@ export class SavedService<ID, T> {
|
|
|
219
270
|
});
|
|
220
271
|
}
|
|
221
272
|
}
|
|
273
|
+
// tslint:disable-next-line:max-classes-per-file
|
|
274
|
+
export class SavedManager<ID, T> extends SavedService<ID, T> {
|
|
275
|
+
}
|