@dssp/supervision 0.0.33 → 0.0.35

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 (26) hide show
  1. package/client/pages/building-inspection/building-inspection-detail-checklist.ts +1 -0
  2. package/client/pages/checklist/attachment-list-popup.ts +283 -0
  3. package/client/pages/checklist/checklist-view.ts +32 -7
  4. package/client/pages/checklist/comment-list-popup.ts +2 -1
  5. package/client/pages/checklist/file-preview-popup.ts +70 -0
  6. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +1 -0
  7. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js.map +1 -1
  8. package/dist-client/pages/checklist/attachment-list-popup.d.ts +2 -0
  9. package/dist-client/pages/checklist/attachment-list-popup.js +290 -0
  10. package/dist-client/pages/checklist/attachment-list-popup.js.map +1 -0
  11. package/dist-client/pages/checklist/checklist-view.d.ts +1 -0
  12. package/dist-client/pages/checklist/checklist-view.js +29 -8
  13. package/dist-client/pages/checklist/checklist-view.js.map +1 -1
  14. package/dist-client/pages/checklist/comment-list-popup.d.ts +0 -1
  15. package/dist-client/pages/checklist/comment-list-popup.js +2 -1
  16. package/dist-client/pages/checklist/comment-list-popup.js.map +1 -1
  17. package/dist-client/pages/checklist/file-preview-popup.d.ts +1 -0
  18. package/dist-client/pages/checklist/file-preview-popup.js +78 -0
  19. package/dist-client/pages/checklist/file-preview-popup.js.map +1 -0
  20. package/dist-client/tsconfig.tsbuildinfo +1 -1
  21. package/dist-server/service/checklist-item/checklist-item-query.d.ts +3 -0
  22. package/dist-server/service/checklist-item/checklist-item-query.js +34 -2
  23. package/dist-server/service/checklist-item/checklist-item-query.js.map +1 -1
  24. package/dist-server/tsconfig.tsbuildinfo +1 -1
  25. package/package.json +5 -5
  26. package/server/service/checklist-item/checklist-item-query.ts +25 -6
@@ -1,3 +1,4 @@
1
+ import { Attachment } from '@things-factory/attachment-base';
1
2
  import { ListParam } from '@things-factory/shell';
2
3
  import { User } from '@things-factory/auth-base';
3
4
  import { ChecklistItem } from './checklist-item';
