@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.
- package/package.json +39 -39
- package/utilities/package.json +5 -5
- package/dist/enums/marketplace.d.ts +0 -16
- package/dist/enums/marketplace.d.ts.map +0 -1
- package/dist/enums/marketplace.js +0 -23
- package/dist/enums/marketplace.js.map +0 -1
- package/dist/index.d.ts +0 -29
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -24
- package/dist/index.js.map +0 -1
- package/dist/types/banned-seller.types.d.ts +0 -26
- package/dist/types/banned-seller.types.d.ts.map +0 -1
- package/dist/types/banned-seller.types.js +0 -3
- package/dist/types/banned-seller.types.js.map +0 -1
- package/dist/types/billing-options.types.d.ts +0 -14
- package/dist/types/billing-options.types.d.ts.map +0 -1
- package/dist/types/billing-options.types.js +0 -3
- package/dist/types/billing-options.types.js.map +0 -1
- package/dist/types/core-options.types.d.ts +0 -98
- package/dist/types/core-options.types.d.ts.map +0 -1
- package/dist/types/core-options.types.js +0 -3
- package/dist/types/core-options.types.js.map +0 -1
- package/dist/types/engine.types.d.ts +0 -68
- package/dist/types/engine.types.d.ts.map +0 -1
- package/dist/types/engine.types.js +0 -3
- package/dist/types/engine.types.js.map +0 -1
- package/dist/types/item-check.types.d.ts +0 -15
- package/dist/types/item-check.types.d.ts.map +0 -1
- package/dist/types/item-check.types.js +0 -3
- package/dist/types/item-check.types.js.map +0 -1
- package/dist/types/item-filter.types.d.ts +0 -30
- package/dist/types/item-filter.types.d.ts.map +0 -1
- package/dist/types/item-filter.types.js +0 -3
- package/dist/types/item-filter.types.js.map +0 -1
- package/dist/types/item.types.d.ts +0 -40
- package/dist/types/item.types.d.ts.map +0 -1
- package/dist/types/item.types.js +0 -3
- package/dist/types/item.types.js.map +0 -1
- package/dist/types/option.types.d.ts +0 -13
- package/dist/types/option.types.d.ts.map +0 -1
- package/dist/types/option.types.js +0 -3
- package/dist/types/option.types.js.map +0 -1
- package/dist/types/product.types.d.ts +0 -81
- package/dist/types/product.types.d.ts.map +0 -1
- package/dist/types/product.types.js +0 -3
- package/dist/types/product.types.js.map +0 -1
- package/dist/types/scrape.types.d.ts +0 -42
- package/dist/types/scrape.types.d.ts.map +0 -1
- package/dist/types/scrape.types.js +0 -3
- package/dist/types/scrape.types.js.map +0 -1
- package/dist/types/search-jsonb.types.d.ts +0 -96
- package/dist/types/search-jsonb.types.d.ts.map +0 -1
- package/dist/types/search-jsonb.types.js +0 -3
- package/dist/types/search-jsonb.types.js.map +0 -1
- package/dist/types/search.types.d.ts +0 -32
- package/dist/types/search.types.d.ts.map +0 -1
- package/dist/types/search.types.js +0 -3
- package/dist/types/search.types.js.map +0 -1
- package/dist/types/seller-snapshot.types.d.ts +0 -53
- package/dist/types/seller-snapshot.types.d.ts.map +0 -1
- package/dist/types/seller-snapshot.types.js +0 -3
- package/dist/types/seller-snapshot.types.js.map +0 -1
- package/dist/types/seller-summary.types.d.ts +0 -35
- package/dist/types/seller-summary.types.d.ts.map +0 -1
- package/dist/types/seller-summary.types.js +0 -3
- package/dist/types/seller-summary.types.js.map +0 -1
- package/dist/types/subscription.types.d.ts +0 -96
- package/dist/types/subscription.types.d.ts.map +0 -1
- package/dist/types/subscription.types.js +0 -3
- package/dist/types/subscription.types.js.map +0 -1
- package/dist/types/usage.types.d.ts +0 -33
- package/dist/types/usage.types.d.ts.map +0 -1
- package/dist/types/usage.types.js +0 -3
- package/dist/types/usage.types.js.map +0 -1
- package/dist/types/user-channel.types.d.ts +0 -28
- package/dist/types/user-channel.types.d.ts.map +0 -1
- package/dist/types/user-channel.types.js +0 -3
- package/dist/types/user-channel.types.js.map +0 -1
- package/dist/types/user-item.types.d.ts +0 -15
- package/dist/types/user-item.types.d.ts.map +0 -1
- package/dist/types/user-item.types.js +0 -3
- package/dist/types/user-item.types.js.map +0 -1
- package/dist/types/user.types.d.ts +0 -25
- package/dist/types/user.types.d.ts.map +0 -1
- package/dist/types/user.types.js +0 -3
- package/dist/types/user.types.js.map +0 -1
- package/dist/utilities/index.d.ts +0 -9
- package/dist/utilities/index.d.ts.map +0 -1
- package/dist/utilities/index.js +0 -21
- package/dist/utilities/index.js.map +0 -1
- package/dist/utilities/scalar.d.ts +0 -12
- package/dist/utilities/scalar.d.ts.map +0 -1
- package/dist/utilities/scalar.js +0 -45
- package/dist/utilities/scalar.js.map +0 -1
- package/dist/utilities/seller-snapshot.d.ts +0 -41
- package/dist/utilities/seller-snapshot.d.ts.map +0 -1
- package/dist/utilities/seller-snapshot.js +0 -126
- package/dist/utilities/seller-snapshot.js.map +0 -1
- package/dist/utilities/seller-summary.d.ts +0 -22
- package/dist/utilities/seller-summary.d.ts.map +0 -1
- package/dist/utilities/seller-summary.js +0 -85
- 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 +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 +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 +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 +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 +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 +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 +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 +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 +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"}
|