@chevre/domain 22.11.0-alpha.9 → 22.12.0-alpha.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 (156) hide show
  1. package/example/src/chevre/aggregation/aggregateOrderOfCustomer.ts +25 -11
  2. package/example/src/chevre/aggregation/aggregateOrderOfCustomerGlobally.ts +34 -0
  3. package/example/src/chevre/aggregation/aggregateTasks.ts +41 -0
  4. package/example/src/chevre/checkCustomerAttributesLength.ts +109 -0
  5. package/example/src/chevre/notifyAbortedTasksByEmail.ts +1 -1
  6. package/example/src/chevre/reIndex.ts +1 -1
  7. package/example/src/chevre/roles/addEventOfferPermissionIfNotExists.ts +27 -0
  8. package/example/src/chevre/roles/{addAdminInventoryManagerRole.ts → addProjectCreatorRole.ts} +6 -8
  9. package/example/src/chevre/roles/assignGlobalRoles.ts +72 -0
  10. package/example/src/chevre/roles/findPermissions.ts +84 -0
  11. package/example/src/chevre/roles/findRoleNames.ts +117 -0
  12. package/example/src/chevre/roles/removeConsolePermissionIfExists.ts +38 -0
  13. package/example/src/chevre/searchEventSeats.ts +1 -1
  14. package/example/src/chevre/searchProducts.ts +28 -0
  15. package/example/src/chevre/settings/addSettings.ts +31 -17
  16. package/example/src/chevre/task/countPotentiallyRunning.ts +41 -0
  17. package/example/src/chevre/task/countTasks.ts +51 -0
  18. package/example/src/chevre/{deleteRunsAtPassedCertainPeriod.ts → task/deleteRunsAtPassedCertainPeriod.ts} +4 -3
  19. package/example/src/chevre/task/deleteUnexpectedTasks.ts +23 -0
  20. package/example/src/chevre/task/emitRunning.ts +89 -0
  21. package/example/src/idaas/auth0/adminApplications.ts +183 -0
  22. package/example/src/idaas/auth0/getToken.ts +55 -0
  23. package/example/src/idaas/auth0/getTokenByPrivateKeyJWT.ts +84 -0
  24. package/example/src/regex.ts +31 -0
  25. package/lib/chevre/eventEmitter/task.d.ts +29 -6
  26. package/lib/chevre/factory/event.d.ts +1 -1
  27. package/lib/chevre/index.d.ts +0 -2
  28. package/lib/chevre/index.js +0 -10
  29. package/lib/chevre/repo/event.js +1 -1
  30. package/lib/chevre/repo/member.d.ts +22 -4
  31. package/lib/chevre/repo/member.js +81 -27
  32. package/lib/chevre/repo/mongoose/schemas/aggregateOrder.js +9 -0
  33. package/lib/chevre/repo/mongoose/schemas/event.js +1 -0
  34. package/lib/chevre/repo/mongoose/schemas/member/global.d.ts +14 -0
  35. package/lib/chevre/repo/mongoose/schemas/member/global.js +82 -0
  36. package/lib/chevre/repo/mongoose/schemas/product.js +9 -0
  37. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +15 -0
  38. package/lib/chevre/repo/mongoose/schemas/setting.js +1 -0
  39. package/lib/chevre/repo/mongoose/schemas/task.js +9 -0
  40. package/lib/chevre/repo/order.d.ts +23 -2
  41. package/lib/chevre/repo/order.js +70 -8
  42. package/lib/chevre/repo/pendingReservation.js +1 -0
  43. package/lib/chevre/repo/product.js +12 -17
  44. package/lib/chevre/repo/role.d.ts +5 -4
  45. package/lib/chevre/repo/role.js +35 -32
  46. package/lib/chevre/repo/setting.d.ts +1 -10
  47. package/lib/chevre/repo/setting.js +2 -11
  48. package/lib/chevre/repo/stockHolder.d.ts +4 -27
  49. package/lib/chevre/repo/stockHolder.js +163 -175
  50. package/lib/chevre/repo/task.d.ts +58 -38
  51. package/lib/chevre/repo/task.js +126 -296
  52. package/lib/chevre/repo/transaction.js +10 -10
  53. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +7 -4
  54. package/lib/chevre/service/assetTransaction/cancelReservation/start.d.ts +1 -1
  55. package/lib/chevre/service/assetTransaction/registerService.js +4 -0
  56. package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +19 -16
  57. package/lib/chevre/service/assetTransaction/reserve/start.js +5 -1
  58. package/lib/chevre/service/code.d.ts +5 -28
  59. package/lib/chevre/service/code.js +3 -79
  60. package/lib/chevre/service/iam.d.ts +17 -7
  61. package/lib/chevre/service/iam.js +26 -6
  62. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.d.ts +15 -0
  63. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +38 -0
  64. package/lib/chevre/service/notification.d.ts +2 -1
  65. package/lib/chevre/service/notification.js +3 -1
  66. package/lib/chevre/service/offer/product.js +4 -0
  67. package/lib/chevre/service/order/confirmPayTransaction.d.ts +6 -1
  68. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +3 -3
  69. package/lib/chevre/service/task/acceptCOAOffer.d.ts +1 -1
  70. package/lib/chevre/service/task/aggregateOffers.d.ts +1 -1
  71. package/lib/chevre/service/task/aggregateOffers.js +1 -1
  72. package/lib/chevre/service/task/aggregateOnSystem.d.ts +4 -2
  73. package/lib/chevre/service/task/aggregateScreeningEvent.d.ts +1 -1
  74. package/lib/chevre/service/task/aggregateScreeningEvent.js +1 -1
  75. package/lib/chevre/service/task/authorizePayment.d.ts +1 -1
  76. package/lib/chevre/service/task/cancelMoneyTransfer.d.ts +1 -1
  77. package/lib/chevre/service/task/cancelPendingReservation.d.ts +1 -1
  78. package/lib/chevre/service/task/cancelPendingReservation.js +1 -1
  79. package/lib/chevre/service/task/cancelReservation.d.ts +1 -1
  80. package/lib/chevre/service/task/cancelReservation.js +1 -1
  81. package/lib/chevre/service/task/checkMovieTicket.d.ts +1 -1
  82. package/lib/chevre/service/task/checkResource.d.ts +1 -1
  83. package/lib/chevre/service/task/checkResource.js +1 -1
  84. package/lib/chevre/service/task/confirmMoneyTransfer.d.ts +1 -1
  85. package/lib/chevre/service/task/confirmPayTransaction.d.ts +2 -2
  86. package/lib/chevre/service/task/confirmPayTransaction.js +3 -2
  87. package/lib/chevre/service/task/confirmRegisterService.d.ts +1 -1
  88. package/lib/chevre/service/task/confirmRegisterServiceTransaction.d.ts +1 -1
  89. package/lib/chevre/service/task/confirmReserveTransaction.d.ts +6 -2
  90. package/lib/chevre/service/task/confirmReserveTransaction.js +3 -3
  91. package/lib/chevre/service/task/createAccountingReport.d.ts +1 -1
  92. package/lib/chevre/service/task/createEvent.d.ts +1 -1
  93. package/lib/chevre/service/task/deletePerson.d.ts +1 -1
  94. package/lib/chevre/service/task/deleteTransaction.d.ts +1 -1
  95. package/lib/chevre/service/task/givePointAward.d.ts +1 -1
  96. package/lib/chevre/service/task/handleNotification.d.ts +4 -2
  97. package/lib/chevre/service/task/importEventCapacitiesFromCOA.d.ts +1 -1
  98. package/lib/chevre/service/task/importEventsFromCOA.d.ts +1 -1
  99. package/lib/chevre/service/task/importOffersFromCOA.d.ts +1 -1
  100. package/lib/chevre/service/task/invalidatePaymentUrl.d.ts +1 -1
  101. package/lib/chevre/service/task/moneyTransfer.d.ts +1 -1
  102. package/lib/chevre/service/task/onAssetTransactionStatusChanged.d.ts +1 -1
  103. package/lib/chevre/service/task/onAuthorizationCreated.d.ts +1 -1
  104. package/lib/chevre/service/task/onEventChanged.d.ts +1 -1
  105. package/lib/chevre/service/task/onOrderPaymentCompleted.d.ts +1 -1
  106. package/lib/chevre/service/task/onResourceUpdated.d.ts +1 -1
  107. package/lib/chevre/service/task/pay.d.ts +1 -1
  108. package/lib/chevre/service/task/placeOrder.d.ts +1 -1
  109. package/lib/chevre/service/task/publishPaymentUrl.d.ts +1 -1
  110. package/lib/chevre/service/task/refund.d.ts +1 -1
  111. package/lib/chevre/service/task/registerService.d.ts +1 -1
  112. package/lib/chevre/service/task/reserve.d.ts +1 -1
  113. package/lib/chevre/service/task/returnMoneyTransfer.d.ts +1 -1
  114. package/lib/chevre/service/task/returnOrder.d.ts +1 -1
  115. package/lib/chevre/service/task/returnPayTransaction.d.ts +1 -1
  116. package/lib/chevre/service/task/returnPointAward.d.ts +1 -1
  117. package/lib/chevre/service/task/returnReserveTransaction.d.ts +1 -1
  118. package/lib/chevre/service/task/sendEmailMessage.d.ts +1 -1
  119. package/lib/chevre/service/task/sendOrder.d.ts +1 -1
  120. package/lib/chevre/service/task/triggerWebhook.d.ts +1 -1
  121. package/lib/chevre/service/task/useReservation.d.ts +1 -1
  122. package/lib/chevre/service/task/voidMoneyTransferTransaction.d.ts +1 -1
  123. package/lib/chevre/service/task/voidPayTransaction.d.ts +1 -1
  124. package/lib/chevre/service/task/voidPayment.d.ts +1 -1
  125. package/lib/chevre/service/task/voidRegisterServiceTransaction.d.ts +1 -1
  126. package/lib/chevre/service/task/voidReserveTransaction.d.ts +1 -1
  127. package/lib/chevre/service/task/voidReserveTransaction.js +1 -1
  128. package/lib/chevre/service/task.d.ts +7 -29
  129. package/lib/chevre/service/task.js +9 -114
  130. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.d.ts +11 -0
  131. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.js +105 -0
  132. package/lib/chevre/service/taskHandler/onOperationFailed.d.ts +17 -0
  133. package/lib/chevre/service/taskHandler/onOperationFailed.js +70 -0
  134. package/lib/chevre/service/taskHandler.d.ts +26 -0
  135. package/lib/chevre/service/taskHandler.js +97 -0
  136. package/lib/chevre/service/validation/validateEvent.d.ts +2 -2
  137. package/lib/chevre/service/validation/validateEvent.js +16 -10
  138. package/lib/chevre/service.d.ts +0 -4
  139. package/lib/chevre/service.js +10 -14
  140. package/lib/chevre/settings/aggregation.d.ts +6 -1
  141. package/lib/chevre/settings/aggregation.js +2 -1
  142. package/package.json +6 -4
  143. package/example/src/chevre/adminAuth/adminIdentity.ts +0 -38
  144. package/example/src/chevre/executeOneTask.ts +0 -41
  145. package/example/src/chevre/executeTaskIfExists.ts +0 -80
  146. package/example/src/chevre/findExecutableTask.ts +0 -50
  147. package/example/src/chevre/findSetting.ts +0 -79
  148. package/example/src/chevre/searchPermissions.ts +0 -46
  149. package/example/src/chevre/searchProductOffers.ts +0 -29
  150. package/example/src/chevre/stockHolder/checkIfConflicted.ts +0 -76
  151. package/example/src/chevre/stockHolder/checkRedisKeyCount.ts +0 -186
  152. package/example/src/chevre/stockHolder/migratePendingReservations.ts +0 -96
  153. package/example/src/chevre/stockHolder/playAroundStockHolder.ts +0 -256
  154. package/example/src/chevre/upsertProductsByProductId.ts +0 -100
  155. package/lib/chevre/adminAuth.d.ts +0 -2
  156. package/lib/chevre/adminAuth.js +0 -6
