@nx-ddd/common 19.0.0-preview.29 → 19.0.0-preview.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.
Files changed (155) hide show
  1. package/README.md +40 -0
  2. package/domain/index.d.ts +0 -1
  3. package/domain/index.js +6 -0
  4. package/domain/index.js.map +1 -0
  5. package/domain/models.d.ts +0 -1
  6. package/domain/models.js +129 -0
  7. package/domain/models.js.map +1 -0
  8. package/domain/repository.d.ts +5 -24
  9. package/domain/repository.js +27 -0
  10. package/domain/repository.js.map +1 -0
  11. package/domain/resolver.js +25 -0
  12. package/domain/resolver.js.map +1 -0
  13. package/index.js +5 -0
  14. package/index.js.map +1 -0
  15. package/infrastructure/converter.js +7 -0
  16. package/infrastructure/converter.js.map +1 -0
  17. package/infrastructure/externals/backup/backup.service.d.ts +24 -0
  18. package/infrastructure/externals/backup/backup.service.js +67 -0
  19. package/infrastructure/externals/backup/backup.service.js.map +1 -0
  20. package/infrastructure/externals/backup/index.d.ts +1 -0
  21. package/infrastructure/externals/backup/index.js +5 -0
  22. package/infrastructure/externals/backup/index.js.map +1 -0
  23. package/infrastructure/externals/chromium/{impl/chromium.service.impl.d.ts → chromium.service.impl.d.ts} +8 -4
  24. package/infrastructure/externals/chromium/chromium.service.impl.js +58 -0
  25. package/infrastructure/externals/chromium/chromium.service.impl.js.map +1 -0
  26. package/infrastructure/externals/chromium/chromuim.service.d.ts +9 -0
  27. package/infrastructure/externals/chromium/chromuim.service.js +6 -0
  28. package/infrastructure/externals/chromium/chromuim.service.js.map +1 -0
  29. package/infrastructure/externals/chromium/index.d.ts +1 -1
  30. package/infrastructure/externals/chromium/index.js +5 -0
  31. package/infrastructure/externals/chromium/index.js.map +1 -0
  32. package/infrastructure/externals/cloud-storage/cloud-storage.service.d.ts +0 -3
  33. package/infrastructure/externals/cloud-storage/cloud-storage.service.js +43 -0
  34. package/infrastructure/externals/cloud-storage/cloud-storage.service.js.map +1 -0
  35. package/infrastructure/externals/cloud-storage/index.js +5 -0
  36. package/infrastructure/externals/cloud-storage/index.js.map +1 -0
  37. package/infrastructure/externals/firebase-admin/firebase-admin.service.d.ts +8 -1
  38. package/infrastructure/externals/firebase-admin/firebase-admin.service.impl.d.ts +5 -0
  39. package/infrastructure/externals/firebase-admin/firebase-admin.service.impl.js +13 -0
  40. package/infrastructure/externals/firebase-admin/firebase-admin.service.impl.js.map +1 -0
  41. package/infrastructure/externals/firebase-admin/firebase-admin.service.js +11 -0
  42. package/infrastructure/externals/firebase-admin/firebase-admin.service.js.map +1 -0
  43. package/infrastructure/externals/firebase-admin/index.js +5 -0
  44. package/infrastructure/externals/firebase-admin/index.js.map +1 -0
  45. package/infrastructure/externals/openai/index.d.ts +1 -0
  46. package/infrastructure/externals/openai/index.js +6 -0
  47. package/infrastructure/externals/openai/index.js.map +1 -0
  48. package/infrastructure/externals/openai/open-ai.config.js +19 -0
  49. package/infrastructure/externals/openai/open-ai.config.js.map +1 -0
  50. package/infrastructure/externals/openai/open-ai.service.d.ts +3 -3
  51. package/infrastructure/externals/openai/open-ai.service.impl.d.ts +4 -0
  52. package/infrastructure/externals/openai/open-ai.service.impl.js +18 -0
  53. package/infrastructure/externals/openai/open-ai.service.impl.js.map +1 -0
  54. package/infrastructure/externals/openai/open-ai.service.js +11 -0
  55. package/infrastructure/externals/openai/open-ai.service.js.map +1 -0
  56. package/infrastructure/externals/stripe/index.d.ts +1 -0
  57. package/infrastructure/externals/stripe/index.js +6 -0
  58. package/infrastructure/externals/stripe/index.js.map +1 -0
  59. package/infrastructure/externals/stripe/{impl/stripe.config.d.ts → stripe.config.d.ts} +1 -1
  60. package/infrastructure/externals/stripe/stripe.config.js +15 -0
  61. package/infrastructure/externals/stripe/stripe.config.js.map +1 -0
  62. package/infrastructure/externals/stripe/stripe.service.d.ts +3 -1
  63. package/infrastructure/externals/stripe/stripe.service.impl.d.ts +5 -0
  64. package/infrastructure/externals/stripe/stripe.service.impl.js +44 -0
  65. package/infrastructure/externals/stripe/stripe.service.impl.js.map +1 -0
  66. package/infrastructure/externals/stripe/stripe.service.js +11 -0
  67. package/infrastructure/externals/stripe/stripe.service.js.map +1 -0
  68. package/infrastructure/index.d.ts +1 -0
  69. package/infrastructure/index.js +7 -0
  70. package/infrastructure/index.js.map +1 -0
  71. package/infrastructure/queries/cached-query.d.ts +1 -4
  72. package/infrastructure/queries/cached-query.js +47 -0
  73. package/infrastructure/queries/cached-query.js.map +1 -0
  74. package/infrastructure/queries/index.js +5 -0
  75. package/infrastructure/queries/index.js.map +1 -0
  76. package/infrastructure/repo/excel/excel.converter.d.ts +16 -9
  77. package/infrastructure/repo/excel/excel.converter.js +71 -0
  78. package/infrastructure/repo/excel/excel.converter.js.map +1 -0
  79. package/infrastructure/repo/excel/excel.decorators.js +55 -0
  80. package/infrastructure/repo/excel/excel.decorators.js.map +1 -0
  81. package/infrastructure/repo/excel/excel.repository.d.ts +4 -15
  82. package/infrastructure/repo/excel/excel.repository.js +32 -0
  83. package/infrastructure/repo/excel/excel.repository.js.map +1 -0
  84. package/infrastructure/repo/excel/{impl/excel.service.impl.d.ts → excel.service.impl.d.ts} +3 -6
  85. package/infrastructure/repo/excel/excel.service.impl.js +61 -0
  86. package/infrastructure/repo/excel/excel.service.impl.js.map +1 -0
  87. package/infrastructure/repo/excel/index.js +7 -0
  88. package/infrastructure/repo/excel/index.js.map +1 -0
  89. package/infrastructure/synchronizer.js +18 -0
  90. package/infrastructure/synchronizer.js.map +1 -0
  91. package/package.json +12 -94
  92. package/utilities/generate-id.js +23 -0
  93. package/utilities/generate-id.js.map +1 -0
  94. package/utilities/index.d.ts +0 -1
  95. package/utilities/index.js +6 -0
  96. package/utilities/index.js.map +1 -0
  97. package/utilities/message.js +26 -0
  98. package/utilities/message.js.map +1 -0
  99. package/utilities/to-object.js +14 -0
  100. package/utilities/to-object.js.map +1 -0
  101. package/fesm2022/nx-ddd-common-domain.mjs +0 -180
  102. package/fesm2022/nx-ddd-common-domain.mjs.map +0 -1
  103. package/fesm2022/nx-ddd-common-infrastructure-externals-chromium-impl.mjs +0 -59
  104. package/fesm2022/nx-ddd-common-infrastructure-externals-chromium-impl.mjs.map +0 -1
  105. package/fesm2022/nx-ddd-common-infrastructure-externals-chromium-token.mjs +0 -10
  106. package/fesm2022/nx-ddd-common-infrastructure-externals-chromium-token.mjs.map +0 -1
  107. package/fesm2022/nx-ddd-common-infrastructure-externals-chromium.mjs +0 -10
  108. package/fesm2022/nx-ddd-common-infrastructure-externals-chromium.mjs.map +0 -1
  109. package/fesm2022/nx-ddd-common-infrastructure-externals-cloud-storage.mjs +0 -46
  110. package/fesm2022/nx-ddd-common-infrastructure-externals-cloud-storage.mjs.map +0 -1
  111. package/fesm2022/nx-ddd-common-infrastructure-externals-firebase-admin-impl.mjs +0 -16
  112. package/fesm2022/nx-ddd-common-infrastructure-externals-firebase-admin-impl.mjs.map +0 -1
  113. package/fesm2022/nx-ddd-common-infrastructure-externals-firebase-admin-token.mjs +0 -10
  114. package/fesm2022/nx-ddd-common-infrastructure-externals-firebase-admin-token.mjs.map +0 -1
  115. package/fesm2022/nx-ddd-common-infrastructure-externals-firebase-admin.mjs +0 -13
  116. package/fesm2022/nx-ddd-common-infrastructure-externals-firebase-admin.mjs.map +0 -1
  117. package/fesm2022/nx-ddd-common-infrastructure-externals-openai-impl.mjs +0 -37
  118. package/fesm2022/nx-ddd-common-infrastructure-externals-openai-impl.mjs.map +0 -1
  119. package/fesm2022/nx-ddd-common-infrastructure-externals-openai-token.mjs +0 -10
  120. package/fesm2022/nx-ddd-common-infrastructure-externals-openai-token.mjs.map +0 -1
  121. package/fesm2022/nx-ddd-common-infrastructure-externals-openai.mjs +0 -14
  122. package/fesm2022/nx-ddd-common-infrastructure-externals-openai.mjs.map +0 -1
  123. package/fesm2022/nx-ddd-common-infrastructure-externals-stripe-impl.mjs +0 -33
  124. package/fesm2022/nx-ddd-common-infrastructure-externals-stripe-impl.mjs.map +0 -1
  125. package/fesm2022/nx-ddd-common-infrastructure-externals-stripe-token.mjs +0 -10
  126. package/fesm2022/nx-ddd-common-infrastructure-externals-stripe-token.mjs.map +0 -1
  127. package/fesm2022/nx-ddd-common-infrastructure-externals-stripe.mjs +0 -13
  128. package/fesm2022/nx-ddd-common-infrastructure-externals-stripe.mjs.map +0 -1
  129. package/fesm2022/nx-ddd-common-infrastructure-queries.mjs +0 -54
  130. package/fesm2022/nx-ddd-common-infrastructure-queries.mjs.map +0 -1
  131. package/fesm2022/nx-ddd-common-infrastructure-repo-excel-impl.mjs +0 -63
  132. package/fesm2022/nx-ddd-common-infrastructure-repo-excel-impl.mjs.map +0 -1
  133. package/fesm2022/nx-ddd-common-infrastructure-repo-excel-token.mjs +0 -10
  134. package/fesm2022/nx-ddd-common-infrastructure-repo-excel-token.mjs.map +0 -1
  135. package/fesm2022/nx-ddd-common-infrastructure-repo-excel.mjs +0 -160
  136. package/fesm2022/nx-ddd-common-infrastructure-repo-excel.mjs.map +0 -1
  137. package/fesm2022/nx-ddd-common-infrastructure.mjs +0 -25
  138. package/fesm2022/nx-ddd-common-infrastructure.mjs.map +0 -1
  139. package/fesm2022/nx-ddd-common.mjs +0 -57
  140. package/fesm2022/nx-ddd-common.mjs.map +0 -1
  141. package/infrastructure/externals/chromium/chromium.service.d.ts +0 -3
  142. package/infrastructure/externals/chromium/impl/index.d.ts +0 -1
  143. package/infrastructure/externals/chromium/token/index.d.ts +0 -1
  144. package/infrastructure/externals/firebase-admin/impl/firebase-admin.service.impl.d.ts +0 -5
  145. package/infrastructure/externals/firebase-admin/impl/index.d.ts +0 -1
  146. package/infrastructure/externals/firebase-admin/token/index.d.ts +0 -8
  147. package/infrastructure/externals/openai/impl/index.d.ts +0 -2
  148. package/infrastructure/externals/openai/impl/open-ai.service.impl.d.ts +0 -7
  149. package/infrastructure/externals/openai/token/index.d.ts +0 -1
  150. package/infrastructure/externals/stripe/impl/index.d.ts +0 -2
  151. package/infrastructure/externals/stripe/impl/stripe.service.impl.d.ts +0 -8
  152. package/infrastructure/externals/stripe/token/index.d.ts +0 -2
  153. package/infrastructure/repo/excel/impl/index.d.ts +0 -1
  154. package/infrastructure/repo/excel/token/index.d.ts +0 -1
  155. /package/infrastructure/externals/openai/{impl/open-ai.config.d.ts → open-ai.config.d.ts} +0 -0
