@sera4/essentia 3.0.12 → 3.0.13-rc.1
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/dist/cache/index.d.ts +22 -0
- package/dist/cache/index.js +166 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/constants/index.d.ts +6 -0
- package/dist/constants/index.js +9 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/formatter/index.d.ts +37 -0
- package/dist/formatter/index.js +75 -0
- package/dist/formatter/index.js.map +1 -0
- package/dist/hal/index.d.ts +5 -0
- package/dist/hal/index.js +69 -0
- package/dist/hal/index.js.map +1 -0
- package/dist/health/health-logger.d.ts +9 -0
- package/dist/health/health-logger.js +34 -0
- package/dist/health/health-logger.js.map +1 -0
- package/dist/health/index.d.ts +19 -0
- package/dist/health/index.js +175 -0
- package/dist/health/index.js.map +1 -0
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.js +2 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/test-server-wrapper.d.ts +120 -0
- package/dist/helpers/test-server-wrapper.js +165 -0
- package/dist/helpers/test-server-wrapper.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/last-commit.d.ts +1 -0
- package/dist/last-commit.js.map +1 -0
- package/dist/last_commit/index.d.ts +7 -0
- package/dist/last_commit/index.js +83 -0
- package/dist/last_commit/index.js.map +1 -0
- package/dist/paginator/s4-pagination.d.ts +9 -0
- package/dist/paginator/s4-pagination.js +49 -0
- package/dist/paginator/s4-pagination.js.map +1 -0
- package/dist/paginator/sql-pagination.d.ts +27 -0
- package/dist/paginator/sql-pagination.js +166 -0
- package/dist/paginator/sql-pagination.js.map +1 -0
- package/dist/paper-trail/helpers.d.ts +11 -0
- package/dist/paper-trail/helpers.js +74 -0
- package/dist/paper-trail/helpers.js.map +1 -0
- package/dist/paper-trail/index.d.ts +13 -0
- package/dist/paper-trail/index.js +662 -0
- package/dist/paper-trail/index.js.map +1 -0
- package/dist/prompts/index.d.ts +14 -0
- package/dist/prompts/index.js +63 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/queue/index.d.ts +166 -0
- package/dist/queue/index.js +371 -0
- package/dist/queue/index.js.map +1 -0
- package/dist/queue/publisher.d.ts +31 -0
- package/dist/queue/publisher.js +84 -0
- package/dist/queue/publisher.js.map +1 -0
- package/dist/queue/queue-logger.d.ts +9 -0
- package/dist/queue/queue-logger.js +35 -0
- package/dist/queue/queue-logger.js.map +1 -0
- package/dist/queue/subscriber.d.ts +39 -0
- package/dist/queue/subscriber.js +97 -0
- package/dist/queue/subscriber.js.map +1 -0
- package/dist/safe_proxy/index.d.ts +13 -0
- package/dist/safe_proxy/index.js +54 -0
- package/dist/safe_proxy/index.js.map +1 -0
- package/dist/serializer/index.d.ts +5 -0
- package/dist/serializer/index.js +83 -0
- package/dist/serializer/index.js.map +1 -0
- package/dist/ts/queue/index.js +54 -65
- package/dist/ts/queue/index.js.map +1 -1
- package/dist/ts/task-scheduler/index.d.ts +130 -0
- package/dist/ts/task-scheduler/index.js +259 -0
- package/dist/ts/task-scheduler/index.js.map +1 -0
- package/package.json +9 -3
- package/scripts/publish.sh +46 -0
- package/package.tar.gz +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../health/index.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./test-server-wrapper.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../helpers/index.js"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A small wrapper around an express js server
|
|
3
|
+
* meant to be used in unit tests
|
|
4
|
+
*/
|
|
5
|
+
export class TestServerWrapper {
|
|
6
|
+
constructor(apiPrefix: any, expressServer: any, defaultHeaders: any, oldAuthToken: any, routePrinter: any, chai: any, factory: any);
|
|
7
|
+
server: any;
|
|
8
|
+
defaultHeaders: any;
|
|
9
|
+
apiPrefix: any;
|
|
10
|
+
routePrinter: any;
|
|
11
|
+
chai: any;
|
|
12
|
+
mobileDomain: string;
|
|
13
|
+
webDomain: string;
|
|
14
|
+
factory: any;
|
|
15
|
+
v1: {
|
|
16
|
+
get: (url: any) => any;
|
|
17
|
+
post: (url: any) => any;
|
|
18
|
+
put: (url: any) => any;
|
|
19
|
+
delete: (url: any) => any;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Adds a leading slash to the url if missing
|
|
23
|
+
* @param {String} url the url to sanitize
|
|
24
|
+
* @returns sanitized url
|
|
25
|
+
*/
|
|
26
|
+
sanitizeUrl(url: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Apply given headers to the request object
|
|
29
|
+
* @param {Object} request
|
|
30
|
+
* @param {Object} headers
|
|
31
|
+
*/
|
|
32
|
+
applyHeaders(request: any, headers: any): void;
|
|
33
|
+
get(url: any, options: any): any;
|
|
34
|
+
getWithPrefix(prefix: any, url: any, options: any): any;
|
|
35
|
+
post(url: any, options: any): any;
|
|
36
|
+
postWithPrefix(prefix: any, url: any, options: any): any;
|
|
37
|
+
put(url: any, options: any): any;
|
|
38
|
+
putWithPrefix(prefix: any, url: any, options: any): any;
|
|
39
|
+
delete(url: any, options: any): any;
|
|
40
|
+
deleteWithPrefix(prefix: any, url: any, options: any): any;
|
|
41
|
+
upload(url: any, fields: any, file: any, options: any): any;
|
|
42
|
+
uploadWithPrefix(prefix: any, url: any, fields: any, file: any, options: any): any;
|
|
43
|
+
stop(): void;
|
|
44
|
+
allRoutes(): any;
|
|
45
|
+
withHeaders(headers: any): {
|
|
46
|
+
get: (url: any, options: any) => any;
|
|
47
|
+
post: (url: any, options: any) => any;
|
|
48
|
+
put: (url: any, options: any) => any;
|
|
49
|
+
delete: (url: any, options: any) => any;
|
|
50
|
+
upload: (url: any, fields: any, file: any, options: any) => any;
|
|
51
|
+
stop: () => void;
|
|
52
|
+
allRoutes: () => any;
|
|
53
|
+
v1: {
|
|
54
|
+
get: (url: any) => any;
|
|
55
|
+
post: (url: any) => any;
|
|
56
|
+
put: (url: any) => any;
|
|
57
|
+
delete: (url: any) => any;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
setMembership(membership: any, addlHeaders: any): Promise<{
|
|
61
|
+
get: (url: any, options: any) => any;
|
|
62
|
+
post: (url: any, options: any) => any;
|
|
63
|
+
put: (url: any, options: any) => any;
|
|
64
|
+
delete: (url: any, options: any) => any;
|
|
65
|
+
upload: (url: any, fields: any, file: any, options: any) => any;
|
|
66
|
+
stop: () => void;
|
|
67
|
+
allRoutes: () => any;
|
|
68
|
+
v1: {
|
|
69
|
+
get: (url: any) => any;
|
|
70
|
+
post: (url: any) => any;
|
|
71
|
+
put: (url: any) => any;
|
|
72
|
+
delete: (url: any) => any;
|
|
73
|
+
};
|
|
74
|
+
}>;
|
|
75
|
+
withMembership(m: any): {
|
|
76
|
+
get: (url: any, options: any) => any;
|
|
77
|
+
post: (url: any, options: any) => any;
|
|
78
|
+
put: (url: any, options: any) => any;
|
|
79
|
+
delete: (url: any, options: any) => any;
|
|
80
|
+
upload: (url: any, fields: any, file: any, options: any) => any;
|
|
81
|
+
stop: () => void;
|
|
82
|
+
allRoutes: () => any;
|
|
83
|
+
v1: {
|
|
84
|
+
get: (url: any) => any;
|
|
85
|
+
post: (url: any) => any;
|
|
86
|
+
put: (url: any) => any;
|
|
87
|
+
delete: (url: any) => any;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
withS4(): {
|
|
91
|
+
get: (url: any, options: any) => any;
|
|
92
|
+
post: (url: any, options: any) => any;
|
|
93
|
+
put: (url: any, options: any) => any;
|
|
94
|
+
delete: (url: any, options: any) => any;
|
|
95
|
+
upload: (url: any, fields: any, file: any, options: any) => any;
|
|
96
|
+
stop: () => void;
|
|
97
|
+
allRoutes: () => any;
|
|
98
|
+
v1: {
|
|
99
|
+
get: (url: any) => any;
|
|
100
|
+
post: (url: any) => any;
|
|
101
|
+
put: (url: any) => any;
|
|
102
|
+
delete: (url: any) => any;
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
withTap(): {
|
|
106
|
+
get: (url: any, options: any) => any;
|
|
107
|
+
post: (url: any, options: any) => any;
|
|
108
|
+
put: (url: any, options: any) => any;
|
|
109
|
+
delete: (url: any, options: any) => any;
|
|
110
|
+
upload: (url: any, fields: any, file: any, options: any) => any;
|
|
111
|
+
stop: () => void;
|
|
112
|
+
allRoutes: () => any;
|
|
113
|
+
v1: {
|
|
114
|
+
get: (url: any) => any;
|
|
115
|
+
post: (url: any) => any;
|
|
116
|
+
put: (url: any) => any;
|
|
117
|
+
delete: (url: any) => any;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
const s4Domain = "sera4.com";
|
|
4
|
+
const mobileDomain = "tws-mob." + s4Domain;
|
|
5
|
+
const webDomain = "tws-web." + s4Domain;
|
|
6
|
+
/**
|
|
7
|
+
* A small wrapper around an express js server
|
|
8
|
+
* meant to be used in unit tests
|
|
9
|
+
*/
|
|
10
|
+
export class TestServerWrapper {
|
|
11
|
+
constructor(apiPrefix, expressServer, defaultHeaders, oldAuthToken, routePrinter, chai, factory) {
|
|
12
|
+
this.server = expressServer;
|
|
13
|
+
this.defaultHeaders = defaultHeaders;
|
|
14
|
+
this.apiPrefix = apiPrefix;
|
|
15
|
+
this.routePrinter = routePrinter;
|
|
16
|
+
this.chai = chai;
|
|
17
|
+
this.mobileDomain = mobileDomain;
|
|
18
|
+
this.webDomain = webDomain;
|
|
19
|
+
this.factory = factory;
|
|
20
|
+
// Support for older/deprecated apis
|
|
21
|
+
const oldAuthHeaders = { headers: { "Authorization": `Token organization_token=${oldAuthToken}` } };
|
|
22
|
+
this.v1 = {
|
|
23
|
+
get: (url) => this.getWithPrefix("/v1", url, oldAuthHeaders),
|
|
24
|
+
post: (url) => this.postWithPrefix("/v1", url, oldAuthHeaders),
|
|
25
|
+
put: (url) => this.putWithPrefix("/v1", url, oldAuthHeaders),
|
|
26
|
+
delete: (url) => this.deleteWithPrefix("/v1", url, oldAuthHeaders)
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Adds a leading slash to the url if missing
|
|
31
|
+
* @param {String} url the url to sanitize
|
|
32
|
+
* @returns sanitized url
|
|
33
|
+
*/
|
|
34
|
+
sanitizeUrl(url) {
|
|
35
|
+
// add leading slash if missing
|
|
36
|
+
if (!url.startsWith("/")) {
|
|
37
|
+
return "/" + url;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return url;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Apply given headers to the request object
|
|
45
|
+
* @param {Object} request
|
|
46
|
+
* @param {Object} headers
|
|
47
|
+
*/
|
|
48
|
+
applyHeaders(request, headers) {
|
|
49
|
+
Object.keys(headers).map(k => {
|
|
50
|
+
request.set(k, headers[k]);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
get(url, options) {
|
|
54
|
+
return this.getWithPrefix(this.apiPrefix, url, options);
|
|
55
|
+
}
|
|
56
|
+
getWithPrefix(prefix, url, options) {
|
|
57
|
+
const sanitizedUrl = this.sanitizeUrl(url);
|
|
58
|
+
const request = this.chai.request(this.server).get(`${prefix}${sanitizedUrl}`);
|
|
59
|
+
this.applyHeaders(request, this.defaultHeaders);
|
|
60
|
+
if (options?.headers) {
|
|
61
|
+
this.applyHeaders(request, options.headers);
|
|
62
|
+
}
|
|
63
|
+
if (options?.body) {
|
|
64
|
+
request.send(options.body);
|
|
65
|
+
}
|
|
66
|
+
return request;
|
|
67
|
+
}
|
|
68
|
+
post(url, options) {
|
|
69
|
+
return this.postWithPrefix(this.apiPrefix, url, options);
|
|
70
|
+
}
|
|
71
|
+
postWithPrefix(prefix, url, options) {
|
|
72
|
+
const sanitizedUrl = this.sanitizeUrl(url);
|
|
73
|
+
const request = this.chai.request(this.server).post(`${prefix}${sanitizedUrl}`);
|
|
74
|
+
this.applyHeaders(request, this.defaultHeaders);
|
|
75
|
+
if (options?.headers) {
|
|
76
|
+
this.applyHeaders(request, options.headers);
|
|
77
|
+
}
|
|
78
|
+
return request;
|
|
79
|
+
}
|
|
80
|
+
put(url, options) {
|
|
81
|
+
return this.putWithPrefix(this.apiPrefix, url, options);
|
|
82
|
+
}
|
|
83
|
+
putWithPrefix(prefix, url, options) {
|
|
84
|
+
const sanitizedUrl = this.sanitizeUrl(url);
|
|
85
|
+
const request = this.chai.request(this.server).put(`${prefix}${sanitizedUrl}`);
|
|
86
|
+
this.applyHeaders(request, this.defaultHeaders);
|
|
87
|
+
if (options?.headers) {
|
|
88
|
+
this.applyHeaders(request, options.headers);
|
|
89
|
+
}
|
|
90
|
+
return request;
|
|
91
|
+
}
|
|
92
|
+
delete(url, options) {
|
|
93
|
+
return this.deleteWithPrefix(this.apiPrefix, url, options);
|
|
94
|
+
}
|
|
95
|
+
deleteWithPrefix(prefix, url, options) {
|
|
96
|
+
const sanitizedUrl = this.sanitizeUrl(url);
|
|
97
|
+
const request = this.chai.request(this.server).delete(`${prefix}${sanitizedUrl}`);
|
|
98
|
+
this.applyHeaders(request, this.defaultHeaders);
|
|
99
|
+
if (options?.headers) {
|
|
100
|
+
this.applyHeaders(request, options.headers);
|
|
101
|
+
}
|
|
102
|
+
return request;
|
|
103
|
+
}
|
|
104
|
+
upload(url, fields, file, options) {
|
|
105
|
+
return this.uploadWithPrefix(this.apiPrefix, url, fields, file, options);
|
|
106
|
+
}
|
|
107
|
+
uploadWithPrefix(prefix, url, fields, file, options) {
|
|
108
|
+
const sanitizedUrl = this.sanitizeUrl(url);
|
|
109
|
+
const request = this.chai.request(this.server).post(`${prefix}${sanitizedUrl}`);
|
|
110
|
+
this.applyHeaders(request, this.defaultHeaders);
|
|
111
|
+
if (options?.headers) {
|
|
112
|
+
this.applyHeaders(request, options.headers);
|
|
113
|
+
}
|
|
114
|
+
request.attach("data", fs.readFileSync(file), { filename: "data" });
|
|
115
|
+
const keys = Object.keys(fields);
|
|
116
|
+
keys.forEach(k => {
|
|
117
|
+
request.field(k, fields[k]);
|
|
118
|
+
});
|
|
119
|
+
return request;
|
|
120
|
+
}
|
|
121
|
+
stop() {
|
|
122
|
+
this.server.close();
|
|
123
|
+
}
|
|
124
|
+
allRoutes() {
|
|
125
|
+
return this.routePrinter.getAll();
|
|
126
|
+
}
|
|
127
|
+
withHeaders(headers) {
|
|
128
|
+
return {
|
|
129
|
+
get: (url, options) => this.get(url, { headers, ...options }),
|
|
130
|
+
post: (url, options) => this.post(url, { headers, ...options }),
|
|
131
|
+
put: (url, options) => this.put(url, { headers, ...options }),
|
|
132
|
+
delete: (url, options) => this.delete(url, { headers, ...options }),
|
|
133
|
+
upload: (url, fields, file, options) => this.upload(url, fields, file, { headers, ...options }),
|
|
134
|
+
stop: this.stop,
|
|
135
|
+
allRoutes: this.allRoutes,
|
|
136
|
+
v1: this.v1
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
// setup
|
|
140
|
+
async setMembership(membership, addlHeaders) {
|
|
141
|
+
let headers;
|
|
142
|
+
if (membership) {
|
|
143
|
+
headers = { "tws-account-id": membership.account_id, "tws-membership-id": membership.id, "tws-tenant-id": membership.tenant_id };
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
// auto create an s4 user
|
|
147
|
+
const m = await this.factory.create("membership", { s4Admin: true });
|
|
148
|
+
headers = { "tws-account-id": m.account_id, "tws-membership-id": m.id, "tws-tenant-id": m.tenant_id };
|
|
149
|
+
}
|
|
150
|
+
headers = { ...headers, "tws-request-host": this.webDomain, ...addlHeaders };
|
|
151
|
+
return this.withHeaders(headers);
|
|
152
|
+
}
|
|
153
|
+
;
|
|
154
|
+
withMembership(m) {
|
|
155
|
+
const h = { "tws-membership": JSON.stringify(m) };
|
|
156
|
+
return this.withHeaders(h);
|
|
157
|
+
}
|
|
158
|
+
withS4() {
|
|
159
|
+
return this.withMembership({ s4_role: 1, id: uuidv4(), account_id: uuidv4(), tenant_id: uuidv4() });
|
|
160
|
+
}
|
|
161
|
+
withTap() {
|
|
162
|
+
return this.withMembership({ s4_role: 2, id: uuidv4(), account_id: uuidv4(), tenant_id: uuidv4() });
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=test-server-wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-server-wrapper.js","sourceRoot":"","sources":["../../helpers/test-server-wrapper.js"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
export * from "./constants/index.js";
|
|
3
|
+
export { default as paginator } from "./paginator/s4-pagination.js";
|
|
4
|
+
export { default as sqlPaginator } from "./paginator/sql-pagination.js";
|
|
5
|
+
export { default as logger } from "./logger/s4-logger.js";
|
|
6
|
+
export { default as lastCommit } from "./last_commit/index.js";
|
|
7
|
+
export { default as halDecorator } from "./hal/index.js";
|
|
8
|
+
export { default as formatter } from "./formatter/index.js";
|
|
9
|
+
export { HealthCheck as healthCheck } from "./health/index.js";
|
|
10
|
+
export { default as queue } from "./queue/index.js";
|
|
11
|
+
export { default as paperTrail } from "./paper-trail/index.js";
|
|
12
|
+
export { default as serializer } from "./serializer/index.js";
|
|
13
|
+
export * from "./utils/index.js";
|
|
14
|
+
export * from "./safe_proxy/index.js";
|
|
15
|
+
export * from "./helpers/index.js";
|
|
16
|
+
export * from "./prompts/index.js";
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC9D,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"last-commit.js","sourceRoot":"","sources":["../last-commit.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAE/C,UAAU,CAAC,eAAe,EAAE;KAC3B,IAAI,CAAC,CAAC,CAAC,EAAE;IACR,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,CAAC,EAAE;IACT,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import git from "git-rev";
|
|
3
|
+
import fs from "fs";
|
|
4
|
+
import async from "async";
|
|
5
|
+
import { dirname } from 'path';
|
|
6
|
+
import { fileURLToPath } from 'url';
|
|
7
|
+
const appDir = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const commitFile = `${appDir}/last-commit.json`;
|
|
9
|
+
const lastCommit = {
|
|
10
|
+
parseLastCommit() {
|
|
11
|
+
return new Promise((resolve, reject) => {
|
|
12
|
+
async.waterfall([
|
|
13
|
+
(next) => {
|
|
14
|
+
var commit = {};
|
|
15
|
+
git.branch((str) => {
|
|
16
|
+
commit["branch"] = str;
|
|
17
|
+
next(null, commit);
|
|
18
|
+
});
|
|
19
|
+
},
|
|
20
|
+
(commit, next) => {
|
|
21
|
+
git.long((str) => {
|
|
22
|
+
commit["commmit"] = str;
|
|
23
|
+
next(null, commit);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
], (err, commit) => {
|
|
27
|
+
if (err) {
|
|
28
|
+
reject(err);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
resolve(commit);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
getLastCommit() {
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
fs.readFile(commitFile, 'utf8', (err, data) => {
|
|
39
|
+
if (err) {
|
|
40
|
+
reject(err);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
try {
|
|
44
|
+
var commit = JSON.parse(data);
|
|
45
|
+
resolve(commit);
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
reject(e);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
},
|
|
54
|
+
getLastCommitSync() {
|
|
55
|
+
var data = fs.readFileSync(commitFile, 'utf8');
|
|
56
|
+
return JSON.parse(data);
|
|
57
|
+
},
|
|
58
|
+
writeLastCommit() {
|
|
59
|
+
return new Promise((resolve, reject) => {
|
|
60
|
+
async.waterfall([
|
|
61
|
+
(next) => {
|
|
62
|
+
this.parseLastCommit()
|
|
63
|
+
.then((commit) => next(null, commit))
|
|
64
|
+
.catch(e => next(e));
|
|
65
|
+
},
|
|
66
|
+
(commit, next) => {
|
|
67
|
+
fs.writeFile(commitFile, JSON.stringify(commit, null, 2), 'utf8', (err) => {
|
|
68
|
+
next(err, commit);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
], (err, commit) => {
|
|
72
|
+
if (err) {
|
|
73
|
+
reject(err);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
resolve(commit);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
export default lastCommit;
|
|
83
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../last_commit/index.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const default_page = 1;
|
|
2
|
+
const default_size = 5;
|
|
3
|
+
function parseRequest(req, item, default_value) {
|
|
4
|
+
if (!req || !req.query) {
|
|
5
|
+
return default_value;
|
|
6
|
+
}
|
|
7
|
+
var r = parseInt(req.query[item]);
|
|
8
|
+
if (isNaN(r) || r < default_value) {
|
|
9
|
+
r = default_value;
|
|
10
|
+
}
|
|
11
|
+
return r;
|
|
12
|
+
}
|
|
13
|
+
class S4Pagination {
|
|
14
|
+
createPaginator(req, res, next) {
|
|
15
|
+
var paginator = {
|
|
16
|
+
page: parseRequest(req, "page", default_page),
|
|
17
|
+
page_size: parseRequest(req, "page_size", default_size),
|
|
18
|
+
reply: function (data) {
|
|
19
|
+
if (!data) {
|
|
20
|
+
res.status(500).end();
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
var pagination = {
|
|
24
|
+
total: data.total,
|
|
25
|
+
total_pages: data.pages,
|
|
26
|
+
current_page: data.page,
|
|
27
|
+
first_page: data.page === 1,
|
|
28
|
+
last_page: data.offset === data.pages,
|
|
29
|
+
page_size: data.limit,
|
|
30
|
+
out_of_bounds: data.docs.length === 0
|
|
31
|
+
};
|
|
32
|
+
if (!pagination.out_of_bounds) {
|
|
33
|
+
if (pagination.current_page > 1) {
|
|
34
|
+
pagination.previous_page = pagination.current_page - 1;
|
|
35
|
+
}
|
|
36
|
+
if (pagination.current_page < pagination.total_pages) {
|
|
37
|
+
pagination.next_page = pagination.current_page + 1;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
res.set("s4-pagination", JSON.stringify(pagination));
|
|
41
|
+
res.json(data.docs);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
return paginator;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const paginator = new S4Pagination();
|
|
48
|
+
export default paginator;
|
|
49
|
+
//# sourceMappingURL=s4-pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s4-pagination.js","sourceRoot":"","sources":["../../paginator/s4-pagination.js"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,SAAS,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa;IAC5C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC;QAClC,CAAC,GAAG,aAAa,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,YAAY;IAChB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QAC5B,IAAI,SAAS,GAAG;YACd,IAAI,EAAG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC;YAC9C,SAAS,EAAG,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,CAAC;YACxD,KAAK,EAAG,UAAS,IAAI;gBACnB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBACtB,OAAO;gBACT,CAAC;gBACD,IAAI,UAAU,GAAG;oBACf,KAAK,EAAG,IAAI,CAAC,KAAK;oBAClB,WAAW,EAAG,IAAI,CAAC,KAAK;oBACxB,YAAY,EAAG,IAAI,CAAC,IAAI;oBACxB,UAAU,EAAG,IAAI,CAAC,IAAI,KAAK,CAAC;oBAC5B,SAAS,EAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK;oBACtC,SAAS,EAAG,IAAI,CAAC,KAAK;oBACtB,aAAa,EAAG,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;iBACvC,CAAA;gBACD,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;oBAC9B,IAAI,UAAU,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;wBAChC,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;oBACzD,CAAC;oBACD,IAAI,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;wBACrD,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;gBACD,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;SACF,CAAA;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,MAAM,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;AACrC,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export default sqlPaginator;
|
|
2
|
+
declare const sqlPaginator: SequelizePaginator;
|
|
3
|
+
declare class SequelizePaginator {
|
|
4
|
+
paginateIn: {
|
|
5
|
+
size: string;
|
|
6
|
+
index: string;
|
|
7
|
+
};
|
|
8
|
+
paginateOut: {
|
|
9
|
+
current_page: string;
|
|
10
|
+
first_page: string;
|
|
11
|
+
last_page: string;
|
|
12
|
+
next_page: string;
|
|
13
|
+
out_of_bounds: string;
|
|
14
|
+
page_size: string;
|
|
15
|
+
previous_page: string;
|
|
16
|
+
total_pages: string;
|
|
17
|
+
total_size: string;
|
|
18
|
+
links: string;
|
|
19
|
+
};
|
|
20
|
+
zeroBasedOffset: boolean;
|
|
21
|
+
paginationHeader: string;
|
|
22
|
+
headersOnly: boolean;
|
|
23
|
+
paginationTag: string;
|
|
24
|
+
collectionTag: string;
|
|
25
|
+
paginate(Model: any, resource?: string): void;
|
|
26
|
+
configure(options: any): void;
|
|
27
|
+
}
|