@@ -587,6 +587,7 @@ class PendingReservationRepo {
587
587
  throw new factory.errors.AlreadyInUse(factory.reservationType.EventReservation, ['ticketedSeat'], 'Already hold');
588
588
  }
589
589
  }
590
+ throw error;
590
591
  }
591
592
  });
592
593
  }
@@ -48,7 +48,7 @@ class ProductRepo {
48
48
  }
49
49
  // tslint:disable-next-line:max-func-body-length
50
50
  static CREATE_MONGO_CONDITIONS(params) {
51
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
51
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
52
52
  // MongoDB検索条件
53
53
  const andConditions = [];
54
54
  const projectIdEq = (_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
@@ -151,25 +151,20 @@ class ProductRepo {
151
151
  const nameRegexExp = new RegExp(nameRegex);
152
152
  andConditions.push({
153
153
  $or: [
154
- {
155
- 'name.ja': {
156
- $exists: true,
157
- $regex: nameRegexExp
158
- }
159
- },
160
- {
161
- 'name.en': {
162
- $exists: true,
163
- $regex: nameRegexExp
164
- }
165
- }
154
+ { 'name.ja': { $exists: true, $regex: nameRegexExp } },
155
+ { 'name.en': { $exists: true, $regex: nameRegexExp } }
166
156
  ]
167
157
  });
168
158
  }
169
- // const providerIdEq = params.provider?.id?.$eq;
170
- // if (typeof providerIdEq === 'string') {
171
- // andConditions.push({ 'provider.id': { $exists: true, $eq: providerIdEq } });
172
- // }
159
+ const additionalPropertyElemMatchNameEq = (_w = params.additionalPropertyMatch) === null || _w === void 0 ? void 0 : _w.nameEq;
160
+ if (typeof additionalPropertyElemMatchNameEq === 'string') {
161
+ andConditions.push({
162
+ additionalProperty: {
163
+ $exists: true,
164
+ $elemMatch: { name: { $eq: additionalPropertyElemMatchNameEq } }
165
+ }
166
+ });
167
+ }
173
168
  return andConditions;
174
169
  }
175
170
  /**
@@ -11,13 +11,14 @@ export declare class RoleRepo {
11
11
  constructor(connection: Connection);
12
12
  static CREATE_MONGO_CONDITIONS(params: factory.role.organizationRole.ISearchConditions): FilterQuery<IDocType>[];
13
13
  projectFields(params: factory.role.organizationRole.ISearchConditions, inclusion: IKeyOfProjection[]): Promise<IRole[]>;
14
- aggregatePermissions(params: {
14
+ /**
15
+ * distinctコマンドを使用して、ロールから権限を検索する
16
+ */
17
+ findUniquePermissionsByRoleName(params: {
15
18
  roleName: {
16
19
  $in: string[];
17
20
  };
18
- }): Promise<{
19
- _id: string;
20
- }[]>;
21
+ }): Promise<string[]>;
21
22
  addPermissionIfNotExists(params: {
22
23
  roleName: {
23
24
  $eq: factory.role.organizationRole.RoleName;
@@ -77,39 +77,42 @@ class RoleRepo {
77
77
  .exec();
78
78
  });
79
79
  }
80
- aggregatePermissions(params) {
80
+ // migrate to findDistinctPermissionsByRoleName(2025-07-21~)
81
+ // public async aggregatePermissions(params: {
82
+ // roleName: { $in: string[] };
83
+ // }): Promise<{ _id: string }[]> {
84
+ // const matchStages: IMatchStage[] = [
85
+ // { $match: { roleName: { $in: params.roleName.$in } } }
86
+ // ];
87
+ // const aggregate = this.roleModel.aggregate([
88
+ // ...matchStages,
89
+ // {
90
+ // $unwind: {
91
+ // path: '$permissions'
92
+ // }
93
+ // },
94
+ // {
95
+ // $project: {
96
+ // _id: 0,
97
+ // permission: '$permissions'
98
+ // }
99
+ // },
100
+ // {
101
+ // $group: {
102
+ // _id: '$permission'
103
+ // }
104
+ // }
105
+ // ]);
106
+ // return aggregate.option({ maxTimeMS: MONGO_MAX_TIME_MS })
107
+ // .exec();
108
+ // }
109
+ /**
110
+ * distinctコマンドを使用して、ロールから権限を検索する
111
+ */
112
+ findUniquePermissionsByRoleName(params) {
81
113
  return __awaiter(this, void 0, void 0, function* () {
82
- const matchStages = [
83
- { $match: { roleName: { $in: params.roleName.$in } } }
84
- ];
85
- const aggregate = this.roleModel.aggregate([
86
- // ...(typeof params.sort?.productID === 'number')
87
- // ? [{ $sort: { productID: params.sort.productID } }]
88
- // : [],
89
- ...matchStages,
90
- {
91
- $unwind: {
92
- path: '$permissions'
93
- }
94
- },
95
- {
96
- $project: {
97
- _id: 0,
98
- permission: '$permissions'
99
- }
100
- },
101
- {
102
- $group: {
103
- _id: '$permission'
104
- }
105
- }
106
- ]);
107
- // if (typeof params.limit === 'number' && params.limit > 0) {
108
- // const page: number = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
109
- // aggregate.limit(params.limit * page)
110
- // .skip(params.limit * (page - 1));
111
- // }
112
- return aggregate.option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
114
+ return this.roleModel.distinct('permissions', { roleName: { $in: params.roleName.$in } })
115
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
113
116
  .exec();
114
117
  });
115
118
  }
@@ -22,16 +22,7 @@ export declare class SettingRepo {
22
22
  $eq: string;
23
23
  };
24
24
  };
25
- }, update: Pick<ISetting, 'onEventChanged' | 'onReservationStatusChanged' | 'onResourceUpdated' | 'defaultSenderEmail' | 'useInformResourceTypes' | 'userPoolIdNew' | 'userPoolIdOld' | 'storage' | 'quota' | 'triggerWebhook' | 'waiter'>): Promise<import("mongoose").UpdateWriteOpResult>;
26
- updateByProject4migration(filter: {
27
- project: {
28
- id: {
29
- $eq: string;
30
- };
31
- };
32
- }, update: {
33
- $set: any;
34
- }): Promise<import("mongoose").UpdateWriteOpResult>;
25
+ }, update: Pick<ISetting, 'onEventChanged' | 'onReservationStatusChanged' | 'onTaskStatusChanged' | 'onResourceUpdated' | 'defaultSenderEmail' | 'useInformResourceTypes' | 'userPoolIdNew' | 'userPoolIdOld' | 'storage' | 'quota' | 'triggerWebhook' | 'waiter'>): Promise<import("mongoose").UpdateWriteOpResult>;
35
26
  unsetUnnecessaryFields(params: {
36
27
  filter: FilterQuery<ISetting>;
37
28
  $unset: any;
@@ -49,18 +49,9 @@ class SettingRepo {
49
49
  }
50
50
  updateByProject(filter, update) {
51
51
  return __awaiter(this, void 0, void 0, function* () {
52
- const { onEventChanged, onReservationStatusChanged, onResourceUpdated, defaultSenderEmail, useInformResourceTypes, userPoolIdNew, userPoolIdOld, storage, quota, triggerWebhook, waiter } = update;
52
+ const { onEventChanged, onReservationStatusChanged, onTaskStatusChanged, onResourceUpdated, defaultSenderEmail, useInformResourceTypes, userPoolIdNew, userPoolIdOld, storage, quota, triggerWebhook, waiter } = update;
53
53
  return this.settingModel.updateOne({ 'project.id': { $eq: filter.project.id.$eq } }, {
54
- $set: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (onEventChanged !== undefined) ? { onEventChanged } : undefined), (onReservationStatusChanged !== undefined) ? { onReservationStatusChanged } : undefined), (onResourceUpdated !== undefined) ? { onResourceUpdated } : undefined), (defaultSenderEmail !== undefined) ? { defaultSenderEmail } : undefined), (useInformResourceTypes !== undefined) ? { useInformResourceTypes } : undefined), (userPoolIdNew !== undefined) ? { userPoolIdNew } : undefined), (userPoolIdOld !== undefined) ? { userPoolIdOld } : undefined), (storage !== undefined) ? { storage } : undefined), (quota !== undefined) ? { quota } : undefined), (triggerWebhook !== undefined) ? { triggerWebhook } : undefined), (waiter !== undefined) ? { waiter } : undefined)
55
- })
56
- .exec();
57
- });
58
- }
59
- updateByProject4migration(filter, update) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- const { $set } = update;
62
- return this.settingModel.updateOne({ 'project.id': { $eq: filter.project.id.$eq } }, {
63
- $set
54
+ $set: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (onEventChanged !== undefined) ? { onEventChanged } : undefined), (onReservationStatusChanged !== undefined) ? { onReservationStatusChanged } : undefined), (onTaskStatusChanged !== undefined) ? { onTaskStatusChanged } : undefined), (onResourceUpdated !== undefined) ? { onResourceUpdated } : undefined), (defaultSenderEmail !== undefined) ? { defaultSenderEmail } : undefined), (useInformResourceTypes !== undefined) ? { useInformResourceTypes } : undefined), (userPoolIdNew !== undefined) ? { userPoolIdNew } : undefined), (userPoolIdOld !== undefined) ? { userPoolIdOld } : undefined), (storage !== undefined) ? { storage } : undefined), (quota !== undefined) ? { quota } : undefined), (triggerWebhook !== undefined) ? { triggerWebhook } : undefined), (waiter !== undefined) ? { waiter } : undefined)
64
55
  })
