@things-factory/board-service 9.0.0-beta.24 → 9.0.0-beta.27

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 (179) hide show
  1. package/package.json +6 -6
  2. package/dist-server/constants/error-code.d.ts +0 -2
  3. package/dist-server/constants/error-code.js +0 -6
  4. package/dist-server/constants/error-code.js.map +0 -1
  5. package/dist-server/controllers/analyzer/analyze-integration.d.ts +0 -5
  6. package/dist-server/controllers/analyzer/analyze-integration.js +0 -117
  7. package/dist-server/controllers/analyzer/analyze-integration.js.map +0 -1
  8. package/dist-server/controllers/fonts.d.ts +0 -9
  9. package/dist-server/controllers/fonts.js +0 -76
  10. package/dist-server/controllers/fonts.js.map +0 -1
  11. package/dist-server/controllers/headless-model.d.ts +0 -6
  12. package/dist-server/controllers/headless-model.js +0 -55
  13. package/dist-server/controllers/headless-model.js.map +0 -1
  14. package/dist-server/controllers/headless-pdf-to-image.d.ts +0 -12
  15. package/dist-server/controllers/headless-pdf-to-image.js +0 -106
  16. package/dist-server/controllers/headless-pdf-to-image.js.map +0 -1
  17. package/dist-server/controllers/headless-playlist.d.ts +0 -5
  18. package/dist-server/controllers/headless-playlist.js +0 -71
  19. package/dist-server/controllers/headless-playlist.js.map +0 -1
  20. package/dist-server/controllers/headless-pool-for-board.d.ts +0 -1
  21. package/dist-server/controllers/headless-pool-for-board.js +0 -64
  22. package/dist-server/controllers/headless-pool-for-board.js.map +0 -1
  23. package/dist-server/controllers/headless-pool-for-label.d.ts +0 -1
  24. package/dist-server/controllers/headless-pool-for-label.js +0 -133
  25. package/dist-server/controllers/headless-pool-for-label.js.map +0 -1
  26. package/dist-server/controllers/index.d.ts +0 -34
  27. package/dist-server/controllers/index.js +0 -14
  28. package/dist-server/controllers/index.js.map +0 -1
  29. package/dist-server/controllers/label-command.d.ts +0 -19
  30. package/dist-server/controllers/label-command.js +0 -52
  31. package/dist-server/controllers/label-command.js.map +0 -1
  32. package/dist-server/controllers/pdf.d.ts +0 -9
  33. package/dist-server/controllers/pdf.js +0 -102
  34. package/dist-server/controllers/pdf.js.map +0 -1
  35. package/dist-server/controllers/screenshot.d.ts +0 -11
  36. package/dist-server/controllers/screenshot.js +0 -101
  37. package/dist-server/controllers/screenshot.js.map +0 -1
  38. package/dist-server/controllers/thumbnail.d.ts +0 -7
  39. package/dist-server/controllers/thumbnail.js +0 -16
  40. package/dist-server/controllers/thumbnail.js.map +0 -1
  41. package/dist-server/errors/index.d.ts +0 -1
  42. package/dist-server/errors/index.js +0 -5
  43. package/dist-server/errors/index.js.map +0 -1
  44. package/dist-server/errors/license-error.d.ts +0 -11
  45. package/dist-server/errors/license-error.js +0 -18
  46. package/dist-server/errors/license-error.js.map +0 -1
  47. package/dist-server/index.d.ts +0 -5
  48. package/dist-server/index.js +0 -35
  49. package/dist-server/index.js.map +0 -1
  50. package/dist-server/migrations/1556862253000-SeedGroup.d.ts +0 -5
  51. package/dist-server/migrations/1556862253000-SeedGroup.js +0 -43
  52. package/dist-server/migrations/1556862253000-SeedGroup.js.map +0 -1
  53. package/dist-server/migrations/index.d.ts +0 -1
  54. package/dist-server/migrations/index.js +0 -12
  55. package/dist-server/migrations/index.js.map +0 -1
  56. package/dist-server/routers/internal-board-view-router.d.ts +0 -1
  57. package/dist-server/routers/internal-board-view-router.js +0 -32
  58. package/dist-server/routers/internal-board-view-router.js.map +0 -1
  59. package/dist-server/routers/standalone-board-service-router.d.ts +0 -1
  60. package/dist-server/routers/standalone-board-service-router.js +0 -250
  61. package/dist-server/routers/standalone-board-service-router.js.map +0 -1
  62. package/dist-server/routes.d.ts +0 -1
  63. package/dist-server/routes.js +0 -23
  64. package/dist-server/routes.js.map +0 -1
  65. package/dist-server/service/analysis/analysis-query.d.ts +0 -3
  66. package/dist-server/service/analysis/analysis-query.js +0 -25
  67. package/dist-server/service/analysis/analysis-query.js.map +0 -1
  68. package/dist-server/service/analysis/index.d.ts +0 -2
  69. package/dist-server/service/analysis/index.js +0 -6
  70. package/dist-server/service/analysis/index.js.map +0 -1
  71. package/dist-server/service/board/board-history.d.ts +0 -28
  72. package/dist-server/service/board/board-history.js +0 -155
  73. package/dist-server/service/board/board-history.js.map +0 -1
  74. package/dist-server/service/board/board-mutation.d.ts +0 -12
  75. package/dist-server/service/board/board-mutation.js +0 -377
  76. package/dist-server/service/board/board-mutation.js.map +0 -1
  77. package/dist-server/service/board/board-query.d.ts +0 -20
  78. package/dist-server/service/board/board-query.js +0 -220
  79. package/dist-server/service/board/board-query.js.map +0 -1
  80. package/dist-server/service/board/board-subscription.d.ts +0 -6
  81. package/dist-server/service/board/board-subscription.js +0 -49
  82. package/dist-server/service/board/board-subscription.js.map +0 -1
  83. package/dist-server/service/board/board-type.d.ts +0 -24
  84. package/dist-server/service/board/board-type.js +0 -88
  85. package/dist-server/service/board/board-type.js.map +0 -1
  86. package/dist-server/service/board/board.d.ts +0 -25
  87. package/dist-server/service/board/board.js +0 -140
  88. package/dist-server/service/board/board.js.map +0 -1
  89. package/dist-server/service/board/event-subscriber.d.ts +0 -15
  90. package/dist-server/service/board/event-subscriber.js +0 -63
  91. package/dist-server/service/board/event-subscriber.js.map +0 -1
  92. package/dist-server/service/board/index.d.ts +0 -9
  93. package/dist-server/service/board/index.js +0 -13
  94. package/dist-server/service/board/index.js.map +0 -1
  95. package/dist-server/service/board-favorite/board-favorite-query.d.ts +0 -5
  96. package/dist-server/service/board-favorite/board-favorite-query.js +0 -56
  97. package/dist-server/service/board-favorite/board-favorite-query.js.map +0 -1
  98. package/dist-server/service/board-favorite/board-favorite-type.d.ts +0 -8
  99. package/dist-server/service/board-favorite/board-favorite-type.js +0 -31
  100. package/dist-server/service/board-favorite/board-favorite-type.js.map +0 -1
  101. package/dist-server/service/board-favorite/index.d.ts +0 -3
  102. package/dist-server/service/board-favorite/index.js +0 -7
  103. package/dist-server/service/board-favorite/index.js.map +0 -1
  104. package/dist-server/service/board-template/board-template-mutation.d.ts +0 -8
  105. package/dist-server/service/board-template/board-template-mutation.js +0 -146
  106. package/dist-server/service/board-template/board-template-mutation.js.map +0 -1
  107. package/dist-server/service/board-template/board-template-query.d.ts +0 -13
  108. package/dist-server/service/board-template/board-template-query.js +0 -147
  109. package/dist-server/service/board-template/board-template-query.js.map +0 -1
  110. package/dist-server/service/board-template/board-template-type.d.ts +0 -21
  111. package/dist-server/service/board-template/board-template-type.js +0 -81
  112. package/dist-server/service/board-template/board-template-type.js.map +0 -1
  113. package/dist-server/service/board-template/board-template.d.ts +0 -23
  114. package/dist-server/service/board-template/board-template.js +0 -123
  115. package/dist-server/service/board-template/board-template.js.map +0 -1
  116. package/dist-server/service/board-template/index.d.ts +0 -6
  117. package/dist-server/service/board-template/index.js +0 -10
  118. package/dist-server/service/board-template/index.js.map +0 -1
  119. package/dist-server/service/group/group-mutation.d.ts +0 -8
  120. package/dist-server/service/group/group-mutation.js +0 -89
  121. package/dist-server/service/group/group-mutation.js.map +0 -1
  122. package/dist-server/service/group/group-query.d.ts +0 -13
  123. package/dist-server/service/group/group-query.js +0 -92
  124. package/dist-server/service/group/group-query.js.map +0 -1
  125. package/dist-server/service/group/group-type.d.ts +0 -13
  126. package/dist-server/service/group/group-type.js +0 -49
  127. package/dist-server/service/group/group-type.js.map +0 -1
  128. package/dist-server/service/group/group.d.ts +0 -17
  129. package/dist-server/service/group/group.js +0 -77
  130. package/dist-server/service/group/group.js.map +0 -1
  131. package/dist-server/service/group/index.d.ts +0 -5
  132. package/dist-server/service/group/index.js +0 -9
  133. package/dist-server/service/group/index.js.map +0 -1
  134. package/dist-server/service/index.d.ts +0 -10
  135. package/dist-server/service/index.js +0 -49
  136. package/dist-server/service/index.js.map +0 -1
  137. package/dist-server/service/permission/domain-permission-subscriber.d.ts +0 -9
  138. package/dist-server/service/permission/domain-permission-subscriber.js +0 -30
  139. package/dist-server/service/permission/domain-permission-subscriber.js.map +0 -1
  140. package/dist-server/service/permission/index.d.ts +0 -2
  141. package/dist-server/service/permission/index.js +0 -6
  142. package/dist-server/service/permission/index.js.map +0 -1
  143. package/dist-server/service/play-group/event-subscriber.d.ts +0 -6
  144. package/dist-server/service/play-group/event-subscriber.js +0 -58
  145. package/dist-server/service/play-group/event-subscriber.js.map +0 -1
  146. package/dist-server/service/play-group/index.d.ts +0 -8
  147. package/dist-server/service/play-group/index.js +0 -12
  148. package/dist-server/service/play-group/index.js.map +0 -1
  149. package/dist-server/service/play-group/play-group-mutation.d.ts +0 -10
  150. package/dist-server/service/play-group/play-group-mutation.js +0 -146
  151. package/dist-server/service/play-group/play-group-mutation.js.map +0 -1
  152. package/dist-server/service/play-group/play-group-query.d.ts +0 -14
  153. package/dist-server/service/play-group/play-group-query.js +0 -129
  154. package/dist-server/service/play-group/play-group-query.js.map +0 -1
  155. package/dist-server/service/play-group/play-group-subscription.d.ts +0 -6
  156. package/dist-server/service/play-group/play-group-subscription.js +0 -49
  157. package/dist-server/service/play-group/play-group-subscription.js.map +0 -1
  158. package/dist-server/service/play-group/play-group-type.d.ts +0 -13
  159. package/dist-server/service/play-group/play-group-type.js +0 -49
  160. package/dist-server/service/play-group/play-group-type.js.map +0 -1
  161. package/dist-server/service/play-group/play-group.d.ts +0 -18
  162. package/dist-server/service/play-group/play-group.js +0 -82
  163. package/dist-server/service/play-group/play-group.js.map +0 -1
  164. package/dist-server/service/theme/index.d.ts +0 -6
  165. package/dist-server/service/theme/index.js +0 -10
  166. package/dist-server/service/theme/index.js.map +0 -1
  167. package/dist-server/service/theme/theme-mutation.d.ts +0 -10
  168. package/dist-server/service/theme/theme-mutation.js +0 -125
  169. package/dist-server/service/theme/theme-mutation.js.map +0 -1
  170. package/dist-server/service/theme/theme-query.d.ts +0 -11
  171. package/dist-server/service/theme/theme-query.js +0 -79
  172. package/dist-server/service/theme/theme-query.js.map +0 -1
  173. package/dist-server/service/theme/theme-type.d.ts +0 -21
  174. package/dist-server/service/theme/theme-type.js +0 -82
  175. package/dist-server/service/theme/theme-type.js.map +0 -1
  176. package/dist-server/service/theme/theme.d.ts +0 -25
  177. package/dist-server/service/theme/theme.js +0 -101
  178. package/dist-server/service/theme/theme.js.map +0 -1
  179. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -1,147 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BoardTemplateQuery = void 0;
