@cinerino/sdk 12.8.0 → 12.9.0-alpha.1

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.
@@ -6,8 +6,8 @@ import * as auth from '../../auth/authAsAdmin';
6
6
 
7
7
  const PROJECT_ID = String(process.env.PROJECT_ID);
8
8
  const SELLER_ID = '59d20831e53ebc2b4e774466';
9
- const OFFER_IDENTIFIER = '20251119eventOffer01';
10
- const itemOfferedId = '691d48de08422fdedd8b864a';
9
+ const OFFER_IDENTIFIER = '20251120eventOffer01';
10
+ const itemOfferedId = '691e5b3ba84891e2b630fca9';
11
11
 
12
12
  // tslint:disable-next-line:max-func-body-length
13
13
  async function main() {
@@ -37,6 +37,9 @@ async function main() {
37
37
  availableAtOrFrom: { identifier: 'SmartTheaterTXN' },
38
38
  validFrom,
39
39
  validThrough
40
+ // offeredBy: {
41
+ // identifier: 'DefaultTokenIssuer'
42
+ // }
40
43
  }
41
44
  ],
42
45
  {
@@ -52,6 +55,9 @@ async function main() {
52
55
  availableAtOrFrom: { identifier: 'SmartTheaterTXN' },
53
56
  validFrom,
54
57
  validThrough
58
+ // offeredBy: {
59
+ // identifier: 'DefaultTokenIssuer'
60
+ // }
55
61
  }
56
62
  ],