65
56
  .exec();
66
57
  });
@@ -1,17 +1,14 @@
1
1
  import type { Connection } from 'mongoose';
2
- import type { RedisClientType } from 'redis';
3
2
  import { AbstractStockHolderRepo, IGetHolderResult, ILockKey, IOffer, IUnlockKey } from './stockHolderAbstract';
4
3
  export { ILockKey, IOffer, IUnlockKey };
5
4
  /**
6
- * イベントストックホルダーリポジトリ
5
+ * 保留予約リポジトリ
7
6
  */
8
7
  export declare class StockHolderRepo implements AbstractStockHolderRepo {
9
- static KEY_PREFIX_NEW: string;
10
- private readonly redisClient;
11
8
  private readonly pendingReservationRepo;
12
- constructor(redisClient: RedisClientType, connection: Connection);
13
- private static offer2field;
14
- private static createKey;
9
+ constructor(params: {
10
+ connection: Connection;
11
+ });
15
12
  /**
16
13
  * 座席をロックする(maxキャパシティチェック有)
17
14
  */
@@ -50,26 +47,6 @@ export declare class StockHolderRepo implements AbstractStockHolderRepo {
50
47
  hasTicketedSeat: boolean;
51
48
  offers: IOffer[];
52
49
  }): Promise<IGetHolderResult[]>;
53
- redisKeyExists(params: {
54
- eventId: string;
55
- startDate: Date;
56
- }): Promise<boolean>;
57
- checkIfConflicted(params: {
58
- eventId: string;
59
- startDate: Date;
60
- }): Promise<void>;
61
- /**
62
- * 万が一に備えて、保留予約をredis->mongo移行
63
- */
64
- migrate2mongoJustInCase(params: {
65
- eventId: string;
66
- startDate: Date;
67
- }): Promise<{
68
- expireTime: number;
69
- hash: {
70
- [x: string]: string;
71
- };
72
- }>;
73
50
  /**
74
51
  * 新リポジトリを使用するかどうか
75
52
  */