@lilaquadrat/studio 3.1.7 → 3.2.0

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 (78) hide show
  1. package/lib/interfaces.d.ts +4 -2
  2. package/lib/interfaces.d.ts.map +1 -1
  3. package/lib/interfaces.js.map +1 -1
  4. package/lib/main.d.ts +2 -1
  5. package/lib/main.d.ts.map +1 -1
  6. package/lib/main.js +3 -1
  7. package/lib/main.js.map +1 -1
  8. package/lib/models.d.ts +2 -1
  9. package/lib/models.d.ts.map +1 -1
  10. package/lib/models.js +3 -1
  11. package/lib/models.js.map +1 -1
  12. package/lib/services.d.ts +2 -1
  13. package/lib/services.d.ts.map +1 -1
  14. package/lib/services.js +3 -1
  15. package/lib/services.js.map +1 -1
  16. package/lib/src/Immutable.class.d.ts +2 -2
  17. package/lib/src/classes/ControllerBase.class.d.ts +6 -0
  18. package/lib/src/classes/ControllerBase.class.d.ts.map +1 -1
  19. package/lib/src/classes/ControllerBase.class.js +14 -12
  20. package/lib/src/classes/ControllerBase.class.js.map +1 -1
  21. package/lib/src/interfaces/ListCustomQueries.interface.d.ts +6 -0
  22. package/lib/src/interfaces/ListCustomQueries.interface.d.ts.map +1 -0
  23. package/lib/src/interfaces/ListCustomQueries.interface.js +3 -0
  24. package/lib/src/interfaces/ListCustomQueries.interface.js.map +1 -0
  25. package/lib/src/interfaces/SkipLimitSort.interface.d.ts +9 -0
  26. package/lib/src/interfaces/SkipLimitSort.interface.d.ts.map +1 -0
  27. package/lib/src/interfaces/SkipLimitSort.interface.js +3 -0
  28. package/lib/src/interfaces/SkipLimitSort.interface.js.map +1 -0
  29. package/lib/src/models/customers.model.d.ts +3 -0
  30. package/lib/src/models/customers.model.d.ts.map +1 -1
  31. package/lib/src/models/customers.model.js +1 -1
  32. package/lib/src/models/customers.model.js.map +1 -1
  33. package/lib/src/models/history.model.d.ts +15 -0
  34. package/lib/src/models/history.model.d.ts.map +1 -1
  35. package/lib/src/models/history.model.js +8 -0
  36. package/lib/src/models/history.model.js.map +1 -1
  37. package/lib/src/models/lists.model.d.ts +7 -1
  38. package/lib/src/models/lists.model.d.ts.map +1 -1
  39. package/lib/src/models/lists.model.js +14 -1
  40. package/lib/src/models/lists.model.js.map +1 -1
  41. package/lib/src/models/listsParticipants.model.d.ts +14 -0
  42. package/lib/src/models/listsParticipants.model.d.ts.map +1 -0
  43. package/lib/src/models/listsParticipants.model.js +30 -0
  44. package/lib/src/models/listsParticipants.model.js.map +1 -0
  45. package/lib/src/models/permissions.model.d.ts.map +1 -1
  46. package/lib/src/models/permissions.model.js +9 -0
  47. package/lib/src/models/permissions.model.js.map +1 -1
  48. package/lib/src/prepareContent.d.ts.map +1 -1
  49. package/lib/src/prepareContent.js +9 -3
  50. package/lib/src/prepareContent.js.map +1 -1
  51. package/lib/src/services/certificatesAction.service.d.ts +2 -2
  52. package/lib/src/services/customers.service.d.ts +11 -3
  53. package/lib/src/services/customers.service.d.ts.map +1 -1
  54. package/lib/src/services/customers.service.js +9 -0
  55. package/lib/src/services/customers.service.js.map +1 -1
  56. package/lib/src/services/domains.service.d.ts +3 -3
  57. package/lib/src/services/editorBase.service.d.ts +10 -10
  58. package/lib/src/services/history.service.d.ts +13 -5
  59. package/lib/src/services/history.service.d.ts.map +1 -1
  60. package/lib/src/services/history.service.js +6 -0
  61. package/lib/src/services/history.service.js.map +1 -1
  62. package/lib/src/services/hosting.service.d.ts +2 -2
  63. package/lib/src/services/hostingAdmin.service.d.ts +1 -1
  64. package/lib/src/services/listParticipants.service.d.ts +79 -0
  65. package/lib/src/services/listParticipants.service.d.ts.map +1 -0
  66. package/lib/src/services/listParticipants.service.js +143 -0
  67. package/lib/src/services/listParticipants.service.js.map +1 -0
  68. package/lib/src/services/lists.service copy.d.ts +15 -0
  69. package/lib/src/services/lists.service copy.d.ts.map +1 -0
  70. package/lib/src/services/lists.service copy.js +28 -0
  71. package/lib/src/services/lists.service copy.js.map +1 -0
  72. package/lib/src/services/lists.service.d.ts +8 -1
  73. package/lib/src/services/lists.service.d.ts.map +1 -1
  74. package/lib/src/services/lists.service.js +241 -2
  75. package/lib/src/services/lists.service.js.map +1 -1
  76. package/lib/src/services/publish.service.d.ts +3 -3
  77. package/lib/src/services/publishData.service.d.ts +3 -3
  78. package/package.json +19 -11
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ListParticipantsService = void 0;
7
+ const Immutable_class_1 = __importDefault(require("../Immutable.class"));
8
+ const listsParticipants_model_1 = __importDefault(require("../models/listsParticipants.model"));
9
+ const services_1 = require("../../services");
10
+ const customers_service_1 = __importDefault(require("./customers.service"));
11
+ class ListParticipantsService extends Immutable_class_1.default {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.model = listsParticipants_model_1.default;
15
+ this.customerLookup = [
16
+ {
17
+ $lookup: {
18
+ from: 'customers',
19
+ as: 'userData',
20
+ let: { userid: '$user' },
21
+ pipeline: [
22
+ {
23
+ $match: {
24
+ $and: [
25
+ { $expr: { $eq: ['$_id', '$$userid'] } },
26
+ ],
27
+ },
28
+ },
29
+ ],
30
+ },
31
+ },
32
+ {
33
+ $unwind: {
34
+ path: '$userData',
35
+ preserveNullAndEmptyArrays: true,
36
+ },
37
+ },
38
+ {
39
+ $addFields: {
40
+ 'user': {
41
+ name: { $concat: ['$userData.name', ', ', '$userData.prename'] },
42
+ email: "$userData.email",
43
+ id: "$userData.id"
44
+ },
45
+ },
46
+ },
47
+ {
48
+ $project: {
49
+ 'userData': 0
50
+ }
51
+ }
52
+ ];
53
+ }
54
+ single(internalId, options) {
55
+ return this.model.db.findOne({ _id: internalId, company: options.company, project: options.project });
56
+ }
57
+ async join(listInternalId, person, options) {
58
+ var _a;
59
+ const list = await services_1.ListsService.single(listInternalId, undefined, options);
60
+ if (!list)
61
+ throw new Error('LIST_NOT_FOUND');
62
+ const customerId = await customers_service_1.default.getOrCreateByEmail(person.email, person, options);
63
+ if (!customerId)
64
+ throw new Error('CUSTOMER_NOT_FOUND');
65
+ if ((_a = list.participants) === null || _a === void 0 ? void 0 : _a.unique) {
66
+ if (await this.participantInList(listInternalId, customerId._id, options)) {
67
+ throw new Error('LIST_UNIQUE_CUSTOMER_CONFIRMED');
68
+ }
69
+ }
70
+ return this.addParticipant(listInternalId, customerId._id, options);
71
+ }
72
+ async leave(list, participationId, options) {
73
+ return this.delete(participationId, options.user, options.app);
74
+ }
75
+ async participantInList(list, user, options) {
76
+ return await this.model.db.countDocuments({ list, user, company: options.company, project: options.project }) > 0;
77
+ }
78
+ addParticipant(list, user, options) {
79
+ return this.create({ list: list, user, state: 'confirmed', company: options.company, project: options.project }, options.user, options.app);
80
+ }
81
+ removeParticipant(list, user, options) {
82
+ }
83
+ listHistory(list, reason, options) {
84
+ const query = services_1.HistoryService.createQuery(options.company, options.project, undefined, reason, 'listParticipants');
85
+ query.countQuery.list = list;
86
+ query.aggregation[0].$match.$and.push({ $expr: { $eq: ['$list', list] } });
87
+ query.aggregation = [
88
+ query.aggregation[0],
89
+ query.aggregation[1],
90
+ ...this.customerLookup
91
+ ];
92
+ return services_1.HistoryService.listCustomQuery(query);
93
+ }
94
+ async listParticipants(list, state, options) {
95
+ let aggregation = [
96
+ {
97
+ $match: {
98
+ $and: [
99
+ { $expr: { $eq: ['$company', options.company] } },
100
+ { $expr: { $eq: ['$list', list] } },
101
+ ],
102
+ },
103
+ },
104
+ ];
105
+ aggregation.push({
106
+ $sort: options.sort || { _id: -1 },
107
+ });
108
+ const countQuery = {
109
+ company: options.company,
110
+ };
111
+ if (options.project) {
112
+ countQuery.project = options.project;
113
+ aggregation[0].$match.$and.push({ $expr: { $eq: ['$project', options.project] } });
114
+ }
115
+ if (state) {
116
+ countQuery.state = state;
117
+ aggregation[0].$match.$and.push({ $expr: { $eq: ['$state', state] } });
118
+ }
119
+ aggregation.push({
120
+ $skip: options.skip,
121
+ }, {
122
+ $limit: options.limit,
123
+ });
124
+ // if (projection) {
125
+ // lookup.push({
126
+ // $project: {
127
+ // project: 1,
128
+ // id: 1,
129
+ // company: 1,
130
+ // history: 1,
131
+ // },
132
+ // });
133
+ // }
134
+ aggregation = [...aggregation, ...this.customerLookup];
135
+ const all = await this.model.db.countDocuments(countQuery);
136
+ const data = await this.model.db.aggregate(aggregation)
137
+ .toArray();
138
+ return { all, data, count: data.length };
139
+ }
140
+ }
141
+ exports.ListParticipantsService = ListParticipantsService;
142
+ exports.default = new ListParticipantsService();
143
+ //# sourceMappingURL=listParticipants.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listParticipants.service.js","sourceRoot":"","sources":["../../../src/services/listParticipants.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { ObjectId } from 'mongodb';
2
+ import UserAppWithOptions from '../interfaces/UserAppWithOptions.interface';
3
+ import Immutable from '../Immutable.class';
4
+ import { List } from '../models/lists.model';
5
+ export declare class ListsService extends Immutable<List> {
6
+ model: import("../classes/modelv2.class").default<List>;
7
+ single(internalId: ObjectId, options: Required<UserAppWithOptions>): Promise<import("mongodb").WithId<List> | null>;
8
+ join(list: ObjectId, options: Required<UserAppWithOptions>): void;
9
+ leave(list: ObjectId, options: Required<UserAppWithOptions>): void;
10
+ addParticipant(list: ObjectId, user: string, options: Required<UserAppWithOptions>): void;
11
+ removeParticipant(list: ObjectId, user: string, options: Required<UserAppWithOptions>): void;
12
+ }
13
+ declare const _default: ListsService;
14
+ export default _default;
15
+ //# sourceMappingURL=lists.service%20copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lists.service copy.d.ts","sourceRoot":"","sources":["../../../src/services/lists.service copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgB,MAAM,SAAS,CAAC;AAEjD,OAAO,kBAAkB,MAAM,4CAA4C,CAAC;AAC5E,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAmB,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEzD,qBAAa,YAAa,SAAQ,SAAS,CAAC,IAAI,CAAC;IAE/C,KAAK,mDAAc;IAEnB,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAMlE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAI1D,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAI3D,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAIlF,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC;CAItF;;AAED,wBAAkC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ListsService = void 0;
7
+ const Immutable_class_1 = __importDefault(require("../Immutable.class"));
8
+ const lists_model_1 = __importDefault(require("../models/lists.model"));
9
+ class ListsService extends Immutable_class_1.default {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.model = lists_model_1.default;
13
+ }
14
+ single(internalId, options) {
15
+ return this.model.db.findOne({ _id: internalId, company: options.company, project: options.project });
16
+ }
17
+ join(list, options) {
18
+ }
19
+ leave(list, options) {
20
+ }
21
+ addParticipant(list, user, options) {
22
+ }
23
+ removeParticipant(list, user, options) {
24
+ }
25
+ }
26
+ exports.ListsService = ListsService;
27
+ exports.default = new ListsService();
28
+ //# sourceMappingURL=lists.service%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lists.service copy.js","sourceRoot":"","sources":["../../../src/services/lists.service copy.ts"],"names":[],"mappings":";;;;;;AAGA,yEAA2C;AAC3C,wEAAyD;AAEzD,MAAa,YAAa,SAAQ,yBAAe;IAAjD;;QAEE,UAAK,GAAG,qBAAU,CAAC;IAwBrB,CAAC;IAtBC,MAAM,CAAC,UAAoB,EAAE,OAAqC;QAEhE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAExG,CAAC;IAED,IAAI,CAAC,IAAc,EAAE,OAAqC;IAE1D,CAAC;IAED,KAAK,CAAC,IAAc,EAAE,OAAqC;IAE3D,CAAC;IAED,cAAc,CAAC,IAAc,EAAE,IAAY,EAAE,OAAqC;IAElF,CAAC;IAED,iBAAiB,CAAC,IAAc,EAAE,IAAY,EAAE,OAAqC;IAErF,CAAC;CAEF;AA1BD,oCA0BC;AAED,kBAAe,IAAI,YAAY,EAAE,CAAC"}
@@ -2,9 +2,16 @@ import { ObjectId } from 'mongodb';
2
2
  import UserAppWithOptions from '../interfaces/UserAppWithOptions.interface';
