@trusted-solutions/sdit.models 0.66.0-alpha.2 → 0.66.0-alpha.5

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.
@@ -43,7 +43,12 @@ export declare enum ErrorType {
43
43
  AkitaUnsupportedException = "AkitaUnsupportedException",
44
44
  ResponseLengthException = "ResponseLengthException",
45
45
  InconsistentStateException = "InconsistentStateException",
46
- SOOrderException = "SOOrderException"
46
+ SOOrderException = "SOOrderException",
47
+ DeliveryLocationQuoteInvalid = "DeliveryLocationQuoteInvalid",
48
+ DeliveryLocationQuoteExpired = "DeliveryLocationQuoteExpired",
49
+ DeliveryLocationAddressChanged = "DeliveryLocationAddressChanged",
50
+ DeliveryLocationAddressConfirmationInvalid = "DeliveryLocationAddressConfirmationInvalid",
51
+ DeliveryLocationAddressConfirmationExpired = "DeliveryLocationAddressConfirmationExpired"
47
52
  }
48
53
  export declare enum ErrorMessage {
49
54
  BadRequest = "\u8ACB\u6C42\u932F\u8AA4",
@@ -105,5 +110,10 @@ export declare enum ErrorMessage {
105
110
  AkitaUnsupportedException = "\u7576\u524D\u64CD\u4F5C\u4E0D\u652F\u63F4\u67F4\u72AC\u529F\u80FD\uFF0C\u8ACB\u4F7F\u7528\u9078\u9805\u7E5E\u904E\u7260\uFF01",
106
111
  ResponseLengthException = "\u56DE\u61C9\u503C\u7684\u6578\u91CF\u8207\u9810\u671F\u4E0D\u7B26\uFF01",
107
112
  InconsistentStateException = "\u8A02\u55AE\u72C0\u614B\u5DF2\u904E\u671F\uFF0C\u8ACB\u91CD\u65B0\u8F09\u5165\u518D\u8A66\u4E00\u6B21",
108
- SOOrderException = "\u8A02\u55AE\u932F\u8AA4"
113
+ SOOrderException = "\u8A02\u55AE\u932F\u8AA4",
114
+ DeliveryLocationQuoteInvalid = "\u5916\u9001\u8DDD\u96E2\u8A66\u7B97\u7121\u6548",
115
+ DeliveryLocationQuoteExpired = "\u5916\u9001\u8DDD\u96E2\u8A66\u7B97\u5DF2\u903E\u6642\uFF0C\u8ACB\u91CD\u65B0\u78BA\u8A8D",
116
+ DeliveryLocationAddressChanged = "\u5916\u9001\u5730\u5740\u5DF2\u8B8A\u66F4\uFF0C\u8ACB\u91CD\u65B0\u78BA\u8A8D",
117
+ DeliveryLocationAddressConfirmationInvalid = "\u5916\u9001\u5730\u5740\u78BA\u8A8D\u7121\u6548",
118
+ DeliveryLocationAddressConfirmationExpired = "\u5916\u9001\u5730\u5740\u78BA\u8A8D\u5DF2\u903E\u6642\uFF0C\u8ACB\u91CD\u65B0\u78BA\u8A8D"
109
119
  }
@@ -64,6 +64,11 @@ var ErrorType;
64
64
  // online orders
65
65
  ErrorType["InconsistentStateException"] = "InconsistentStateException";
66
66
  ErrorType["SOOrderException"] = "SOOrderException";
67
+ ErrorType["DeliveryLocationQuoteInvalid"] = "DeliveryLocationQuoteInvalid";
68
+ ErrorType["DeliveryLocationQuoteExpired"] = "DeliveryLocationQuoteExpired";
69
+ ErrorType["DeliveryLocationAddressChanged"] = "DeliveryLocationAddressChanged";
70
+ ErrorType["DeliveryLocationAddressConfirmationInvalid"] = "DeliveryLocationAddressConfirmationInvalid";
71
+ ErrorType["DeliveryLocationAddressConfirmationExpired"] = "DeliveryLocationAddressConfirmationExpired";
67
72
  })(ErrorType = exports.ErrorType || (exports.ErrorType = {}));
68
73
  var ErrorMessage;
