@mondomob/gae-node-nestjs 11.0.2 → 12.0.0-alpha-2

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.
Files changed (212) hide show
  1. package/.claude/settings.local.json +7 -0
  2. package/CHANGELOG.md +0 -13
  3. package/mondomob-gae-node-nestjs-12.0.0-alpha-1.tgz +0 -0
  4. package/mondomob-gae-node-nestjs-12.0.0-alpha-2.tgz +0 -0
  5. package/package.json +12 -12
  6. package/server-start.js +72 -1
  7. package/dist/_test/mocks.d.ts +0 -9
  8. package/dist/_test/mocks.js +0 -27
  9. package/dist/_test/mocks.js.map +0 -1
  10. package/dist/_test/request-scope-test-utils.d.ts +0 -3
  11. package/dist/_test/request-scope-test-utils.js +0 -18
  12. package/dist/_test/request-scope-test-utils.js.map +0 -1
  13. package/dist/auth/auth-user.model.d.ts +0 -9
  14. package/dist/auth/auth-user.model.js +0 -33
  15. package/dist/auth/auth-user.model.js.map +0 -1
  16. package/dist/auth/auth.callbacks.d.ts +0 -8
  17. package/dist/auth/auth.callbacks.js +0 -5
  18. package/dist/auth/auth.callbacks.js.map +0 -1
  19. package/dist/auth/auth.configurer.d.ts +0 -35
  20. package/dist/auth/auth.configurer.js +0 -212
  21. package/dist/auth/auth.configurer.js.map +0 -1
  22. package/dist/auth/auth.controller.d.ts +0 -27
  23. package/dist/auth/auth.controller.js +0 -312
  24. package/dist/auth/auth.controller.js.map +0 -1
  25. package/dist/auth/auth.guard.d.ts +0 -16
  26. package/dist/auth/auth.guard.js +0 -127
  27. package/dist/auth/auth.guard.js.map +0 -1
  28. package/dist/auth/auth.listener.d.ts +0 -5
  29. package/dist/auth/auth.listener.js +0 -5
  30. package/dist/auth/auth.listener.js.map +0 -1
  31. package/dist/auth/auth.repository.d.ts +0 -52
  32. package/dist/auth/auth.repository.js +0 -79
  33. package/dist/auth/auth.repository.js.map +0 -1
  34. package/dist/auth/auth.resolver.d.ts +0 -13
  35. package/dist/auth/auth.resolver.js +0 -86
  36. package/dist/auth/auth.resolver.js.map +0 -1
  37. package/dist/auth/auth.service.d.ts +0 -35
  38. package/dist/auth/auth.service.js +0 -299
  39. package/dist/auth/auth.service.js.map +0 -1
  40. package/dist/auth/auth.task.controller.d.ts +0 -13
  41. package/dist/auth/auth.task.controller.js +0 -76
  42. package/dist/auth/auth.task.controller.js.map +0 -1
  43. package/dist/auth/auth.task.service.d.ts +0 -8
  44. package/dist/auth/auth.task.service.js +0 -26
  45. package/dist/auth/auth.task.service.js.map +0 -1
  46. package/dist/auth/csrf.interceptor.d.ts +0 -11
  47. package/dist/auth/csrf.interceptor.js +0 -38
  48. package/dist/auth/csrf.interceptor.js.map +0 -1
  49. package/dist/auth/invite-user.service.d.ts +0 -45
  50. package/dist/auth/invite-user.service.js +0 -215
  51. package/dist/auth/invite-user.service.js.map +0 -1
  52. package/dist/auth/invite.callbacks.d.ts +0 -6
  53. package/dist/auth/invite.callbacks.js +0 -5
  54. package/dist/auth/invite.callbacks.js.map +0 -1
  55. package/dist/auth/login-identifier.repository.d.ts +0 -13
  56. package/dist/auth/login-identifier.repository.js +0 -28
  57. package/dist/auth/login-identifier.repository.js.map +0 -1
  58. package/dist/auth/password-reset.service.d.ts +0 -15
  59. package/dist/auth/password-reset.service.js +0 -81
  60. package/dist/auth/password-reset.service.js.map +0 -1
  61. package/dist/auth/user.service.d.ts +0 -27
  62. package/dist/auth/user.service.js +0 -94
  63. package/dist/auth/user.service.js.map +0 -1
  64. package/dist/configuration.d.ts +0 -84
  65. package/dist/configuration.js +0 -5
  66. package/dist/configuration.js.map +0 -1
  67. package/dist/configure.d.ts +0 -40
  68. package/dist/configure.js +0 -85
  69. package/dist/configure.js.map +0 -1
  70. package/dist/context/context-middleware.d.ts +0 -15
  71. package/dist/context/context-middleware.js +0 -37
  72. package/dist/context/context-middleware.js.map +0 -1
  73. package/dist/context/context-request-scope.d.ts +0 -8
  74. package/dist/context/context-request-scope.js +0 -29
  75. package/dist/context/context-request-scope.js.map +0 -1
  76. package/dist/context/index.d.ts +0 -2
  77. package/dist/context/index.js +0 -9
  78. package/dist/context/index.js.map +0 -1
  79. package/dist/datastore/context.d.ts +0 -36
  80. package/dist/datastore/context.js +0 -27
  81. package/dist/datastore/context.js.map +0 -1
  82. package/dist/datastore/datastore.provider.d.ts +0 -8
  83. package/dist/datastore/datastore.provider.js +0 -30
  84. package/dist/datastore/datastore.provider.js.map +0 -1
  85. package/dist/datastore/filters.d.ts +0 -19
  86. package/dist/datastore/filters.js +0 -27
  87. package/dist/datastore/filters.js.map +0 -1
  88. package/dist/datastore/loader.d.ts +0 -50
  89. package/dist/datastore/loader.js +0 -147
  90. package/dist/datastore/loader.js.map +0 -1
  91. package/dist/datastore/node-datastore-session.d.ts +0 -17
  92. package/dist/datastore/node-datastore-session.js +0 -87
  93. package/dist/datastore/node-datastore-session.js.map +0 -1
  94. package/dist/datastore/repository.d.ts +0 -45
  95. package/dist/datastore/repository.js +0 -150
  96. package/dist/datastore/repository.js.map +0 -1
  97. package/dist/datastore/transactional.d.ts +0 -4
  98. package/dist/datastore/transactional.js +0 -13
  99. package/dist/datastore/transactional.js.map +0 -1
  100. package/dist/error/NonFatalError.d.ts +0 -3
  101. package/dist/error/NonFatalError.js +0 -11
  102. package/dist/error/NonFatalError.js.map +0 -1
  103. package/dist/filter.d.ts +0 -5
  104. package/dist/filter.js +0 -40
  105. package/dist/filter.js.map +0 -1
  106. package/dist/gcloud/logging.d.ts +0 -1
  107. package/dist/gcloud/logging.js +0 -5
  108. package/dist/gcloud/logging.js.map +0 -1
  109. package/dist/gcloud/storage.provider.d.ts +0 -12
  110. package/dist/gcloud/storage.provider.js +0 -41
  111. package/dist/gcloud/storage.provider.js.map +0 -1
  112. package/dist/gcloud/tasks.d.ts +0 -10
  113. package/dist/gcloud/tasks.js +0 -68
  114. package/dist/gcloud/tasks.js.map +0 -1
  115. package/dist/graphql/GraphQLMiddleware.d.ts +0 -0
  116. package/dist/graphql/GraphQLMiddleware.js +0 -2
  117. package/dist/graphql/GraphQLMiddleware.js.map +0 -1
  118. package/dist/index.d.ts +0 -28
  119. package/dist/index.js +0 -65
  120. package/dist/index.js.map +0 -1
  121. package/dist/logging/index.d.ts +0 -1
  122. package/dist/logging/index.js +0 -8
  123. package/dist/logging/index.js.map +0 -1
  124. package/dist/logging/logging-internal.d.ts +0 -2
  125. package/dist/logging/logging-internal.js +0 -20
  126. package/dist/logging/logging-internal.js.map +0 -1
  127. package/dist/logging/logging-request-scope.d.ts +0 -15
  128. package/dist/logging/logging-request-scope.js +0 -39
  129. package/dist/logging/logging-request-scope.js.map +0 -1
  130. package/dist/logging/logging.d.ts +0 -34
  131. package/dist/logging/logging.js +0 -55
  132. package/dist/logging/logging.js.map +0 -1
  133. package/dist/mail/gmail/gmail.configurer.d.ts +0 -15
  134. package/dist/mail/gmail/gmail.configurer.js +0 -59
  135. package/dist/mail/gmail/gmail.configurer.js.map +0 -1
  136. package/dist/mail/gmail/gmail.controller.d.ts +0 -9
  137. package/dist/mail/gmail/gmail.controller.js +0 -62
  138. package/dist/mail/gmail/gmail.controller.js.map +0 -1
  139. package/dist/mail/gmail/gmail.sender.d.ts +0 -12
  140. package/dist/mail/gmail/gmail.sender.js +0 -62
  141. package/dist/mail/gmail/gmail.sender.js.map +0 -1
  142. package/dist/mail/gmail/stored.credentials.repository.d.ts +0 -12
  143. package/dist/mail/gmail/stored.credentials.repository.js +0 -23
  144. package/dist/mail/gmail/stored.credentials.repository.js.map +0 -1
  145. package/dist/mail/mail-logging.sender.d.ts +0 -9
  146. package/dist/mail/mail-logging.sender.js +0 -42
  147. package/dist/mail/mail-logging.sender.js.map +0 -1
  148. package/dist/mail/mail-subject.sender.d.ts +0 -12
  149. package/dist/mail/mail-subject.sender.js +0 -33
  150. package/dist/mail/mail-subject.sender.js.map +0 -1
  151. package/dist/mail/mail-whitelist.sender.d.ts +0 -14
  152. package/dist/mail/mail-whitelist.sender.js +0 -59
  153. package/dist/mail/mail-whitelist.sender.js.map +0 -1
  154. package/dist/mail/mail.diverter.d.ts +0 -13
  155. package/dist/mail/mail.diverter.js +0 -65
  156. package/dist/mail/mail.diverter.js.map +0 -1
  157. package/dist/mail/mail.sender.d.ts +0 -6
  158. package/dist/mail/mail.sender.js +0 -5
  159. package/dist/mail/mail.sender.js.map +0 -1
  160. package/dist/mail/smtp/smtp.sender.d.ts +0 -10
  161. package/dist/mail/smtp/smtp.sender.js +0 -65
  162. package/dist/mail/smtp/smtp.sender.js.map +0 -1
  163. package/dist/mail-templates/base.d.ts +0 -2
  164. package/dist/mail-templates/base.js +0 -328
  165. package/dist/mail-templates/base.js.map +0 -1
  166. package/dist/mail-templates/invite.d.ts +0 -1
  167. package/dist/mail-templates/invite.js +0 -19
  168. package/dist/mail-templates/invite.js.map +0 -1
  169. package/dist/module.d.ts +0 -16
  170. package/dist/module.js +0 -136
  171. package/dist/module.js.map +0 -1
  172. package/dist/request-scope/index.d.ts +0 -2
  173. package/dist/request-scope/index.js +0 -9
  174. package/dist/request-scope/index.js.map +0 -1
  175. package/dist/request-scope/request-scope-interceptor.d.ts +0 -5
  176. package/dist/request-scope/request-scope-interceptor.js +0 -3
  177. package/dist/request-scope/request-scope-interceptor.js.map +0 -1
  178. package/dist/request-scope/request-scope.d.ts +0 -12
  179. package/dist/request-scope/request-scope.js +0 -79
  180. package/dist/request-scope/request-scope.js.map +0 -1
  181. package/dist/request-scope/request-scope.middleware.d.ts +0 -15
  182. package/dist/request-scope/request-scope.middleware.js +0 -53
  183. package/dist/request-scope/request-scope.middleware.js.map +0 -1
  184. package/dist/search/search.service.d.ts +0 -52
  185. package/dist/search/search.service.js +0 -90
  186. package/dist/search/search.service.js.map +0 -1
  187. package/dist/search/searchable.repository.d.ts +0 -36
  188. package/dist/search/searchable.repository.js +0 -95
  189. package/dist/search/searchable.repository.js.map +0 -1
  190. package/dist/types.d.ts +0 -3
  191. package/dist/types.js +0 -9
  192. package/dist/types.js.map +0 -1
  193. package/dist/util/arrays.d.ts +0 -1
  194. package/dist/util/arrays.js +0 -10
  195. package/dist/util/arrays.js.map +0 -1
  196. package/dist/util/guards.d.ts +0 -1
  197. package/dist/util/guards.js +0 -7
  198. package/dist/util/guards.js.map +0 -1
  199. package/dist/util/index.d.ts +0 -1
  200. package/dist/util/index.js +0 -5
  201. package/dist/util/index.js.map +0 -1
  202. package/dist/util/nestjs.d.ts +0 -9
  203. package/dist/util/nestjs.js +0 -9
  204. package/dist/util/nestjs.js.map +0 -1
  205. package/dist/util/types.d.ts +0 -4
  206. package/dist/util/types.js +0 -8
  207. package/dist/util/types.js.map +0 -1
  208. package/dist/validator.d.ts +0 -1
  209. package/dist/validator.js +0 -5
  210. package/dist/validator.js.map +0 -1
  211. package/mondomob-gae-node-nestjs-11.0.2-alpha.tgz +0 -0
  212. package/mondomob-gae-node-nestjs-11.0.2-alpha1.tgz +0 -0
