@thinkerchain/flipper-entities 2.6.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 -23
  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 -37
  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 -45
  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 -37
  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 -36
  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 -37
  96. package/dist/utilities/seller-snapshot.d.ts.map +0 -1
  97. package/dist/utilities/seller-snapshot.js +0 -90
  98. package/dist/utilities/seller-snapshot.js.map +0 -1
  99. package/dist/utilities/seller-summary.d.ts +0 -11
  100. package/dist/utilities/seller-summary.d.ts.map +0 -1
  101. package/dist/utilities/seller-summary.js +0 -62
  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,45 +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
- import type { SellerSummaryJSONB } from './seller-summary.types';
5
- /**
6
- * Item hasil scrape yang belum tentu ada di DB (`id` null sampai core simpan).
7
- * Satu-satunya bentuk item yang lalu-lalang di RMQ/IPC.
8
- *
9
- * `status`/`isValid`/`filters` diisi core: `status` oleh checkExist,
10
- * `isValid` + `filters` oleh checkItems.
11
- */
12
- export type ScrapedItem = {
13
- id?: number | null;
14
- searchId: number;
15
- userId: number;
16
- marketPlaceId: string;
17
- marketPlaceName?: string | null;
18
- sellerId?: string | null;
19
- sellerName?: string | null;
20
- sellerSnapshot?: SellerSnapshotJSONB | null;
21
- /** Ringkasan seller (avatar, rating, verified) — turunan `sellerSnapshot`. */
22
- sellerOther?: SellerSummaryJSONB | null;
23
- type?: string | null;
24
- name?: string | null;
25
- image?: string | null;
26
- link?: string | null;
27
- price?: number | null;
28
- formattedAmount?: string | null;
29
- location?: string | null;
30
- year?: number | null;
31
- description?: string | null;
32
- other?: Record<string, unknown> | null;
33
- status?: ItemCheckStatus;
34
- isValid?: boolean;
35
- filters?: InvalidFilterReason[];
36
- };
37
- /**
38
- * Envelope tunggal semua koneksi RMQ: search pemilik + item-itemnya.
39
- * `engine.search` mengisi `searches` tanpa `items`; balikannya membawa `items`.
40
- * Untuk AI, `items` selalu berisi tepat 1 item.
41
- */
42
- export type SearchWithItems = SearchWithUser & {
43
- items: ScrapedItem[];
44
- };
45
- //# 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;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE;;;;;;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,8EAA8E;IAC9E,WAAW,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACxC,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,37 +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
- /** Objek `marketplace_listing_seller` dari PDP Facebook, disimpan apa adanya. */
12
- export type FacebookSellerV1 = {
13
- id?: string | number | null;
14
- user_id?: string | number | null;
15
- name?: string | null;
16
- marketplace_user_profile?: {
17
- id?: string | number | null;
18
- c2c_orders_shipped?: number | null;
19
- [key: string]: unknown;
20
- } | null;
21
- profile_picture?: {
22
- uri?: string | null;
23
- [key: string]: unknown;
24
- } | null;
25
- [key: string]: unknown;
26
- };
27
- export type SellerSnapshotV1 = {
28
- source: string;
29
- version: 1;
30
- data: FacebookSellerV1;
31
- };
32
- /**
33
- * Snapshot seller (kolom jsonb `sellerSnapshot` di `Item`/`UserItem`/`BannedSeller`).
34
- * `version` adalah discriminator: pembaca wajib lewat `parseSellerSnapshot`.
35
- */
36
- export type SellerSnapshotJSONB = SellerSnapshotV1;
37
- //# 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,iFAAiF;AACjF,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,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,eAAe,CAAC,EAAE;QAChB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,IAAI,CAAC;IACT,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;;;GAGG;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,36 +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 untuk kolom jsonb `sellerOther` (Item, UserItem,
12
- * BannedSeller). Bentuknya netral marketplace supaya UI tidak perlu tahu
13
- * struktur mentah tiap marketplace; data mentah tetap disimpan utuh di
14
- * kolom `sellerSnapshot`.
15
- *
16
- * Index signature sengaja ada: penambahan field baru tidak memaksa perubahan
17
- * bentuk, selama field lama tidak diubah artinya.
18
- */
19
- export type SellerSummary = {
20
- /** URL foto profil; URL marketplace bisa kedaluwarsa → display-only. */
21
- avatar: string | null;
22
- name: string | null;
23
- /** `marketplace_user_profile.id` dari marketplace. */
24
- profileId: string | null;
25
- /** Waktu akun seller dibuat, ISO 8601. */
26
- joinedAt: string | null;
27
- rating: SellerRating | null;
28
- /** Badge verified/blue dari marketplace. */
29
- verified: boolean;
30
- /** Jumlah order yang sudah dikirim (kalau marketplace menyediakan). */
31
- ordersShipped: number | null;
32
- [key: string]: unknown;
33
- };
34
- /** Bentuk jsonb yang disimpan; alias supaya nama kolom DB kebaca di tipe. */
35
- export type SellerSummaryJSONB = SellerSummary;
36
- //# 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;;;;;;;;GAQG;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,6EAA6E;AAC7E,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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user-item.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-item.types.js","sourceRoot":"","sources":["../../src/types/user-item.types.ts"],"names":[],"mappings":""}