@@ -8,6 +9,8 @@ export declare class ChecklistItemQuery {
8
9
  checklistItems(params: ListParam, context: ResolverContext): Promise<ChecklistItemList>;
9
10
  checklistItemComments(checklistItem: ChecklistItem): Promise<ChecklistItemComment[]>;
10
11
  checklistItemCommentCount(checklistItem: ChecklistItem): Promise<number>;
12
+ checklistItemAttachments(checklistItem: ChecklistItem): Promise<Attachment[]>;
13
+ checklistItemAttachmentCount(checklistItem: ChecklistItem): Promise<number>;
11
14
  updater(checklistItem: ChecklistItem): Promise<User>;
12
15
  creator(checklistItem: ChecklistItem): Promise<User>;
13
16
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ChecklistItemQuery = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const type_graphql_1 = require("type-graphql");
6
+ const attachment_base_1 = require("@things-factory/attachment-base");
6
7
  const shell_1 = require("@things-factory/shell");
7
8
  const auth_base_1 = require("@things-factory/auth-base");
8
9
  const checklist_item_1 = require("./checklist-item");
@@ -10,13 +11,11 @@ const checklist_item_type_1 = require("./checklist-item-type");
10
11
  const checklist_item_comment_1 = require("../checklist-item-comment/checklist-item-comment");
11
12
  let ChecklistItemQuery = class ChecklistItemQuery {
12
13
  async checklistItem(id, context) {
13
- const { domain } = context.state;
14
14
  return await (0, shell_1.getRepository)(checklist_item_1.ChecklistItem).findOne({
15
15
  where: { id }
16
16
  });
17
17
  }
18
18
  async checklistItems(params, context) {
19
- const { domain } = context.state;
20
19
  const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
21
20
  params,
22
21
  repository: await (0, shell_1.getRepository)(checklist_item_1.ChecklistItem),
@@ -31,6 +30,25 @@ let ChecklistItemQuery = class ChecklistItemQuery {
31
30
  async checklistItemCommentCount(checklistItem) {
32
31
  return await (0, shell_1.getRepository)(checklist_item_comment_1.ChecklistItemComment).countBy({ checklistItem: { id: checklistItem.id } });
33
32
  }
33
+ async checklistItemAttachments(checklistItem) {
34
+ return await (0, shell_1.getRepository)(attachment_base_1.Attachment).find({
35
+ where: {
36
+ refType: checklist_item_1.ChecklistItem.name,
37
+ refBy: checklistItem.id
38
+ },
39
+ order: {
40
+ createdAt: 'DESC'
41
+ }
42
+ });
43
+ }
44
+ async checklistItemAttachmentCount(checklistItem) {
45
+ return await (0, shell_1.getRepository)(attachment_base_1.Attachment).count({
46
+ where: {
47
+ refType: checklist_item_1.ChecklistItem.name,
48
+ refBy: checklistItem.id
49
+ }
50
+ });
51
+ }
34
52
  async updater(checklistItem) {
35
53
  return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: checklistItem.updaterId });
36
54
  }
@@ -68,6 +86,20 @@ tslib_1.__decorate([
68
86
  tslib_1.__metadata("design:paramtypes", [checklist_item_1.ChecklistItem]),
69
87
  tslib_1.__metadata("design:returntype", Promise)
70
88
  ], ChecklistItemQuery.prototype, "checklistItemCommentCount", null);
89
+ tslib_1.__decorate([
90
+ (0, type_graphql_1.FieldResolver)(type => [attachment_base_1.Attachment]),
91
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
92
+ tslib_1.__metadata("design:type", Function),
93
+ tslib_1.__metadata("design:paramtypes", [checklist_item_1.ChecklistItem]),
94
+ tslib_1.__metadata("design:returntype", Promise)
95
+ ], ChecklistItemQuery.prototype, "checklistItemAttachments", null);
96
+ tslib_1.__decorate([
97
+ (0, type_graphql_1.FieldResolver)(type => Number),
98
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
99
+ tslib_1.__metadata("design:type", Function),
100
+ tslib_1.__metadata("design:paramtypes", [checklist_item_1.ChecklistItem]),
101
+ tslib_1.__metadata("design:returntype", Promise)
102
+ ], ChecklistItemQuery.prototype, "checklistItemAttachmentCount", null);
71
103
  tslib_1.__decorate([
72
104
  (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
73
105
  tslib_1.__param(0, (0, type_graphql_1.Root)()),
@@ -1 +1 @@
1
- {"version":3,"file":"checklist-item-query.js","sourceRoot":"","sources":["../../../server/service/checklist-item/checklist-item-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'\nimport { Attachment } from '@things-factory/attachment-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ChecklistItem } from './checklist-item'\nimport { ChecklistItemList } from './checklist-item-type'\nimport { ChecklistItemComment } from '../checklist-item-comment/checklist-item-comment'\n\n@Resolver(ChecklistItem)\nexport class ChecklistItemQuery {\n @Query(returns => ChecklistItem!, { nullable: true, description: 'To fetch a ChecklistItem' })\n async checklistItem(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<ChecklistItem> {\n const { domain } = context.state\n\n return await getRepository(ChecklistItem).findOne({\n where: { id }\n })\n }\n\n @Query(returns => ChecklistItemList, { description: 'To fetch multiple ChecklistItems' })\n async checklistItems(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ChecklistItemList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n params,\n repository: await getRepository(ChecklistItem),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => [ChecklistItemComment])\n async checklistItemComments(@Root() checklistItem: ChecklistItem): Promise<ChecklistItemComment[]> {\n return await getRepository(ChecklistItemComment).findBy({ checklistItem: { id: checklistItem.id } })\n }\n\n @FieldResolver(type => Number)\n async checklistItemCommentCount(@Root() checklistItem: ChecklistItem): Promise<number> {\n return await getRepository(ChecklistItemComment).countBy({ checklistItem: { id: checklistItem.id } })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() checklistItem: ChecklistItem): Promise<User> {\n return await getRepository(User).findOneBy({ id: checklistItem.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() checklistItem: ChecklistItem): Promise<User> {\n return await getRepository(User).findOneBy({ id: checklistItem.creatorId })\n }\n}\n"]}
1
+ {"version":3,"file":"checklist-item-query.js","sourceRoot":"","sources":["../../../server/service/checklist-item/checklist-item-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAmF;AACnF,qEAA4D;AAC5D,iDAA+F;AAC/F,yDAAgD;AAChD,qDAAgD;AAChD,+DAAyD;AACzD,6FAAuF;AAGhF,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAEvB,AAAN,KAAK,CAAC,aAAa,CAAY,EAAU,EAAS,OAAwB;QACxE,OAAO,MAAM,IAAA,qBAAa,EAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;YAChD,KAAK,EAAE,EAAE,EAAE,EAAE;SACd,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CAAS,MAAiB,EAAS,OAAwB;QAC7E,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,8BAAa,CAAC;YAC9C,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;SACrC,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,qBAAqB,CAAS,aAA4B;QAC9D,OAAO,MAAM,IAAA,qBAAa,EAAC,6CAAoB,CAAC,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACtG,CAAC;IAGK,AAAN,KAAK,CAAC,yBAAyB,CAAS,aAA4B;QAClE,OAAO,MAAM,IAAA,qBAAa,EAAC,6CAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACvG,CAAC;IAGK,AAAN,KAAK,CAAC,wBAAwB,CAAS,aAA4B;QACjE,OAAO,MAAM,IAAA,qBAAa,EAAC,4BAAU,CAAC,CAAC,IAAI,CAAC;YAC1C,KAAK,EAAE;gBACL,OAAO,EAAE,8BAAa,CAAC,IAAI;gBAC3B,KAAK,EAAE,aAAa,CAAC,EAAE;aACxB;YACD,KAAK,EAAE;gBACL,SAAS,EAAE,MAAM;aAClB;SACF,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,4BAA4B,CAAS,aAA4B;QACrE,OAAO,MAAM,IAAA,qBAAa,EAAC,4BAAU,CAAC,CAAC,KAAK,CAAC;YAC3C,KAAK,EAAE;gBACL,OAAO,EAAE,8BAAa,CAAC,IAAI;gBAC3B,KAAK,EAAE,aAAa,CAAC,EAAE;aACxB;SACF,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,aAA4B;QAChD,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAA;IAC7E,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,aAA4B;QAChD,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAA;IAC7E,CAAC;CACF,CAAA;AA7DO;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;IACzE,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;uDAIhD;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,uCAAiB,EAAE,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;IACnE,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,iBAAS;;wDAU7C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,6CAAoB,CAAC,CAAC;IACjB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAgB,8BAAa;;+DAE/D;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;IACG,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAgB,8BAAa;;mEAEnE;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,4BAAU,CAAC,CAAC;IACJ,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAgB,8BAAa;;kEAUlE;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;IACM,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAgB,8BAAa;;sEAOtE;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAgB,8BAAa;;iDAEjD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAgB,8BAAa;;iDAEjD;AA9DU,kBAAkB;IAD9B,IAAA,uBAAQ,EAAC,8BAAa,CAAC;GACX,kBAAkB,CA+D9B;AA/DY,gDAAkB","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx } from 'type-graphql'\nimport { Attachment } from '@things-factory/attachment-base'\nimport { getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ChecklistItem } from './checklist-item'\nimport { ChecklistItemList } from './checklist-item-type'\nimport { ChecklistItemComment } from '../checklist-item-comment/checklist-item-comment'\n\n@Resolver(ChecklistItem)\nexport class ChecklistItemQuery {\n @Query(returns => ChecklistItem!, { nullable: true, description: 'To fetch a ChecklistItem' })\n async checklistItem(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<ChecklistItem> {\n return await getRepository(ChecklistItem).findOne({\n where: { id }\n })\n }\n\n @Query(returns => ChecklistItemList, { description: 'To fetch multiple ChecklistItems' })\n async checklistItems(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ChecklistItemList> {\n const queryBuilder = getQueryBuilderFromListParams({\n params,\n repository: await getRepository(ChecklistItem),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => [ChecklistItemComment])\n async checklistItemComments(@Root() checklistItem: ChecklistItem): Promise<ChecklistItemComment[]> {\n return await getRepository(ChecklistItemComment).findBy({ checklistItem: { id: checklistItem.id } })\n }\n\n @FieldResolver(type => Number)\n async checklistItemCommentCount(@Root() checklistItem: ChecklistItem): Promise<number> {\n return await getRepository(ChecklistItemComment).countBy({ checklistItem: { id: checklistItem.id } })\n }\n\n @FieldResolver(type => [Attachment])\n async checklistItemAttachments(@Root() checklistItem: ChecklistItem): Promise<Attachment[]> {\n return await getRepository(Attachment).find({\n where: {\n refType: ChecklistItem.name,\n refBy: checklistItem.id\n },\n order: {\n createdAt: 'DESC'\n }\n })\n }\n\n @FieldResolver(type => Number)\n async checklistItemAttachmentCount(@Root() checklistItem: ChecklistItem): Promise<number> {\n return await getRepository(Attachment).count({\n where: {\n refType: ChecklistItem.name,\n refBy: checklistItem.id\n }\n })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() checklistItem: ChecklistItem): Promise<User> {\n return await getRepository(User).findOneBy({ id: checklistItem.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() checklistItem: ChecklistItem): Promise<User> {\n return await getRepository(User).findOneBy({ id: checklistItem.creatorId })\n }\n}\n"]}