onecore 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/db.ts +3 -3
- package/src/index.ts +5 -5
- package/src/service.ts +8 -3
- package/lib/index.js +0 -84
package/package.json
CHANGED
package/src/db.ts
CHANGED
|
@@ -17,9 +17,9 @@ interface StringMap {
|
|
|
17
17
|
export interface Executor {
|
|
18
18
|
driver: string
|
|
19
19
|
param(i: number): string
|
|
20
|
-
execute(sql: string, args?: any[]
|
|
21
|
-
executeBatch(statements: Statement[], firstSuccess?: boolean
|
|
22
|
-
query<T>(sql: string, args?: any[], m?: StringMap, bools?: Attribute[]
|
|
20
|
+
execute(sql: string, args?: any[]): Promise<number>
|
|
21
|
+
executeBatch(statements: Statement[], firstSuccess?: boolean): Promise<number>
|
|
22
|
+
query<T>(sql: string, args?: any[], m?: StringMap, bools?: Attribute[]): Promise<T[]>
|
|
23
23
|
}
|
|
24
24
|
export interface Transaction extends Executor {
|
|
25
25
|
commit(): Promise<void>
|
package/src/index.ts
CHANGED
|
@@ -12,7 +12,7 @@ export * from './logger';
|
|
|
12
12
|
export * from './io';
|
|
13
13
|
|
|
14
14
|
import { GenericRepository, SearchRepository, GenericSearchRepository, Transaction } from './db';
|
|
15
|
-
import { GenericSearchService,
|
|
15
|
+
import { GenericSearchService, CRUDService } from './service';
|
|
16
16
|
export * from './service';
|
|
17
17
|
|
|
18
18
|
export * from './mail/model/AttachmentData';
|
|
@@ -200,7 +200,7 @@ export class UseCase<T, ID, F extends Filter> extends SearchWriter<T, F> impleme
|
|
|
200
200
|
}
|
|
201
201
|
|
|
202
202
|
// tslint:disable-next-line:max-classes-per-file
|
|
203
|
-
export class
|
|
203
|
+
export class CRUDUseCase<T, ID> extends Writer<T> implements CRUDService<T, ID, number> {
|
|
204
204
|
constructor(protected repository: GenericRepository<T, ID>) {
|
|
205
205
|
super(repository);
|
|
206
206
|
this.metadata = this.metadata.bind(this);
|
|
@@ -221,9 +221,9 @@ export class GenericUseCase<T, ID> extends Writer<T> implements GenericService<T
|
|
|
221
221
|
return this.repository.delete(id);
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
|
-
export const
|
|
225
|
-
export const GenericManager =
|
|
226
|
-
export const CRUDManager =
|
|
224
|
+
export const GenericUseCase = CRUDUseCase
|
|
225
|
+
export const GenericManager = CRUDUseCase
|
|
226
|
+
export const CRUDManager = CRUDUseCase
|
|
227
227
|
|
|
228
228
|
export interface SavedRepository<UID, ID> {
|
|
229
229
|
isSaved(userId: UID, id: ID): Promise<boolean>
|
package/src/service.ts
CHANGED
|
@@ -25,21 +25,26 @@ export interface QueryRepository<T, ID, F extends Filter> extends SearchService<
|
|
|
25
25
|
load(id: ID): Promise<T|null>;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
export interface CRUDService<T, ID, R> extends ViewService<T, ID> {
|
|
29
|
+
create(obj: T): Promise<R>;
|
|
30
|
+
update(obj: T): Promise<R>;
|
|
31
|
+
patch(obj: Partial<T>): Promise<R>;
|
|
32
|
+
delete(id: ID): Promise<number>;
|
|
33
|
+
}
|
|
28
34
|
export interface GenericService<T, ID, R> extends ViewService<T, ID> {
|
|
29
35
|
create(obj: T): Promise<R>;
|
|
30
36
|
update(obj: T): Promise<R>;
|
|
31
37
|
patch(obj: Partial<T>): Promise<R>;
|
|
32
38
|
delete(id: ID): Promise<number>;
|
|
33
39
|
}
|
|
34
|
-
|
|
35
40
|
export interface ViewSearchService<T, ID, F extends Filter>
|
|
36
41
|
extends ViewService<T, ID>, SearchService<T, F> {
|
|
37
42
|
}
|
|
38
43
|
|
|
39
44
|
export interface GenericSearchService<T, ID, R, F extends Filter>
|
|
40
|
-
extends
|
|
45
|
+
extends CRUDService<T, ID, R>, SearchService<T, F> {
|
|
41
46
|
}
|
|
42
47
|
|
|
43
48
|
export interface Service<T, ID, F extends Filter>
|
|
44
|
-
extends
|
|
49
|
+
extends CRUDService<T, ID, Result<T>>, SearchService<T, F> {
|
|
45
50
|
}
|
package/lib/index.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
export class SearchUseCase {
|
|
2
|
-
constructor(repository) {
|
|
3
|
-
this.repository = repository;
|
|
4
|
-
this.search = this.search.bind(this);
|
|
5
|
-
}
|
|
6
|
-
search(s, limit, page, fields) {
|
|
7
|
-
return this.repository.search(s, limit, page, fields);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
export const SearchManager = SearchUseCase;
|
|
11
|
-
export class Writer {
|
|
12
|
-
constructor(repository) {
|
|
13
|
-
this.repository = repository;
|
|
14
|
-
this.create = this.create.bind(this);
|
|
15
|
-
this.update = this.update.bind(this);
|
|
16
|
-
this.patch = this.patch.bind(this);
|
|
17
|
-
}
|
|
18
|
-
create(obj) {
|
|
19
|
-
return this.repository.create(obj);
|
|
20
|
-
}
|
|
21
|
-
update(obj) {
|
|
22
|
-
return this.repository.update(obj);
|
|
23
|
-
}
|
|
24
|
-
patch(obj) {
|
|
25
|
-
return (this.repository.patch ? this.repository.patch(obj) : Promise.resolve(-1));
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
export class SearchWriter extends Writer {
|
|
29
|
-
constructor(repository) {
|
|
30
|
-
super(repository);
|
|
31
|
-
this.repository = repository;
|
|
32
|
-
this.search = this.search.bind(this);
|
|
33
|
-
}
|
|
34
|
-
search(s, limit, page, fields) {
|
|
35
|
-
return this.repository.search(s, limit, page, fields);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
export class UseCase extends SearchWriter {
|
|
39
|
-
constructor(repository) {
|
|
40
|
-
super(repository);
|
|
41
|
-
this.repository = repository;
|
|
42
|
-
this.metadata = this.metadata.bind(this);
|
|
43
|
-
this.keys = this.keys.bind(this);
|
|
44
|
-
this.load = this.load.bind(this);
|
|
45
|
-
this.delete = this.delete.bind(this);
|
|
46
|
-
}
|
|
47
|
-
metadata() {
|
|
48
|
-
return (this.repository.metadata ? this.repository.metadata() : undefined);
|
|
49
|
-
}
|
|
50
|
-
keys() {
|
|
51
|
-
return (this.repository.keys ? this.repository.keys() : []);
|
|
52
|
-
}
|
|
53
|
-
load(id) {
|
|
54
|
-
return this.repository.load(id);
|
|
55
|
-
}
|
|
56
|
-
delete(id) {
|
|
57
|
-
return this.repository.delete(id);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
export class GenericUseCase extends Writer {
|
|
61
|
-
constructor(repository) {
|
|
62
|
-
super(repository);
|
|
63
|
-
this.repository = repository;
|
|
64
|
-
this.metadata = this.metadata.bind(this);
|
|
65
|
-
this.keys = this.keys.bind(this);
|
|
66
|
-
this.load = this.load.bind(this);
|
|
67
|
-
this.delete = this.delete.bind(this);
|
|
68
|
-
}
|
|
69
|
-
metadata() {
|
|
70
|
-
return (this.repository.metadata ? this.repository.metadata() : undefined);
|
|
71
|
-
}
|
|
72
|
-
keys() {
|
|
73
|
-
return (this.repository.keys ? this.repository.keys() : []);
|
|
74
|
-
}
|
|
75
|
-
load(id) {
|
|
76
|
-
return this.repository.load(id);
|
|
77
|
-
}
|
|
78
|
-
delete(id) {
|
|
79
|
-
return this.repository.delete(id);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
export const CRUDUseCase = GenericUseCase;
|
|
83
|
-
export const GenericManager = GenericUseCase;
|
|
84
|
-
export const CRUDManager = GenericUseCase;
|