package/README.md ADDED
@@ -0,0 +1,40 @@
1
+ # NxDDD Common
2
+ `@nx-ddd/common` is a library used for domain model annotations and related functionalities.
3
+
4
+ ## Install
5
+ ```sh
6
+ $ npm i @nx-ddd/common
7
+ ```
8
+
9
+ ## Usage
10
+
11
+ ```ts
12
+ import { Domain, getAnnotations, getLangMap, getModelName } from './models';
13
+
14
+ @Domain.Entity({name: 'Profile'})
15
+ class Profile {
16
+ @Domain.Lang('名前') name: string;
17
+ @Domain.Lang('メールアドレス') email: string;
18
+ }
19
+
20
+ @Domain.Entity({name: 'ユーザー'})
21
+ class User {
22
+ @Domain.Lang('ID') id: string;
23
+ @Domain.Type() profile: Profile;
24
+ @Domain.Lang('作成日時') createdAt: Date;
25
+ @Domain.Lang('更新日時') updatedAt: Date;
26
+ }
27
+
28
+ getLangMap(User);
29
+ /**
30
+ -> {
31
+ id: 'ID',
32
+ 'profile.name': '名前',
33
+ 'profile.email': 'メールアドレス',
34
+ createdAt: '作成日時',
35
+ updatedAt: '更新日時',
36
+ }
37
+ * */
38
+
39
+ getModelName(User) // -> 'ユーザー'
40
+ ```
package/domain/index.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  export * from './models';
2
- export * from './repository';
3
2
  export * from './resolver';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./models"), exports);