69
74
  (function (ErrorMessage) {
@@ -142,5 +147,10 @@ var ErrorMessage;
142
147
  // online orders
143
148
  ErrorMessage["InconsistentStateException"] = "\u8A02\u55AE\u72C0\u614B\u5DF2\u904E\u671F\uFF0C\u8ACB\u91CD\u65B0\u8F09\u5165\u518D\u8A66\u4E00\u6B21";
144
149
  ErrorMessage["SOOrderException"] = "\u8A02\u55AE\u932F\u8AA4";
150
+ ErrorMessage["DeliveryLocationQuoteInvalid"] = "\u5916\u9001\u8DDD\u96E2\u8A66\u7B97\u7121\u6548";
151
+ ErrorMessage["DeliveryLocationQuoteExpired"] = "\u5916\u9001\u8DDD\u96E2\u8A66\u7B97\u5DF2\u903E\u6642\uFF0C\u8ACB\u91CD\u65B0\u78BA\u8A8D";
152
+ ErrorMessage["DeliveryLocationAddressChanged"] = "\u5916\u9001\u5730\u5740\u5DF2\u8B8A\u66F4\uFF0C\u8ACB\u91CD\u65B0\u78BA\u8A8D";
153
+ ErrorMessage["DeliveryLocationAddressConfirmationInvalid"] = "\u5916\u9001\u5730\u5740\u78BA\u8A8D\u7121\u6548";
154
+ ErrorMessage["DeliveryLocationAddressConfirmationExpired"] = "\u5916\u9001\u5730\u5740\u78BA\u8A8D\u5DF2\u903E\u6642\uFF0C\u8ACB\u91CD\u65B0\u78BA\u8A8D";
145
155
  })(ErrorMessage = exports.ErrorMessage || (exports.ErrorMessage = {}));
146
156
  //# sourceMappingURL=error-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-type.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/enums/error-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-type.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/enums/error-type.ts"],"names":[],"mappings":"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"}
package/enums/index.d.ts CHANGED
@@ -38,5 +38,6 @@ export * from './order-item';
38
38
  export * from './table';
39
39
  export * from './import-data';
40
40
  export * from './number-of-customers-group-type';
41
+ export * from './delivery-task-status';
41
42
  export * from './permission-name';
42
43
  export * from './invoice-provider';
package/enums/index.js CHANGED
@@ -41,6 +41,7 @@ tslib_1.__exportStar(require("./order-item"), exports);
41
41
  tslib_1.__exportStar(require("./table"), exports);
42
42
  tslib_1.__exportStar(require("./import-data"), exports);
43
43
  tslib_1.__exportStar(require("./number-of-customers-group-type"), exports);
44
+ tslib_1.__exportStar(require("./delivery-task-status"), exports);
44
45
  tslib_1.__exportStar(require("./permission-name"), exports);
45
46
  tslib_1.__exportStar(require("./invoice-provider"), exports);
46
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/enums/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,yDAA+B;AAC/B,qEAA2C;AAC3C,yDAA+B;AAC/B,uDAA6B;AAC7B,qDAA2B;AAC3B,+DAAqC;AACrC,+DAAqC;AACrC,wDAA8B;AAC9B,qDAA2B;AAC3B,qDAA2B;AAC3B,yDAA+B;AAC/B,8DAAoC;AACpC,yDAA+B;AAC/B,iEAAuC;AACvC,uDAA6B;AAC7B,0DAAgC;AAChC,oDAA0B;AAC1B,8DAAoC;AACpC,iEAAuC;AACvC,qDAA2B;AAC3B,kDAAwB;AACxB,iDAAuB;AACvB,oDAA0B;AAC1B,+DAAqC;AACrC,6DAAmC;AACnC,kDAAwB;AACxB,qDAA2B;AAC3B,4DAAkC;AAClC,8DAAoC;AACpC,uDAA6B;AAC7B,8DAAoC;AACpC,oDAA0B;AAC1B,wDAA8B;AAC9B,kEAAwC;AACxC,sDAA4B;AAC5B,uDAA6B;AAC7B,kDAAwB;AACxB,wDAA8B;AAC9B,2EAAiD;AACjD,4DAAkC;AAClC,6DAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/enums/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,yDAA+B;AAC/B,qEAA2C;AAC3C,yDAA+B;AAC/B,uDAA6B;AAC7B,qDAA2B;AAC3B,+DAAqC;AACrC,+DAAqC;AACrC,wDAA8B;AAC9B,qDAA2B;AAC3B,qDAA2B;AAC3B,yDAA+B;AAC/B,8DAAoC;AACpC,yDAA+B;AAC/B,iEAAuC;AACvC,uDAA6B;AAC7B,0DAAgC;AAChC,oDAA0B;AAC1B,8DAAoC;AACpC,iEAAuC;AACvC,qDAA2B;AAC3B,kDAAwB;AACxB,iDAAuB;AACvB,oDAA0B;AAC1B,+DAAqC;AACrC,6DAAmC;AACnC,kDAAwB;AACxB,qDAA2B;AAC3B,4DAAkC;AAClC,8DAAoC;AACpC,uDAA6B;AAC7B,8DAAoC;AACpC,oDAA0B;AAC1B,wDAA8B;AAC9B,kEAAwC;AACxC,sDAA4B;AAC5B,uDAA6B;AAC7B,kDAAwB;AACxB,wDAA8B;AAC9B,2EAAiD;AACjD,iEAAuC;AACvC,4DAAkC;AAClC,6DAAmC"}
@@ -1,4 +1,4 @@
1
- import { Address, DayOfWeekTimePeriod, GalleryConfig, Operator, PointProvider } from '../models/store';
1
+ import { Address, DayOfWeekTimePeriod, DeliveryFeeConfig, GalleryConfig, Operator, PointProvider } from '../models/store';
2
2
  import { CustomerPointDetail, MultiLanguageText, OrderDiscount } from '../models';
