@winata/flipper-entities 2.7.15 → 2.8.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 (76) hide show
  1. package/dist/assets/logos.d.ts +0 -4
  2. package/dist/assets/logos.d.ts.map +1 -1
  3. package/dist/assets/logos.js +1 -9
  4. package/dist/assets/logos.js.map +1 -1
  5. package/dist/enums/notification-channel.enum.d.ts +1 -0
  6. package/dist/enums/notification-channel.enum.d.ts.map +1 -1
  7. package/dist/enums/notification-channel.enum.js +1 -0
  8. package/dist/enums/notification-channel.enum.js.map +1 -1
  9. package/dist/enums/notification-pattern.enum.d.ts +15 -0
  10. package/dist/enums/notification-pattern.enum.d.ts.map +1 -0
  11. package/dist/enums/notification-pattern.enum.js +19 -0
  12. package/dist/enums/notification-pattern.enum.js.map +1 -0
  13. package/dist/index.d.ts +17 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +13 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/mappers/delivery-address.mapper.d.ts +12 -0
  18. package/dist/mappers/delivery-address.mapper.d.ts.map +1 -0
  19. package/dist/mappers/delivery-address.mapper.js +14 -0
  20. package/dist/mappers/delivery-address.mapper.js.map +1 -0
  21. package/dist/types/notification/delivery-address.interface.d.ts +16 -0
  22. package/dist/types/notification/delivery-address.interface.d.ts.map +1 -0
  23. package/dist/types/{notification.types.js → notification/delivery-address.interface.js} +1 -1
  24. package/dist/types/notification/delivery-address.interface.js.map +1 -0
  25. package/dist/types/notification/multi-channel-delivery-result.interface.d.ts +8 -0
  26. package/dist/types/notification/multi-channel-delivery-result.interface.d.ts.map +1 -0
  27. package/dist/types/notification/multi-channel-delivery-result.interface.js +3 -0
  28. package/dist/types/notification/multi-channel-delivery-result.interface.js.map +1 -0
  29. package/dist/types/notification/multi-channel-notification-payload.interface.d.ts +17 -0
  30. package/dist/types/notification/multi-channel-notification-payload.interface.d.ts.map +1 -0
  31. package/dist/types/notification/multi-channel-notification-payload.interface.js +3 -0
  32. package/dist/types/notification/multi-channel-notification-payload.interface.js.map +1 -0
  33. package/dist/types/notification/notification-action.interface.d.ts +5 -0
  34. package/dist/types/notification/notification-action.interface.d.ts.map +1 -0
  35. package/dist/types/notification/notification-action.interface.js +3 -0
  36. package/dist/types/notification/notification-action.interface.js.map +1 -0
  37. package/dist/types/notification/notification-channel-test-result.interface.d.ts +5 -0
  38. package/dist/types/notification/notification-channel-test-result.interface.d.ts.map +1 -0
  39. package/dist/types/notification/notification-channel-test-result.interface.js +3 -0
  40. package/dist/types/notification/notification-channel-test-result.interface.js.map +1 -0
  41. package/dist/types/notification/notification-item-payload.type.d.ts +12 -0
  42. package/dist/types/notification/notification-item-payload.type.d.ts.map +1 -0
  43. package/dist/types/notification/notification-item-payload.type.js +3 -0
  44. package/dist/types/notification/notification-item-payload.type.js.map +1 -0
  45. package/dist/types/notification/notification-overrides.interface.d.ts +15 -0
  46. package/dist/types/notification/notification-overrides.interface.d.ts.map +1 -0
  47. package/dist/types/notification/notification-overrides.interface.js +3 -0
  48. package/dist/types/notification/notification-overrides.interface.js.map +1 -0
  49. package/dist/types/notification/notification-platform.type.d.ts +2 -0
  50. package/dist/types/notification/notification-platform.type.d.ts.map +1 -0
  51. package/dist/types/notification/notification-platform.type.js +3 -0
  52. package/dist/types/notification/notification-platform.type.js.map +1 -0
  53. package/dist/types/notification/notification-provider.type.d.ts +6 -0
  54. package/dist/types/notification/notification-provider.type.d.ts.map +1 -0
  55. package/dist/types/notification/notification-provider.type.js +3 -0
  56. package/dist/types/notification/notification-provider.type.js.map +1 -0
  57. package/dist/types/notification/prune-notification-endpoints-payload.interface.d.ts +7 -0
  58. package/dist/types/notification/prune-notification-endpoints-payload.interface.d.ts.map +1 -0
  59. package/dist/types/notification/prune-notification-endpoints-payload.interface.js +3 -0
  60. package/dist/types/notification/prune-notification-endpoints-payload.interface.js.map +1 -0
  61. package/dist/types/notification/test-notification-channel-payload.interface.d.ts +8 -0
  62. package/dist/types/notification/test-notification-channel-payload.interface.d.ts.map +1 -0
  63. package/dist/types/notification/test-notification-channel-payload.interface.js +3 -0
  64. package/dist/types/notification/test-notification-channel-payload.interface.js.map +1 -0
  65. package/dist/types/search.types.d.ts +6 -0
  66. package/dist/types/search.types.d.ts.map +1 -1
  67. package/dist/types/user-badge.types.d.ts +47 -0
  68. package/dist/types/user-badge.types.d.ts.map +1 -0
  69. package/dist/types/user-badge.types.js +101 -0
  70. package/dist/types/user-badge.types.js.map +1 -0
  71. package/dist/types/user-item.types.d.ts +8 -0
  72. package/dist/types/user-item.types.d.ts.map +1 -1
  73. package/package.json +1 -1
  74. package/dist/types/notification.types.d.ts +0 -35
  75. package/dist/types/notification.types.d.ts.map +0 -1
  76. package/dist/types/notification.types.js.map +0 -1
@@ -7,8 +7,4 @@ export declare const MARKETPLACE_SVG_RAW: Record<MarketplaceEnum, string>;
7
7
  * Returns data URI of the marketplace SVG for easy `<img src="..." />` rendering.
8
8
  */
9
9
  export declare function getMarketplaceLogoDataUri(marketplace: string): string;
10
- /**
11
- * Direct file relative paths under flipper-entities/assets/logos/
12
- */
13
- export declare const MARKETPLACE_LOGO_PATHS: Record<MarketplaceEnum, string>;
14
10
  //# sourceMappingURL=logos.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logos.d.ts","sourceRoot":"","sources":["../../src/assets/logos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAM/D,CAAC;AAEF;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAKrE;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAIlE,CAAC"}