3
3
  import Immutable from '../Immutable.class';
4
4
  import { List } from '../models/lists.model';
5
+ import SkipLimitSort from '../interfaces/SkipLimitSort.interface';
6
+ import { ListCustomQueries } from 'interfaces';
5
7
  export declare class ListsService extends Immutable<List> {
6
8
  model: import("../classes/modelv2.class").default<List>;
7
- single(internalId: ObjectId, options: Required<UserAppWithOptions>): Promise<import("mongodb").WithId<List> | null>;
9
+ single(internalId: ObjectId, state: List["state"] | undefined, options: Required<UserAppWithOptions>): Promise<List | undefined>;
10
+ getCustomQuery(filter: {
11
+ name?: string;
12
+ state?: List["state"];
13
+ }, options: UserAppWithOptions & SkipLimitSort): ListCustomQueries<List>;
14
+ hasOpenSlots(internalId: ObjectId, options: Required<UserAppWithOptions>): Promise<boolean>;
8
15
  }
9
16
  declare const _default: ListsService;
10
17
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"lists.service.d.ts","sourceRoot":"","sources":["../../../src/services/lists.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgB,MAAM,SAAS,CAAC;AAEjD,OAAO,kBAAkB,MAAM,4CAA4C,CAAC;AAC5E,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAmB,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEzD,qBAAa,YAAa,SAAQ,SAAS,CAAC,IAAI,CAAC;IAE/C,KAAK,mDAAc;IAEnB,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC;CAMnE;;AAED,wBAAkC"}
1
+ {"version":3,"file":"lists.service.d.ts","sourceRoot":"","sources":["../../../src/services/lists.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,QAAQ,EAAgB,MAAM,SAAS,CAAC;AAEzD,OAAO,kBAAkB,MAAM,4CAA4C,CAAC;AAC5E,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAmB,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,aAAa,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,qBAAa,YAAa,SAAQ,SAAS,CAAC,IAAI,CAAC;IAE/C,KAAK,mDAAc;IAEnB,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAqFpG,cAAc,CAAC,MAAM,EAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;KAAC,EAAE,OAAO,EAAE,kBAAkB,GAAG,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC;IAmGpI,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC;CAuFzE;;AAED,wBAAkC"}
@@ -11,8 +11,247 @@ class ListsService extends Immutable_class_1.default {
11
11
  super(...arguments);
12
12
  this.model = lists_model_1.default;
13
13
  }
14
- single(internalId, options) {
15
- return this.model.db.findOne({ _id: internalId, company: options.company, project: options.project });
14
+ single(internalId, state, options) {
15
+ let match = { _id: internalId, company: options.company, project: options.project };
16
+ if (state) {
17
+ match.state = state;
18
+ }
19
+ const aggregation = [
20
+ {
21
+ $match: match
22
+ },
23
+ {
24
+ $lookup: {
25
+ from: "listParticipants",
26
+ as: "participantsCount",
27
+ let: {
28
+ listId: "$_id",
29
+ },
30
+ pipeline: [
31
+ {
32
+ $match: {
33
+ $and: [
34
+ {
35
+ $expr: {
36
+ $eq: ["$list", "$$listId"],
37
+ },
38
+ },
39
+ ],
40
+ },
41
+ },
42
+ {
43
+ $count: "all",
44
+ },
45
+ ],
46
+ },
47
+ },
48
+ {
49
+ $unwind: {
50
+ path: "$participantsCount",
51
+ preserveNullAndEmptyArrays: true,
52
+ },
53
+ },
54
+ {
55
+ $addFields: {
56
+ "participants.confirmed": {
57
+ $ifNull: ["$participantsCount.all", 0],
58
+ },
59
+ },
60
+ },
61
+ {
62
+ $addFields: {
63
+ "participants.available": {
64
+ $cond: {
65
+ if: "$participants.limit",
66
+ then: {
67
+ $cond: {
68
+ if: { $subtract: ['$participants.limit', '$participants.confirmed'] },
69
+ then: true,
70
+ else: false
71
+ }
72
+ },
73
+ else: true
74
+ }
75
+ },
76
+ },
77
+ },
78
+ {
79
+ $project: {
80
+ participantsCount: 0,
81
+ },
82
+ }
83
+ ];
84
+ return this.model.db.aggregate(aggregation).toArray()
85
+ .then((lists) => {
86
+ return lists[0] ? lists[0] : undefined;
87
+ });
88
+ }
89
+ getCustomQuery(filter, options) {
90
+ let match = { company: options.company, project: options.project };
91
+ if (filter === null || filter === void 0 ? void 0 : filter.state) {
92
+ match.state = filter.state;
93
+ }
94
+ if (filter === null || filter === void 0 ? void 0 : filter.name) {
95
+ match.name = { $regex: filter.name, $options: "i" };
96
+ }
97
+ const aggregation = [
98
+ {
99
+ $match: match
100
+ },
101
+ {
102
+ $lookup: {
103
+ from: "listParticipants",
104
+ as: "participantsCount",
105
+ let: {
106
+ listId: "$_id",
107
+ },
108
+ pipeline: [
109
+ {
110
+ $match: {
111
+ $and: [
112
+ {
113
+ $expr: {
114
+ $eq: ["$list", "$$listId"],
115
+ },
116
+ },
117
+ ],
118
+ },
119
+ },
120
+ {
121
+ $count: "all",
122
+ },
123
+ ],
124
+ },
125
+ },
126
+ {
127
+ $unwind: {
128
+ path: "$participantsCount",
129
+ preserveNullAndEmptyArrays: true,
130
+ },
131
+ },
132
+ {
133
+ $addFields: {
134
+ "participants.confirmed": {
135
+ $ifNull: ["$participantsCount.all", 0],
136
+ },
137
+ },
138
+ },
139
+ {
140
+ $addFields: {
141
+ "participants.available": {
142
+ $cond: {
143
+ if: "$participants.limit",
144
+ then: {
145
+ $cond: {
146
+ if: { $subtract: ['$participants.limit', '$participants.confirmed'] },
147
+ then: true,
148
+ else: false
149
+ }
150
+ },
151
+ else: true
152
+ }
153
+ },
154
+ },
155
+ },
156
+ {
157
+ $project: {
158
+ participantsCount: 0,
159
+ categories: 0,
160
+ history: 0
161
+ },
162
+ },
163
+ ];
164
+ aggregation.push({
165
+ $sort: options.sort || { _id: -1 },
166
+ });
167
+ if (options.skip) { }
168
+ aggregation.push({
169
+ $skip: options.skip,
170
+ }, {
171
+ $limit: options.limit,
172
+ });
173
+ return { aggregation, countQuery: match };
174
+ }
175
+ hasOpenSlots(internalId, options) {
176
+ const aggregation = [
177
+ {
178
+ $match: {
179
+ state: "open",
180
+ _id: internalId,
181
+ company: options.company,
182
+ project: options.project
183
+ },
184
+ },
185
+ {
186
+ $lookup: {
187
+ from: "listParticipants",
188
+ as: "participantsCount",
189
+ let: {
190
+ listId: "$_id",
191
+ },
192
+ pipeline: [
193
+ {
194
+ $match: {
195
+ $and: [
196
+ {
197
+ $expr: {
198
+ $eq: ["$list", "$$listId"],
199
+ },
200
+ },
201
+ ],
202
+ },
203
+ },
204
+ {
205
+ $count: "all",
206
+ },
207
+ ],
208
+ },
209
+ },
210
+ {
211
+ $unwind: {
212
+ path: "$participantsCount",
213
+ preserveNullAndEmptyArrays: true,
214
+ },
215
+ },
216
+ {
217
+ $addFields: {
218
+ "participants.confirmed": {
219
+ $ifNull: ["$participantsCount.all", 0],
220
+ },
221
+ },
222
+ },
223
+ {
224
+ $addFields: {
225
+ "participants.available": {
226
+ $cond: {
227
+ if: "$participants.limit",
228
+ then: {
229
+ $cond: {
230
+ if: { $subtract: ['$participants.limit', '$participants.confirmed'] },
231
+ then: true,
232
+ else: false
233
+ }
234
+ },
235
+ else: true
236
+ }
237
+ },
238
+ },
239
+ },
240
+ {
241
+ $project: {
242
+ participantsCount: 0,
243
+ },
244
+ },
245
+ {
246
+ $match: {
247
+ 'participants.available': true
248
+ }
249
+ }
250
+ ];
251
+ return this.model.db.aggregate(aggregation).toArray()
252
+ .then((lists) => {
253
+ return lists.length === 1;
254
+ });
16
255
  }
17
256
  }
18
257
  exports.ListsService = ListsService;
@@ -1 +1 @@
1
- {"version":3,"file":"lists.service.js","sourceRoot":"","sources":["../../../src/services/lists.service.ts"],"names":[],"mappings":";;;;;;AAGA,yEAA2C;AAC3C,wEAAyD;AAEzD,MAAa,YAAa,SAAQ,yBAAe;IAAjD;;QAEE,UAAK,GAAG,qBAAU,CAAC;IAQrB,CAAC;IANC,MAAM,CAAC,UAAoB,EAAE,OAAqC;QAEhE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAExG,CAAC;CAEF;AAVD,oCAUC;AAED,kBAAe,IAAI,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"lists.service.js","sourceRoot":"","sources":["../../../src/services/lists.service.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,9 @@ export declare class PublishService extends Immutable<Publish> {
10
10
  constructor(connectionString: string, queue: string);
11
11
  publish(referenceId: ObjectId, method: Publish['method'], contentGroup: Publish['contentGroup'] | undefined, category: string | undefined, planned: Date | undefined, options: UserAppOptionsRequired & Pick<Publish, 'appPublish' | 'modelPublish' | 'type'>): Promise<import("../interfaces/CreateResult.interface").default<Publish>>;
12
12
  publishPlanned(planned: Publish, user: string, app: string): Promise<void>;
13
- setState(_id: ObjectId, state: Publish['state'], user: string, app: string): Promise<import("mongodb").UpdateResult>;
14
- setResult(_id: ObjectId, result: PublishResult[] | undefined, state: Publish['state'], user: string, app: string): Promise<import("mongodb").UpdateResult>;
15
- cancel(_id: ObjectId, company: string, project: string, user: string, app: string): Promise<import("mongodb").UpdateResult>;
13
+ setState(_id: ObjectId, state: Publish['state'], user: string, app: string): Promise<import("mongodb").UpdateResult<Publish>>;
14
+ setResult(_id: ObjectId, result: PublishResult[] | undefined, state: Publish['state'], user: string, app: string): Promise<import("mongodb").UpdateResult<Publish>>;
15
+ cancel(_id: ObjectId, company: string, project: string, user: string, app: string): Promise<import("mongodb").UpdateResult<Publish>>;
16
16
  getActiveExists(referenceId: ObjectId | undefined, method: Publish['method'] | undefined, contentGroup: Publish['contentGroup'] | undefined, category: Publish['category'] | undefined, planned: Date | undefined, options: Options & UserApp & {
17
17
  appPublish?: string;
18
18
  modelPublish?: string;
@@ -2,10 +2,10 @@ import { Filter, ObjectId } from 'mongodb';
2
2
  import { Modelv2 } from '../../main';
3
3
  import { Publish, Editor, EditorLegacy, UniversalInterface, Content } from '../../interfaces';
4
4
  export default class PublishDataService {
5
- static getModel(type: Publish['type'], model?: string): Promise<Modelv2<Editor> | Modelv2<UniversalInterface>>;
6
- static getAll(company: string, project: string, app: string, model: string, type: Publish['type'], full: boolean, changed?: Date, affectedStates?: Editor['state'][], category?: string): Promise<import("mongodb").WithId<Editor>[] | import("mongodb").WithId<UniversalInterface>[]>;
5
+ static getModel(type: Publish['type'], model?: string): Promise<Modelv2<UniversalInterface> | Modelv2<Editor>>;
6
+ static getAll(company: string, project: string, app: string, model: string, type: Publish['type'], full: boolean, changed?: Date, affectedStates?: Editor['state'][], category?: string): Promise<import("mongodb").WithId<UniversalInterface>[] | import("mongodb").WithId<Editor>[]>;
7
7
  static countAll(company: string, project: string, app: string, model: string, type: Publish['type'], changed?: Date, affectedStates?: Editor['state'][], category?: string): Promise<number>;
8
- static getQuery(company: string, project: string, app: string, model: string, type: Publish['type'], changed?: Date, affectedStates?: Editor['state'][], category?: string): Filter<Editor> | Filter<UniversalInterface>;
8
+ static getQuery(company: string, project: string, app: string, model: string, type: Publish['type'], changed?: Date, affectedStates?: Editor['state'][], category?: string): Filter<UniversalInterface> | Filter<Editor>;
9
9
  static getSingleInternalId(internalId: ObjectId, company: string, project: string, partials: boolean, children: boolean, appPublish: string, modelPublish: string, type: Publish['type'], affectedStates?: Editor['state'][]): Promise<UniversalInterface | (Content & EditorLegacy)>;
10
10
  static getSingle(id: string, company: string, project: string, partials: boolean, children: boolean, appPublish: string, modelPublish: string, type: Publish['type'], affectedStates?: Editor['state'][]): Promise<UniversalInterface | (Editor & EditorLegacy)>;
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lilaquadrat/studio",
3
- "version": "3.1.7",
3
+ "version": "3.2.0",
4
4
  "description": "classes and tools for STUDIO",
5
5
  "license": "MIT",
6
6
  "homepage": "https://lilaquadrat.de",
@@ -12,7 +12,8 @@
12
12
  "scripts": {
13
13
  "start": "tsc --watch --declarationMap",
14
14
  "prepublish": "tsc",
15
- "test": "jest"
15
+ "test": "jest",
16
+ "release": "standard-version"
16
17
  },
17
18
  "files": [
18
19
  "lib/**/*"
@@ -28,15 +29,17 @@
28
29
  "@types/node": "^18.15.1",
29
30
  "@types/object-path": "^0.11.1",
30
31
  "@types/unzipper": "^0.10.4",
31
- "@typescript-eslint/eslint-plugin": "^3.9.1",
32
- "eslint": "^7.7.0",
33
- "eslint-config-airbnb-base": "^14.2.0",
34
- "eslint-config-airbnb-typescript": "^9.0.0",
35
- "eslint-import-resolver-typescript": "^2.2.1",
32
+ "@typescript-eslint/eslint-plugin": "^5.59.0",
33
+ "cz-conventional-changelog": "^3.3.0",
34
+ "eslint": "^8.39.0",
35
+ "eslint-config-airbnb-base": "^15.0.0",
36
+ "eslint-config-airbnb-typescript": "^17.0.0",
37
+ "eslint-import-resolver-typescript": "^3.5.5",
36
38
  "eslint-plugin-import": "^2.22.0",
37
- "eslint-plugin-promise": "^4.2.1",
39
+ "eslint-plugin-promise": "^6.1.1",
38
40
  "jest": "^29.5.0",
39
41
  "mongo-mock": "^4.2.0",
42
+ "standard-version": "^9.5.0",
40
43
  "ts-jest": "^29.0.5"
41
44
  },
42
45
  "peerDependencies": {
@@ -46,7 +49,7 @@
46
49
  },
47
50
  "dependencies": {
48
51
  "@azure/arm-dns": "^5.0.0",
49
- "@azure/identity": "^2",
52
+ "@azure/identity": "^3.1.4",
50
53
  "@azure/keyvault-certificates": "^4.4.0",
51
54
  "@azure/keyvault-keys": "^4.4.0",
52
55
  "@azure/keyvault-secrets": "^4.4.0",
@@ -62,19 +65,24 @@
62
65
  "ajv-keywords": "^5.1.0",
63
66
  "dayjs": "^1.11.7",
64
67
  "express": "^4.17.1",
65
- "file-type": "^14.7.1",
68
+ "file-type": "^16",
66
69
  "fs-extra": "^7.0.0",
67
70
  "handlebars": "^4.7.6",
68
71
  "mime-types": "^2.1.32",
69
72
  "mongo-connection-string": "^0.1.5",
70
73
  "mongodb": "^5.1.0",
71
74
  "multer": "^1.4.5-lts.1",
72
- "node-fetch": "2",
75
+ "node-fetch": "^2",
73
76
  "object-path": "^0.11.8",
74
77
  "optional-require": "^1.1.0",
75
78
  "prettyjson": "^1.2.1",
76
79
  "typescript": "^5.0.2",
77
80
  "unzipper": "^0.10.11",
78
81
  "winston": "^3.3.3"
82
+ },
83
+ "config": {
84
+ "commitizen": {
85
+ "path": "./node_modules/cz-conventional-changelog"
86
+ }
79
87
  }
80
88
  }