@chevre/domain 28.0.0-alpha.17 → 28.0.0-alpha.18

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.
@@ -26,7 +26,6 @@ const deleteResourcesByOfferCatalog_1 = require("./onResourceDeleted/deleteResou
26
26
  const deleteResourcesByProduct_1 = require("./onResourceDeleted/deleteResourcesByProduct");
27
27
  const deleteResourcesByRoom_1 = require("./onResourceDeleted/deleteResourcesByRoom");
28
28
  const deleteResourcesBySeller_1 = require("./onResourceDeleted/deleteResourcesBySeller");
29
- const onHasPOSUpdated_1 = require("./onResourceUpdated/onHasPOSUpdated");
30
29
  const syncOfferCatalog_1 = require("./onResourceUpdated/syncOfferCatalog");
31
30
  /**
32
31
  * タスク実行関数
@@ -68,11 +67,12 @@ function onResourceDeleted(params) {
68
67
  if (useInform) {
69
68
  switch (resourceType) {
70
69
  case 'POS':
71
- await (0, onHasPOSUpdated_1.createInformHasPOSTasks)({
72
- project: { id: params.project.id },
73
- ids: [params.operator.id],
74
- typeOf: factory_1.factory.placeType.MovieTheater
75
- })(repos);
70
+ // POS削除時通知は廃止(2026-09-26~)
71
+ // await createInformHasPOSTasks({
72
+ // project: { id: params.project.id },
73
+ // ids: [params.operator.id],
74
+ // typeOf: factory.placeType.MovieTheater
75
+ // })(repos);
76
76
  break;
77
77
  default:
78
78
  // no op
@@ -10,8 +10,12 @@ export declare function createInformHasPOSTasks(params: {
10
10
  /**
11
11
  * 施設ID
12
12
  */
13
- ids: string[];
13
+ id: string;
14
14
  typeOf: factory.placeType.MovieTheater;
15
+ /**
16
+ * POSコード
17
+ */
18
+ branchCode: string;
15
19
  }): (repos: {
16
20
  pos: POSRepo;
17
21
  movieTheater: MovieTheaterRepo;
@@ -3,20 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createInformHasPOSTasks = createInformHasPOSTasks;
4
4
  const factory_1 = require("../../../factory");
5
5
  function createInformHasPOSTasks(params) {
6
- return async (repos
7
- // settings: Settings
8
- ) => {
9
- if (params.ids.length !== 1) {
10
- throw new factory_1.factory.errors.Argument('id', 'id.length must be 1');
11
- }
6
+ return async (repos) => {
7
+ // if (params.ids.length !== 1) {
8
+ // throw new factory.errors.Argument('id', 'id.length must be 1');
9
+ // }
12
10
  const setting = await repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['onResourceUpdated']);
13
- // const informResources = settings.onResourceUpdated.informResource;
14
11
  const informResources = setting?.onResourceUpdated?.informResource;
15
12
  const movieTheaters = await repos.movieTheater.projectFields({
16
13
  limit: 1,
17
14
  page: 1,
18
15
  project: { id: { $eq: params.project.id } },
19
- id: { $eq: params.ids[0] }
16
+ id: { $eq: params.id }
20
17
  }, ['id']
21
18
  // []
22
19
  );
@@ -26,48 +23,53 @@ function createInformHasPOSTasks(params) {
26
23
  }
27
24
  // 施設のhasPOSを全て連携する
28
25
  repos.pos.operator.id = movieTheater.id;
29
- const hasPOS = await repos.pos.findPOS({
30
- projectId: params.project.id
31
- }); // pos.idを除外(2026-09-18~)
32
- const movieTheaters4inform = [{
33
- hasPOS: (Array.isArray(hasPOS)) ? hasPOS : [],
34
- id: movieTheater.id,
35
- typeOf: factory_1.factory.placeType.MovieTheater
36
- }];
37
- if (movieTheaters4inform.length > 0) {
38
- const taskRunsAt = new Date();
39
- const informTasks = [];
40
- informResources?.forEach((informResource) => {
41
- const informUrl = String(informResource.recipient?.url);
42
- movieTheaters4inform.forEach((movieTheater4inform) => {
43
- const informActionAttributes = {
44
- object: movieTheater4inform,
45
- recipient: {
46
- name: String(informResource.recipient?.name),
47
- typeOf: factory_1.factory.creativeWorkType.WebApplication
48
- // url: informUrl // discontinue(2025-02-13~)
49
- },
50
- target: {
51
- httpMethod: 'POST',
52
- encodingType: factory_1.factory.encodingFormat.Application.json,
53
- typeOf: 'EntryPoint',
54
- urlTemplate: informUrl
55
- }
56
- };
57
- informTasks.push({
58
- project: { id: params.project.id, typeOf: factory_1.factory.organizationType.Project },
59
- name: factory_1.factory.taskName.TriggerWebhook,
60
- status: factory_1.factory.taskStatus.Ready,
61
- runsAt: taskRunsAt,
62
- remainingNumberOfTries: 10,
63
- numberOfTried: 0,
64
- executionResults: [],
65
- data: informActionAttributes
26
+ const informingPOS = (await repos.pos.findPOS({
27
+ limit: 1,
28
+ page: 1,
29
+ projectId: params.project.id,
30
+ branchCode: { $eq: params.branchCode }
31
+ })).at(0); // pos.idを除外(2026-09-18~)
32
+ if (informingPOS !== undefined) {
33
+ const movieTheaters4inform = [{
34
+ hasPOS: [informingPOS],
35
+ id: movieTheater.id,
36
+ typeOf: factory_1.factory.placeType.MovieTheater
37
+ }];
38
+ if (movieTheaters4inform.length > 0) {
39
+ const taskRunsAt = new Date();
40
+ const informTasks = [];
41
+ informResources?.forEach((informResource) => {
42
+ const informUrl = String(informResource.recipient?.url);
43
+ movieTheaters4inform.forEach((movieTheater4inform) => {
44
+ const informActionAttributes = {
45
+ object: movieTheater4inform,
46
+ recipient: {
47
+ name: String(informResource.recipient?.name),
48
+ typeOf: factory_1.factory.creativeWorkType.WebApplication
49
+ // url: informUrl // discontinue(2025-02-13~)
50
+ },
51
+ target: {
52
+ httpMethod: 'POST',
53
+ encodingType: factory_1.factory.encodingFormat.Application.json,
54
+ typeOf: 'EntryPoint',
55
+ urlTemplate: informUrl
56
+ }
57
+ };
58
+ informTasks.push({
59
+ project: { id: params.project.id, typeOf: factory_1.factory.organizationType.Project },
60
+ name: factory_1.factory.taskName.TriggerWebhook,
61
+ status: factory_1.factory.taskStatus.Ready,
62
+ runsAt: taskRunsAt,
63
+ remainingNumberOfTries: 10,
64
+ numberOfTried: 0,
65
+ executionResults: [],
66
+ data: informActionAttributes
67
+ });
66
68
  });
67
69
  });
68
- });
69
- if (informTasks.length > 0) {
70
- await repos.task.saveMany(informTasks);
70
+ if (informTasks.length > 0) {
71
+ await repos.task.saveMany(informTasks);
72
+ }
71
73
  }
72
74
  }
73
75
  };
@@ -123,8 +123,9 @@ function onResourceUpdated(params) {
123
123
  case 'POS':
124
124
  await (0, onHasPOSUpdated_1.createInformHasPOSTasks)({
125
125
  project: { id: params.project.id },
126
- ids: [params.operator.id],
127
- typeOf: factory_1.factory.placeType.MovieTheater
126
+ id: params.operator.id,
127
+ typeOf: factory_1.factory.placeType.MovieTheater,
128
+ branchCode: params.branchCode
128
129
  })(repos);
129
130
  break;
130
131
  case factory_1.factory.offerType.AggregateOffer:
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "dependencies": {
12
12
  "@aws-sdk/client-cognito-identity-provider": "3.1090.0",
13
13
  "@aws-sdk/credential-providers": "3.1090.0",
14
- "@chevre/factory": "11.0.0",
14
+ "@chevre/factory": "11.1.0-alpha.0",
15
15
  "@motionpicture/coa-service": "10.0.0",
16
16
  "@motionpicture/gmo-service": "6.1.0-alpha.0",
17
17
  "@sendgrid/client": "8.1.4",
@@ -88,5 +88,5 @@
88
88
  "postversion": "git push origin --tags",
89
89
  "prepublishOnly": "npm run clean && npm run build"
90
90
  },
91
- "version": "28.0.0-alpha.17"
91
+ "version": "28.0.0-alpha.18"
92
92
  }