1
+ {"version":3,"file":"logos.d.ts","sourceRoot":"","sources":["../../src/assets/logos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAM/D,CAAC;AAEF;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAKrE"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MARKETPLACE_LOGO_PATHS = exports.MARKETPLACE_SVG_RAW = void 0;
3
+ exports.MARKETPLACE_SVG_RAW = void 0;
4
4
  exports.getMarketplaceLogoDataUri = getMarketplaceLogoDataUri;
5
5
  const marketplace_1 = require("../enums/marketplace");
6
6
  /**
@@ -21,12 +21,4 @@ function getMarketplaceLogoDataUri(marketplace) {
21
21
  return '';
22
22
  return `data:image/svg+xml;utf8,${encodeURIComponent(rawSvg)}`;
23
23
  }
24
- /**
25
- * Direct file relative paths under flipper-entities/assets/logos/
26
- */
27
- exports.MARKETPLACE_LOGO_PATHS = {
28
- [marketplace_1.MarketplaceEnum.FACEBOOK]: 'assets/logos/facebook.svg',
29
- [marketplace_1.MarketplaceEnum.OLX]: 'assets/logos/olx.svg',
30
- [marketplace_1.MarketplaceEnum.TOKOPEDIA]: 'assets/logos/tokopedia.svg',
31
- };
32
24
  //# sourceMappingURL=logos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logos.js","sourceRoot":"","sources":["../../src/assets/logos.ts"],"names":[],"mappings":";;;AAgBA,8DAKC;AArBD,sDAAuD;AAEvD;;GAEG;AACU,QAAA,mBAAmB,GAAoC;IAClE,CAAC,6BAAe,CAAC,QAAQ,CAAC,EAAE,+iBAA+iB;IAE3kB,CAAC,6BAAe,CAAC,GAAG,CAAC,EAAE,yoDAAyoD;IAEhqD,CAAC,6BAAe,CAAC,SAAS,CAAC,EAAE,m+GAAm+G;CACjgH,CAAC;AAEF;;GAEG;AACH,SAAgB,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAqB,CAAC;IAChE,MAAM,MAAM,GAAG,2BAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,2BAA2B,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AACjE,CAAC;AAED;;GAEG;AACU,QAAA,sBAAsB,GAAoC;IACrE,CAAC,6BAAe,CAAC,QAAQ,CAAC,EAAE,2BAA2B;IACvD,CAAC,6BAAe,CAAC,GAAG,CAAC,EAAE,sBAAsB;IAC7C,CAAC,6BAAe,CAAC,SAAS,CAAC,EAAE,4BAA4B;CAC1D,CAAC"}
1
+ {"version":3,"file":"logos.js","sourceRoot":"","sources":["../../src/assets/logos.ts"],"names":[],"mappings":";;;AAgBA,8DAKC;AArBD,sDAAuD;AAEvD;;GAEG;AACU,QAAA,mBAAmB,GAAoC;IAClE,CAAC,6BAAe,CAAC,QAAQ,CAAC,EAAE,+iBAA+iB;IAE3kB,CAAC,6BAAe,CAAC,GAAG,CAAC,EAAE,yoDAAyoD;IAEhqD,CAAC,6BAAe,CAAC,SAAS,CAAC,EAAE,m+GAAm+G;CACjgH,CAAC;AAEF;;GAEG;AACH,SAAgB,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAqB,CAAC;IAChE,MAAM,MAAM,GAAG,2BAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,2BAA2B,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AACjE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export declare enum NotificationChannelEnum {
2
2
  EMAIL = "email",
3
+ PUSH = "push",
3
4
  WEB_APP = "web-app",
4
5
  TELEGRAM = "telegram",
5
6
  WHATSAPP = "whatsapp",
@@ -1 +1 @@
1
- {"version":3,"file":"notification-channel.enum.d.ts","sourceRoot":"","sources":["../../src/enums/notification-channel.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,uBAAuB;IACjC,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"}
1
+ {"version":3,"file":"notification-channel.enum.d.ts","sourceRoot":"","sources":["../../src/enums/notification-channel.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,uBAAuB;IACjC,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"}
@@ -4,6 +4,7 @@ exports.NotificationChannelEnum = void 0;
4
4
  var NotificationChannelEnum;
5
5
  (function (NotificationChannelEnum) {
6
6
  NotificationChannelEnum["EMAIL"] = "email";
7
+ NotificationChannelEnum["PUSH"] = "push";
7
8
  NotificationChannelEnum["WEB_APP"] = "web-app";
8
9
  NotificationChannelEnum["TELEGRAM"] = "telegram";
9
10
  NotificationChannelEnum["WHATSAPP"] = "whatsapp";
@@ -1 +1 @@
1
- {"version":3,"file":"notification-channel.enum.js","sourceRoot":"","sources":["../../src/enums/notification-channel.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,uBAMX;AAND,WAAY,uBAAuB;IACjC,0CAAe,CAAA;IACf,8CAAmB,CAAA;IACnB,gDAAqB,CAAA;IACrB,gDAAqB,CAAA;IACrB,8CAAmB,CAAA;AACrB,CAAC,EANW,uBAAuB,uCAAvB,uBAAuB,QAMlC"}
1
+ {"version":3,"file":"notification-channel.enum.js","sourceRoot":"","sources":["../../src/enums/notification-channel.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,uBAOX;AAPD,WAAY,uBAAuB;IACjC,0CAAe,CAAA;IACf,wCAAa,CAAA;IACb,8CAAmB,CAAA;IACnB,gDAAqB,CAAA;IACrB,gDAAqB,CAAA;IACrB,8CAAmB,CAAA;AACrB,CAAC,EAPW,uBAAuB,uCAAvB,uBAAuB,QAOlC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Pola pesan RabbitMQ antar-service.
3
+ * Satu sumber kebenaran — jangan hardcode string di service.
4
+ */
5
+ export declare enum NotificationPattern {
6
+ /** core → notification: hasil scrape per item. */
7
+ SEND_ITEM = "notification.sendNotification",
8
+ /** be → notification: billing/reminder/announcement. */
9
+ SEND_FREESTYLE = "notification.sendFreeStyle",
10
+ /** be → notification: tes channel user. */
11
+ TEST_CHANNEL = "notification.testChannel",
12
+ /** notification → be: laporkan alamat yang ditolak provider (fire-and-forget). */
13
+ PRUNE_ENDPOINTS = "notification.endpoint.prune"
14
+ }
15
+ //# sourceMappingURL=notification-pattern.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-pattern.enum.d.ts","sourceRoot":"","sources":["../../src/enums/notification-pattern.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,mBAAmB;IAC7B,kDAAkD;IAClD,SAAS,kCAAkC;IAC3C,wDAAwD;IACxD,cAAc,+BAA+B;IAC7C,2CAA2C;IAC3C,YAAY,6BAA6B;IACzC,kFAAkF;IAClF,eAAe,gCAAgC;CAChD"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotificationPattern = void 0;
4
+ /**
5
+ * Pola pesan RabbitMQ antar-service.
6
+ * Satu sumber kebenaran — jangan hardcode string di service.
7
+ */
8
+ var NotificationPattern;
9
+ (function (NotificationPattern) {
10
+ /** core → notification: hasil scrape per item. */
11
+ NotificationPattern["SEND_ITEM"] = "notification.sendNotification";
12
+ /** be → notification: billing/reminder/announcement. */
13
+ NotificationPattern["SEND_FREESTYLE"] = "notification.sendFreeStyle";
14
+ /** be → notification: tes channel user. */
15
+ NotificationPattern["TEST_CHANNEL"] = "notification.testChannel";
16
+ /** notification → be: laporkan alamat yang ditolak provider (fire-and-forget). */
17
+ NotificationPattern["PRUNE_ENDPOINTS"] = "notification.endpoint.prune";
18
+ })(NotificationPattern || (exports.NotificationPattern = NotificationPattern = {}));
19
+ //# sourceMappingURL=notification-pattern.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-pattern.enum.js","sourceRoot":"","sources":["../../src/enums/notification-pattern.enum.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC7B,kDAAkD;IAClD,kEAA2C,CAAA;IAC3C,wDAAwD;IACxD,oEAA6C,CAAA;IAC7C,2CAA2C;IAC3C,gEAAyC,CAAA;IACzC,kFAAkF;IAClF,sEAA+C,CAAA;AACjD,CAAC,EATW,mBAAmB,mCAAnB,mBAAmB,QAS9B"}
package/dist/index.d.ts CHANGED
@@ -10,9 +10,22 @@ export type { Marketplace } from './enums/marketplace';
10
10
  export { SearchTypeEnum, SEARCH_TYPES, SEARCH_TYPE_OPTIONS, getSearchTypeLabelTranslation, isSearchType, isVehicleSearchType, toSearchType, } from './enums/search-type.enum';
11
11
  export type { SearchType, SearchTypeOption } from './enums/search-type.enum';
12
12
  export { VEHICLE_ONLY_FILTER_KEYS, VEHICLE_DEFAULT_EXCLUDE_NAME, VEHICLE_DEFAULT_EXCLUDE_DESCRIPTION, createVehicleDefaultFilter, stripFiltersForType, } from './search-filter.policy';
13
- export { MARKETPLACE_SVG_RAW, MARKETPLACE_LOGO_PATHS, getMarketplaceLogoDataUri, } from './assets/logos';
13
+ export { MARKETPLACE_SVG_RAW, getMarketplaceLogoDataUri, } from './assets/logos';
14
14
  export { NotificationChannelEnum } from './enums/notification-channel.enum';
15
- export type { NotificationAction, NotificationOverrides, MultiChannelNotificationPayload, MultiChannelDeliveryResult, } from './types/notification.types';
15
+ export { NotificationPattern } from './enums/notification-pattern.enum';
16
+ export type { NotificationPlatform } from './types/notification/notification-platform.type';
17
+ export type { NotificationProvider } from './types/notification/notification-provider.type';
18
+ export type { DeliveryAddress } from './types/notification/delivery-address.interface';
19
+ export type { NotificationAction } from './types/notification/notification-action.interface';
20
+ export type { NotificationOverrides } from './types/notification/notification-overrides.interface';
21
+ export type { MultiChannelNotificationPayload } from './types/notification/multi-channel-notification-payload.interface';
22
+ export type { MultiChannelDeliveryResult } from './types/notification/multi-channel-delivery-result.interface';
23
+ export type { NotificationItemPayload } from './types/notification/notification-item-payload.type';
24
+ export type { TestNotificationChannelPayload } from './types/notification/test-notification-channel-payload.interface';
25
+ export type { NotificationChannelTestResult } from './types/notification/notification-channel-test-result.interface';
26
+ export type { PruneNotificationEndpointsPayload } from './types/notification/prune-notification-endpoints-payload.interface';
27
+ export { toDeliveryAddress } from './mappers/delivery-address.mapper';
28
+ export type { DeliveryAddressRow } from './mappers/delivery-address.mapper';
16
29
  /**
17
30
  * Helper runtime juga tersedia lewat subpath
18
31
  * `@winata/flipper-entities/utilities`; re-export di sini untuk
@@ -21,6 +34,8 @@ export type { NotificationAction, NotificationOverrides, MultiChannelNotificatio
21
34
  export { SELLER_SNAPSHOT_VERSION, createSellerSnapshot, parseSellerSnapshot, toSellerIdentities, toSellerMatchKey, toSellerSummary, isRecord, toIsoString, toNumberValue, toStringValue, } from './utilities';
22
35
  export type { SellerMatchMechanism } from './utilities';
23
36
  export type { UserItemEntity, RichNoteJSONB } from './types/user-item.types';
37
+ export { SYSTEM_BADGE_KEYS, SYSTEM_BADGE_DEFINITIONS, BADGE_ICON_KEYS, BADGE_LIMITS, BADGE_COLOR_REGEX, isSystemBadgeKey, isBadgeIconKey, } from './types/user-badge.types';
38
+ export type { SystemBadgeKey, BadgeIconKey, UserBadgeSummary, UserBadgeEntity, } from './types/user-badge.types';
24
39
  export type { BannedSellerEntity } from './types/banned-seller.types';
25
40
  export type { SearchEntity, SearchWithUser, SearchScannerInfo, SearchWithScanner, } from './types/search.types';
26
41
  export type { EngineSearchRequest, EngineEnv, EngineChildInput, EngineScrapeInput, ScrapeTotals, ScrapeStatus, ScrapeIpcData, ScrapeIpcMessage, ScrapeDetailData, } from './types/engine.types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SUBSCRIPTION_HISTORY_ACTIONS = exports.toStringValue = exports.toNumberValue = exports.toIsoString = exports.isRecord = exports.toSellerSummary = exports.toSellerMatchKey = exports.toSellerIdentities = exports.parseSellerSnapshot = exports.createSellerSnapshot = exports.SELLER_SNAPSHOT_VERSION = exports.NotificationChannelEnum = exports.getMarketplaceLogoDataUri = exports.MARKETPLACE_LOGO_PATHS = exports.MARKETPLACE_SVG_RAW = exports.stripFiltersForType = exports.createVehicleDefaultFilter = exports.VEHICLE_DEFAULT_EXCLUDE_DESCRIPTION = exports.VEHICLE_DEFAULT_EXCLUDE_NAME = exports.VEHICLE_ONLY_FILTER_KEYS = exports.toSearchType = exports.isVehicleSearchType = exports.isSearchType = exports.getSearchTypeLabelTranslation = exports.SEARCH_TYPE_OPTIONS = exports.SEARCH_TYPES = exports.SearchTypeEnum = exports.isMarketplace = exports.MARKETPLACES = exports.MarketplaceEnum = void 0;
3
+ exports.SUBSCRIPTION_HISTORY_ACTIONS = exports.isBadgeIconKey = exports.isSystemBadgeKey = exports.BADGE_COLOR_REGEX = exports.BADGE_LIMITS = exports.BADGE_ICON_KEYS = exports.SYSTEM_BADGE_DEFINITIONS = exports.SYSTEM_BADGE_KEYS = exports.toStringValue = exports.toNumberValue = exports.toIsoString = exports.isRecord = exports.toSellerSummary = exports.toSellerMatchKey = exports.toSellerIdentities = exports.parseSellerSnapshot = exports.createSellerSnapshot = exports.SELLER_SNAPSHOT_VERSION = exports.toDeliveryAddress = exports.NotificationPattern = exports.NotificationChannelEnum = exports.getMarketplaceLogoDataUri = exports.MARKETPLACE_SVG_RAW = exports.stripFiltersForType = exports.createVehicleDefaultFilter = exports.VEHICLE_DEFAULT_EXCLUDE_DESCRIPTION = exports.VEHICLE_DEFAULT_EXCLUDE_NAME = exports.VEHICLE_ONLY_FILTER_KEYS = exports.toSearchType = exports.isVehicleSearchType = exports.isSearchType = exports.getSearchTypeLabelTranslation = exports.SEARCH_TYPE_OPTIONS = exports.SEARCH_TYPES = exports.SearchTypeEnum = exports.isMarketplace = exports.MARKETPLACES = exports.MarketplaceEnum = void 0;
4
4
  var marketplace_1 = require("./enums/marketplace");
5
5
  Object.defineProperty(exports, "MarketplaceEnum", { enumerable: true, get: function () { return marketplace_1.MarketplaceEnum; } });
6
6
  Object.defineProperty(exports, "MARKETPLACES", { enumerable: true, get: function () { return marketplace_1.MARKETPLACES; } });
@@ -21,10 +21,13 @@ Object.defineProperty(exports, "createVehicleDefaultFilter", { enumerable: true,
21
21
  Object.defineProperty(exports, "stripFiltersForType", { enumerable: true, get: function () { return search_filter_policy_1.stripFiltersForType; } });
22
22
  var logos_1 = require("./assets/logos");
23
23
  Object.defineProperty(exports, "MARKETPLACE_SVG_RAW", { enumerable: true, get: function () { return logos_1.MARKETPLACE_SVG_RAW; } });
24
- Object.defineProperty(exports, "MARKETPLACE_LOGO_PATHS", { enumerable: true, get: function () { return logos_1.MARKETPLACE_LOGO_PATHS; } });
25
24
  Object.defineProperty(exports, "getMarketplaceLogoDataUri", { enumerable: true, get: function () { return logos_1.getMarketplaceLogoDataUri; } });
26
25
  var notification_channel_enum_1 = require("./enums/notification-channel.enum");
27
26
  Object.defineProperty(exports, "NotificationChannelEnum", { enumerable: true, get: function () { return notification_channel_enum_1.NotificationChannelEnum; } });
27
+ var notification_pattern_enum_1 = require("./enums/notification-pattern.enum");
28
+ Object.defineProperty(exports, "NotificationPattern", { enumerable: true, get: function () { return notification_pattern_enum_1.NotificationPattern; } });
29
+ var delivery_address_mapper_1 = require("./mappers/delivery-address.mapper");
30
+ Object.defineProperty(exports, "toDeliveryAddress", { enumerable: true, get: function () { return delivery_address_mapper_1.toDeliveryAddress; } });
28
31
  /**
29
32
  * Helper runtime juga tersedia lewat subpath
30
33
  * `@winata/flipper-entities/utilities`; re-export di sini untuk
@@ -41,6 +44,14 @@ Object.defineProperty(exports, "isRecord", { enumerable: true, get: function ()
41
44
  Object.defineProperty(exports, "toIsoString", { enumerable: true, get: function () { return utilities_1.toIsoString; } });
42
45
  Object.defineProperty(exports, "toNumberValue", { enumerable: true, get: function () { return utilities_1.toNumberValue; } });
43
46
  Object.defineProperty(exports, "toStringValue", { enumerable: true, get: function () { return utilities_1.toStringValue; } });
47
+ var user_badge_types_1 = require("./types/user-badge.types");
48
+ Object.defineProperty(exports, "SYSTEM_BADGE_KEYS", { enumerable: true, get: function () { return user_badge_types_1.SYSTEM_BADGE_KEYS; } });
49
+ Object.defineProperty(exports, "SYSTEM_BADGE_DEFINITIONS", { enumerable: true, get: function () { return user_badge_types_1.SYSTEM_BADGE_DEFINITIONS; } });
50
+ Object.defineProperty(exports, "BADGE_ICON_KEYS", { enumerable: true, get: function () { return user_badge_types_1.BADGE_ICON_KEYS; } });
51
+ Object.defineProperty(exports, "BADGE_LIMITS", { enumerable: true, get: function () { return user_badge_types_1.BADGE_LIMITS; } });
52
+ Object.defineProperty(exports, "BADGE_COLOR_REGEX", { enumerable: true, get: function () { return user_badge_types_1.BADGE_COLOR_REGEX; } });
53
+ Object.defineProperty(exports, "isSystemBadgeKey", { enumerable: true, get: function () { return user_badge_types_1.isSystemBadgeKey; } });
54
+ Object.defineProperty(exports, "isBadgeIconKey", { enumerable: true, get: function () { return user_badge_types_1.isBadgeIconKey; } });
44
55
  var subscription_types_1 = require("./types/subscription.types");
45
56
  Object.defineProperty(exports, "SUBSCRIPTION_HISTORY_ACTIONS", { enumerable: true, get: function () { return subscription_types_1.SUBSCRIPTION_HISTORY_ACTIONS; } });
46
57
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAiCA,mDAI6B;AAH3B,8GAAA,eAAe,OAAA;AACf,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AAIf,6DAQkC;AAPhC,kHAAA,cAAc,OAAA;AACd,gHAAA,YAAY,OAAA;AACZ,uHAAA,mBAAmB,OAAA;AACnB,iIAAA,6BAA6B,OAAA;AAC7B,gHAAA,YAAY,OAAA;AACZ,uHAAA,mBAAmB,OAAA;AACnB,gHAAA,YAAY,OAAA;AAId,+DAMgC;AAL9B,gIAAA,wBAAwB,OAAA;AACxB,oIAAA,4BAA4B,OAAA;AAC5B,2IAAA,mCAAmC,OAAA;AACnC,kIAAA,0BAA0B,OAAA;AAC1B,2HAAA,mBAAmB,OAAA;AAGrB,wCAIwB;AAHtB,4GAAA,mBAAmB,OAAA;AACnB,+GAAA,sBAAsB,OAAA;AACtB,kHAAA,yBAAyB,OAAA;AAG3B,+EAA4E;AAAnE,oIAAA,uBAAuB,OAAA;AAQhC;;;;GAIG;AACH,yCAWqB;AAVnB,oHAAA,uBAAuB,OAAA;AACvB,iHAAA,oBAAoB,OAAA;AACpB,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAClB,6GAAA,gBAAgB,OAAA;AAChB,4GAAA,eAAe,OAAA;AACf,qGAAA,QAAQ,OAAA;AACR,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,0GAAA,aAAa,OAAA;AA6Df,iEAA0E;AAAjE,kIAAA,4BAA4B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAiCA,mDAI6B;AAH3B,8GAAA,eAAe,OAAA;AACf,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AAIf,6DAQkC;AAPhC,kHAAA,cAAc,OAAA;AACd,gHAAA,YAAY,OAAA;AACZ,uHAAA,mBAAmB,OAAA;AACnB,iIAAA,6BAA6B,OAAA;AAC7B,gHAAA,YAAY,OAAA;AACZ,uHAAA,mBAAmB,OAAA;AACnB,gHAAA,YAAY,OAAA;AAId,+DAMgC;AAL9B,gIAAA,wBAAwB,OAAA;AACxB,oIAAA,4BAA4B,OAAA;AAC5B,2IAAA,mCAAmC,OAAA;AACnC,kIAAA,0BAA0B,OAAA;AAC1B,2HAAA,mBAAmB,OAAA;AAGrB,wCAGwB;AAFtB,4GAAA,mBAAmB,OAAA;AACnB,kHAAA,yBAAyB,OAAA;AAG3B,+EAA4E;AAAnE,oIAAA,uBAAuB,OAAA;AAChC,+EAAwE;AAA/D,gIAAA,mBAAmB,OAAA;AAY5B,6EAAsE;AAA7D,4HAAA,iBAAiB,OAAA;AAG1B;;;;GAIG;AACH,yCAWqB;AAVnB,oHAAA,uBAAuB,OAAA;AACvB,iHAAA,oBAAoB,OAAA;AACpB,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAClB,6GAAA,gBAAgB,OAAA;AAChB,4GAAA,eAAe,OAAA;AACf,qGAAA,QAAQ,OAAA;AACR,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,0GAAA,aAAa,OAAA;AAMf,6DAQkC;AAPhC,qHAAA,iBAAiB,OAAA;AACjB,4HAAA,wBAAwB,OAAA;AACxB,mHAAA,eAAe,OAAA;AACf,gHAAA,YAAY,OAAA;AACZ,qHAAA,iBAAiB,OAAA;AACjB,oHAAA,gBAAgB,OAAA;AAChB,kHAAA,cAAc,OAAA;AAgEhB,iEAA0E;AAAjE,kIAAA,4BAA4B,OAAA"}
@@ -0,0 +1,12 @@
1
+ import type { DeliveryAddress } from '../types/notification/delivery-address.interface';
2
+ /** Bentuk baris endpoint di service pemilik data (DB-agnostik). */
3
+ export interface DeliveryAddressRow {
4
+ id?: number;
5
+ channel: string;
6
+ provider: string;
7
+ platform?: string | null;
8
+ address: string;
9
+ }
10
+ /** Satu-satunya mapper baris endpoint → alamat payload. */
11
+ export declare function toDeliveryAddress(row: DeliveryAddressRow): DeliveryAddress;
12
+ //# sourceMappingURL=delivery-address.mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-address.mapper.d.ts","sourceRoot":"","sources":["../../src/mappers/delivery-address.mapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAIxF,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,eAAe,CAQ1E"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toDeliveryAddress = toDeliveryAddress;
4
+ /** Satu-satunya mapper baris endpoint → alamat payload. */
5
+ function toDeliveryAddress(row) {
6
+ return {
7
+ id: row.id,
8
+ channel: row.channel,
9
+ provider: row.provider,
10
+ platform: (row.platform ?? null),
11
+ address: row.address,
12
+ };
13
+ }
14
+ //# sourceMappingURL=delivery-address.mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-address.mapper.js","sourceRoot":"","sources":["../../src/mappers/delivery-address.mapper.ts"],"names":[],"mappings":";;AAeA,8CAQC;AATD,2DAA2D;AAC3D,SAAgB,iBAAiB,CAAC,GAAuB;IACvD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,OAAO,EAAE,GAAG,CAAC,OAAkC;QAC/C,QAAQ,EAAE,GAAG,CAAC,QAAgC;QAC9C,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAgC;QAC/D,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { NotificationChannelEnum } from '../../enums/notification-channel.enum';
2
+ import type { NotificationPlatform } from './notification-platform.type';
3
+ import type { NotificationProvider } from './notification-provider.type';
4
+ /**
5
+ * Alamat tujuan pengiriman. `address` opaque: token FCM, chatId, email,
6
+ * URL webhook. Dikirim di payload pesan; tidak ada penyimpanan di notification.
7
+ */
8
+ export interface DeliveryAddress {
9
+ /** id baris di service pemilik data; hanya untuk log. */
10
+ id?: number;
11
+ channel: NotificationChannelEnum;
12
+ provider: NotificationProvider;
13
+ platform?: NotificationPlatform | null;
14
+ address: string;
15
+ }
16
+ //# sourceMappingURL=delivery-address.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-address.interface.d.ts","sourceRoot":"","sources":["../../../src/types/notification/delivery-address.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,uBAAuB,CAAC;IACjC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,QAAQ,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=notification.types.js.map
3
+ //# sourceMappingURL=delivery-address.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-address.interface.js","sourceRoot":"","sources":["../../../src/types/notification/delivery-address.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { NotificationChannelEnum } from '../../enums/notification-channel.enum';
2
+ export interface MultiChannelDeliveryResult {
3
+ channel: NotificationChannelEnum;
4
+ success: boolean;
5
+ messageId?: string;
6
+ error?: string;
7
+ }
8
+ //# sourceMappingURL=multi-channel-delivery-result.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-channel-delivery-result.interface.d.ts","sourceRoot":"","sources":["../../../src/types/notification/multi-channel-delivery-result.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAErF,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,uBAAuB,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=multi-channel-delivery-result.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-channel-delivery-result.interface.js","sourceRoot":"","sources":["../../../src/types/notification/multi-channel-delivery-result.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import type { NotificationChannelEnum } from '../../enums/notification-channel.enum';
2
+ import type { UserWithRelations } from '../user.types';
3
+ import type { DeliveryAddress } from './delivery-address.interface';
4
+ import type { NotificationAction } from './notification-action.interface';
5
+ import type { NotificationOverrides } from './notification-overrides.interface';
6
+ /** be → notification (`notification.sendFreeStyle`). */
7
+ export interface MultiChannelNotificationPayload {
8
+ user: UserWithRelations;
9
+ channels: NotificationChannelEnum[];
10
+ title?: string;
11
+ message: string;
12
+ action?: NotificationAction;
13
+ overrides?: NotificationOverrides;
14
+ /** Alamat tujuan. Kosong = provider terkait tidak punya tujuan (skip, bukan lookup). */
15
+ deliveries?: DeliveryAddress[];
16
+ }
17
+ //# sourceMappingURL=multi-channel-notification-payload.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-channel-notification-payload.interface.d.ts","sourceRoot":"","sources":["../../../src/types/notification/multi-channel-notification-payload.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,wDAAwD;AACxD,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,wFAAwF;IACxF,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=multi-channel-notification-payload.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-channel-notification-payload.interface.js","sourceRoot":"","sources":["../../../src/types/notification/multi-channel-notification-payload.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface NotificationAction {
2
+ label: string;
3
+ url: string;
4
+ }
5
+ //# sourceMappingURL=notification-action.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-action.interface.d.ts","sourceRoot":"","sources":["../../../src/types/notification/notification-action.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=notification-action.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-action.interface.js","sourceRoot":"","sources":["../../../src/types/notification/notification-action.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface NotificationChannelTestResult {
2
+ success: boolean;
3
+ message: string | null;
4
+ }
5
+ //# sourceMappingURL=notification-channel-test-result.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-channel-test-result.interface.d.ts","sourceRoot":"","sources":["../../../src/types/notification/notification-channel-test-result.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=notification-channel-test-result.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-channel-test-result.interface.js","sourceRoot":"","sources":["../../../src/types/notification/notification-channel-test-result.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import type { ItemEntity } from '../item.types';
2
+ import type { SearchEntity } from '../search.types';
3
+ import type { UserWithRelations } from '../user.types';
4
+ import type { DeliveryAddress } from './delivery-address.interface';
5
+ /** core → notification (`notification.sendNotification`). */
6
+ export type NotificationItemPayload = ItemEntity & {
7
+ search?: SearchEntity;
8
+ user?: UserWithRelations;
9
+ /** Alamat tujuan; dibaca langsung oleh provider push. */
10
+ deliveries?: DeliveryAddress[];
11
+ };
12
+ //# sourceMappingURL=notification-item-payload.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-item-payload.type.d.ts","sourceRoot":"","sources":["../../../src/types/notification/notification-item-payload.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,6DAA6D;AAC7D,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG;IACjD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,yDAAyD;IACzD,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=notification-item-payload.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-item-payload.type.js","sourceRoot":"","sources":["../../../src/types/notification/notification-item-payload.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ export interface NotificationOverrides {
2
+ email?: {
3
+ html?: string;
4
+ subject?: string;
5
+ };
6
+ telegram?: {
7
+ parseMode?: 'HTML' | 'MarkdownV2';
8
+ replyMarkup?: unknown;
9
+ };
10
+ webApp?: {
11
+ icon?: string;
12
+ priority?: 'info' | 'warning' | 'urgent';
13
+ };
14
+ }
15
+ //# sourceMappingURL=notification-overrides.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-overrides.interface.d.ts","sourceRoot":"","sources":["../../../src/types/notification/notification-overrides.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxE,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;KAAE,CAAC;CACtE"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=notification-overrides.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-overrides.interface.js","sourceRoot":"","sources":["../../../src/types/notification/notification-overrides.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export type NotificationPlatform = 'web' | 'android' | 'ios';
2
+ //# sourceMappingURL=notification-platform.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-platform.type.d.ts","sourceRoot":"","sources":["../../../src/types/notification/notification-platform.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=notification-platform.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-platform.type.js","sourceRoot":"","sources":["../../../src/types/notification/notification-platform.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Provider pengiriman. Nilai dikenal di bawah; string lain tetap diterima
3
+ * supaya vendor baru tidak memaksa rilis paket.
4
+ */
5
+ export type NotificationProvider = 'fcm' | 'apns' | 'smtp' | 'telegram' | (string & Record<never, never>);
6
+ //# sourceMappingURL=notification-provider.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-provider.type.d.ts","sourceRoot":"","sources":["../../../src/types/notification/notification-provider.type.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAC5B,KAAK,GACL,MAAM,GACN,MAAM,GACN,UAAU,GACV,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=notification-provider.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-provider.type.js","sourceRoot":"","sources":["../../../src/types/notification/notification-provider.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { NotificationProvider } from './notification-provider.type';
2
+ /** notification → be (`notification.endpoint.prune`). */
3
+ export interface PruneNotificationEndpointsPayload {
4
+ provider: NotificationProvider;
5
+ addresses: string[];
6
+ }
7
+ //# sourceMappingURL=prune-notification-endpoints-payload.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prune-notification-endpoints-payload.interface.d.ts","sourceRoot":"","sources":["../../../src/types/notification/prune-notification-endpoints-payload.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,yDAAyD;AACzD,MAAM,WAAW,iCAAiC;IAChD,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=prune-notification-endpoints-payload.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prune-notification-endpoints-payload.interface.js","sourceRoot":"","sources":["../../../src/types/notification/prune-notification-endpoints-payload.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { NotificationChannelEnum } from '../../enums/notification-channel.enum';
2
+ /** be → notification (`notification.testChannel`). */
3
+ export interface TestNotificationChannelPayload {
4
+ channelId: number;
5
+ chatId: string;
6
+ type?: NotificationChannelEnum | string;
7
+ }
8
+ //# sourceMappingURL=test-notification-channel-payload.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-notification-channel-payload.interface.d.ts","sourceRoot":"","sources":["../../../src/types/notification/test-notification-channel-payload.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAErF,sDAAsD;AACtD,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAAC;CACzC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=test-notification-channel-payload.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-notification-channel-payload.interface.js","sourceRoot":"","sources":["../../../src/types/notification/test-notification-channel-payload.interface.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  import type { LocationJSONB, MarketPlacePropJSONB, ItemFilterJSONB } from './search-jsonb.types';
2
2
  import type { UserWithRelations } from './user.types';
3
+ import type { DeliveryAddress } from './notification/delivery-address.interface';
3
4
  import type { FrozenSearchProfileEntity } from './subscription.types';
4
5
  import type { SearchType } from '../enums/search-type.enum';
5
6
  /** Representasi tabel `Search`. */
@@ -34,6 +35,11 @@ export type SearchEntity = {
34
35
  /** Search + user pemiliknya. */
35
36
  export type SearchWithUser = SearchEntity & {
36
37
  user?: UserWithRelations;
38
+ /**
39
+ * Alamat kirim notifikasi, dititipkan orchestrator di payload.
40
+ * Service notification membaca ini; tidak ada lookup balik ke core/be.
41
+ */
42
+ deliveries?: DeliveryAddress[];
37
43
  };
38
44
  /** Data scanner yang ditempel ke search — subset profil scanner beku. */
39
45
  export type SearchScannerInfo = Pick<FrozenSearchProfileEntity, 'key' | 'name' | 'specialEffect' | 'delayMilis'>;
@@ -1 +1 @@
1
- {"version":3,"file":"search.types.d.ts","sourceRoot":"","sources":["../../src/types/search.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,mCAAmC;AACnC,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7C,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG;IAC1C,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,yBAAyB,EACzB,KAAK,GAAG,MAAM,GAAG,eAAe,GAAG,YAAY,CAChD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAC7C,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACpC,CAAC"}
1
+ {"version":3,"file":"search.types.d.ts","sourceRoot":"","sources":["../../src/types/search.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,mCAAmC;AACnC,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7C,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG;IAC1C,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,yBAAyB,EACzB,KAAK,GAAG,MAAM,GAAG,eAAe,GAAG,YAAY,CAChD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAC7C,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACpC,CAAC"}
@@ -0,0 +1,47 @@
1
+ /** Badge system yang dibuat otomatis untuk setiap user. */
2
+ export declare const SYSTEM_BADGE_KEYS: readonly ["favorite", "archived"];
3
+ export type SystemBadgeKey = (typeof SYSTEM_BADGE_KEYS)[number];
4
+ export declare function isSystemBadgeKey(value: unknown): value is SystemBadgeKey;
5
+ /**
6
+ * Definisi tampilan badge system. Nama, icon, dan warna dikunci; user hanya
7
+ * boleh mengubah urutan lewat `sortOrder`.
8
+ */
9
+ export declare const SYSTEM_BADGE_DEFINITIONS: Record<SystemBadgeKey, {
10
+ name: string;
11
+ /** i18n key FE; nama system selalu ditampilkan lewat terjemahan. */
12
+ labelKey: string;
13
+ icon: string;
14
+ backgroundColor: string | null;
15
+ textColor: string | null;
16
+ }>;
17
+ /** Icon yang disediakan aplikasi. Key disimpan di `UserBadge.icon`. */
18
+ export declare const BADGE_ICON_KEYS: readonly ["star", "archive", "heart", "bookmark", "tag", "flag", "bolt", "fire", "crown", "diamond", "gift", "rocket", "check", "alert-triangle", "clock", "coin", "car", "home", "phone", "camera", "music", "book", "coffee", "plane", "trophy", "shield", "lock", "key", "eye", "search", "user", "users", "cart", "truck", "map-pin", "calendar", "message", "bell", "bulb", "palette", "scissors", "wrench", "settings", "chart", "wallet", "cash", "building", "headphones", "gamepad", "bike", "paw", "leaf", "sun", "moon", "cloud"];
19
+ export type BadgeIconKey = (typeof BADGE_ICON_KEYS)[number];
20
+ export declare function isBadgeIconKey(value: unknown): value is BadgeIconKey;
21
+ export declare const BADGE_LIMITS: {
22
+ readonly nameMaxLength: 30;
23
+ readonly maxPerUser: 50;
24
+ readonly sortOrderMax: 100000;
25
+ };
26
+ /** Warna disimpan sebagai hex 6 digit, mis. `#d4af37`; `null` = automatic (ikut theme). */
27
+ export declare const BADGE_COLOR_REGEX: RegExp;
28
+ export interface UserBadgeSummary {
29
+ id: number;
30
+ systemKey: SystemBadgeKey | null;
31
+ name: string;
32
+ icon: string;
33
+ /** null = automatic: ikut warna theme. */
34
+ backgroundColor: string | null;
35
+ /** null = automatic: ikut warna theme. */
36
+ textColor: string | null;
37
+ sortOrder: number;
38
+ }
39
+ export interface UserBadgeEntity extends UserBadgeSummary {
40
+ userId: number;
41
+ deleted: boolean;
42
+ createdAt: string;
43
+ createdBy: string | null;
44
+ updatedAt: string;
45
+ updatedBy: string | null;
46
+ }
47
+ //# sourceMappingURL=user-badge.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-badge.types.d.ts","sourceRoot":"","sources":["../../src/types/user-badge.types.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,mCAAoC,CAAC;AACnE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAKxE;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAC3C,cAAc,EACd;IACE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAgBF,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,eAAe,8gBAwDlB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAKpE;AAED,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,QAAsB,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,0CAA0C;IAC1C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BADGE_COLOR_REGEX = exports.BADGE_LIMITS = exports.BADGE_ICON_KEYS = exports.SYSTEM_BADGE_DEFINITIONS = exports.SYSTEM_BADGE_KEYS = void 0;
4
+ exports.isSystemBadgeKey = isSystemBadgeKey;
5
+ exports.isBadgeIconKey = isBadgeIconKey;
6
+ /** Badge system yang dibuat otomatis untuk setiap user. */
7
+ exports.SYSTEM_BADGE_KEYS = ['favorite', 'archived'];
8
+ function isSystemBadgeKey(value) {
9
+ return (typeof value === 'string' &&
10
+ exports.SYSTEM_BADGE_KEYS.includes(value));
11
+ }
12
+ /**
13
+ * Definisi tampilan badge system. Nama, icon, dan warna dikunci; user hanya
14
+ * boleh mengubah urutan lewat `sortOrder`.
15
+ */
16
+ exports.SYSTEM_BADGE_DEFINITIONS = {
17
+ favorite: {
18
+ name: 'Favorite',
19
+ labelKey: 'userItems.badgeSystemFavorite',
20
+ icon: 'star',
21
+ backgroundColor: '#d4af37',
22
+ textColor: '#4a3800',
23
+ },
24
+ archived: {
25
+ name: 'Archived',
26
+ labelKey: 'userItems.badgeSystemArchived',
27
+ icon: 'archive',
28
+ backgroundColor: '#6b7280',
29
+ textColor: '#f9fafb',
30
+ },
31
+ };
32
+ /** Icon yang disediakan aplikasi. Key disimpan di `UserBadge.icon`. */
33
+ exports.BADGE_ICON_KEYS = [
34
+ 'star',
35
+ 'archive',
36
+ 'heart',
37
+ 'bookmark',
38
+ 'tag',
39
+ 'flag',
40
+ 'bolt',
41
+ 'fire',
42
+ 'crown',
43
+ 'diamond',
44
+ 'gift',
45
+ 'rocket',
46
+ 'check',
47
+ 'alert-triangle',
48
+ 'clock',
49
+ 'coin',
50
+ 'car',
51
+ 'home',
52
+ 'phone',
53
+ 'camera',
54
+ 'music',
55
+ 'book',
56
+ 'coffee',
57
+ 'plane',
58
+ 'trophy',
59
+ 'shield',
60
+ 'lock',
61
+ 'key',
62
+ 'eye',
63
+ 'search',
64
+ 'user',
65
+ 'users',
66
+ 'cart',
67
+ 'truck',
68
+ 'map-pin',
69
+ 'calendar',
70
+ 'message',
71
+ 'bell',
72
+ 'bulb',
73
+ 'palette',
74
+ 'scissors',
75
+ 'wrench',
76
+ 'settings',
77
+ 'chart',
78
+ 'wallet',
79
+ 'cash',
80
+ 'building',
81
+ 'headphones',
82
+ 'gamepad',
83
+ 'bike',
84
+ 'paw',
85
+ 'leaf',
86
+ 'sun',
87
+ 'moon',
88
+ 'cloud',
89
+ ];
90
+ function isBadgeIconKey(value) {
91
+ return (typeof value === 'string' &&
92
+ exports.BADGE_ICON_KEYS.includes(value));
93
+ }
94
+ exports.BADGE_LIMITS = {
95
+ nameMaxLength: 30,
96
+ maxPerUser: 50,
97
+ sortOrderMax: 100000,
98
+ };
99
+ /** Warna disimpan sebagai hex 6 digit, mis. `#d4af37`; `null` = automatic (ikut theme). */
100
+ exports.BADGE_COLOR_REGEX = /^#[0-9a-fA-F]{6}$/;
101
+ //# sourceMappingURL=user-badge.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-badge.types.js","sourceRoot":"","sources":["../../src/types/user-badge.types.ts"],"names":[],"mappings":";;;AAIA,4CAKC;AA6FD,wCAKC;AA3GD,2DAA2D;AAC9C,QAAA,iBAAiB,GAAG,CAAC,UAAU,EAAE,UAAU,CAAU,CAAC;AAGnE,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,yBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACzD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACU,QAAA,wBAAwB,GAUjC;IACF,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,+BAA+B;QACzC,IAAI,EAAE,MAAM;QACZ,eAAe,EAAE,SAAS;QAC1B,SAAS,EAAE,SAAS;KACrB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,+BAA+B;QACzC,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,SAAS;QAC1B,SAAS,EAAE,SAAS;KACrB;CACF,CAAC;AAEF,uEAAuE;AAC1D,QAAA,eAAe,GAAG;IAC7B,MAAM;IACN,SAAS;IACT,OAAO;IACP,UAAU;IACV,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;IACT,MAAM;IACN,QAAQ;IACR,OAAO;IACP,gBAAgB;IAChB,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,UAAU;IACV,SAAS;IACT,MAAM;IACN,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACR,MAAM;IACN,UAAU;IACV,YAAY;IACZ,SAAS;IACT,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;CACC,CAAC;AAGX,SAAgB,cAAc,CAAC,KAAc;IAC3C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,uBAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACvD,CAAC;AACJ,CAAC;AAEY,QAAA,YAAY,GAAG;IAC1B,aAAa,EAAE,EAAE;IACjB,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,MAAM;CACZ,CAAC;AAEX,2FAA2F;AAC9E,QAAA,iBAAiB,GAAG,mBAAmB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { ItemEntity } from './item.types';
2
+ import type { UserBadgeSummary } from './user-badge.types';
2
3
  /** ProseMirror/Tiptap JSON document (output of `editor.getJSON()`). */
3
4
  export type RichNoteJSONB = Record<string, unknown>;
4
5
  /** Representasi tabel `UserItem` (item + state milik user). */
@@ -11,5 +12,12 @@ export type UserItemEntity = ItemEntity & {
11
12
  * `isBannedSellerReason`). Diisi endpoint ban/unban, bukan oleh scraper.
12
13
  */
13
14
  isBannedSellerReason?: boolean;
15
+ /**
16
+ * True kalau item punya minimal satu badge (system atau custom). Dipakai tab
17
+ * `System Items` supaya tidak perlu join ke `UserItemBadge`.
18
+ */
19
+ isInSpecificTab?: boolean;
20
+ /** Badge item, urut `UserBadge.sortOrder`. */
21
+ badges?: UserBadgeSummary[];
14
22
  };
15
23
  //# sourceMappingURL=user-item.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-item.types.d.ts","sourceRoot":"","sources":["../../src/types/user-item.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,uEAAuE;AACvE,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IACxC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC"}
1
+ {"version":3,"file":"user-item.types.d.ts","sourceRoot":"","sources":["../../src/types/user-item.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,uEAAuE;AACvE,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IACxC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@winata/flipper-entities",
3
- "version": "2.7.15",
3
+ "version": "2.8.0",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,35 +0,0 @@
1
- import type { NotificationChannelEnum } from '../enums/notification-channel.enum';
2
- import type { UserWithRelations } from './user.types';
3
- export interface NotificationAction {
4
- label: string;
5
- url: string;
6
- }
7
- export interface NotificationOverrides {
8
- email?: {
9
- html?: string;
10
- subject?: string;
11
- };
12
- telegram?: {
13
- parseMode?: 'HTML' | 'MarkdownV2';
14
- replyMarkup?: unknown;
15
- };
16
- webApp?: {
17
- icon?: string;
18
- priority?: 'info' | 'warning' | 'urgent';
19
- };
20
- }
21
- export interface MultiChannelNotificationPayload {
22
- user: UserWithRelations;
23
- channels: NotificationChannelEnum[];
24
- title?: string;
25
- message: string;
26
- action?: NotificationAction;
27
- overrides?: NotificationOverrides;
28
- }
29
- export interface MultiChannelDeliveryResult {
30
- channel: NotificationChannelEnum;
31
- success: boolean;
32
- messageId?: string;
33
- error?: string;
34
- }
35
- //# sourceMappingURL=notification.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notification.types.d.ts","sourceRoot":"","sources":["../../src/types/notification.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxE,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;KAAE,CAAC;CACtE;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,uBAAuB,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"notification.types.js","sourceRoot":"","sources":["../../src/types/notification.types.ts"],"names":[],"mappings":""}