@thinkerchain/flipper-entities 2.7.0 → 2.7.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.
Files changed (102) hide show
  1. package/package.json +39 -39
  2. package/utilities/package.json +5 -5
  3. package/dist/enums/marketplace.d.ts +0 -16
  4. package/dist/enums/marketplace.d.ts.map +0 -1
  5. package/dist/enums/marketplace.js +0 -23
  6. package/dist/enums/marketplace.js.map +0 -1
  7. package/dist/index.d.ts +0 -29
  8. package/dist/index.d.ts.map +0 -1
  9. package/dist/index.js +0 -24
  10. package/dist/index.js.map +0 -1
  11. package/dist/types/banned-seller.types.d.ts +0 -26
  12. package/dist/types/banned-seller.types.d.ts.map +0 -1
  13. package/dist/types/banned-seller.types.js +0 -3
  14. package/dist/types/banned-seller.types.js.map +0 -1
  15. package/dist/types/billing-options.types.d.ts +0 -14
  16. package/dist/types/billing-options.types.d.ts.map +0 -1
  17. package/dist/types/billing-options.types.js +0 -3
  18. package/dist/types/billing-options.types.js.map +0 -1
  19. package/dist/types/core-options.types.d.ts +0 -98
  20. package/dist/types/core-options.types.d.ts.map +0 -1
  21. package/dist/types/core-options.types.js +0 -3
  22. package/dist/types/core-options.types.js.map +0 -1
  23. package/dist/types/engine.types.d.ts +0 -68
  24. package/dist/types/engine.types.d.ts.map +0 -1
  25. package/dist/types/engine.types.js +0 -3
  26. package/dist/types/engine.types.js.map +0 -1
  27. package/dist/types/item-check.types.d.ts +0 -15
  28. package/dist/types/item-check.types.d.ts.map +0 -1
  29. package/dist/types/item-check.types.js +0 -3
  30. package/dist/types/item-check.types.js.map +0 -1
  31. package/dist/types/item-filter.types.d.ts +0 -30
  32. package/dist/types/item-filter.types.d.ts.map +0 -1
  33. package/dist/types/item-filter.types.js +0 -3
  34. package/dist/types/item-filter.types.js.map +0 -1
  35. package/dist/types/item.types.d.ts +0 -40
  36. package/dist/types/item.types.d.ts.map +0 -1
  37. package/dist/types/item.types.js +0 -3
  38. package/dist/types/item.types.js.map +0 -1
  39. package/dist/types/option.types.d.ts +0 -13
  40. package/dist/types/option.types.d.ts.map +0 -1
  41. package/dist/types/option.types.js +0 -3
  42. package/dist/types/option.types.js.map +0 -1
  43. package/dist/types/product.types.d.ts +0 -81
  44. package/dist/types/product.types.d.ts.map +0 -1
  45. package/dist/types/product.types.js +0 -3
  46. package/dist/types/product.types.js.map +0 -1
  47. package/dist/types/scrape.types.d.ts +0 -42
  48. package/dist/types/scrape.types.d.ts.map +0 -1
  49. package/dist/types/scrape.types.js +0 -3
  50. package/dist/types/scrape.types.js.map +0 -1
  51. package/dist/types/search-jsonb.types.d.ts +0 -96
  52. package/dist/types/search-jsonb.types.d.ts.map +0 -1
  53. package/dist/types/search-jsonb.types.js +0 -3
  54. package/dist/types/search-jsonb.types.js.map +0 -1
  55. package/dist/types/search.types.d.ts +0 -32
  56. package/dist/types/search.types.d.ts.map +0 -1
  57. package/dist/types/search.types.js +0 -3
  58. package/dist/types/search.types.js.map +0 -1
  59. package/dist/types/seller-snapshot.types.d.ts +0 -53
  60. package/dist/types/seller-snapshot.types.d.ts.map +0 -1
  61. package/dist/types/seller-snapshot.types.js +0 -3
  62. package/dist/types/seller-snapshot.types.js.map +0 -1
  63. package/dist/types/seller-summary.types.d.ts +0 -35
  64. package/dist/types/seller-summary.types.d.ts.map +0 -1
  65. package/dist/types/seller-summary.types.js +0 -3
  66. package/dist/types/seller-summary.types.js.map +0 -1
  67. package/dist/types/subscription.types.d.ts +0 -96
  68. package/dist/types/subscription.types.d.ts.map +0 -1
  69. package/dist/types/subscription.types.js +0 -3
  70. package/dist/types/subscription.types.js.map +0 -1
  71. package/dist/types/usage.types.d.ts +0 -33
  72. package/dist/types/usage.types.d.ts.map +0 -1
  73. package/dist/types/usage.types.js +0 -3
  74. package/dist/types/usage.types.js.map +0 -1
  75. package/dist/types/user-channel.types.d.ts +0 -28
  76. package/dist/types/user-channel.types.d.ts.map +0 -1
  77. package/dist/types/user-channel.types.js +0 -3
  78. package/dist/types/user-channel.types.js.map +0 -1
  79. package/dist/types/user-item.types.d.ts +0 -15
  80. package/dist/types/user-item.types.d.ts.map +0 -1
  81. package/dist/types/user-item.types.js +0 -3
  82. package/dist/types/user-item.types.js.map +0 -1
  83. package/dist/types/user.types.d.ts +0 -25
  84. package/dist/types/user.types.d.ts.map +0 -1
  85. package/dist/types/user.types.js +0 -3
  86. package/dist/types/user.types.js.map +0 -1
  87. package/dist/utilities/index.d.ts +0 -9
  88. package/dist/utilities/index.d.ts.map +0 -1
  89. package/dist/utilities/index.js +0 -21
  90. package/dist/utilities/index.js.map +0 -1
  91. package/dist/utilities/scalar.d.ts +0 -12
  92. package/dist/utilities/scalar.d.ts.map +0 -1
  93. package/dist/utilities/scalar.js +0 -45
  94. package/dist/utilities/scalar.js.map +0 -1
  95. package/dist/utilities/seller-snapshot.d.ts +0 -41
  96. package/dist/utilities/seller-snapshot.d.ts.map +0 -1
  97. package/dist/utilities/seller-snapshot.js +0 -126
  98. package/dist/utilities/seller-snapshot.js.map +0 -1
  99. package/dist/utilities/seller-summary.d.ts +0 -22
  100. package/dist/utilities/seller-summary.d.ts.map +0 -1
  101. package/dist/utilities/seller-summary.js +0 -85
  102. package/dist/utilities/seller-summary.js.map +0 -1