3
3
  import { PaymentServiceProvider, ServeType } from '../enums';
4
4
  import { SOPublicMenu, SOPublicCategory, SOPublicProduct, SOPublicProductAttribute, SOPublicProductAttributeCategory, SOPaymentMethod, SOValidateCart, SOOrderState, SOOrder, SOEater, SOPublicDiscountRule, SOMemberCoupon } from '../models/online-ordering';
@@ -139,6 +139,13 @@ export interface SOGetStoreInfoResponse {
139
139
  * 0=沒有限制
140
140
  */
141
141
  storeDeliveryDistanceLimit: number;
142
+ /** 新版外送費規則;未設定時仍依舊版三個 storeDelivery 欄位。 */
143
+ deliveryFeeConfig?: DeliveryFeeConfig;
144
+ /**
145
+ * 是否可使用地址定位與距離計算。
146
+ * 此值由後端依門市合約權限衍生,前端不得自行用方案 ID 推導。
147
+ */
148
+ deliveryLocationEnabled: boolean;
142
149
  /**
143
150
  * 內用桌ID
144
151
  */
@@ -315,7 +322,37 @@ export interface SOValidateMutationRequest {
315
322
  isUsePoints?: boolean;
316
323
  /** 要套用的會員優惠券 ID */
317
324
  memberCouponId?: string;
325
+ /** 消費者填寫的結構化外送地址。 */
326
+ deliveryAddress?: Address;
327
+ /**
328
+ * PROMAX 定位流程由後端簽發的短效 quote。
329
+ * 不接受由瀏覽器自行傳入的距離作為計價依據。
330
+ */
331
+ deliveryLocationQuoteId?: string;
332
+ }
333
+ export interface SOCreateDeliveryLocationQuoteRequest {
334
+ storeId: string;
335
+ deliveryAddress: Address;
336
+ /** 地址定位層級為 2 時,使用者確認標準化地址後帶回的短效 token。 */
337
+ addressConfirmationToken?: string;
338
+ }
339
+ /** 後端簽發的短效配送 quote;座標與距離只供本次下單流程使用。 */
340
+ export interface SOCreateDeliveryLocationQuoteResult {
341
+ addressConfirmationRequired?: false;
342
+ quoteId: string;
343
+ deliveryAddressLonLat: [number, number];
344
+ distanceKm: number;
345
+ expiresAt: number;
346
+ }
347
+ /** 地址定位到街道層級時,須由使用者確認後才能建立配送 quote。 */
348
+ export interface SOCreateDeliveryLocationAddressConfirmationResponse {
349
+ addressConfirmationRequired: true;
350
+ addressConfirmationToken: string;
351
+ formattedAddress: string;
352
+ locationLevel: 2;
353
+ expiresAt: number;
318
354
  }
355
+ export declare type SOCreateDeliveryLocationQuoteResponse = SOCreateDeliveryLocationQuoteResult | SOCreateDeliveryLocationAddressConfirmationResponse;
319
356
  /**
320
357
  * @throw `SOOrderError`
321
358
  */
@@ -415,6 +452,11 @@ export interface SOSendOrderRequest {
415
452
  * 這是消費者收件位置,不應從店家設定推導;serveType === deliveryByStore 時建議送出。
416
453
  */
417
454
  deliveryAddressLonLat?: number[];
455
+ /** 下單前驗價使用的配送距離(公里)。 */
456
+ /** @deprecated 改用 deliveryLocationQuoteId,後端不再信任瀏覽器傳入的距離。 */
457
+ deliveryDistanceKm?: number;
458
+ /** PROMAX 定位流程由後端簽發的短效配送 quote。 */
459
+ deliveryLocationQuoteId?: string;
418
460
  /** 內用桌ID serveType === dineIn 時有效 */
419
461
  tableId?: string;
420
462
  /** 折抵點數 */
@@ -0,0 +1,16 @@
1
+ import { DeliveryProvider } from '../../models/delivery';
2
+ export interface GetStoreDeliveryProviderRequest {
3
+ storeId: string;
4
+ provider: DeliveryProvider;
5
+ }
6
+ /** 僅供受權限的 Admin 設定第三方物流門市資料。 */
7
+ export interface UpsertStoreDeliveryProviderRequest {
8
+ storeId: string;
9
+ provider: DeliveryProvider;
10
+ providerStoreId: string;
11
+ enabled: boolean;
12
+ credentials: {
13
+ clientId: string;
14
+ clientSecret: string;
15
+ };
16
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=delivery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/request/delivery.ts"],"names":[],"mappings":""}
@@ -19,3 +19,4 @@ export * from './real-time-switch';
19
19
  export * from './custom-analysis-group';
20
20
  export * from './import-data';
21
21
  export * from './item-availability';
22
+ export * from './delivery';
@@ -22,4 +22,5 @@ tslib_1.__exportStar(require("./real-time-switch"), exports);
22
22
  tslib_1.__exportStar(require("./custom-analysis-group"), exports);
23
23
  tslib_1.__exportStar(require("./import-data"), exports);
24
24
  tslib_1.__exportStar(require("./item-availability"), exports);
25
+ tslib_1.__exportStar(require("./delivery"), exports);
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/request/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,oDAA0B;AAC1B,iDAAuB;AACvB,oDAA0B;AAC1B,kDAAwB;AACxB,qDAA2B;AAC3B,mDAAyB;AACzB,kDAAwB;AACxB,qDAA2B;AAC3B,4DAAkC;AAClC,yDAA+B;AAC/B,oDAA0B;AAC1B,oDAA0B;AAC1B,oDAA0B;AAC1B,kDAAwB;AACxB,6DAAmC;AACnC,kEAAwC;AACxC,wDAA8B;AAC9B,8DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/request/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,oDAA0B;AAC1B,iDAAuB;AACvB,oDAA0B;AAC1B,kDAAwB;AACxB,qDAA2B;AAC3B,mDAAyB;AACzB,kDAAwB;AACxB,qDAA2B;AAC3B,4DAAkC;AAClC,yDAA+B;AAC/B,oDAA0B;AAC1B,oDAA0B;AAC1B,oDAA0B;AAC1B,kDAAwB;AACxB,6DAAmC;AACnC,kEAAwC;AACxC,wDAA8B;AAC9B,8DAAoC;AACpC,qDAA2B"}
@@ -0,0 +1,7 @@
1
+ import { StoreDeliveryProvider } from '../../models/delivery';
2
+ export interface GetStoreDeliveryProviderResponse {
3
+ item?: StoreDeliveryProvider;
4
+ }
5
+ export interface UpsertStoreDeliveryProviderResponse {
6
+ item: StoreDeliveryProvider;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=delivery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/response/delivery.ts"],"names":[],"mappings":""}
@@ -16,3 +16,4 @@ export * from './closing';
16
16
  export * from './chain';
17
17
  export * from './custom-analysis-group';
18
18
  export * from './item-availability';
19
+ export * from './delivery';
@@ -19,4 +19,5 @@ tslib_1.__exportStar(require("./closing"), exports);
19
19
  tslib_1.__exportStar(require("./chain"), exports);
20
20
  tslib_1.__exportStar(require("./custom-analysis-group"), exports);
21
21
  tslib_1.__exportStar(require("./item-availability"), exports);
22
+ tslib_1.__exportStar(require("./delivery"), exports);
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/response/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,oDAA0B;AAC1B,iDAAuB;AACvB,oDAA0B;AAC1B,kDAAwB;AACxB,qDAA2B;AAC3B,mDAAyB;AACzB,kDAAwB;AACxB,qDAA2B;AAC3B,4DAAkC;AAClC,oDAA0B;AAC1B,oDAA0B;AAC1B,oDAA0B;AAC1B,kDAAwB;AACxB,kEAAwC;AACxC,8DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/response/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,oDAA0B;AAC1B,iDAAuB;AACvB,oDAA0B;AAC1B,kDAAwB;AACxB,qDAA2B;AAC3B,mDAAyB;AACzB,kDAAwB;AACxB,qDAA2B;AAC3B,4DAAkC;AAClC,oDAA0B;AAC1B,oDAA0B;AAC1B,oDAA0B;AAC1B,kDAAwB;AACxB,kEAAwC;AACxC,8DAAoC;AACpC,qDAA2B"}
@@ -25,6 +25,24 @@ export interface DeliveryTaskProviderData {
25
25
  export declare enum DeliveryProvider {
26
26
  METE = "METE"
27
27
  }
28
+ /**
29
+ * 儲存在 TS-SDIT-DataTable 的 StoreDeliveryProvider:* 項目。
30
+ * credentials 依產品決策以明文保存;此模型只能由專用的管理 Lambda 讀寫。
31
+ */
32
+ export interface StoreDeliveryProvider {
33
+ storeId: string;
34
+ provider: DeliveryProvider;
35
+ providerStoreId: string;
36
+ enabled: boolean;
37
+ credentials: {
38
+ clientId: string;
39
+ clientSecret: string;
40
+ };
41
+ schemaVersion: 1;
42
+ createdBy?: string;
43
+ createdAt?: number;
44
+ updatedAt?: number;
45
+ }
28
46
  /** POS/backend 使用的標準化第三方配送任務資料。 */
29
47
  export interface DeliveryTask {
30
48
  provider: DeliveryProvider;
package/models/store.d.ts CHANGED
@@ -223,6 +223,11 @@ export interface Store {
223
223
  onlineStoreDeliveryFreeThresholdAmount?: number;
224
224
  /** 最大外送距離(km) */
225
225
  onlineStoreDeliveryDistanceLimit?: number;
226
+ /**
227
+ * 外送費設定。新欄位優先於舊版的 onlineStoreDelivery* 欄位;
228
+ * 舊欄位會持續保留,以相容尚未進入外送設定頁的門市。
229
+ */
230
+ deliveryFeeConfig?: DeliveryFeeConfig;
226
231
  /** LINE LIFF ID */
227
232
  onlineLiffId?: string;
228
233
  /** Cognito user pool 登入的 OIDC provider */
@@ -326,6 +331,32 @@ export interface Address {
326
331
  zipCode?: number;
327
332
  address?: string;
328
333
  note?: string;
334
+ /** 地址座標,格式為 [longitude, latitude]。 */
335
+ lonLat?: [number, number];
336
+ }
337
+ export declare type DeliveryFeeMode = 'fixed' | 'tiered';
338
+ /** 依直線配送距離的計費級距;upTo 為此級距的上限(公里)。 */
339
+ export interface DeliveryDistanceTier {
340
+ upTo: number;
341
+ fee: number;
342
+ }
343
+ /** 訂單滿額之外送費折抵。discount 為 FREE 時代表免外送費。 */
344
+ export interface DeliveryAmountTier {
345
+ amount: number;
346
+ discount: number | 'FREE';
347
+ }
348
+ export interface DeliveryFeeConfig {
349
+ /** 取件地址來源:店家基本資料或線上點餐地址。 */
350
+ origin: 'store' | 'online';
351
+ /** 超過此距離(公里)即不提供外送。 */
352
+ maxDistanceKm: number;
353
+ mode: DeliveryFeeMode;
354
+ /** mode 為 fixed 時使用的固定外送費。 */
355
+ fee?: number;
356
+ /** mode 為 tiered 時使用的距離級距,必須依 upTo 遞增。 */
357
+ distanceTiers?: DeliveryDistanceTier[];
358
+ /** 依訂單商品小計(折扣後)折抵外送費的級距。 */
359
+ amountTiers?: DeliveryAmountTier[];
329
360
  }
330
361
  export interface DayOfWeekTimePeriod {
331
362
  /** 每週星期幾 */
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/models/store.ts"],"names":[],"mappings":";;;AAEA,oCAAkJ;AA+SlJ,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,kDAAiC,CAAA;AACnC,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/models/store.ts"],"names":[],"mappings":";;;AAEA,oCAAkJ;AAoTlJ,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,kDAAiC,CAAA;AACnC,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trusted-solutions/sdit.models",
3
- "version": "0.66.0-alpha.2",
3
+ "version": "0.66.0-alpha.5",
4
4
  "description": "TODO: Give a short introduction of your project. Let this section explain the objectives or the motivation behind this project.",
5
5
  "main": "index.js",
6
6
  "scripts": {