5
+ tslib_1.__exportStar(require("./resolver"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/common/src/domain/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,qDAA2B"}
@@ -67,5 +67,4 @@ export declare class Entity {
67
67
  static toObj(entity: Entity): Entity;
68
68
  }
69
69
  export declare function TransformToDayjs(): PropertyDecorator;
70
- export declare function TransformToDate(): PropertyDecorator;
71
70
  export {};
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Entity = exports.Domain = void 0;
4
+ exports.getLangMap = getLangMap;
5
+ exports.getAnnotations = getAnnotations;
6
+ exports.getDomainProps = getDomainProps;
7
+ exports.getProps = getProps;
8
+ exports.getModelName = getModelName;
9
+ exports.getEntityName = getEntityName;
10
+ exports.TransformToDayjs = TransformToDayjs;
11
+ const tslib_1 = require("tslib");
12
+ require("reflect-metadata");
13
+ const to_object_1 = require("../utilities/to-object");
14
+ const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
15
+ const flat_1 = require("flat");
16
+ const class_transformer_1 = require("class-transformer");
17
+ const lodash_es_1 = require("lodash-es");
18
+ class Domain {
19
+ static Lang(name) {
20
+ return (target, propName) => {
21
+ this.registerAnnotation(target.constructor, { propName, type: 'prop:lang', name });
22
+ };
23
+ }
24
+ static Type(typeFactory) {
25
+ return (target, propName) => {
26
+ if (!typeFactory) {
27
+ const type = Reflect.getMetadata('design:type', target, propName);
28
+ typeFactory = () => type;
29
+ }
30
+ this.registerAnnotation(target.constructor, { propName, typeFactory, type: 'prop:type' });
31
+ };
32
+ }
33
+ // classをデコレートしてnameをアノテーションする
34
+ static Entity(propsOrName) {
35
+ const props = typeof propsOrName === 'string' ? { name: propsOrName } : propsOrName;
36
+ return (target) => {
37
+ this.registerAnnotation(target, { name: props.name, type: 'model:lang', modelName: target.name });
38
+ };
39
+ }
40
+ static registerAnnotation(constructor, annotation) {
41
+ var _a;
42
+ var _b;
43
+ (_a = constructor[_b = this.ANNOTATIONS]) !== null && _a !== void 0 ? _a : (constructor[_b] = []);
44
+ constructor[this.ANNOTATIONS].push(annotation);
45
+ }
46
+ }
47
+ exports.Domain = Domain;
48
+ Domain.ANNOTATIONS = Symbol('annotations');
49
+ function getLangMap(domain, mergeObj = {}) {
50
+ return (0, flat_1.flatten)((0, lodash_es_1.merge)(_getLangMap(domain), mergeObj));
51
+ }
52
+ function _getLangMap(target) {
53
+ var _a;
54
+ return (0, flat_1.flatten)((_a = getAnnotations(target).reduce((acc, annotation) => {
55
+ var _a;
56
+ switch (annotation.type) {
57
+ case 'prop:lang': {
58
+ acc[annotation.propName] = annotation.name;
59
+ break;
60
+ }
61
+ case 'prop:type': {
62
+ const type = (_a = annotation.typeFactory) === null || _a === void 0 ? void 0 : _a.call(annotation);
63
+ acc[annotation.propName] = getLangMap(type);
64
+ break;
65
+ }
66
+ }
67
+ return acc;
68
+ }, {})) !== null && _a !== void 0 ? _a : {});
69
+ }
70
+ function getAnnotations(target) {
71
+ var _a;
72
+ return (_a = target === null || target === void 0 ? void 0 : target[Domain.ANNOTATIONS]) !== null && _a !== void 0 ? _a : [];
73
+ }
74
+ /**
75
+ * @deprecated
76
+ * use getProps instead.
77
+ */
78
+ function getDomainProps(target, deps = 3, path = '') {
79
+ return getProps(target, deps, path);
80
+ }
81
+ function getProps(target, deps = 3, path = '') {
82
+ return getAnnotations(target).map((annotation) => {
83
+ var _a;
84
+ switch (annotation.type) {
85
+ case 'prop:lang': {
86
+ return `${path}${annotation.propName}`;
87
+ }
88
+ case 'prop:type': {
89
+ if (deps > 0) {
90
+ const type = (_a = annotation.typeFactory) === null || _a === void 0 ? void 0 : _a.call(annotation);
91
+ return getProps(type, deps - 1, `${path}${annotation.propName}.`);
92
+ }
93
+ return [];
94
+ }
95
+ default: return [];
96
+ }
97
+ }).flat();
98
+ }
99
+ function getModelName(target) {
100
+ var _a, _b;
101
+ return (_b = (_a = getAnnotations(target).find(annotation => {
102
+ return annotation.type === 'model:lang';
103
+ })) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : target.name;
104
+ }
105
+ function getEntityName(target) {
106
+ var _a, _b;
107
+ return (_b = (_a = getAnnotations(target).find(annotation => {
108
+ return annotation.type === 'model:lang';
109
+ })) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : target.name;
110
+ }
111
+ class Entity {
112
+ static fromObj(obj) {
113
+ return Object.assign(new this(), Object.assign({ id: null, createdAt: null, updatedAt: null }, obj));
114
+ }
115
+ static toObj(entity) {
116
+ return (0, to_object_1.toObject)(entity);
117
+ }
118
+ }
119
+ exports.Entity = Entity;
120
+ function TransformToDayjs() {
121
+ return (0, class_transformer_1.Transform)(({ value }) => {
122
+ if (typeof value === 'undefined')
123
+ return undefined;
124
+ if ((0, dayjs_1.default)(value).isValid())
125
+ return (0, dayjs_1.default)(value);
126
+ return value;
127
+ }, {});
128
+ }
129
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/common/src/domain/models.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,11 @@
1
1
  import { Entity } from './models';
2
- import { Observable } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
2
  export type PartialWithId<E extends Entity> = Pick<E, 'id'> & Partial<E>;
5
3
  export declare abstract class Repository<E extends {
6
4
  id: string;
7
5
  }> {
8
- abstract get(params: {
9
- id: string;
10
- }): Promise<E>;
11
- abstract list(): Promise<E[]>;
12
- abstract listChanges(): Observable<E[]>;
13
- abstract create(data: Omit<E, 'id' | 'createdAt' | 'updatedAt'> & Partial<Pick<E, 'id'>>): Promise<E>;
14
- abstract createMany(data: Omit<E, 'id' | 'createdAt' | 'updatedAt'>[]): Promise<E[]>;
15
- abstract update(data: Partial<E> & {
16
- id: string;
17
- }): Promise<void>;
18
- abstract updateMany(data: Partial<E>[]): Promise<void>;
19
- abstract save(data: Partial<E>): Promise<boolean | [E, boolean]>;
20
- abstract saveMany(entities: E[]): Promise<void>;
21
- abstract delete(params: {
22
- id: string;
23
- }): Promise<void>;
24
- abstract deleteMany(params: {
25
- id: string;
26
- }[]): Promise<number>;
27
- abstract deleteAll(): Promise<void>;
28
- static ɵfac: i0.ɵɵFactoryDeclaration<Repository<any>, never>;
29
- static ɵprov: i0.ɵɵInjectableDeclaration<Repository<any>>;
6
+ list(): Promise<E[]>;
7
+ get(entity: Pick<E, 'id'>): Promise<E>;
8
+ create(entity: E): Promise<E>;
9
+ update(entity: Pick<E, 'id'> & Partial<E>): Promise<void>;
10
+ delete(entity: Pick<E, 'id'>): Promise<void>;
30
11
  }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Repository = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ let Repository = class Repository {
7
+ list() {
8
+ throw new Error('is not implemented!');
9
+ }
10
+ get(entity) {
11
+ throw new Error('is not implemented!');
12
+ }
13
+ create(entity) {
14
+ throw new Error('is not implemented!');
15
+ }
16
+ update(entity) {
17
+ throw new Error('is not implemented!');
18
+ }
19
+ delete(entity) {
20
+ throw new Error('is not implemented!');
21
+ }
22
+ };
23
+ exports.Repository = Repository;
24
+ exports.Repository = Repository = tslib_1.__decorate([
25
+ (0, core_1.Injectable)()
26
+ ], Repository);
27
+ //# sourceMappingURL=repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/common/src/domain/repository.ts"],"names":[],"mappings":";;;;AAAA,wCAA2C;AAMpC,IAAe,UAAU,GAAzB,MAAe,UAAU;IAC9B,IAAI;QACF,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,CAAC,MAAqB;QACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,MAAS;QACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,MAAkC;QACvC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,MAAqB;QAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AApBqB,gCAAU;qBAAV,UAAU;IAD/B,IAAA,iBAAU,GAAE;GACS,UAAU,CAoB/B"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Resolver = void 0;
4
+ class Resolver {
5
+ constructor() {
6
+ this.entiityMap = new Map();
7
+ }
8
+ makeEntityMap(entities, key) {
9
+ return new Map(entities.map((entity) => [entity[key], entity]));
10
+ }
11
+ setEntityMap(name, entityMap) {
12
+ this.entiityMap.set(name, entityMap);
13
+ }
14
+ getEntityMap(name) {
15
+ return this.entiityMap.get(name);
16
+ }
17
+ registerEntityMap(name, entities, key) {
18
+ this.setEntityMap(name, this.makeEntityMap(entities, key));
19
+ }
20
+ getEntity(name, key) {
21
+ return this.getEntityMap(name).get(key);
22
+ }
23
+ }
24
+ exports.Resolver = Resolver;
25
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/common/src/domain/resolver.ts"],"names":[],"mappings":";;;AAAA,MAAsB,QAAQ;IAA9B;QACS,eAAU,GAAG,IAAI,GAAG,EAA4B,CAAC;IAqB1D,CAAC;IAnBU,aAAa,CAAI,QAAa,EAAE,GAAY;QACrD,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAES,YAAY,CAAI,IAAY,EAAE,SAAyB;QAChE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IAES,YAAY,CAAI,IAAY;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAES,iBAAiB,CAAI,IAAY,EAAE,QAAa,EAAE,GAAY;QACvE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAES,SAAS,CAAI,IAAY,EAAE,GAAW;QAC/C,OAAO,IAAI,CAAC,YAAY,CAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;CACD;AAtBD,4BAsBC"}
package/index.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./utilities"), exports);
5
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/@nx-ddd/common/src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Converter = void 0;
4
+ class Converter {
5
+ }
6
+ exports.Converter = Converter;
7
+ //# sourceMappingURL=converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/common/src/infrastructure/converter.ts"],"names":[],"mappings":";;;AAAA,MAAsB,SAAS;CAG9B;AAHD,8BAGC"}
@@ -0,0 +1,24 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import dayjs from 'dayjs';
3
+ export interface BackupConfig {
4
+ projectId: string;
5
+ bucketName: string;
6
+ databaseName?: string;
7
+ credentials?: any;
8
+ }
9
+ export declare const BACKUP_CONFIG: InjectionToken<BackupConfig>;
10
+ export declare function provideBackupConfig(config: BackupConfig): {
11
+ provide: InjectionToken<BackupConfig>;
12
+ useValue: BackupConfig;
13
+ };
14
+ export declare function injectBackupConfig(): BackupConfig;
15
+ export declare class BackupService {
16
+ private config;
17
+ private opts;
18
+ private client;
19
+ export(name?: string): Promise<string>;
20
+ import(name: string): Promise<string>;
21
+ clean(date?: dayjs.Dayjs): Promise<void>;
22
+ private get databaseName();
23
+ private get bucketName();
24
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BackupService = exports.BACKUP_CONFIG = void 0;
4
+ exports.provideBackupConfig = provideBackupConfig;
5
+ exports.injectBackupConfig = injectBackupConfig;
6
+ const tslib_1 = require("tslib");
7
+ const firestore_1 = tslib_1.__importDefault(require("@google-cloud/firestore"));
8
+ const core_1 = require("@angular/core");
9
+ const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
10
+ const firebase_admin_1 = tslib_1.__importDefault(require("firebase-admin"));
11
+ exports.BACKUP_CONFIG = new core_1.InjectionToken('[@nx-ddd/common/backup] Backup Config');
12
+ function provideBackupConfig(config) {
13
+ return { provide: exports.BACKUP_CONFIG, useValue: config };
14
+ }
15
+ function injectBackupConfig() {
16
+ return (0, core_1.inject)(exports.BACKUP_CONFIG);
17
+ }
18
+ let BackupService = class BackupService {
19
+ constructor() {
20
+ var _a, _b;
21
+ this.config = injectBackupConfig();
22
+ this.opts = ((_a = this.config) === null || _a === void 0 ? void 0 : _a.credentials) ? { credentials: (_b = this.config) === null || _b === void 0 ? void 0 : _b.credentials } : undefined;
23
+ this.client = new firestore_1.default.v1.FirestoreAdminClient(this.opts);
24
+ }
25
+ export(name) {
26
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
27
+ return this.client.exportDocuments({
28
+ name: this.databaseName,
29
+ outputUriPrefix: `gs://${this.bucketName}/_backups/${name !== null && name !== void 0 ? name : (0, dayjs_1.default)().toISOString()}`,
30
+ collectionIds: [],
31
+ }).then((responses) => responses[0].name);
32
+ });
33
+ }
34
+ import(name) {
35
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
+ return this.client.importDocuments({
37
+ name: this.databaseName,
38
+ inputUriPrefix: `gs://${this.bucketName}/_backups/${name}`,
39
+ collectionIds: [],
40
+ }).then((responses) => responses[0].name);
41
+ });
42
+ }
43
+ clean() {
44
+ return tslib_1.__awaiter(this, arguments, void 0, function* (date = (0, dayjs_1.default)().add(-30, 'day')) {
45
+ const bucket = firebase_admin_1.default.storage().bucket(`${this.config.projectId}.appspot.com`);
46
+ const [files] = yield bucket.getFiles({ prefix: '_backups', autoPaginate: true });
47
+ const promises = files
48
+ .filter(file => (0, dayjs_1.default)(file.name.split('/')[1]).isBefore(date))
49
+ .map(file => file.delete());
50
+ yield Promise.all(promises);
51
+ });
52
+ }
53
+ get databaseName() {
54
+ if (this.config.databaseName) {
55
+ return this.config.databaseName;
56
+ }
57
+ return this.client.databasePath(this.config.projectId, '(default)');
58
+ }
59
+ get bucketName() {
60
+ return this.config.bucketName;
61
+ }
62
+ };
63
+ exports.BackupService = BackupService;
64
+ exports.BackupService = BackupService = tslib_1.__decorate([
65
+ (0, core_1.Injectable)({ providedIn: 'root' })
66
+ ], BackupService);
67
+ //# sourceMappingURL=backup.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.service.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/externals/backup/backup.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './backup.service';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./backup.service"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/externals/backup/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC"}
@@ -1,14 +1,18 @@
1
1
  import { EnvironmentProviders } from "@angular/core";
2
2
  import { Browser } from "playwright";
3
- import * as i0 from "@angular/core";
4
3
  export interface ChromiumConfig {
5
4
  headless: boolean;
6
5
  }
7
- export declare const CHROMIUM_CONFIG: import("@nx-ddd/core").DiToken<ChromiumConfig>;
6
+ export declare const CHROMIUM_CONFIG: {
7
+ token: import("@angular/core").InjectionToken<ChromiumConfig>;
8
+ inject: () => ChromiumConfig;
9
+ provide: (useFactory: () => ChromiumConfig) => {
10
+ provide: import("@angular/core").InjectionToken<ChromiumConfig>;
11
+ useFactory: () => ChromiumConfig;
12
+ };
13
+ };
8
14
  export declare class ChromiumService {
9
15
  protected readonly config: ChromiumConfig;
10
16
  start<R = any>(callback: (browser: Browser) => Promise<R>): Promise<R>;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<ChromiumService, never>;
12
- static ɵprov: i0.ɵɵInjectableDeclaration<ChromiumService>;
13
17
  }
14
18
  export declare function provideChromium(useFacotry?: () => ChromiumConfig): EnvironmentProviders;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChromiumService = exports.CHROMIUM_CONFIG = void 0;
4
+ exports.provideChromium = provideChromium;
5
+ const tslib_1 = require("tslib");
6
+ const core_1 = require("@angular/core");
7
+ const core_2 = require("@nx-ddd/core");
8
+ const playwright_1 = require("playwright");
9
+ const puppeteer_chromium_resolver_1 = tslib_1.__importDefault(require("puppeteer-chromium-resolver"));
10
+ const chromuim_service_1 = require("./chromuim.service");
11
+ exports.CHROMIUM_CONFIG = (0, core_2.makeDI)('[@connect-box/app] ChromiumConfig', { optional: false });
12
+ let ChromiumService = class ChromiumService {
13
+ constructor() {
14
+ this.config = exports.CHROMIUM_CONFIG.inject();
15
+ }
16
+ start(callback) {
17
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
18
+ const stats = yield (0, puppeteer_chromium_resolver_1.default)();
19
+ const executablePath = stats.executablePath;
20
+ console.debug('executablePath:', executablePath);
21
+ const browser = yield playwright_1.chromium.launch({
22
+ headless: this.config.headless,
23
+ executablePath: executablePath !== null ? executablePath : undefined,
24
+ timeout: 60 * 1000,
25
+ args: [
26
+ '--no-sandbox',
27
+ '--disable-setuid-sandbox',
28
+ '--disable-dev-shm-usage', // 追加: /dev/shmの使用を無効化
29
+ '--disable-extensions',
30
+ '--disable-gpu',
31
+ '--disable-software-rasterizer',
32
+ '--no-zygote',
33
+ ]
34
+ });
35
+ try {
36
+ const result = yield callback(browser);
37
+ return result;
38
+ }
39
+ catch (error) {
40
+ throw error;
41
+ }
42
+ finally {
43
+ yield browser.close();
44
+ }
45
+ });
46
+ }
47
+ };
48
+ exports.ChromiumService = ChromiumService;
49
+ exports.ChromiumService = ChromiumService = tslib_1.__decorate([
50
+ (0, core_1.Injectable)({ providedIn: 'root' })
51
+ ], ChromiumService);
52
+ function provideChromium(useFacotry = () => ({ headless: true })) {
53
+ return (0, core_1.makeEnvironmentProviders)([
54
+ exports.CHROMIUM_CONFIG.provide(useFacotry),
55
+ chromuim_service_1.CHROMIUM.provide(() => new ChromiumService()),
56
+ ]);
57
+ }
58
+ //# sourceMappingURL=chromium.service.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chromium.service.impl.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/externals/chromium/chromium.service.impl.ts"],"names":[],"mappings":";;;AA8CA,0CAKC;;AAnDD,wCAA2F;AAC3F,uCAAsC;AACtC,2CAA+C;AAE/C,sGAAmD;AACnD,yDAA8C;AAMjC,QAAA,eAAe,GAAG,IAAA,aAAM,EAAiB,mCAAmC,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;AAGvG,IAAM,eAAe,GAArB,MAAM,eAAe;IAArB;QACc,WAAM,GAAG,uBAAe,CAAC,MAAM,EAAE,CAAC;IA6BvD,CAAC;IA3BO,KAAK,CAAU,QAA0C;;YAC7D,MAAM,KAAK,GAAG,MAAM,IAAA,qCAAS,GAAE,CAAC;YAChC,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,MAAM,qBAAQ,CAAC,MAAM,CAAC;gBACpC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,cAAc,EAAE,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,EAAE,GAAG,IAAI;gBAClB,IAAI,EAAE;oBACJ,cAAc;oBACd,0BAA0B;oBAC1B,yBAAyB,EAAE,sBAAsB;oBACjD,sBAAsB;oBACtB,eAAe;oBACf,+BAA+B;oBAC/B,aAAa;iBACd;aACF,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACvC,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAM,KAAK,EAAE,CAAC;gBACd,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;KAAA;CACF,CAAA;AA9BY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,iBAAU,EAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;GACpB,eAAe,CA8B3B;AAED,SAAgB,eAAe,CAAC,aAAmC,GAAG,EAAE,CAAC,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;IACzF,OAAO,IAAA,+BAAwB,EAAC;QAC9B,uBAAe,CAAC,OAAO,CAAC,UAAU,CAAC;QACnC,2BAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ChromiumService } from "./chromium.service.impl";
2
+ export declare const CHROMIUM: {
3
+ token: import("@angular/core").InjectionToken<ChromiumService>;
4
+ inject: () => ChromiumService;
5
+ provide: (useFactory: () => ChromiumService) => {
6
+ provide: import("@angular/core").InjectionToken<ChromiumService>;
7
+ useFactory: () => ChromiumService;
8
+ };
9
+ };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CHROMIUM = void 0;
4
+ const core_1 = require("@nx-ddd/core");
5
+ exports.CHROMIUM = (0, core_1.makeDI)('[@machina/common] CHROMIUM');
6
+ //# sourceMappingURL=chromuim.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chromuim.service.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/externals/chromium/chromuim.service.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAGzB,QAAA,QAAQ,GAAG,IAAA,aAAM,EAAkB,4BAA4B,CAAC,CAAC"}
@@ -1 +1 @@
1
- export * from './chromium.service';
1
+ export * from './chromuim.service';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./chromuim.service"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/externals/chromium/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC"}
@@ -1,6 +1,5 @@
1
1
  import { UploadTask } from '@angular/fire/storage';