@@ -1,81 +0,0 @@
1
- /**
2
- * Katalog produk. `kind` sengaja string bebas (tanpa CHECK) supaya jenis produk
3
- * baru tidak butuh migrasi. Nilai yang dipakai saat ini: `plan` (langganan) dan
4
- * `retail` (sekali beli). Produk yang tidak berlangganan cukup tidak punya
5
- * `ProductSearchProfile`/`ProductChannelProfile`.
6
- */
7
- export type ProductKind = 'plan' | 'retail';
8
- /** Benefit marketing untuk kartu pricing. */
9
- export interface ProductFeature {
10
- key: string;
11
- label: string;
12
- included: boolean;
13
- }
14
- /** Profil search yang dijual sebuah produk (tabel `ProductSearchProfile`). */
15
- export interface ProductSearchProfileEntity {
16
- id: number;
17
- productId: number;
18
- /** Slug stabil, dipakai baris langganan untuk menunjuk profil ini. */
19
- key: string;
20
- name: string;
21
- /** Jumlah search aktif yang boleh menempel ke profil ini. */
22
- slot: number;
23
- /** Delay antar-scrape (ms) yang dipakai search di profil ini. */
24
- delayMilis: number;
25
- /** Marketplace yang boleh dipakai search di profil ini. */
26
- allowedMarketPlaces: string[];
27
- deleted: boolean;
28
- createdAt: string;
29
- updatedAt: string;
30
- }
31
- /**
32
- * Profil channel yang dijual sebuah produk (tabel `ProductChannelProfile`).
33
- * Agnostik terhadap jenis channel: jenis (mis. `telegram`) dipilih user saat
34
- * membuat channel dan divalidasi terhadap `SUPPORTED_CHANNEL_TYPES`.
35
- */
36
- export interface ProductChannelProfileEntity {
37
- id: number;
38
- productId: number;
39
- key: string;
40
- name: string;
41
- slot: number;
42
- deleted: boolean;
43
- createdAt: string;
44
- updatedAt: string;
45
- }
46
- /**
47
- * Profil banned seller yang dijual sebuah produk (tabel `ProductBannedSellerProfile`).
48
- */
49
- export interface ProductBannedSellerProfileEntity {
50
- id: number;
51
- productId: number;
52
- key: string;
53
- name: string;
54
- slot: number;
55
- deleted: boolean;
56
- createdAt: string;
57
- updatedAt: string;
58
- }
59
- /** Representasi tabel `Product` — satu katalog untuk semua yang dijual. */
60
- export type ProductEntity = {
61
- id: number;
62
- key: string;
63
- name: string;
64
- description: string | null;
65
- kind: string;
66
- priceCents: number;
67
- currency: string;
68
- sortOrder: number;
69
- isActive: boolean;
70
- isPublic?: boolean;
71
- features: ProductFeature[] | null;
72
- searchProfiles: ProductSearchProfileEntity[];
73
- channelProfiles: ProductChannelProfileEntity[];
74
- bannedSellerProfiles?: ProductBannedSellerProfileEntity[];
75
- deleted: boolean;
76
- createdAt: string;
77
- createdBy: string | null;
78
- updatedAt: string;
79
- updatedBy: string | null;
80
- };
81
- //# sourceMappingURL=product.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"product.types.d.ts","sourceRoot":"","sources":["../../src/types/product.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,8EAA8E;AAC9E,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2EAA2E;AAC3E,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,0BAA0B,EAAE,CAAC;IAC7C,eAAe,EAAE,2BAA2B,EAAE,CAAC;IAC/C,oBAAoB,CAAC,EAAE,gCAAgC,EAAE,CAAC;IAC1D,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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=product.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"product.types.js","sourceRoot":"","sources":["../../src/types/product.types.ts"],"names":[],"mappings":""}
@@ -1,42 +0,0 @@
1
- import type { InvalidFilterReason, ItemCheckStatus } from './item-check.types';
2
- import type { SearchWithUser } from './search.types';
3
- import type { SellerSnapshotJSONB } from './seller-snapshot.types';
4
- /**
5
- * Item hasil scrape yang belum tentu ada di DB (`id` null sampai core simpan).
6
- * Satu-satunya bentuk item yang lalu-lalang di RMQ/IPC.
7
- *
8
- * `status`/`isValid`/`filters` diisi core: `status` oleh checkExist,
9
- * `isValid` + `filters` oleh checkItems.
10
- */
11
- export type ScrapedItem = {
12
- id?: number | null;
13
- searchId: number;
14
- userId: number;
15
- marketPlaceId: string;
16
- marketPlaceName?: string | null;
17
- sellerId?: string | null;
18
- sellerName?: string | null;
19
- sellerSnapshot?: SellerSnapshotJSONB | null;
20
- type?: string | null;
21
- name?: string | null;
22
- image?: string | null;
23
- link?: string | null;
24
- price?: number | null;
25
- formattedAmount?: string | null;
26
- location?: string | null;
27
- year?: number | null;
28
- description?: string | null;
29
- other?: Record<string, unknown> | null;
30
- status?: ItemCheckStatus;
31
- isValid?: boolean;
32
- filters?: InvalidFilterReason[];
33
- };
34
- /**
35
- * Envelope tunggal semua koneksi RMQ: search pemilik + item-itemnya.
36
- * `engine.search` mengisi `searches` tanpa `items`; balikannya membawa `items`.
37
- * Untuk AI, `items` selalu berisi tepat 1 item.
38
- */
39
- export type SearchWithItems = SearchWithUser & {
40
- items: ScrapedItem[];
41
- };
42
- //# sourceMappingURL=scrape.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scrape.types.d.ts","sourceRoot":"","sources":["../../src/types/scrape.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC5C,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACjC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG;IAC7C,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=scrape.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scrape.types.js","sourceRoot":"","sources":["../../src/types/scrape.types.ts"],"names":[],"mappings":""}
@@ -1,96 +0,0 @@
1
- export type LocationJSONB = {
2
- name: string;
3
- latitude: number;
4
- longitude: number;
5
- radiusKm: number;
6
- };
7
- export type MarketPlacePropJSONB = Record<string, {
8
- type: string;
9
- category: string;
10
- subCategory?: string;
11
- }>;
12
- export type ItemFilterImage = {
13
- noEmptyValue?: boolean;
14
- };
15
- export type ItemFilterLink = {
16
- noEmptyValue?: boolean;
17
- };
18
- export type ItemFilterLocation = {
19
- name?: {
20
- noEmptyValue?: boolean;
21
- contain?: string[];
22
- notContain?: string[];
23
- };
24
- geoFencing?: {
25
- active?: boolean;
26
- noEmptyValue?: boolean;
27
- };
28
- };
29
- export type ItemFilterName = {
30
- noEmptyValue?: boolean;
31
- contain?: string[];
32
- notContain?: string[];
33
- };
34
- export type ItemFilterPrice = {
35
- noEmptyValue?: boolean;
36
- minPrice?: number;
37
- maxPrice?: number;
38
- noSameValue?: boolean;
39
- noAscending?: boolean;
40
- noDescending?: boolean;
41
- };
42
- export type ItemFilterYear = {
43
- minYear?: number;
44
- maxYear?: number;
45
- };
46
- export type ItemFilterDescription = {
47
- noEmptyValue?: boolean;
48
- contain?: string[];
49
- notContain?: string[];
50
- };
51
- export type ItemFilterRating = {
52
- noEmptyValue?: boolean;
53
- minRating?: number;
54
- };
55
- export type ItemFilterScam = {
56
- noEmptyValue?: boolean;
57
- rejectScam?: boolean;
58
- maxScam?: number;
59
- };
60
- export type ItemFilterJSONB = {
61
- type?: string;
62
- image?: ItemFilterImage;
63
- link?: ItemFilterLink;
64
- location?: ItemFilterLocation;
65
- name?: ItemFilterName;
66
- price?: ItemFilterPrice;
67
- year?: ItemFilterYear;
68
- description?: ItemFilterDescription;
69
- rating?: ItemFilterRating;
70
- scam?: ItemFilterScam;
71
- radiusKm?: number;
72
- };
73
- export type CoreValueJSONB = {
74
- proxy?: {
75
- host: string;
76
- port: number;
77
- username: string;
78
- password: string;
79
- };
80
- orchestrator?: {
81
- active: boolean;
82
- orchestratorInterval: number;
83
- orchestratorChunkSize: number;
84
- };
85
- engine?: {
86
- pageTabPartitionSize: number;
87
- redisTtlSeconds: number;
88
- searchItemChunk: number;
89
- pageTimeoutMiliseconds: number;
90
- };
91
- defaultValue?: {
92
- itemFilter: ItemFilterJSONB;
93
- marketPlaceProp: MarketPlacePropJSONB;
94
- };
95
- };
96
- //# sourceMappingURL=search-jsonb.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-jsonb.types.d.ts","sourceRoot":"","sources":["../../src/types/search-jsonb.types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=search-jsonb.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-jsonb.types.js","sourceRoot":"","sources":["../../src/types/search-jsonb.types.ts"],"names":[],"mappings":""}
@@ -1,32 +0,0 @@
1
- import type { LocationJSONB, MarketPlacePropJSONB, ItemFilterJSONB } from './search-jsonb.types';
2
- import type { UserWithRelations } from './user.types';
3
- /** Representasi tabel `Search`. */
4
- export type SearchEntity = {
5
- id: number;
6
- userId: number;
7
- title: string;
8
- type: string;
9
- marketPlaceProp: MarketPlacePropJSONB | null;
10
- location: LocationJSONB | null;
11
- targetName: string;
12
- marketPlaces: string[];
13
- delayMilis: number;
14
- lastScrappedEpoch: string | null;
15
- filter: ItemFilterJSONB | null;
16
- /**
17
- * Profil scanner langganan yang membayar search ini
18
- * (tabel `SubscriptionSearchProfile`); null = search lama, tidak dieksekusi.
19
- */
20
- subscriptionProfileId?: number | null;
21
- isSubscriptionActive?: boolean;
22
- deleted: boolean;
23
- createdAt: string;
24
- createdBy: string | null;
25
- updatedAt: string;
26
- updatedBy: string | null;
27
- };
28
- /** Search + user pemiliknya. */
29
- export type SearchWithUser = SearchEntity & {
30
- user?: UserWithRelations;
31
- };
32
- //# sourceMappingURL=search.types.d.ts.map
@@ -1 +0,0 @@
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;AAEtD,mCAAmC;AACnC,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,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,UAAU,EAAE,MAAM,CAAC;IACnB,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,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=search.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.types.js","sourceRoot":"","sources":["../../src/types/search.types.ts"],"names":[],"mappings":""}
@@ -1,53 +0,0 @@
1
- /**
2
- * Property identitas seller yang dipakai untuk matching ban.
3
- * Urutan prioritas: `id`, lalu `user_id`, lalu `marketplace_user_profile.id`.
4
- */
5
- export type SellerIdentityProperty = 'id' | 'user_id' | 'marketplace_user_profile.id';
6
- /** Satu nilai identitas seller yang siap dicocokkan dengan ban. */
7
- export type SellerIdentity = {
8
- property: SellerIdentityProperty;
9
- value: string;
10
- };
11
- /**
12
- * Data seller yang DISIMPAN: hasil ramping `createSellerSnapshot` dari objek
13
- * `marketplace_listing_seller` — hanya property penting (identitas matching
14
- * ban, nama, avatar, join, rating, verified, orders), ternormalisasi supaya
15
- * bentuknya sama untuk semua marketplace. Index signature sengaja ada: baris
16
- * lama (snapshot mentah sebelum perampingan) tetap terbaca.
17
- */
18
- export type FacebookSellerV1 = {
19
- id?: string | number | null;
20
- user_id?: string | number | null;
21
- name?: string | null;
22
- join_time?: number | string | null;
23
- profile_picture?: {
24
- uri?: string | null;
25
- [key: string]: unknown;
26
- } | null;
27
- marketplace_user_profile?: {
28
- id?: string | number | null;
29
- c2c_orders_shipped?: number | null;
30
- [key: string]: unknown;
31
- } | null;
32
- rating?: {
33
- average?: number | null;
34
- count?: number | null;
35
- private?: boolean;
36
- [key: string]: unknown;
37
- } | null;
38
- verified?: boolean | null;
39
- [key: string]: unknown;
40
- };
41
- export type SellerSnapshotV1 = {
42
- source: string;
43
- version: 1;
44
- data: FacebookSellerV1;
45
- };
46
- /**
47
- * Snapshot seller — SATU-SATUNYA data seller yang disimpan (kolom jsonb
48
- * `sellerSnapshot` di `Item`/`UserItem`/`BannedSeller`). Ringkasan
49
- * (`toSellerSummary`) diturunkan saat baca, bukan disimpan lagi.
50
- * `version` adalah discriminator: pembaca wajib lewat `parseSellerSnapshot`.
51
- */
52
- export type SellerSnapshotJSONB = SellerSnapshotV1;
53
- //# sourceMappingURL=seller-snapshot.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seller-snapshot.types.d.ts","sourceRoot":"","sources":["../../src/types/seller-snapshot.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAC9B,IAAI,GACJ,SAAS,GACT,6BAA6B,CAAC;AAElC,mEAAmE;AACnE,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE;QAChB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,IAAI,CAAC;IACT,wBAAwB,CAAC,EAAE;QACzB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,IAAI,CAAC;IACT,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=seller-snapshot.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seller-snapshot.types.js","sourceRoot":"","sources":["../../src/types/seller-snapshot.types.ts"],"names":[],"mappings":""}
@@ -1,35 +0,0 @@
1
- /**
2
- * Rating seller ternormalisasi lintas marketplace.
3
- * `private` = marketplace menyembunyikan angka rating dari publik.
4
- */
5
- export type SellerRating = {
6
- average: number | null;
7
- count: number | null;
8
- private: boolean;
9
- };
10
- /**
11
- * Ringkasan seller turunan `sellerSnapshot` (TIDAK disimpan di DB; dihitung
12
- * `toSellerSummary` saat baca). Bentuknya netral marketplace supaya UI tidak
13
- * perlu tahu struktur snapshot.
14
- *
15
- * Index signature sengaja ada: penambahan field baru tidak memaksa perubahan
16
- * bentuk, selama field lama tidak diubah artinya.
17
- */
18
- export type SellerSummary = {
19
- /** URL foto profil; URL marketplace bisa kedaluwarsa → display-only. */
20
- avatar: string | null;
21
- name: string | null;
22
- /** `marketplace_user_profile.id` dari marketplace. */
23
- profileId: string | null;
24
- /** Waktu akun seller dibuat, ISO 8601. */
25
- joinedAt: string | null;
26
- rating: SellerRating | null;
27
- /** Badge verified/blue dari marketplace. */
28
- verified: boolean;
29
- /** Jumlah order yang sudah dikirim (kalau marketplace menyediakan). */
30
- ordersShipped: number | null;
31
- [key: string]: unknown;
32
- };
33
- /** Nama lama tipe ini; dipertahankan supaya pemanggil lama tetap kompilasi. */
34
- export type SellerSummaryJSONB = SellerSummary;
35
- //# sourceMappingURL=seller-summary.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seller-summary.types.d.ts","sourceRoot":"","sources":["../../src/types/seller-summary.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,wEAAwE;IACxE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,sDAAsD;IACtD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,4CAA4C;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=seller-summary.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seller-summary.types.js","sourceRoot":"","sources":["../../src/types/seller-summary.types.ts"],"names":[],"mappings":""}
@@ -1,96 +0,0 @@
1
- import type { ProductEntity } from './product.types';
2
- export type SubscriptionStatus = 'trialing' | 'active' | 'past_due' | 'canceled' | 'expired';
3
- export type SubscriptionSource = 'manual' | 'trial' | 'payment';
4
- /** Kelompok entitlement di dalam satu langganan. */
5
- export type SubscriptionProfileKind = 'search' | 'channel' | 'banned_seller';
6
- /**
7
- * Profil scanner beku milik satu langganan (tabel `SubscriptionSearchProfile`).
8
- * Dibuat sekali saat langganan dibuat; `Search` menempel ke baris ini, bukan ke
9
- * katalog — jadi edit atau hapus produk tidak pernah mengubah relasi.
10
- */
11
- export interface SubscriptionSearchProfileEntity {
12
- id: number;
13
- subscriptionId: number;
14
- key: string;
15
- name: string;
16
- /** Slot dasar dari plan saat langganan dibuat. */
17
- slot: number;
18
- /** Delay antar-scrape (ms) beku untuk scanner ini. */
19
- delayMilis: number;
20
- /** Marketplace beku yang boleh dipakai scanner ini. */
21
- allowedMarketPlaces: string[];
22
- deleted: boolean;
23
- createdAt: string;
24
- }
25
- /**
26
- * Profil channel beku milik satu langganan (tabel `SubscriptionChannelProfile`).
27
- * Agnostik: tidak menyimpan jenis channel — `UserChannel.other.type` yang
28
- * menentukan, divalidasi terhadap `SUPPORTED_CHANNEL_TYPES`.
29
- */
30
- export interface SubscriptionChannelProfileEntity {
31
- id: number;
32
- subscriptionId: number;
33
- key: string;
34
- name: string;
35
- slot: number;
36
- deleted: boolean;
37
- createdAt: string;
38
- }
39
- /**
40
- * Profil banned seller beku milik satu langganan (tabel `SubscriptionBannedSellerProfile`).
41
- */
42
- export interface SubscriptionBannedSellerProfileEntity {
43
- id: number;
44
- subscriptionId: number;
45
- key: string;
46
- name: string;
47
- slot: number;
48
- deleted: boolean;
49
- createdAt: string;
50
- }
51
- /** Copy profil untuk audit; angka yang dipakai logika ada di baris relasional. */
52
- export interface SubscriptionProfileSnapshot {
53
- profileId: number;
54
- kind: SubscriptionProfileKind;
55
- key: string;
56
- name: string;
57
- slot: number;
58
- delayMilis?: number | null;
59
- allowedMarketPlaces?: string[] | null;
60
- }
61
- /** Snapshot saat langganan dibuat; audit/display saja, bukan sumber logika. */
62
- export interface SubscriptionSnapshot {
63
- productKey: string;
64
- productName: string;
65
- priceCents: number;
66
- profiles: SubscriptionProfileSnapshot[];
67
- }
68
- /** Representasi tabel `Subscription`. */
69
- export type SubscriptionEntity = {
70
- id: number;
71
- userId: number;
72
- productId: number;
73
- /** Copy beku dari katalog untuk tampilan; katalog bisa berubah. */
74
- productKey: string | null;
75
- productName: string | null;
76
- status: SubscriptionStatus;
77
- currentPeriodStart: string;
78
- currentPeriodEnd: string;
79
- cancelAtPeriodEnd: boolean;
80
- source: SubscriptionSource;
81
- snapshot: SubscriptionSnapshot | null;
82
- assignedBy: string | null;
83
- deleted: boolean;
84
- createdAt: string;
85
- createdBy: string | null;
86
- updatedAt: string;
87
- updatedBy: string | null;
88
- };
89
- /** Langganan + produk dan profil bekunya. */
90
- export type SubscriptionWithProduct = SubscriptionEntity & {
91
- product?: ProductEntity;
92
- searchProfiles?: SubscriptionSearchProfileEntity[];
93
- channelProfiles?: SubscriptionChannelProfileEntity[];
94
- bannedSellerProfiles?: SubscriptionBannedSellerProfileEntity[];
95
- };
96
- //# sourceMappingURL=subscription.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription.types.d.ts","sourceRoot":"","sources":["../../src/types/subscription.types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=subscription.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription.types.js","sourceRoot":"","sources":["../../src/types/subscription.types.ts"],"names":[],"mappings":""}
@@ -1,33 +0,0 @@
1
- import type { SubscriptionProfileKind, SubscriptionStatus } from './subscription.types';
2
- /** Pemakaian satu profil langganan (scanner atau channel). */
3
- export interface UsageProfileMetric {
4
- subscriptionProfileId: number;
5
- kind: SubscriptionProfileKind;
6
- key: string;
7
- name: string;
8
- used: number;
9
- /** Slot efektif profil ini (= slot beku dari plan). */
10
- slot: number;
11
- /** Nilai beku profil scanner, dipakai FE untuk menampilkan & mengisi form. */
12
- delayMilis?: number | null;
13
- allowedMarketPlaces?: string[] | null;
14
- }
15
- /** Satu kelompok metrik: total pemakaian + rincian per profil. */
16
- export interface UsageMetric {
17
- used: number;
18
- limit: number;
19
- profiles: UsageProfileMetric[];
20
- }
21
- /** Respons `GET /plans/usage`: langganan aktif + pemakaian berjalan. */
22
- export interface SubscriptionUsageSummary {
23
- productKey: string;
24
- productName: string;
25
- status: SubscriptionStatus;
26
- currentPeriodStart: string;
27
- currentPeriodEnd: string;
28
- remainingDays: number;
29
- searches: UsageMetric;
30
- channels: UsageMetric;
31
- bannedSellers?: UsageMetric;
32
- }
33
- //# sourceMappingURL=usage.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage.types.d.ts","sourceRoot":"","sources":["../../src/types/usage.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACvC;AAED,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED,wEAAwE;AACxE,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,aAAa,CAAC,EAAE,WAAW,CAAC;CAC7B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=usage.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage.types.js","sourceRoot":"","sources":["../../src/types/usage.types.ts"],"names":[],"mappings":""}
@@ -1,28 +0,0 @@
1
- export interface ChannelEntity {
2
- type: string;
3
- }
4
- export interface TelegramChannelEntity extends ChannelEntity {
5
- chatId: string;
6
- disableNotification: boolean;
7
- }
8
- /** Representasi tabel `UserChannel`. */
9
- export type UserChannelEntity = {
10
- id: number;
11
- userId: number;
12
- name: string;
13
- other: Record<string, unknown> | null;
14
- /**
15
- * Profil channel langganan yang membayar channel ini
16
- * (tabel `SubscriptionChannelProfile`); null = channel lama, tidak dipakai.
17
- */
18
- subscriptionProfileId?: number | null;
19
- subscriptionId?: number | null;
20
- subscriptionName?: string | null;
21
- isSubscriptionActive?: boolean;
22
- deleted: boolean;
23
- createdAt: string;
24
- createdBy: string | null;
25
- updatedAt: string;
26
- updatedBy: string | null;
27
- };
28
- //# sourceMappingURL=user-channel.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-channel.types.d.ts","sourceRoot":"","sources":["../../src/types/user-channel.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,wCAAwC;AACxC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtC;;;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,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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user-channel.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-channel.types.js","sourceRoot":"","sources":["../../src/types/user-channel.types.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- import type { ItemEntity } from './item.types';
2
- /** ProseMirror/Tiptap JSON document (output of `editor.getJSON()`). */
3
- export type RichNoteJSONB = Record<string, unknown>;
4
- /** Representasi tabel `UserItem` (item + state milik user). */
5
- export type UserItemEntity = ItemEntity & {
6
- readedAt: string | null;
7
- favoritedAt: string | null;
8
- richNote: RichNoteJSONB | null;
9
- /**
10
- * Item ini yang jadi alasan user mem-ban penjualnya (kolom
11
- * `isBannedSellerReason`). Diisi endpoint ban/unban, bukan oleh scraper.
12
- */
13
- isBannedSellerReason?: boolean;
14
- };
15
- //# sourceMappingURL=user-item.types.d.ts.map
@@ -1 +0,0 @@
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"}