4
- const tslib_1 = require("tslib");
5
- const typeorm_1 = require("typeorm");
6
- const type_graphql_1 = require("type-graphql");
7
- const shell_1 = require("@things-factory/shell");
8
- const auth_base_1 = require("@things-factory/auth-base");
9
- const board_template_js_1 = require("./board-template.js");
10
- const board_template_type_js_1 = require("./board-template-type.js");
11
- let BoardTemplateQuery = class BoardTemplateQuery {
12
- async boardTemplate(id, context) {
13
- const { domain, user } = context.state;
14
- const qb = await (0, shell_1.getRepository)(board_template_js_1.BoardTemplate)
15
- .createQueryBuilder('BoardTemplate')
16
- .where('id=:id', { id })
17
- .andWhere(new typeorm_1.Brackets(qb => {
18
- qb.where({ visibility: 'public' })
19
- .orWhere({
20
- visibility: 'domain',
21
- domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId]) }
22
- })
23
- .orWhere({
24
- visibility: 'private',
25
- creator: { id: user.id }
26
- });
27
- }));
28
- return qb.getOne();
29
- // return await getRepository(BoardTemplate).findOne({
30
- // where: {
31
- // domain: { id: In([domain.id, domain.parentId].filter(Boolean)) },
32
- // id
33
- // }
34
- // })
35
- }
36
- async boardTemplatesCreatedByMe(params, context) {
37
- const { user } = context.state;
38
- const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
39
- repository: (0, shell_1.getRepository)(board_template_js_1.BoardTemplate),
40
- params,
41
- alias: 'template',
42
- searchables: ['name', 'description']
43
- }).andWhere('template.creator = :user', { user: user.id });
44
- const [items, total] = await queryBuilder.getManyAndCount();
45
- return { items, total };
46
- }
47
- async boardTemplates(params, context) {
48
- const { domain, user } = context.state;
49
- /*
50
- 리스트에 포함되는 보드템플릿들
51
- - visibility가 public 인 경우
52
- - visibility가 domain이며 컨텍스트의 도메인과 같은 경우
53
- - visibility가 private 이며, creator가 나인 경우
54
- */
55
- const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
56
- params,
57
- repository: await (0, shell_1.getRepository)(board_template_js_1.BoardTemplate),
58
- searchables: ['name', 'description']
59
- }).andWhere(new typeorm_1.Brackets(qb => {
60
- qb.where({ visibility: 'public' })
61
- .orWhere({
62
- visibility: 'domain',
63
- domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId]) }
64
- })
65
- .orWhere({
66
- visibility: 'private',
67
- creator: { id: user.id }
68
- });
69
- }));
70
- const [items, total] = await queryBuilder.getManyAndCount();
71
- return { items, total };
72
- }
73
- async mine(boardTemplate, context) {
74
- const { creatorId } = boardTemplate;
75
- const { user } = context.state;
76
- return creatorId == user.id;
77
- }
78
- async domain(boardTemplate) {
79
- return boardTemplate.domainId && (await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: boardTemplate.domainId }));
80
- }
81
- async updater(boardTemplate) {
82
- return boardTemplate.updaterId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: boardTemplate.updaterId }));
83
- }
84
- async creator(boardTemplate) {
85
- return boardTemplate.creatorId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: boardTemplate.creatorId }));
86
- }
87
- };
88
- exports.BoardTemplateQuery = BoardTemplateQuery;
89
- tslib_1.__decorate([
90
- (0, type_graphql_1.Query)(returns => board_template_js_1.BoardTemplate, { nullable: true, description: 'To fetch a BoardTemplate' }),
91
- (0, type_graphql_1.Directive)('@privilege(category: "board-template", privilege: "query", domainOwnerGranted: true)'),
92
- tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
93
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
94
- tslib_1.__metadata("design:type", Function),
95
- tslib_1.__metadata("design:paramtypes", [String, Object]),
96
- tslib_1.__metadata("design:returntype", Promise)
97
- ], BoardTemplateQuery.prototype, "boardTemplate", null);
98
- tslib_1.__decorate([
99
- (0, type_graphql_1.Query)(returns => board_template_type_js_1.BoardTemplateList, { description: 'To fetch BoardTemplates created by me' }),
100
- tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
101
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
102
- tslib_1.__metadata("design:type", Function),
103
- tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
104
- tslib_1.__metadata("design:returntype", Promise)
105
- ], BoardTemplateQuery.prototype, "boardTemplatesCreatedByMe", null);
106
- tslib_1.__decorate([
107
- (0, type_graphql_1.Query)(returns => board_template_type_js_1.BoardTemplateList, { description: 'To fetch multiple BoardTemplates' }),
108
- (0, type_graphql_1.Directive)('@privilege(category: "board-template", privilege: "query", domainOwnerGranted: true)'),
109
- tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
110
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
111
- tslib_1.__metadata("design:type", Function),
112
- tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
113
- tslib_1.__metadata("design:returntype", Promise)
114
- ], BoardTemplateQuery.prototype, "boardTemplates", null);
115
- tslib_1.__decorate([
116
- (0, type_graphql_1.FieldResolver)(type => Boolean),
117
- tslib_1.__param(0, (0, type_graphql_1.Root)()),
118
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
119
- tslib_1.__metadata("design:type", Function),
120
- tslib_1.__metadata("design:paramtypes", [board_template_js_1.BoardTemplate, Object]),
121
- tslib_1.__metadata("design:returntype", Promise)
122
- ], BoardTemplateQuery.prototype, "mine", null);
123
- tslib_1.__decorate([
124
- (0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
125
- tslib_1.__param(0, (0, type_graphql_1.Root)()),
126
- tslib_1.__metadata("design:type", Function),
127
- tslib_1.__metadata("design:paramtypes", [board_template_js_1.BoardTemplate]),
128
- tslib_1.__metadata("design:returntype", Promise)
129
- ], BoardTemplateQuery.prototype, "domain", null);
130
- tslib_1.__decorate([
131
- (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
132
- tslib_1.__param(0, (0, type_graphql_1.Root)()),
133
- tslib_1.__metadata("design:type", Function),
134
- tslib_1.__metadata("design:paramtypes", [board_template_js_1.BoardTemplate]),
135
- tslib_1.__metadata("design:returntype", Promise)
136
- ], BoardTemplateQuery.prototype, "updater", null);
137
- tslib_1.__decorate([
138
- (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
139
- tslib_1.__param(0, (0, type_graphql_1.Root)()),
140
- tslib_1.__metadata("design:type", Function),
141
- tslib_1.__metadata("design:paramtypes", [board_template_js_1.BoardTemplate]),
142
- tslib_1.__metadata("design:returntype", Promise)
143
- ], BoardTemplateQuery.prototype, "creator", null);
144
- exports.BoardTemplateQuery = BoardTemplateQuery = tslib_1.__decorate([
145
- (0, type_graphql_1.Resolver)(board_template_js_1.BoardTemplate)
146
- ], BoardTemplateQuery);
147
- //# sourceMappingURL=board-template-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"board-template-query.js","sourceRoot":"","sources":["../../../server/service/board-template/board-template-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Brackets, In } from 'typeorm'\nimport { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { BoardTemplate } from './board-template.js'\nimport { BoardTemplateList } from './board-template-type.js'\n\n@Resolver(BoardTemplate)\nexport class BoardTemplateQuery {\n @Query(returns => BoardTemplate!, { nullable: true, description: 'To fetch a BoardTemplate' })\n @Directive('@privilege(category: \"board-template\", privilege: \"query\", domainOwnerGranted: true)')\n async boardTemplate(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<BoardTemplate> {\n const { domain, user } = context.state\n\n const qb = await getRepository(BoardTemplate)\n .createQueryBuilder('BoardTemplate')\n .where('id=:id', { id })\n .andWhere(\n new Brackets(qb => {\n qb.where({ visibility: 'public' })\n .orWhere({\n visibility: 'domain',\n domain: { id: In([domain.id, domain.parentId]) }\n })\n .orWhere({\n visibility: 'private',\n creator: { id: user.id }\n })\n })\n )\n\n return qb.getOne()\n\n // return await getRepository(BoardTemplate).findOne({\n // where: {\n // domain: { id: In([domain.id, domain.parentId].filter(Boolean)) },\n // id\n // }\n // })\n }\n\n @Query(returns => BoardTemplateList, { description: 'To fetch BoardTemplates created by me' })\n async boardTemplatesCreatedByMe(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<BoardTemplateList> {\n const { user } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(BoardTemplate),\n params,\n alias: 'template',\n searchables: ['name', 'description']\n }).andWhere('template.creator = :user', { user: user.id })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => BoardTemplateList, { description: 'To fetch multiple BoardTemplates' })\n @Directive('@privilege(category: \"board-template\", privilege: \"query\", domainOwnerGranted: true)')\n async boardTemplates(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<BoardTemplateList> {\n const { domain, user } = context.state\n /* \n 리스트에 포함되는 보드템플릿들 \n - visibility가 public 인 경우\n - visibility가 domain이며 컨텍스트의 도메인과 같은 경우\n - visibility가 private 이며, creator가 나인 경우\n */\n\n const queryBuilder = getQueryBuilderFromListParams({\n params,\n repository: await getRepository(BoardTemplate),\n searchables: ['name', 'description']\n }).andWhere(\n new Brackets(qb => {\n qb.where({ visibility: 'public' })\n .orWhere({\n visibility: 'domain',\n domain: { id: In([domain.id, domain.parentId]) }\n })\n .orWhere({\n visibility: 'private',\n creator: { id: user.id }\n })\n })\n )\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Boolean)\n async mine(@Root() boardTemplate: BoardTemplate, @Ctx() context: ResolverContext): Promise<boolean> {\n const { creatorId } = boardTemplate\n const { user } = context.state\n\n return creatorId == user.id\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() boardTemplate: BoardTemplate): Promise<Domain> {\n return boardTemplate.domainId && (await getRepository(Domain).findOneBy({ id: boardTemplate.domainId }))\n }\n\n @FieldResolver(type => User)\n async updater(@Root() boardTemplate: BoardTemplate): Promise<User> {\n return boardTemplate.updaterId && (await getRepository(User).findOneBy({ id: boardTemplate.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() boardTemplate: BoardTemplate): Promise<User> {\n return boardTemplate.creatorId && (await getRepository(User).findOneBy({ id: boardTemplate.creatorId }))\n }\n}\n"]}
@@ -1,21 +0,0 @@
1
- import { BoardTemplate } from './board-template.js';
2
- export declare class NewBoardTemplate {
3
- name: string;
4
- description: string;
5
- model: string;
6
- visibility: 'private' | 'public';
7
- thumbnail: string;
8
- }
9
- export declare class BoardTemplatePatch {
10
- id?: string;
11
- name?: string;
12
- description?: string;
13
- model: string;
14
- visibility?: 'private' | 'public';
15
- thumbnail?: string;
16
- cuFlag?: string;
17
- }
18
- export declare class BoardTemplateList {
19
- items: BoardTemplate[];
20
- total: number;
21
- }
@@ -1,81 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BoardTemplateList = exports.BoardTemplatePatch = exports.NewBoardTemplate = void 0;
4
- const tslib_1 = require("tslib");
5
- const type_graphql_1 = require("type-graphql");
6
- const board_template_js_1 = require("./board-template.js");
7
- let NewBoardTemplate = class NewBoardTemplate {
8
- };
9
- exports.NewBoardTemplate = NewBoardTemplate;
10
- tslib_1.__decorate([
11
- (0, type_graphql_1.Field)(),
12
- tslib_1.__metadata("design:type", String)
13
- ], NewBoardTemplate.prototype, "name", void 0);
14
- tslib_1.__decorate([
15
- (0, type_graphql_1.Field)(),
16
- tslib_1.__metadata("design:type", String)
17
- ], NewBoardTemplate.prototype, "description", void 0);
18
- tslib_1.__decorate([
19
- (0, type_graphql_1.Field)(),
20
- tslib_1.__metadata("design:type", String)
21
- ], NewBoardTemplate.prototype, "model", void 0);
22
- tslib_1.__decorate([
23
- (0, type_graphql_1.Field)(),
24
- tslib_1.__metadata("design:type", String)
25
- ], NewBoardTemplate.prototype, "visibility", void 0);
26
- tslib_1.__decorate([
27
- (0, type_graphql_1.Field)({ nullable: true }),
28
- tslib_1.__metadata("design:type", String)
29
- ], NewBoardTemplate.prototype, "thumbnail", void 0);
30
- exports.NewBoardTemplate = NewBoardTemplate = tslib_1.__decorate([
31
- (0, type_graphql_1.InputType)()
32
- ], NewBoardTemplate);
33
- let BoardTemplatePatch = class BoardTemplatePatch {
34
- };
35
- exports.BoardTemplatePatch = BoardTemplatePatch;
36
- tslib_1.__decorate([
37
- (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
38
- tslib_1.__metadata("design:type", String)
39
- ], BoardTemplatePatch.prototype, "id", void 0);
40
- tslib_1.__decorate([
41
- (0, type_graphql_1.Field)({ nullable: true }),
42
- tslib_1.__metadata("design:type", String)
43
- ], BoardTemplatePatch.prototype, "name", void 0);
44
- tslib_1.__decorate([
45
- (0, type_graphql_1.Field)({ nullable: true }),
46
- tslib_1.__metadata("design:type", String)
47
- ], BoardTemplatePatch.prototype, "description", void 0);
48
- tslib_1.__decorate([
49
- (0, type_graphql_1.Field)({ nullable: true }),
50
- tslib_1.__metadata("design:type", String)
51
- ], BoardTemplatePatch.prototype, "model", void 0);
52
- tslib_1.__decorate([
53
- (0, type_graphql_1.Field)({ nullable: true }),
54
- tslib_1.__metadata("design:type", String)
55
- ], BoardTemplatePatch.prototype, "visibility", void 0);
56
- tslib_1.__decorate([
57
- (0, type_graphql_1.Field)({ nullable: true }),
58
- tslib_1.__metadata("design:type", String)
59
- ], BoardTemplatePatch.prototype, "thumbnail", void 0);
60
- tslib_1.__decorate([
61
- (0, type_graphql_1.Field)({ nullable: true }),
62
- tslib_1.__metadata("design:type", String)
63
- ], BoardTemplatePatch.prototype, "cuFlag", void 0);
64
- exports.BoardTemplatePatch = BoardTemplatePatch = tslib_1.__decorate([
65
- (0, type_graphql_1.InputType)()
66
- ], BoardTemplatePatch);
67
- let BoardTemplateList = class BoardTemplateList {
68
- };
69
- exports.BoardTemplateList = BoardTemplateList;
70
- tslib_1.__decorate([
71
- (0, type_graphql_1.Field)(type => [board_template_js_1.BoardTemplate]),
72
- tslib_1.__metadata("design:type", Array)
73
- ], BoardTemplateList.prototype, "items", void 0);
74
- tslib_1.__decorate([
75
- (0, type_graphql_1.Field)(type => type_graphql_1.Int),
76
- tslib_1.__metadata("design:type", Number)
77
- ], BoardTemplateList.prototype, "total", void 0);
78
- exports.BoardTemplateList = BoardTemplateList = tslib_1.__decorate([
79
- (0, type_graphql_1.ObjectType)()
80
- ], BoardTemplateList);
81
- //# sourceMappingURL=board-template-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"board-template-type.js","sourceRoot":"","sources":["../../../server/service/board-template/board-template-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,2DAAmD;AAG5C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAe5B,CAAA;AAfY,4CAAgB;AAE3B;IADC,IAAA,oBAAK,GAAE;;8CACI;AAGZ;IADC,IAAA,oBAAK,GAAE;;qDACW;AAGnB;IADC,IAAA,oBAAK,GAAE;;+CACK;AAGb;IADC,IAAA,oBAAK,GAAE;;oDACwB;AAGhC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACT;2BAdN,gBAAgB;IAD5B,IAAA,wBAAS,GAAE;GACC,gBAAgB,CAe5B;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAqB9B,CAAA;AArBY,gDAAkB;AAE7B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACO;AAGjC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACR;AAGlB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACX;6BApBJ,kBAAkB;IAD9B,IAAA,wBAAS,GAAE;GACC,kBAAkB,CAqB9B;AAGM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAM7B,CAAA;AANY,8CAAiB;AAE5B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iCAAa,CAAC,CAAC;;gDACT;AAGtB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;gDACN;4BALF,iBAAiB;IAD7B,IAAA,yBAAU,GAAE;GACA,iBAAiB,CAM7B","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport { BoardTemplate } from './board-template.js'\n\n@InputType()\nexport class NewBoardTemplate {\n @Field()\n name: string\n\n @Field()\n description: string\n\n @Field()\n model: string\n\n @Field()\n visibility: 'private' | 'public'\n\n @Field({ nullable: true })\n thumbnail: string\n}\n\n@InputType()\nexport class BoardTemplatePatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n model: string\n\n @Field({ nullable: true })\n visibility?: 'private' | 'public'\n\n @Field({ nullable: true })\n thumbnail?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class BoardTemplateList {\n @Field(type => [BoardTemplate])\n items: BoardTemplate[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -1,23 +0,0 @@
1
- import { Domain } from '@things-factory/shell';
2
- import { User } from '@things-factory/auth-base';
3
- export declare enum BoardTemplateStatus {
4
- DRAFT = "DRAFT",
5
- RELEASED = "RELEASED"
6
- }
7
- export declare class BoardTemplate {
8
- readonly id: string;
9
- domain?: Domain;
10
- domainId?: string;
11
- name?: string;
12
- description?: string;
13
- tags?: string[];
14
- visibility?: string;
15
- model?: string;
16
- thumbnail?: string;
17
- createdAt?: Date;
18
- updatedAt?: Date;
19
- creator?: User;
20
- creatorId?: string;
21
- updater?: User;
22
- updaterId?: string;
23
- }
@@ -1,123 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BoardTemplate = exports.BoardTemplateStatus = void 0;
4
- const tslib_1 = require("tslib");
5
- const typeorm_1 = require("typeorm");
6
- const type_graphql_1 = require("type-graphql");
7
- const shell_1 = require("@things-factory/shell");
8
- const auth_base_1 = require("@things-factory/auth-base");
9
- const env_1 = require("@things-factory/env");
10
- const ORMCONFIG = env_1.config.get('ormconfig', {});
11
- const DATABASE_TYPE = ORMCONFIG.type;
12
- var BoardTemplateStatus;
13
- (function (BoardTemplateStatus) {
14
- BoardTemplateStatus["DRAFT"] = "DRAFT";
15
- BoardTemplateStatus["RELEASED"] = "RELEASED";
16
- })(BoardTemplateStatus || (exports.BoardTemplateStatus = BoardTemplateStatus = {}));
17
- (0, type_graphql_1.registerEnumType)(BoardTemplateStatus, {
18
- name: 'BoardTemplateStatus',
19
- description: 'state enumeration of a boardTemplate'
20
- });
21
- let BoardTemplate = class BoardTemplate {
22
- };
23
- exports.BoardTemplate = BoardTemplate;
24
- tslib_1.__decorate([
25
- (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
26
- (0, type_graphql_1.Field)(type => type_graphql_1.ID),
27
- tslib_1.__metadata("design:type", String)
28
- ], BoardTemplate.prototype, "id", void 0);
29
- tslib_1.__decorate([
30
- (0, typeorm_1.ManyToOne)(type => shell_1.Domain),
31
- (0, type_graphql_1.Field)(type => shell_1.Domain),
32
- tslib_1.__metadata("design:type", shell_1.Domain)
33
- ], BoardTemplate.prototype, "domain", void 0);
34
- tslib_1.__decorate([
35
- (0, typeorm_1.RelationId)((boardTemplate) => boardTemplate.domain),
36
- tslib_1.__metadata("design:type", String)
37
- ], BoardTemplate.prototype, "domainId", void 0);
38
- tslib_1.__decorate([
39
- (0, typeorm_1.Column)(),
40
- (0, type_graphql_1.Field)({ nullable: true }),
41
- tslib_1.__metadata("design:type", String)
42
- ], BoardTemplate.prototype, "name", void 0);
43
- tslib_1.__decorate([
44
- (0, typeorm_1.Column)({ nullable: true }),
45
- (0, type_graphql_1.Field)({ nullable: true }),
46
- tslib_1.__metadata("design:type", String)
47
- ], BoardTemplate.prototype, "description", void 0);
48
- tslib_1.__decorate([
49
- (0, typeorm_1.Column)('simple-json', { nullable: true, default: null }),
50
- (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
51
- tslib_1.__metadata("design:type", Array)
52
- ], BoardTemplate.prototype, "tags", void 0);
53
- tslib_1.__decorate([
54
- (0, typeorm_1.Column)({ nullable: true, default: 'private' }),
55
- (0, type_graphql_1.Field)({ nullable: true }),
56
- tslib_1.__metadata("design:type", String)
57
- ], BoardTemplate.prototype, "visibility", void 0);
58
- tslib_1.__decorate([
59
- (0, typeorm_1.Column)({
60
- nullable: true,
61
- type: DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
62
- ? 'longtext'
63
- : DATABASE_TYPE == 'oracle'
64
- ? 'clob'
65
- : DATABASE_TYPE == 'mssql'
66
- ? 'nvarchar'
67
- : 'varchar',
68
- length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined
69
- }),
70
- (0, type_graphql_1.Field)({ nullable: true }),
71
- tslib_1.__metadata("design:type", String)
72
- ], BoardTemplate.prototype, "model", void 0);
73
- tslib_1.__decorate([
74
- (0, typeorm_1.Column)({
75
- nullable: true,
76
- type: DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
77
- ? 'longtext'
78
- : DATABASE_TYPE == 'oracle'
79
- ? 'clob'
80
- : DATABASE_TYPE == 'mssql'
81
- ? 'nvarchar'
82
- : 'varchar',
83
- length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined
84
- }),
85
- (0, type_graphql_1.Field)({ nullable: true }),
86
- tslib_1.__metadata("design:type", String)
87
- ], BoardTemplate.prototype, "thumbnail", void 0);
88
- tslib_1.__decorate([
89
- (0, typeorm_1.CreateDateColumn)(),
90
- (0, type_graphql_1.Field)({ nullable: true }),
91
- tslib_1.__metadata("design:type", Date)
92
- ], BoardTemplate.prototype, "createdAt", void 0);
93
- tslib_1.__decorate([
94
- (0, typeorm_1.UpdateDateColumn)(),
95
- (0, type_graphql_1.Field)({ nullable: true }),
96
- tslib_1.__metadata("design:type", Date)
97
- ], BoardTemplate.prototype, "updatedAt", void 0);
98
- tslib_1.__decorate([
99
- (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
100
- (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
101
- tslib_1.__metadata("design:type", auth_base_1.User)
102
- ], BoardTemplate.prototype, "creator", void 0);
103
- tslib_1.__decorate([
104
- (0, typeorm_1.RelationId)((boardTemplate) => boardTemplate.creator),
105
- tslib_1.__metadata("design:type", String)
106
- ], BoardTemplate.prototype, "creatorId", void 0);
107
- tslib_1.__decorate([
108
- (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
109
- (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
110
- tslib_1.__metadata("design:type", auth_base_1.User)
111
- ], BoardTemplate.prototype, "updater", void 0);
112
- tslib_1.__decorate([
113
- (0, typeorm_1.RelationId)((boardTemplate) => boardTemplate.updater),
114
- tslib_1.__metadata("design:type", String)
115
- ], BoardTemplate.prototype, "updaterId", void 0);
116
- exports.BoardTemplate = BoardTemplate = tslib_1.__decorate([
117
- (0, typeorm_1.Entity)(),
118
- (0, typeorm_1.Index)('ix_board_template_0', (boardTemplate) => [boardTemplate.domain, boardTemplate.name], {
119
- unique: true
120
- }),
121
- (0, type_graphql_1.ObjectType)({ description: 'Entity for BoardTemplate' })
122
- ], BoardTemplate);
123
- //# sourceMappingURL=board-template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"board-template.js","sourceRoot":"","sources":["../../../server/service/board-template/board-template.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CreateDateColumn,\n UpdateDateColumn,\n Entity,\n Index,\n Column,\n RelationId,\n ManyToOne,\n PrimaryGeneratedColumn\n} from 'typeorm'\nimport { ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'\n\nimport { Domain, ScalarObject } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { config } from '@things-factory/env'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\nexport enum BoardTemplateStatus {\n DRAFT = 'DRAFT',\n RELEASED = 'RELEASED'\n}\n\nregisterEnumType(BoardTemplateStatus, {\n name: 'BoardTemplateStatus',\n description: 'state enumeration of a boardTemplate'\n})\n\n@Entity()\n@Index('ix_board_template_0', (boardTemplate: BoardTemplate) => [boardTemplate.domain, boardTemplate.name], {\n unique: true\n})\n@ObjectType({ description: 'Entity for BoardTemplate' })\nexport class BoardTemplate {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain?: Domain\n\n @RelationId((boardTemplate: BoardTemplate) => boardTemplate.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column('simple-json', { nullable: true, default: null })\n @Field(type => ScalarObject, { nullable: true })\n tags?: string[]\n\n @Column({ nullable: true, default: 'private' })\n @Field({ nullable: true })\n visibility?: string // 'private' | 'public' | 'domain'\n\n @Column({\n nullable: true,\n type:\n DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'longtext'\n : DATABASE_TYPE == 'oracle'\n ? 'clob'\n : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined\n })\n @Field({ nullable: true })\n model?: string\n\n @Column({\n nullable: true,\n type:\n DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'longtext'\n : DATABASE_TYPE == 'oracle'\n ? 'clob'\n : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined\n })\n @Field({ nullable: true })\n thumbnail?: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((boardTemplate: BoardTemplate) => boardTemplate.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((boardTemplate: BoardTemplate) => boardTemplate.updater)\n updaterId?: string\n}\n"]}
@@ -1,6 +0,0 @@
1
- import { BoardTemplate } from './board-template.js';
2
- import { BoardTemplateQuery } from './board-template-query.js';
3
- import { BoardTemplateMutation } from './board-template-mutation.js';
4
- export declare const entities: (typeof BoardTemplate)[];
5
- export declare const resolvers: (typeof BoardTemplateQuery | typeof BoardTemplateMutation)[];
6
- export declare const subscribers: any[];
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.subscribers = exports.resolvers = exports.entities = void 0;
4
- const board_template_js_1 = require("./board-template.js");
5
- const board_template_query_js_1 = require("./board-template-query.js");
6
- const board_template_mutation_js_1 = require("./board-template-mutation.js");
7
- exports.entities = [board_template_js_1.BoardTemplate];
8
- exports.resolvers = [board_template_query_js_1.BoardTemplateQuery, board_template_mutation_js_1.BoardTemplateMutation];
9
- exports.subscribers = [];
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/board-template/index.ts"],"names":[],"mappings":";;;AAAA,2DAAmD;AACnD,uEAA8D;AAC9D,6EAAoE;AAEvD,QAAA,QAAQ,GAAG,CAAC,iCAAa,CAAC,CAAA;AAC1B,QAAA,SAAS,GAAG,CAAC,4CAAkB,EAAE,kDAAqB,CAAC,CAAA;AACvD,QAAA,WAAW,GAAG,EAAE,CAAA","sourcesContent":["import { BoardTemplate } from './board-template.js'\nimport { BoardTemplateQuery } from './board-template-query.js'\nimport { BoardTemplateMutation } from './board-template-mutation.js'\n\nexport const entities = [BoardTemplate]\nexport const resolvers = [BoardTemplateQuery, BoardTemplateMutation]\nexport const subscribers = []\n"]}
@@ -1,8 +0,0 @@
1
- import { Group } from './group.js';
2
- import { GroupPatch, NewGroup } from './group-type.js';
3
- export declare class GroupMutation {
4
- createGroup(group: NewGroup, context: ResolverContext): Promise<Group>;
5
- updateGroup(id: string, patch: GroupPatch, context: ResolverContext): Promise<Group>;
6
- joinGroup(id: string, boardIds: string[], context: ResolverContext): Promise<Group>;
7
- deleteGroup(id: string, context: ResolverContext): Promise<boolean>;
8
- }
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GroupMutation = void 0;
4
- const tslib_1 = require("tslib");
5
- const type_graphql_1 = require("type-graphql");
6
- const board_js_1 = require("../board/board.js");
7
- const group_js_1 = require("./group.js");
8
- const group_type_js_1 = require("./group-type.js");
9
- let GroupMutation = class GroupMutation {
10
- async createGroup(group, context) {
11
- const { domain, user, tx } = context.state;
12
- return await tx.getRepository(group_js_1.Group).save(Object.assign(Object.assign({ domain }, group), { creator: user, updater: user }));
13
- }
14
- async updateGroup(id, patch, context) {
15
- const { domain, user, tx } = context.state;
16
- const repository = tx.getRepository(group_js_1.Group);
17
- const group = await repository.findOneBy({ domain: { id: domain.id }, id });
18
- return await repository.save(Object.assign(Object.assign(Object.assign({}, group), patch), { updater: user }));
19
- }
20
- async joinGroup(id, boardIds, context) {
21
- const { domain, tx } = context.state;
22
- const repository = tx.getRepository(group_js_1.Group);
23
- const group = await repository.findOneBy({ domain: { id: domain.id }, id });
24
- const boardRepository = tx.getRepository(board_js_1.Board);
25
- await boardIds.forEach(async (boardId) => {
26
- let board = await boardRepository.findOneBy({ domain: { id: domain.id }, id: boardId });
27
- board.group = group;
28
- await boardRepository.save(board);
29
- });
30
- return await repository.findOne({
31
- where: { domain: { id: domain.id }, id },
32
- relations: ['boards']
33
- });
34
- }
35
- async deleteGroup(id, context) {
36
- const { domain, tx } = context.state;
37
- const repository = tx.getRepository(group_js_1.Group);
38
- /* TODO - 그룹에 소속된 보드가 있는 경우에는 그룹을 지워서는 안된다. */
39
- const group = await repository.findOneBy({
40
- domain: { id: domain.id },
41
- id
42
- });
43
- await repository.delete(id);
44
- return true;
45
- }
46
- };
47
- exports.GroupMutation = GroupMutation;
48
- tslib_1.__decorate([
49
- (0, type_graphql_1.Directive)('@transaction'),
50
- (0, type_graphql_1.Mutation)(returns => group_js_1.Group, { nullable: true, description: 'To create new Group' }),
51
- tslib_1.__param(0, (0, type_graphql_1.Arg)('group')),
52
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
53
- tslib_1.__metadata("design:type", Function),
54
- tslib_1.__metadata("design:paramtypes", [group_type_js_1.NewGroup, Object]),
55
- tslib_1.__metadata("design:returntype", Promise)
56
- ], GroupMutation.prototype, "createGroup", null);
57
- tslib_1.__decorate([
58
- (0, type_graphql_1.Directive)('@transaction'),
59
- (0, type_graphql_1.Mutation)(returns => group_js_1.Group, { description: 'To modify Group information' }),
60
- tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
61
- tslib_1.__param(1, (0, type_graphql_1.Arg)('patch')),
62
- tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
63
- tslib_1.__metadata("design:type", Function),
64
- tslib_1.__metadata("design:paramtypes", [String, group_type_js_1.GroupPatch, Object]),
65
- tslib_1.__metadata("design:returntype", Promise)
66
- ], GroupMutation.prototype, "updateGroup", null);
67
- tslib_1.__decorate([
68
- (0, type_graphql_1.Directive)('@transaction'),
69
- (0, type_graphql_1.Mutation)(returns => group_js_1.Group, { description: 'To make the board to join the group' }),
70
- tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
71
- tslib_1.__param(1, (0, type_graphql_1.Arg)('boardIds', type => [String])),
72
- tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
73
- tslib_1.__metadata("design:type", Function),
74
- tslib_1.__metadata("design:paramtypes", [String, Array, Object]),
75
- tslib_1.__metadata("design:returntype", Promise)
76
- ], GroupMutation.prototype, "joinGroup", null);
77
- tslib_1.__decorate([
78
- (0, type_graphql_1.Directive)('@transaction'),
79
- (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete Group' }),
80
- tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
81
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
82
- tslib_1.__metadata("design:type", Function),
83
- tslib_1.__metadata("design:paramtypes", [String, Object]),
84
- tslib_1.__metadata("design:returntype", Promise)
85
- ], GroupMutation.prototype, "deleteGroup", null);
86
- exports.GroupMutation = GroupMutation = tslib_1.__decorate([
87
- (0, type_graphql_1.Resolver)(group_js_1.Group)
88
- ], GroupMutation);
89
- //# sourceMappingURL=group-mutation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"group-mutation.js","sourceRoot":"","sources":["../../../server/service/group/group-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Mutation, Resolver, Directive } from 'type-graphql'\n\nimport { Board } from '../board/board.js'\nimport { Group } from './group.js'\nimport { GroupPatch, NewGroup } from './group-type.js'\n\n@Resolver(Group)\nexport class GroupMutation {\n @Directive('@transaction')\n @Mutation(returns => Group, { nullable: true, description: 'To create new Group' })\n async createGroup(@Arg('group') group: NewGroup, @Ctx() context: ResolverContext): Promise<Group> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(Group).save({\n domain,\n ...group,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Group, { description: 'To modify Group information' })\n async updateGroup(\n @Arg('id') id: string,\n @Arg('patch') patch: GroupPatch,\n @Ctx() context: ResolverContext\n ): Promise<Group> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(Group)\n\n const group = await repository.findOneBy({ domain: { id: domain.id }, id })\n\n return await repository.save({\n ...group,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Group, { description: 'To make the board to join the group' })\n async joinGroup(\n @Arg('id') id: string,\n @Arg('boardIds', type => [String]) boardIds: string[],\n @Ctx() context: ResolverContext\n ) {\n const { domain, tx } = context.state\n const repository = tx.getRepository(Group)\n const group = await repository.findOneBy({ domain: { id: domain.id }, id })\n\n const boardRepository = tx.getRepository(Board)\n\n await boardIds.forEach(async boardId => {\n let board = await boardRepository.findOneBy({ domain: { id: domain.id }, id: boardId })\n board.group = group\n await boardRepository.save(board)\n })\n\n return await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['boards']\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete Group' })\n async deleteGroup(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n const repository = tx.getRepository(Group)\n\n /* TODO - 그룹에 소속된 보드가 있는 경우에는 그룹을 지워서는 안된다. */\n const group = await repository.findOneBy({\n domain: { id: domain.id },\n id\n })\n\n await repository.delete(id)\n return true\n }\n}\n"]}
@@ -1,13 +0,0 @@
1
- import { User } from '@things-factory/auth-base';
2
- import { Domain, ListParam } from '@things-factory/shell';
3
- import { Board } from '../board/board.js';
4
- import { Group } from './group.js';
5
- import { GroupList } from './group-type.js';
6
- export declare class GroupQuery {
7
- group(id: string, context: ResolverContext): Promise<Group>;
8
- groups(params: ListParam, context: ResolverContext): Promise<GroupList>;
9
- boards(group: Group): Promise<Board[]>;
10
- domain(group: Group): Promise<Domain>;
11
- updater(group: Group): Promise<User>;
12
- creator(group: Group): Promise<User>;
13
- }