2
2
  import { Observable } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
3
  export declare class CloudStorageService {
5
4
  private storage;
6
5
  private task;
@@ -11,6 +10,4 @@ export declare class CloudStorageService {
11
10
  private convertToObservable;
12
11
  upload(path: string, file: File): UploadTask;
13
12
  cancel(): void;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<CloudStorageService, never>;
15
- static ɵprov: i0.ɵɵInjectableDeclaration<CloudStorageService>;
16
13
  }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CloudStorageService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ const storage_1 = require("@angular/fire/storage");
7
+ const rxjs_interop_1 = require("@angular/core/rxjs-interop");
8
+ const rxjs_1 = require("rxjs");
9
+ let CloudStorageService = class CloudStorageService {
10
+ constructor() {
11
+ this.storage = (0, core_1.inject)(storage_1.Storage);
12
+ this.task = (0, core_1.signal)(null);
13
+ this.task$ = (0, rxjs_interop_1.toObservable)(this.task);
14
+ this.progress = (0, rxjs_interop_1.toSignal)(this.task$.pipe((0, rxjs_1.switchMap)(task => task ? this.convertToObservable(task) : (0, rxjs_1.of)(null))));
15
+ this.progress$ = (0, rxjs_interop_1.toObservable)(this.progress);
16
+ }
17
+ getDownloadUrl(filePath) {
18
+ return (0, storage_1.getDownloadURL)((0, storage_1.ref)(this.storage, filePath));
19
+ }
20
+ convertToObservable(task) {
21
+ return new rxjs_1.Observable(sub => {
22
+ task.on('state_changed', snapshot => sub.next(snapshot.bytesTransferred / snapshot.totalBytes * 100));
23
+ task.then(() => (sub.next(null), sub.complete()));
24
+ });
25
+ }
26
+ upload(path, file) {
27
+ this.cancel();
28
+ const storageRef = (0, storage_1.ref)(this.storage, path);
29
+ const task = (0, storage_1.uploadBytesResumable)(storageRef, file);
30
+ this.task.set(task);
31
+ return task;
32
+ }
33
+ cancel() {
34
+ var _a;
35
+ (_a = this.task()) === null || _a === void 0 ? void 0 : _a.cancel();
36
+ this.task.set(null);
37
+ }
38
+ };
39
+ exports.CloudStorageService = CloudStorageService;
40
+ exports.CloudStorageService = CloudStorageService = tslib_1.__decorate([
41
+ (0, core_1.Injectable)({ providedIn: 'any' })
42
+ ], CloudStorageService);
43
+ //# sourceMappingURL=cloud-storage.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-storage.service.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/externals/cloud-storage/cloud-storage.service.ts"],"names":[],"mappings":";;;;AAAA,wCAA2D;AAC3D,mDAAuG;AACvG,6DAAoE;AACpE,+BAAiD;AAG1C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAAzB;QACG,YAAO,GAAG,IAAA,aAAM,EAAC,iBAAO,CAAC,CAAC;QAC1B,SAAI,GAAG,IAAA,aAAM,EAAoB,IAAI,CAAC,CAAC;QACvC,UAAK,GAAG,IAAA,2BAAY,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,aAAQ,GAAG,IAAA,uBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAC1C,IAAA,gBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,SAAE,EAAC,IAAI,CAAC,CAAC,CAEpE,CAAC,CAAC;QACM,cAAS,GAAG,IAAA,2BAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAyBnD,CAAC;IAvBC,cAAc,CAAC,QAAgB;QAC7B,OAAO,IAAA,wBAAc,EAAC,IAAA,aAAG,EAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrD,CAAC;IAEO,mBAAmB,CAAC,IAAgB;QAC1C,OAAO,IAAI,iBAAU,CAAgB,GAAG,CAAC,EAAE;YACzC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,IAAU;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,IAAA,aAAG,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAA,8BAAoB,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;;QACJ,MAAA,IAAI,CAAC,IAAI,EAAE,0CAAE,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CACF,CAAA;AAlCY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,iBAAU,EAAC,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC;GACnB,mBAAmB,CAkC/B"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./cloud-storage.service"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/externals/cloud-storage/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC"}