57
63
  {
@@ -0,0 +1,99 @@
1
+ // tslint:disable:no-console
2
+ // tslint:disable-next-line:no-implicit-dependencies
3
+ import * as moment from 'moment';
4
+ import * as client from '../../../../lib/index';
5
+ import * as auth from '../../auth/authAsAdmin';
6
+
7
+ const PROJECT_ID = String(process.env.PROJECT_ID);
8
+ /**
9
+ * イベント提供販売者ID
10
+ */
11
+ const SELLER_ID = '59d20831e53ebc2b4e774466';
12
+ /**
13
+ * イベントオファーコード
14
+ */
15
+ const OFFER_IDENTIFIER = '20251120eventOffer01';
16
+ /**
17
+ * 対象イベントID
18
+ */
19
+ const itemOfferedId = '691e5b3ba84891e2b630fca9';
20
+ /**
21
+ * 販売アプリケーションコード
22
+ * 全ての取引アプリケーションにコードが割り当てられているので、別途確認
23
+ */
24
+ const APPLICATION_IDENTIFIER = 'SmartTheaterTXN';
25
+
26
+ // tslint:disable-next-line:max-func-body-length
27
+ async function main() {
28
+ const authClient = await auth.login();
29
+ await authClient.refreshAccessToken();
30
+ const loginTicket = authClient.verifyIdToken({});
31
+ console.log('username is', loginTicket.getUsername());
32
+
33
+ const eventOfferService = await (await client.loadCloudAdmin({
34
+ endpoint: <string>process.env.API_ADMIN_ENDPOINT,
35
+ auth: authClient
36
+ })).createEventOfferInstance({
37
+ project: { id: PROJECT_ID },
38
+ seller: { id: SELLER_ID }
39
+ });
40
+
41
+ // validFrom~validThroughで有効なイベントオファーを作成する
42
+ const now = new Date();
43
+ const validFrom = moment(now)
44
+ .toDate();
45
+ const validThrough = moment(validFrom)
46
+ .add(1, 'minutes')
47
+ .toDate();
48
+
49
+ await eventOfferService.createEventOfferByIdentifier(
50
+ [
51
+ {
52
+ identifier: OFFER_IDENTIFIER, // オファーコードに対してなければ作成(既に存在すれば何もしない)
53
+ availableAtOrFrom: {
54
+ identifier: APPLICATION_IDENTIFIER
55
+ },
56
+ validFrom,
57
+ validThrough
58
+ }
59
+ ],
60
+ {
61
+ itemOfferedId
62
+ }
63
+ );
64
+ console.log('created.');
65
+
66
+ // オファーコードでオファーを編集する
67
+ await eventOfferService.updateEventOfferByIdentifier(
68
+ [
69
+ {
70
+ identifier: OFFER_IDENTIFIER,
71
+ availableAtOrFrom: {
72
+ identifier: APPLICATION_IDENTIFIER
73
+ },
74
+ validFrom,
75
+ validThrough
76
+ }
77
+ ],
78
+ {
79
+ itemOfferedId
80
+ }
81
+ );
82
+ console.log('updated.');
83
+
84
+ // イベントオファーの検索
85
+ const offers = await eventOfferService.findEventOffers({
86
+ limit: 10,
87
+ page: 1,
88
+ itemOfferedId: itemOfferedId
89
+ });
90
+ // tslint:disable-next-line:no-null-keyword
91
+ console.dir(offers, { depth: null });
92
+ console.log(offers.length, 'offers found');
93
+ }
94
+
95
+ main()
96
+ .then(() => {
97
+ console.log('success!');
98
+ })
99
+ .catch(console.error);
@@ -34,7 +34,7 @@ async function main() {
34
34
  const today = moment()
35
35
  .tz('Asia/Tokyo')
36
36
  .format('YYYY-MM-DD');
37
- const startDate = moment(`${today}T14:00:00Z`)
37
+ const startDate = moment(`${today}T13:00:00Z`)
38
38
  .toDate();
39
39
  const endDate = moment(startDate)
40
40
  .add(1, 'hour')
@@ -6,6 +6,7 @@ import { auth } from '../../auth/clientCredentials';
6
6
 
7
7
  const project = { id: String(process.env.PROJECT_ID) };
8
8
  const { EVENT_ID } = process.env;
9
+ const APPLICATION_IDENTIFIER = 'SmartTheaterTXN';
9
10
  const profile: client.factory.person.IProfile = {
10
11
  email: <string>process.env.TEST_PROFILE_EMAIL,
11
12
  givenName: 'Taro ##\n##\r##\n\n\n##\r\r\r##\r\n\r\n\r\n##',
@@ -28,6 +29,23 @@ const creditCard: client.factory.paymentMethod.paymentCard.creditCard.IUnchecked
28
29
  holderName: 'AA AA'
29
30
  };
30
31
 
32
+ type ISellerMakesOffer = Omit<client.factory.event.screeningEvent.ISellerMakesOffer, 'availableAtOrFrom'> & {
33
+ availableAtOrFrom?: client.factory.event.screeningEvent.IOfferAvailableAtOrFrom
34
+ | client.factory.event.screeningEvent.IOfferAvailableAtOrFrom[];
35
+ };
36
+ type ISeller = Omit<client.factory.event.screeningEvent.ISeller, 'makesOffer'> & {
37
+ makesOffer: ISellerMakesOffer[];
38
+ };
39
+ type IScreeningEventOffer = Omit<client.factory.event.screeningEvent.IOffer, 'seller'> & {
40
+ seller: ISeller;
41
+ };
42
+ type IScreeningEventExtensibleOffer = Omit<client.factory.event.screeningEvent.IExtensibleEventOffer, 'seller'> & {
43
+ seller: ISeller;
44
+ };
45
+ type IEvent = Omit<client.factory.event.screeningEvent.IEvent, 'offers'> & {
46
+ offers?: IScreeningEventOffer | IScreeningEventExtensibleOffer;
47
+ };
48
+
31
49
  // tslint:disable-next-line:max-func-body-length
32
50
  async function main() {
33
51
  const eventService = new (await client.loadService()).Event({
@@ -83,7 +101,7 @@ async function main() {
83
101
  });
84
102
  console.log(searchScreeningEventsResult.data.length, 'events found');
85
103
 
86
- const availableEvents = searchScreeningEventsResult.data;
104
+ const availableEvents = <IEvent[]>searchScreeningEventsResult.data;
87
105
  if (availableEvents.length === 0) {
88
106
  throw new Error('No available events');
89
107
  }
@@ -112,7 +130,7 @@ async function main() {
112
130
  for (let i = 0; i < numEvents; i++) {
113
131
  // イベント決定
114
132
  // tslint:disable-next-line:insecure-random
115
- const screeningEvent = availableEvents[Math.floor(availableEvents.length * Math.random())];
133
+ const screeningEvent: IEvent = availableEvents[Math.floor(availableEvents.length * Math.random())];
116
134
  const authorizeSeatReservationResult = await authorizeSeatReservationByEvent({
117
135
  event: screeningEvent,
118
136
  transaction: transaction
@@ -282,7 +300,7 @@ type IAuthorizeReservationAction = Pick<client.factory.action.authorize.offer.ev
282
300
 
283
301
  // tslint:disable-next-line:max-func-body-length
284
302
  async function authorizeSeatReservationByEvent(params: {
285
- event: Omit<client.factory.event.screeningEvent.IEvent, 'offers'>;
303
+ event: IEvent;
286
304
  transaction: Pick<client.factory.transaction.placeOrder.ITransaction, 'id'>;
287
305
  }): Promise<{
288
306
  price: number;
@@ -302,6 +320,13 @@ async function authorizeSeatReservationByEvent(params: {
302
320
  seller: { id: '' }
303
321
  });
304
322
 
323
+ const eventOfferService = await (await client.loadCloudSearch({
324
+ endpoint: <string>process.env.API_ENDPOINT,
325
+ auth: await auth()
326
+ })).createEventOfferInstance({
327
+ project,
328
+ seller: { id: '' }
329
+ });
305
330
  const screeningEvent = params.event;
306
331
  const transaction = params.transaction;
307
332
 
@@ -364,17 +389,50 @@ async function authorizeSeatReservationByEvent(params: {
364
389
  const selectedSeatOffers = availableSeatOffers.slice(0, 1);
365
390
  console.log(selectedSeatOffers.length, 'seats selected');
366
391
 
367
- // tslint:disable-next-line:no-suspicious-comment
368
- // TODO 拡張イベントオファー検索
392
+ /**
393
+ * 拡張イベントオファー使用の場合のオファーチケットトークン
394
+ */
395
+ let ticketToken: string | undefined;
396
+ // 拡張イベントオファー使用の場合、イベントオファーチケットを発行する
397
+ if (screeningEvent.offers?.typeOf === client.factory.offerType.AggregateOffer) {
398
+ // イベントに対するイベントオファー検索
399
+ await wait(3000);
400
+ const eventOffers = await eventOfferService.findEventOffers({
401
+ limit: 20,
402
+ page: 1,
403
+ itemOfferedId: screeningEvent.id,
404
+ availableAtOrFromIdentifier: APPLICATION_IDENTIFIER // 指定のアプリケーションで有効なオファー
405
+ });
406
+ console.log(eventOffers.length, 'eventOffers found.', eventOffers);
407
+
408
+ // 有効なイベントオファーは?
409
+ const now = new Date();
410
+ const validEventOffer = eventOffers.find((eventOffer) => {
411
+ return moment(eventOffer.validFrom)
412
+ .isSameOrBefore(now)
413
+ && moment(eventOffer.validThrough)
414
+ .isSameOrAfter(now);
415
+ });
416
+ if (validEventOffer === undefined) {
417
+ throw new Error('有効なイベントオファーが見つかりません');
418
+ }
419
+ console.log('有効なイベントオファーが見つかりました', validEventOffer.id, validEventOffer.identifier);
369
420
 
370
- await wait(3000);
371
- // 拡張オファー使用の場合、オファーコードを指定してオファーチケットを発行
372
- const { ticketToken } = await offerService.issueEventServiceOfferTicket({
373
- audience: { id: transaction.id },
374
- eventId: screeningEvent.id,
375
- eventOfferId: '691d492f929e69df1e32b89d' // 拡張オファー使用の場合、オファーコードを指定する
376
- });
377
- console.log('offer ticket issued.', ticketToken);
421
+ await wait(3000);
422
+ // 拡張オファー使用の場合、オファーコードを指定してオファーチケットを発行
423
+ const issueEventServiceOfferTicketResult = await offerService.issueEventServiceOfferTicket({
424
+ audience: { id: transaction.id },
425
+ eventId: screeningEvent.id,
426
+ eventOfferId: validEventOffer.id // 拡張オファー使用の場合、イベントオファーIDを指定する
427
+ // ticketedOffer: {
428
+ // ...(typeof SAMPLE_EVENT_OFFER_TOKEN === 'string') ? { token: SAMPLE_EVENT_OFFER_TOKEN } : undefined
429
+ // }
430
+ });
431
+ console.log('offer ticket issued.', ticketToken);
432
+ ticketToken = issueEventServiceOfferTicketResult.ticketToken;
433
+ } else {
434
+ // no op
435
+ }
378
436
 
379
437
  await wait(3000);
380
438
  console.log('authorizing seat reservation...');
@@ -407,7 +465,9 @@ async function authorizeSeatReservationByEvent(params: {
407
465
  },
408
466
  purpose: { id: transaction.id, typeOf: client.factory.transactionType.PlaceOrder },
409
467
  instrument: [
410
- { ticketToken, typeOf: 'Ticket' } // オファーチケットを指定する
468
+ ...(typeof ticketToken === 'string')
469
+ ? [{ ticketToken, typeOf: <'Ticket'>'Ticket' }]
470
+ : [] // オファーチケットを指定する
411
471
  ]
412
472
  });
413
473
  console.log('seat reservation authorized', seatReservationAuth.id);
@@ -20,7 +20,7 @@ export interface IFindParams {
20
20
  */
21
21
  itemOfferedIds?: string[];
22
22
  }
23
- export declare type IEventOfferAsFindResult = Pick<factory.eventOffer.IEventOffer, 'availableAtOrFrom' | 'identifier' | 'itemOffered' | 'offeredBy' | 'validFrom' | 'validThrough'>;
23
+ export declare type IEventOfferAsFindResult = Pick<factory.eventOffer.IEventOffer, 'availableAtOrFrom' | 'identifier' | 'itemOffered' | 'offeredBy' | 'validFrom' | 'validThrough' | 'id'>;
24
24
  /**
25
25
  * 拡張イベントオファーサービス
26
26
  */
@@ -15,17 +15,7 @@ export declare type ICreateParamsByIdentifier = Pick<factory.event.screeningEven
15
15
  /**
16
16
  * 識別子によるイベント編集パラメータ
17
17
  */
18
- export declare type IUpdateParamsByIdentifier = Pick<factory.event.screeningEvent.IUpdateByIdParams, 'additionalProperty' | 'doorTime' | 'endDate' | 'eventStatus' | 'maximumPhysicalAttendeeCapacity' | 'startDate'> & {
19
- identifier: string;
20
- offers: Pick<factory.event.screeningEvent.IOffer4update, 'eligibleQuantity' | 'unacceptedPaymentMethod' | 'itemOffered'> & {
21
- /**
22
- * アプリケーション設定
23
- */
24
- seller: Pick<factory.event.screeningEvent.ISeller4create, 'makesOffer'>;
25
- };
26
- location?: never;
27
- superEvent?: never;
28
- };
18
+ export declare type IUpdateParamsByIdentifier = factory.event.screeningEvent.IUpdateByIdentifierParams;
29
19
  export interface IUpdateEventSellerMakesOfferParamsByIdentifier {
30
20
  /**
31
21
  * イベント識別子
@@ -27,8 +27,9 @@ export interface IFindParams {
27
27
  identifiers?: string[];
28
28
  id?: string;
29
29
  }
30
+ export declare type IEventOfferAsFindResult = Pick<factory.eventOffer.IEventOffer, 'availableAtOrFrom' | 'id' | 'identifier' | 'itemOffered' | 'offeredBy' | 'typeOf' | 'validFrom' | 'validThrough'>;
30
31
  /**
31
- * 拡張イベントオファーサービス
32
+ * 拡張可能なイベントオファーサービス
32
33
  */
33
34
  export declare class EventOfferService extends Service {
34
35
  createEventOfferByIdentifier(
@@ -51,7 +52,13 @@ export declare class EventOfferService extends Service {
51
52
  */
52
53
  itemOfferedId: string;
53
54
  }): Promise<void>;
54
- findEventOffers(params: IFindParams): Promise<(Omit<factory.eventOffer.IEventOffer, 'project'> & {
55
+ findEventOffers(params: IFindParams): Promise<IEventOfferAsFindResult[]>;
56
+ /**
57
+ * 有効なイベントオファートークンを発行する(開発使用目的)
58
+ */
59
+ issueEventOfferToken(params: {
55
60
  id: string;
56
- })[]>;
61
+ }): Promise<{
62
+ token: string;
63
+ }>;
57
64
  }
@@ -56,7 +56,7 @@ var http_status_1 = require("http-status");
56
56
  var service_1 = require("../service");
57
57
  var BASE_URI = '/eventOffers';
58
58
  /**
59
- * 拡張イベントオファーサービス
59
+ * 拡張可能なイベントオファーサービス
60
60
  */
61
61
  var EventOfferService = /** @class */ (function (_super) {
62
62
  __extends(EventOfferService, _super);
@@ -129,6 +129,26 @@ var EventOfferService = /** @class */ (function (_super) {
129
129
  });
130
130
  });
131
131
  };
132
+ /**
133
+ * 有効なイベントオファートークンを発行する(開発使用目的)
134
+ */
135
+ EventOfferService.prototype.issueEventOfferToken = function (params) {
136
+ return __awaiter(this, void 0, void 0, function () {
137
+ var id;
138
+ var _this = this;
139
+ return __generator(this, function (_a) {
140
+ id = params.id;
141
+ return [2 /*return*/, this.fetch({
142
+ uri: BASE_URI + "/" + encodeURIComponent(String(id)) + "/tokens",
143
+ method: 'POST',
144
+ expectedStatusCodes: [http_status_1.CREATED]
145
+ })
146
+ .then(function (response) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
147
+ return [2 /*return*/, response.json()];
148
+ }); }); })];
149
+ });
150
+ });
151
+ };
132
152
  return EventOfferService;
133
153
  }(service_1.Service));
134
154
  exports.EventOfferService = EventOfferService;
@@ -21,8 +21,11 @@ declare type IScreeningEventOffer = Omit<factory.event.screeningEvent.IOffer, 's
21
21
  declare type IScreeningEventOffer4COA = Omit<factory.event.screeningEvent.IOffer4COA, 'seller'> & {
22
22
  seller: ISeller4COA;
23
23
  };
24
+ declare type IScreeningEventExtensibleOffer = Omit<factory.event.screeningEvent.IExtensibleEventOffer, 'seller'> & {
25
+ seller: ISeller;
26
+ };
24
27
  export declare type IEvent = Omit<factory.event.screeningEvent.IEvent, 'offers'> & {
25
- offers?: IScreeningEventOffer | IScreeningEventOffer4COA;
28
+ offers?: IScreeningEventOffer | IScreeningEventOffer4COA | IScreeningEventExtensibleOffer;
26
29
  };
27
30
  export declare type IMinimizedEvent = Pick<factory.event.screeningEvent.IEvent, 'additionalProperty' | 'doorTime' | 'endDate' | 'eventStatus' | 'id' | 'location' | 'maximumAttendeeCapacity' | 'remainingAttendeeCapacity' | 'startDate' | 'superEvent'>;
28
31
  /**
@@ -0,0 +1,40 @@
1
+ import { ICreatingEventOffer, IEventOfferAsFindResult, IFindParams } from '../../chevreAdmin/eventOffer';
2
+ import { Service } from '../../service';
3
+ /**
4
+ * イベントオファー管理サービス
5
+ * イベントとアプリケーションに対して有効なオファーを定義します
6
+ */
7
+ export declare class EventOfferService extends Service {
8
+ private chevreAdminEventOffer;
9
+ /**
10
+ * イベントオファーを追加する(イベントIDとオファーコードに対して、存在しなければ作成)
11
+ */
12
+ createEventOfferByIdentifier(
13
+ /**
14
+ * max: 20
15
+ */
16
+ params: ICreatingEventOffer[], options: {
17
+ /**
18
+ * イベントID
19
+ */
20
+ itemOfferedId: string;
21
+ }): Promise<void>;
22
+ /**
23
+ * イベントオファーを編集する
24
+ */
25
+ updateEventOfferByIdentifier(
26
+ /**
27
+ * max: 20
28
+ */
29
+ params: ICreatingEventOffer[], options: {
30
+ /**
31
+ * イベントID
32
+ */
33
+ itemOfferedId: string;
34
+ }): Promise<void>;
35
+ /**
36
+ * イベントオファーを検索する
37
+ */
38
+ findEventOffers(params: IFindParams): Promise<IEventOfferAsFindResult[]>;
39
+ private getChevreAdminEventOffer;
40
+ }
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.EventOfferService = void 0;
55
+ var index_1 = require("../../index");
56
+ var service_1 = require("../../service");
57
+ /**
58
+ * イベントオファー管理サービス
59
+ * イベントとアプリケーションに対して有効なオファーを定義します
60
+ */
61
+ var EventOfferService = /** @class */ (function (_super) {
62
+ __extends(EventOfferService, _super);
63
+ function EventOfferService() {
64
+ return _super !== null && _super.apply(this, arguments) || this;
65
+ }
66
+ /**
67
+ * イベントオファーを追加する(イベントIDとオファーコードに対して、存在しなければ作成)
68
+ */
69
+ EventOfferService.prototype.createEventOfferByIdentifier = function (
70
+ /**
71
+ * max: 20
72
+ */
73
+ params, options) {
74
+ return __awaiter(this, void 0, void 0, function () {
75
+ return __generator(this, function (_a) {
76
+ switch (_a.label) {
77
+ case 0: return [4 /*yield*/, this.getChevreAdminEventOffer()];
78
+ case 1: return [4 /*yield*/, (_a.sent()).createEventOfferByIdentifier(params, options)];
79
+ case 2:
80
+ _a.sent();
81
+ return [2 /*return*/];
82
+ }
83
+ });
84
+ });
85
+ };
86
+ /**
87
+ * イベントオファーを編集する
88
+ */
89
+ EventOfferService.prototype.updateEventOfferByIdentifier = function (
90
+ /**
91
+ * max: 20
92
+ */
93
+ params, options) {
94
+ return __awaiter(this, void 0, void 0, function () {
95
+ return __generator(this, function (_a) {
96
+ switch (_a.label) {
97
+ case 0: return [4 /*yield*/, this.getChevreAdminEventOffer()];
98
+ case 1: return [4 /*yield*/, (_a.sent()).updateEventOfferByIdentifier(params, options)];
99
+ case 2:
100
+ _a.sent();
101
+ return [2 /*return*/];
102
+ }
103
+ });
104
+ });
105
+ };
106
+ /**
107
+ * イベントオファーを検索する
108
+ */
109
+ EventOfferService.prototype.findEventOffers = function (params) {
110
+ return __awaiter(this, void 0, void 0, function () {
111
+ return __generator(this, function (_a) {
112
+ switch (_a.label) {
113
+ case 0: return [4 /*yield*/, this.getChevreAdminEventOffer()];
114
+ case 1: return [2 /*return*/, (_a.sent()).findEventOffers(params)];
115
+ }
116
+ });
117
+ });
118
+ };
119
+ EventOfferService.prototype.getChevreAdminEventOffer = function () {
120
+ return __awaiter(this, void 0, void 0, function () {
121
+ var _a, auth, endpoint, project, seller, chevreAdmin, _b;
122
+ return __generator(this, function (_c) {
123
+ switch (_c.label) {
124
+ case 0:
125
+ if (!(this.chevreAdminEventOffer === undefined)) return [3 /*break*/, 3];
126
+ _a = this.options, auth = _a.auth, endpoint = _a.endpoint, project = _a.project, seller = _a.seller;
127
+ return [4 /*yield*/, index_1.loadChevreAdmin({ auth: auth, endpoint: endpoint })];
128
+ case 1:
129
+ chevreAdmin = _c.sent();
130
+ _b = this;
131
+ return [4 /*yield*/, chevreAdmin.createEventOfferInstance({
132
+ project: project,
133
+ seller: { id: (typeof (seller === null || seller === void 0 ? void 0 : seller.id) === 'string') ? seller.id : '' }
134
+ })];
135
+ case 2:
136
+ _b.chevreAdminEventOffer = _c.sent();
137
+ _c.label = 3;
138
+ case 3: return [2 /*return*/, this.chevreAdminEventOffer];
139
+ }
140
+ });
141
+ });
142
+ };
143
+ return EventOfferService;
144
+ }(service_1.Service));
145
+ exports.EventOfferService = EventOfferService;
@@ -2,6 +2,7 @@ import { IAdditionalOptions, IOptions, IUnset as IUnsetOnService } from '../serv
2
2
  import type { CreativeWorkService } from './admin/creativeWork';
3
3
  import type { CustomerService } from './admin/customer';
4
4
  import type { EventService } from './admin/event';
5
+ import type { EventOfferService } from './admin/eventOffer';
5
6
  import type { MeService } from './admin/me';
6
7
  import type { NoteAboutOrderService } from './admin/noteAboutOrder';
7
8
  import type { OfferService } from './admin/offer';
@@ -35,6 +36,13 @@ export declare namespace service {
35
36
  namespace Event {
36
37
  let svc: typeof EventService | undefined;
37
38
  }
39
+ /**
40
+ * イベントオファーサービス
41
+ */
42
+ type EventOffer = EventOfferService;
43
+ namespace EventOffer {
44
+ let svc: typeof EventOfferService | undefined;
45
+ }
38
46
  /**
39
47
  * 管理者サービス
40
48
  */
@@ -115,6 +123,7 @@ export declare class CloudAdmin {
115
123
  createCreativeWorkInstance(params: Pick<IOptions, 'project'> & Pick<IAdditionalOptions, 'seller'>): Promise<CreativeWorkService>;
116
124
  createCustomerInstance(params: Pick<IOptions, 'project'> & Pick<IAdditionalOptions, 'seller'>): Promise<CustomerService>;
117
125
  createEventInstance(params: Pick<IOptions, 'project'> & Pick<IAdditionalOptions, 'seller'>): Promise<EventService>;
126
+ createEventOfferInstance(params: Pick<IOptions, 'project'> & Pick<IAdditionalOptions, 'seller'>): Promise<EventOfferService>;
118
127
  createMeInstance(): Promise<MeService>;
119
128
  createNoteInstance(params: Pick<IOptions, 'project'> & Pick<IAdditionalOptions, 'seller'>): Promise<NoteAboutOrderService>;
120
129
  createOfferInstance(params: Pick<IOptions, 'project'> & Pick<IAdditionalOptions, 'seller'>): Promise<OfferService>;
@@ -59,6 +59,9 @@ var service;
59
59
  var Event;
60
60
  (function (Event) {
61
61
  })(Event = service.Event || (service.Event = {}));
62
+ var EventOffer;
63
+ (function (EventOffer) {
64
+ })(EventOffer = service.EventOffer || (service.EventOffer = {}));
62
65
  var Me;
63
66
  (function (Me) {
64
67
  })(Me = service.Me || (service.Me = {}));
@@ -156,6 +159,23 @@ var CloudAdmin = /** @class */ (function () {
156
159
  });
157
160
  });
158
161
  };
162
+ CloudAdmin.prototype.createEventOfferInstance = function (params) {
163
+ return __awaiter(this, void 0, void 0, function () {
164
+ var _a;
165
+ return __generator(this, function (_b) {
166
+ switch (_b.label) {
167
+ case 0:
168
+ if (!(service.EventOffer.svc === undefined)) return [3 /*break*/, 2];
169
+ _a = service.EventOffer;
170
+ return [4 /*yield*/, Promise.resolve().then(function () { return require('./admin/eventOffer'); })];
171
+ case 1:
172
+ _a.svc = (_b.sent()).EventOfferService;
173
+ _b.label = 2;
174
+ case 2: return [2 /*return*/, new service.EventOffer.svc(__assign(__assign(__assign({}, this.options), params), { retryableStatusCodes: defaultRetryableStatusCodes }))];
175
+ }
176
+ });
177
+ });
178
+ };
159
179
  CloudAdmin.prototype.createMeInstance = function () {
160
180
  return __awaiter(this, void 0, void 0, function () {
161
181
  var _a;
@@ -0,0 +1,11 @@
1
+ import { IEventOfferAsFindResult, IFindParams } from '../../chevre/eventOffer';
2
+ import { Service } from '../../service';
3
+ /**
4
+ * イベントオファーサービス
5
+ */
6
+ export declare class EventOfferService extends Service {
7
+ /**
8
+ * イベントオファーを検索する
9
+ */
10
+ findEventOffers(params: IFindParams): Promise<IEventOfferAsFindResult[]>;
11
+ }