@@ -1,147 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DatastoreLoader = void 0;
4
- const datastore_1 = require("@google-cloud/datastore");
5
- const entity_1 = require("@google-cloud/datastore/build/src/entity");
6
- const trace = require("@google-cloud/trace-agent");
7
- const DataLoader = require("dataloader");
8
- const _ = require("lodash");
9
- const logging_1 = require("../logging");
10
- const types_1 = require("../util/types");
11
- const filters_1 = require("./filters");
12
- const NonFatalError_1 = require("../error/NonFatalError");
13
- const keysEqual = (key1, key2) => {
14
- return _.isEqual(key1.path, key2.path);
15
- };
16
- const countEntities = (keys) => {
17
- const result = keys.reduce((prev, current) => {
18
- if (!prev[current.kind]) {
19
- prev[current.kind] = 1;
20
- }
21
- else {
22
- prev[current.kind] += 1;
23
- }
24
- return prev;
25
- }, {});
26
- return Object.entries(result)
27
- .map(([entry, value]) => `${entry}: ${value} entities`)
28
- .join(', ');
29
- };
30
- function isTransaction(datastore) {
31
- return datastore.commit !== undefined;
32
- }
33
- class DatastoreLoader {
34
- constructor(datastore, context) {
35
- this.load = async (keys) => {
36
- const span = trace.get().createChildSpan({
37
- name: 'load-keys',
38
- });
39
- const prettyPrint = countEntities(keys);
40
- span.addLabel('entities', prettyPrint);
41
- const [results] = await this.datastore.get([...keys]);
42
- span.endSpan();
43
- this.logger.debug('Fetched entities by key ', { entities: prettyPrint });
44
- return keys.map(key => results.find((result) => keysEqual(result[datastore_1.Datastore.KEY], key)));
45
- };
46
- this.datastore = datastore;
47
- this.loader = new DataLoader(this.load, {
48
- cacheKeyFn: (key) => key.path.join(':'),
49
- });
50
- this.parentContext = context;
51
- this.logger = (0, logging_1.createLogger)('loader');
52
- }
53
- async get(ids) {
54
- const results = await this.loader.loadMany(ids);
55
- const firstError = results.find(result => result instanceof Error);
56
- if (firstError) {
57
- throw firstError;
58
- }
59
- return results;
60
- }
61
- async save(entities) {
62
- await this.applyBatched(entities, (datastore, chunk) => datastore.save(chunk), (loader, { key, data }) => this.resetDataloaderCache(loader, key, data));
63
- }
64
- async delete(entities) {
65
- await this.applyBatched(entities, (datastore, chunk) => datastore.delete(chunk), (loader, key) => loader.clear(key));
66
- }
67
- async update(entities) {
68
- await this.applyBatched(entities, (datastore, chunk) => datastore.save(chunk), (loader, { key, data }) => this.resetDataloaderCache(loader, key, data));
69
- }
70
- async upsert(entities) {
71
- await this.applyBatched(entities, (datastore, chunk) => datastore.upsert(chunk), (loader, { key, data }) => this.resetDataloaderCache(loader, key, data));
72
- }
73
- async insert(entities) {
74
- await this.applyBatched(entities, (datastore, chunk) => datastore.insert(chunk), (loader, { key, data }) => this.resetDataloaderCache(loader, key, data));
75
- }
76
- async executeQuery(kind, options) {
77
- let query = this.datastore.createQuery(kind);
78
- if (options.select) {
79
- query = query.select((0, types_1.asArray)(options.select));
80
- }
81
- if (options.filters) {
82
- query = (0, filters_1.buildFilters)(query, options.filters);
83
- }
84
- if (options.sort) {
85
- (0, types_1.asArray)(options.sort).forEach(sort => query.order(sort.property, sort.options));
86
- }
87
- if (options.groupBy) {
88
- query.groupBy((0, types_1.asArray)(options.groupBy));
89
- }
90
- if (options.start) {
91
- query.start(options.start);
92
- }
93
- if (options.end) {
94
- query.end(options.end);
95
- }
96
- if (options.hasAnscestor) {
97
- query.hasAncestor(options.hasAnscestor);
98
- }
99
- if (options.limit) {
100
- query.limit(options.limit);
101
- }
102
- if (options.offset) {
103
- query.offset(options.offset);
104
- }
105
- const [results, queryInfo] = await query.run();
106
- results.forEach((result) => {
107
- this.loader.prime(result[datastore_1.Datastore.KEY], _.omit(result, datastore_1.Datastore.KEY));
108
- });
109
- return [results, queryInfo];
110
- }
111
- async inTransaction(callback) {
112
- if (isTransaction(this.datastore)) {
113
- return await callback(Object.assign(Object.assign({}, this.parentContext), { datastore: this }));
114
- }
115
- else {
116
- const transaction = this.datastore.transaction();
117
- await transaction.run();
118
- try {
119
- const result = await callback(Object.assign(Object.assign({}, this.parentContext), { datastore: new DatastoreLoader(transaction, this.parentContext) }));
120
- await transaction.commit();
121
- this.parentContext.datastore.loader.clearAll();
122
- return result;
123
- }
124
- catch (ex) {
125
- if (ex instanceof NonFatalError_1.NonFatalError) {
126
- this.logger.warn('Rolling back transaction - non-fatal error encountered', ex);
127
- }
128
- else {
129
- this.logger.error('Rolling back transaction - error encountered', ex);
130
- }
131
- await transaction.rollback();
132
- throw ex;
133
- }
134
- }
135
- }
136
- resetDataloaderCache(loader, key, data) {
137
- return loader.clear(key).prime(key, data);
138
- }
139
- async applyBatched(values, operation, updateLoader, batchSize = 100) {
140
- const entityChunks = _.chunk(values, batchSize);
141
- const pendingModifications = entityChunks.map((chunk) => operation(this.datastore, chunk));
142
- await Promise.all(pendingModifications);
143
- values.forEach(value => updateLoader(this.loader, value));
144
- }
145
- }
146
- exports.DatastoreLoader = DatastoreLoader;
147
- //# sourceMappingURL=loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/datastore/loader.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import * as expressSession from 'express-session';
2
- import { Datastore } from '@google-cloud/datastore';
3
- export interface DataStoreOptions {
4
- dataset?: Datastore;
5
- datastore?: Datastore;
6
- kind?: string;
7
- expirationMs?: number;
8
- }
9
- export declare class DatastoreStore extends expressSession.Store {
10
- ds: Datastore;
11
- kind: string;
12
- expirationMs: number;
13
- constructor(options?: DataStoreOptions);
14
- get: (sid: string, callback: (err: Error | null, session?: expressSession.SessionData | null) => void) => void;
15
- set: (sid: string, sess: expressSession.SessionData, callback?: (err: Error | null) => void) => void;
16
- destroy: (sid: string, callback?: (err: Error | null) => void) => void;
17
- }
@@ -1,87 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DatastoreStore = void 0;
4
- const expressSession = require("express-session");
5
- class DatastoreStore extends expressSession.Store {
6
- constructor(options = {}) {
7
- super();
8
- this.get = (sid, callback) => {
9
- this.ds.get(this.ds.key([this.kind, sid]), (err, entity) => {
10
- if (err) {
11
- return callback(err);
12
- }
13
- if (!entity) {
14
- return callback(null);
15
- }
16
- let result;
17
- try {
18
- result = JSON.parse(entity.data);
19
- }
20
- catch (er) {
21
- return callback(er);
22
- }
23
- if (!entity.createdAt || !this.expirationMs) {
24
- return callback(null, result);
25
- }
26
- const createdAtMs = entity.createdAt.valueOf();
27
- const expiresAtMs = createdAtMs + this.expirationMs;
28
- const nowMs = new Date().valueOf();
29
- if (expiresAtMs <= nowMs) {
30
- this.destroy(sid, err => {
31
- if (err) {
32
- return callback(err);
33
- }
34
- return callback(null);
35
- });
36
- return;
37
- }
38
- return callback(null, result);
39
- });
40
- };
41
- this.set = (sid, sess, callback) => {
42
- callback = callback || (() => { });
43
- let sessJson;
44
- try {
45
- sessJson = JSON.stringify(sess);
46
- }
47
- catch (err) {
48
- return callback(err);
49
- }
50
- const createdAt = new Date();
51
- const data = [
52
- {
53
- name: 'data',
54
- value: sessJson,
55
- excludeFromIndexes: true,
56
- },
57
- {
58
- name: 'createdAt',
59
- value: createdAt,
60
- },
61
- ];
62
- this.ds.save({
63
- key: this.ds.key([this.kind, sid]),
64
- data,
65
- }, callback);
66
- };
67
- this.destroy = (sid, callback) => {
68
- this.ds.delete(this.ds.key([this.kind, sid]), callback);
69
- };
70
- this.ds = (options.dataset || options.datastore);
71
- if (!this.ds) {
72
- throw new Error('No dataset provided to Datastore Session.');
73
- }
74
- this.kind = options.kind || 'Session';
75
- if (options.expirationMs) {
76
- if (typeof options.expirationMs !== typeof 0 || options.expirationMs < 0) {
77
- throw new Error('invalid value for option expirationMs: must be an integer greater than 0');
78
- }
79
- this.expirationMs = Number(options.expirationMs);
80
- }
81
- else {
82
- this.expirationMs = 0;
83
- }
84
- }
85
- }
86
- exports.DatastoreStore = DatastoreStore;
87
- //# sourceMappingURL=node-datastore-session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node-datastore-session.js","sourceRoot":"","sources":["../../src/datastore/node-datastore-session.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- import { Datastore } from '@google-cloud/datastore';
2
- import { entity as Entity } from '@google-cloud/datastore/build/src/entity';
3
- import { RunQueryInfo } from '@google-cloud/datastore/build/src/query';
4
- import * as t from 'io-ts';
5
- import { Omit, OneOrMany } from '../util/types';
6
- import { Context } from './context';
7
- import { Index, QueryOptions } from './loader';
8
- export interface RepositoryOptions<T extends {
9
- id: any;
10
- }> {
11
- defaultValues?: Partial<Omit<T, 'id'>>;
12
- index?: Index<Omit<T, 'id'>>;
13
- }
14
- export declare function buildExclusions<T>(input: T, schema?: Index<T>, path?: string): string[];
15
- export declare const datastoreKey: t.Type<Entity.Key, Entity.Key, unknown>;
16
- export declare const dateType: t.Type<Date, Date, unknown>;
17
- export interface BaseEntity {
18
- id: string;
19
- }
20
- export declare class Repository<T extends BaseEntity> {
21
- private readonly datastore;
22
- protected readonly kind: string;
23
- protected readonly options: RepositoryOptions<T>;
24
- private readonly validator;
25
- constructor(datastore: Datastore, kind: string, validator: t.Type<T>, options?: RepositoryOptions<T>);
26
- getRequired(context: Context, id: string): Promise<T>;
27
- get(context: Context, id: string): Promise<T | undefined>;
28
- get(context: Context, id: ReadonlyArray<string>): Promise<ReadonlyArray<T> | undefined>;
29
- query(context: Context, options?: Partial<QueryOptions<T>>): Promise<[ReadonlyArray<T>, RunQueryInfo]>;
30
- save(context: Context, entities: T): Promise<T>;
31
- save(context: Context, entities: ReadonlyArray<T>): Promise<ReadonlyArray<T>>;
32
- update(context: Context, entities: T): Promise<T>;
33
- update(context: Context, entities: ReadonlyArray<T>): Promise<ReadonlyArray<T>>;
34
- insert(context: Context, entities: T): Promise<T>;
35
- insert(context: Context, entities: ReadonlyArray<T>): Promise<ReadonlyArray<T>>;
36
- upsert(context: Context, entities: T): Promise<T>;
37
- upsert(context: Context, entities: ReadonlyArray<T>): Promise<ReadonlyArray<T>>;
38
- protected beforePersist(context: Context, entities: OneOrMany<T>): OneOrMany<T>;
39
- reindex(context: Context, operation?: (input: T) => T | Promise<T>): Promise<readonly T[]>;
40
- delete(context: Context, ...ids: string[]): Promise<void>;
41
- deleteAll(context: Context): Promise<void>;
42
- key: (name: string) => Entity.Key;
43
- private validate;
44
- private applyMutation;
45
- }
@@ -1,150 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Repository = exports.dateType = exports.datastoreKey = void 0;
4
- exports.buildExclusions = buildExclusions;
5
- const datastore_1 = require("@google-cloud/datastore");
6
- const entity_1 = require("@google-cloud/datastore/build/src/entity");
7
- const t = require("io-ts");
8
- const io_ts_reporters_1 = require("io-ts-reporters");
9
- const _ = require("lodash");
10
- const types_1 = require("../util/types");
11
- const Either_1 = require("fp-ts/lib/Either");
12
- function buildExclusions(input, schema = {}, path = '') {
13
- if (schema === true) {
14
- return [];
15
- }
16
- else if (Array.isArray(input)) {
17
- return _.chain(input)
18
- .flatMap(value => {
19
- return buildExclusions(value, schema, `${path}[]`);
20
- })
21
- .push(`${path}[]`)
22
- .uniq()
23
- .value();
24
- }
25
- else if (typeof input === 'object') {
26
- const paths = _.flatMap(input, (value, key) => {
27
- return buildExclusions(value, schema[key], `${path}${path.length > 0 ? '.' : ''}${key}`);
28
- });
29
- if (path) {
30
- paths.push(path);
31
- }
32
- return paths;
33
- }
34
- return [path];
35
- }
36
- exports.datastoreKey = new t.Type('Entity.Key', (input) => typeof input === 'object', input => t.success(input), (value) => value);
37
- exports.dateType = new t.Type('DateType', (m) => m instanceof Date, (m, c) => (m instanceof Date ? t.success(m) : t.failure('Value is not date', c)), a => a);
38
- class LoadError extends Error {
39
- constructor(kind, id, errors) {
40
- super(`"${kind}" with id "${id}" failed to load due to ${errors.length} errors:\n${errors.join('\n')}`);
41
- }
42
- }
43
- class SaveError extends Error {
44
- constructor(kind, id, errors) {
45
- super(`"${kind}" with id "${id}" failed to save due to ${errors.length} errors:\n${errors.join('\n')}`);
46
- }
47
- }
48
- class Repository {
49
- constructor(datastore, kind, validator, options = {}) {
50
- this.datastore = datastore;
51
- this.kind = kind;
52
- this.options = options;
53
- this.key = (name) => {
54
- return this.datastore.key([this.kind, name]);
55
- };
56
- this.validate = (id, value) => {
57
- const entity = Object.assign(Object.assign(Object.assign({}, this.options.defaultValues), value), { id });
58
- const validation = this.validator.decode(entity);
59
- if ((0, Either_1.isLeft)(validation)) {
60
- const errors = io_ts_reporters_1.default.report(validation);
61
- throw new LoadError(this.kind, id, errors);
62
- }
63
- return validation.right;
64
- };
65
- this.validator = validator;
66
- }
67
- async getRequired(context, id) {
68
- const result = await this.get(context, id);
69
- if (!result) {
70
- throw new LoadError(this.kind, id, ['invalid id']);
71
- }
72
- return result;
73
- }
74
- async get(context, ids) {
75
- const idArray = (0, types_1.asArray)(ids);
76
- const allKeys = idArray.map(this.key);
77
- const results = await context.datastore.get(allKeys);
78
- const validatedResults = results.map((result, idx) => {
79
- if (result) {
80
- return this.validate(idArray[idx], result);
81
- }
82
- return result;
83
- });
84
- if (Array.isArray(ids)) {
85
- return validatedResults;
86
- }
87
- else {
88
- return validatedResults[0];
89
- }
90
- }
91
- async query(context, options = {}) {
92
- const [results, queryInfo] = await context.datastore.executeQuery(this.kind, options);
93
- return [
94
- results.map(value => this.validate(value[entity_1.entity.KEY_SYMBOL].name, _.omit(value, datastore_1.Datastore.KEY))),
95
- queryInfo,
96
- ];
97
- }
98
- async save(context, entities) {
99
- return this.applyMutation(context, this.beforePersist(context, entities), (loader, e) => loader.save(e));
100
- }
101
- async update(context, entities) {
102
- return this.applyMutation(context, this.beforePersist(context, entities), (loader, e) => loader.update(e));
103
- }
104
- async insert(context, entities) {
105
- return this.applyMutation(context, this.beforePersist(context, entities), (loader, e) => loader.insert(e));
106
- }
107
- async upsert(context, entities) {
108
- return this.applyMutation(context, this.beforePersist(context, entities), (loader, e) => loader.upsert(e));
109
- }
110
- beforePersist(context, entities) {
111
- return entities;
112
- }
113
- async reindex(context, operation = input => input) {
114
- const [allEntities] = await this.query(context);
115
- const updatedEntities = await Promise.all(allEntities.map(operation));
116
- return this.update(context, updatedEntities);
117
- }
118
- async delete(context, ...ids) {
119
- const allIds = ids.map(id => this.key(id));
120
- await context.datastore.delete(allIds);
121
- }
122
- async deleteAll(context) {
123
- const [allEntities] = await this.query(context);
124
- const allIds = allEntities.map(value => this.key(value.id));
125
- await context.datastore.delete(allIds);
126
- }
127
- async applyMutation(context, entities, mutation) {
128
- const entitiesToSave = (0, types_1.asArray)(entities)
129
- .map(entity => {
130
- const validation = this.validator.decode(entity);
131
- if ((0, Either_1.isLeft)(validation)) {
132
- const errors = io_ts_reporters_1.default.report(validation);
133
- throw new SaveError(this.kind, entity.id, errors);
134
- }
135
- return validation.right;
136
- })
137
- .map(data => {
138
- const withoutId = _.omit(data, 'id');
139
- return {
140
- key: this.key(data.id),
141
- data: withoutId,
142
- excludeFromIndexes: buildExclusions(withoutId, this.options.index),
143
- };
144
- });
145
- await mutation(context.datastore, entitiesToSave);
146
- return entities;
147
- }
148
- }
149
- exports.Repository = Repository;
150
- //# sourceMappingURL=repository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/datastore/repository.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { Context } from './context';
2
- type WithContext = (context: Context, ...args: any[]) => Promise<any>;
3
- export declare function Transactional(): (target: any, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<WithContext>) => TypedPropertyDescriptor<WithContext>;
4
- export {};
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Transactional = Transactional;
4
- function Transactional() {
5
- return function (target, propertyKey, descriptor) {
6
- const value = descriptor.value;
7
- descriptor.value = async function (context, ...args) {
8
- return await context.datastore.inTransaction(async (tx) => await value.apply(this, [tx, ...args]));
9
- };
10
- return descriptor;
11
- };
12
- }
13
- //# sourceMappingURL=transactional.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transactional.js","sourceRoot":"","sources":["../../src/datastore/transactional.ts"],"names":[],"mappings":";;AASA,sCAcC;AAdD,SAAgB,aAAa;IAC3B,OAAO,UACL,MAAW,EACX,WAA4B,EAC5B,UAAgD;QAEhD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAM,CAAC;QAEhC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,OAAO,EAAE,GAAG,IAAI;YACjD,OAAO,MAAM,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnG,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare class NonFatalError extends Error {
2
- constructor(message: string);
3
- }
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NonFatalError = void 0;
4
- class NonFatalError extends Error {
5
- constructor(message) {
6
- super(message);
7
- Object.setPrototypeOf(this, new.target.prototype);
8
- }
9
- }
10
- exports.NonFatalError = NonFatalError;
11
- //# sourceMappingURL=NonFatalError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NonFatalError.js","sourceRoot":"","sources":["../../src/error/NonFatalError.ts"],"names":[],"mappings":";;;AAIA,MAAa,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AALD,sCAKC"}
package/dist/filter.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import { ArgumentsHost, ExceptionFilter, HttpException } from '@nestjs/common';
2
- export declare class NotFoundFilter implements ExceptionFilter {
3
- private readonly logger;
4
- catch(exception: HttpException, host: ArgumentsHost): void | (import("express-session").Session & Partial<import("express-session").SessionData>);
5
- }
package/dist/filter.js DELETED
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NotFoundFilter = void 0;
4
- const tslib_1 = require("tslib");
5
- const common_1 = require("@nestjs/common");
6
- const path = require("path");
7
- const logging_1 = require("./logging");
8
- const saveSessionAndSendIndexPage = (request, response, logger) => {
9
- if (request.session && request.session.save) {
10
- return request.session.save(() => {
11
- logger.debug(`Session saved ${request.session.id}`);
12
- sendIndexPage(response);
13
- });
14
- }
15
- return sendIndexPage(response);
16
- };
17
- const sendIndexPage = (response) => response.status(200).sendFile(path.join(process.cwd(), 'public', 'index.html'));
18
- let NotFoundFilter = class NotFoundFilter {
19
- constructor() {
20
- this.logger = (0, logging_1.createLogger)('not-found-filter');
21
- }
22
- catch(exception, host) {
23
- const ctx = host.switchToHttp();
24
- const response = ctx.getResponse();
25
- const request = ctx.getRequest();
26
- if (request.headers.accept && request.headers.accept.includes('text/html')) {
27
- return saveSessionAndSendIndexPage(request, response, this.logger);
28
- }
29
- response.status(404).json({
30
- statusCode: exception.getStatus(),
31
- timestamp: new Date().toISOString(),
32
- path: request.url,
33
- });
34
- }
35
- };
36
- exports.NotFoundFilter = NotFoundFilter;
37
- exports.NotFoundFilter = NotFoundFilter = tslib_1.__decorate([
38
- (0, common_1.Catch)(common_1.NotFoundException)
39
- ], NotFoundFilter);
40
- //# sourceMappingURL=filter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":";;;;AAAA,2CAAyG;AAEzG,6BAA6B;AAC7B,uCAAiD;AAKjD,MAAM,2BAA2B,GAAG,CAAC,OAAgB,EAAE,QAAkB,EAAE,MAAc,EAAE,EAAE;IAC3F,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YAC/B,MAAM,CAAC,KAAK,CAAC,iBAAiB,OAAO,CAAC,OAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,QAAkB,EAAE,EAAE,CAC3C,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AAG3E,IAAM,cAAc,GAApB,MAAM,cAAc;IAApB;QACY,WAAM,GAAG,IAAA,sBAAY,EAAC,kBAAkB,CAAC,CAAC;IAiB7D,CAAC;IAfC,KAAK,CAAC,SAAwB,EAAE,IAAmB;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAY,CAAC;QAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAW,CAAC;QAE1C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3E,OAAO,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACxB,UAAU,EAAE,SAAS,CAAC,SAAS,EAAE;YACjC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,OAAO,CAAC,GAAG;SAClB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAlBY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,cAAK,EAAC,0BAAiB,CAAC;GACZ,cAAc,CAkB1B"}
@@ -1 +0,0 @@
1
- export * from '../logging/logging';
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("../logging/logging"), exports);
5
- //# sourceMappingURL=logging.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/gcloud/logging.ts"],"names":[],"mappings":";;;AAIA,6DAAmC"}
@@ -1,12 +0,0 @@
1
- import { Configuration } from '../configuration';
2
- import { Bucket, Storage } from '@google-cloud/storage';
3
- export declare class StorageProvider {
4
- private readonly configurationProvider;
5
- private readonly _storage;
6
- private readonly _defaultBucket;
7
- private readonly logger;
8
- constructor(configurationProvider: Configuration);
9
- get storage(): Storage;
10
- get defaultBucket(): Bucket;
11
- getDefaultBucketResumableUploadUrl(fileId: string): Promise<string>;
12
- }
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StorageProvider = void 0;
4
- const tslib_1 = require("tslib");
5
- const common_1 = require("@nestjs/common");
6
- const storage_1 = require("@google-cloud/storage");
7
- const logging_1 = require("./logging");
8
- let StorageProvider = class StorageProvider {
9
- constructor(configurationProvider) {
10
- this.configurationProvider = configurationProvider;
11
- this.logger = (0, logging_1.createLogger)('storage');
12
- const config = {};
13
- if (configurationProvider.isDevelopment()) {
14
- this.logger.info('Application is running locally, using keyfile.json credentials to connect to Google Cloud Storage');
15
- config.keyFilename = './keyfile.json';
16
- }
17
- this._storage = new storage_1.Storage(config);
18
- this.logger.info(`Default Google Cloud Storage bucket: ${configurationProvider.bucket}`);
19
- this._defaultBucket = this.storage.bucket(configurationProvider.bucket);
20
- }
21
- get storage() {
22
- return this._storage;
23
- }
24
- get defaultBucket() {
25
- return this._defaultBucket;
26
- }
27
- async getDefaultBucketResumableUploadUrl(fileId) {
28
- const gcsFile = this._defaultBucket.file(fileId);
29
- const urls = await gcsFile.createResumableUpload({
30
- origin: this.configurationProvider.host,
31
- });
32
- return urls[0];
33
- }
34
- };
35
- exports.StorageProvider = StorageProvider;
36
- exports.StorageProvider = StorageProvider = tslib_1.__decorate([
37
- (0, common_1.Injectable)(),
38
- tslib_1.__param(0, (0, common_1.Inject)('Configuration')),
39
- tslib_1.__metadata("design:paramtypes", [Object])
40
- ], StorageProvider);
41
- //# sourceMappingURL=storage.provider.js.map