@thinkerchain/flipper-entities 2.5.1 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/banned-seller.types.d.ts +5 -2
- package/dist/types/banned-seller.types.d.ts.map +1 -1
- package/dist/types/item.types.d.ts +5 -2
- package/dist/types/item.types.d.ts.map +1 -1
- package/dist/types/scrape.types.d.ts +1 -4
- package/dist/types/scrape.types.d.ts.map +1 -1
- package/dist/types/seller-snapshot.types.d.ts +20 -4
- package/dist/types/seller-snapshot.types.d.ts.map +1 -1
- package/dist/types/seller-summary.types.d.ts +4 -5
- package/dist/types/seller-summary.types.d.ts.map +1 -1
- package/dist/utilities/seller-snapshot.d.ts +9 -2
- package/dist/utilities/seller-snapshot.d.ts.map +1 -1
- package/dist/utilities/seller-snapshot.js +40 -4
- package/dist/utilities/seller-snapshot.js.map +1 -1
- package/dist/utilities/seller-summary.d.ts +17 -6
- package/dist/utilities/seller-summary.d.ts.map +1 -1
- package/dist/utilities/seller-summary.js +32 -9
- package/dist/utilities/seller-summary.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,10 +5,13 @@ export type BannedSellerEntity = {
|
|
|
5
5
|
id: number;
|
|
6
6
|
userId: number;
|
|
7
7
|
marketplace: string;
|
|
8
|
-
|
|
8
|
+
sellerId: string;
|
|
9
9
|
sellerName: string | null;
|
|
10
10
|
sellerSnapshot?: SellerSnapshotJSONB | null;
|
|
11
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Ringkasan seller (avatar, rating, verified) — TURUNAN `sellerSnapshot`
|
|
13
|
+
* saat baca, bukan kolom DB.
|
|
14
|
+
*/
|
|
12
15
|
sellerOther?: SellerSummaryJSONB | null;
|
|
13
16
|
subscriptionId?: number | null;
|
|
14
17
|
subscriptionProfileId?: number | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banned-seller.types.d.ts","sourceRoot":"","sources":["../../src/types/banned-seller.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,yCAAyC;AACzC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"banned-seller.types.d.ts","sourceRoot":"","sources":["../../src/types/banned-seller.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,yCAAyC;AACzC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC5C;;;OAGG;IACH,WAAW,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,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"}
|
|
@@ -8,10 +8,13 @@ export type ItemEntity = {
|
|
|
8
8
|
userId: number;
|
|
9
9
|
marketPlaceId: string | null;
|
|
10
10
|
marketPlaceName: string | null;
|
|
11
|
-
|
|
11
|
+
sellerId: string | null;
|
|
12
12
|
sellerName: string | null;
|
|
13
13
|
sellerSnapshot?: SellerSnapshotJSONB | null;
|
|
14
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Ringkasan seller (avatar, rating, verified) — TURUNAN `sellerSnapshot`
|
|
16
|
+
* saat baca, bukan kolom DB.
|
|
17
|
+
*/
|
|
15
18
|
sellerOther?: SellerSummaryJSONB | null;
|
|
16
19
|
type: string | null;
|
|
17
20
|
name: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.types.d.ts","sourceRoot":"","sources":["../../src/types/item.types.ts"],"names":[],"mappings":"AAAA,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,iCAAiC;AACjC,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,
|
|
1
|
+
{"version":3,"file":"item.types.d.ts","sourceRoot":"","sources":["../../src/types/item.types.ts"],"names":[],"mappings":"AAAA,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,iCAAiC;AACjC,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC5C;;;OAGG;IACH,WAAW,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACxC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IACxC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;CAC/B,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { InvalidFilterReason, ItemCheckStatus } from './item-check.types';
|
|
2
2
|
import type { SearchWithUser } from './search.types';
|
|
3
3
|
import type { SellerSnapshotJSONB } from './seller-snapshot.types';
|
|
4
|
-
import type { SellerSummaryJSONB } from './seller-summary.types';
|
|
5
4
|
/**
|
|
6
5
|
* Item hasil scrape yang belum tentu ada di DB (`id` null sampai core simpan).
|
|
7
6
|
* Satu-satunya bentuk item yang lalu-lalang di RMQ/IPC.
|
|
@@ -15,11 +14,9 @@ export type ScrapedItem = {
|
|
|
15
14
|
userId: number;
|
|
16
15
|
marketPlaceId: string;
|
|
17
16
|
marketPlaceName?: string | null;
|
|
18
|
-
|
|
17
|
+
sellerId?: string | null;
|
|
19
18
|
sellerName?: string | null;
|
|
20
19
|
sellerSnapshot?: SellerSnapshotJSONB | null;
|
|
21
|
-
/** Ringkasan seller (avatar, rating, verified) — turunan `sellerSnapshot`. */
|
|
22
|
-
sellerOther?: SellerSummaryJSONB | null;
|
|
23
20
|
type?: string | null;
|
|
24
21
|
name?: string | null;
|
|
25
22
|
image?: string | null;
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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"}
|
|
@@ -8,20 +8,34 @@ export type SellerIdentity = {
|
|
|
8
8
|
property: SellerIdentityProperty;
|
|
9
9
|
value: string;
|
|
10
10
|
};
|
|
11
|
-
/**
|
|
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
|
+
*/
|
|
12
18
|
export type FacebookSellerV1 = {
|
|
13
19
|
id?: string | number | null;
|
|
14
20
|
user_id?: string | number | null;
|
|
15
21
|
name?: string | null;
|
|
22
|
+
join_time?: number | string | null;
|
|
23
|
+
profile_picture?: {
|
|
24
|
+
uri?: string | null;
|
|
25
|
+
[key: string]: unknown;
|
|
26
|
+
} | null;
|
|
16
27
|
marketplace_user_profile?: {
|
|
17
28
|
id?: string | number | null;
|
|
18
29
|
c2c_orders_shipped?: number | null;
|
|
19
30
|
[key: string]: unknown;
|
|
20
31
|
} | null;
|
|
21
|
-
|
|
22
|
-
|
|
32
|
+
rating?: {
|
|
33
|
+
average?: number | null;
|
|
34
|
+
count?: number | null;
|
|
35
|
+
private?: boolean;
|
|
23
36
|
[key: string]: unknown;
|
|
24
37
|
} | null;
|
|
38
|
+
verified?: boolean | null;
|
|
25
39
|
[key: string]: unknown;
|
|
26
40
|
};
|
|
27
41
|
export type SellerSnapshotV1 = {
|
|
@@ -30,7 +44,9 @@ export type SellerSnapshotV1 = {
|
|
|
30
44
|
data: FacebookSellerV1;
|
|
31
45
|
};
|
|
32
46
|
/**
|
|
33
|
-
* Snapshot seller (kolom jsonb
|
|
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.
|
|
34
50
|
* `version` adalah discriminator: pembaca wajib lewat `parseSellerSnapshot`.
|
|
35
51
|
*/
|
|
36
52
|
export type SellerSnapshotJSONB = SellerSnapshotV1;
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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"}
|
|
@@ -8,10 +8,9 @@ export type SellerRating = {
|
|
|
8
8
|
private: boolean;
|
|
9
9
|
};
|
|
10
10
|
/**
|
|
11
|
-
* Ringkasan seller
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* kolom `sellerSnapshot`.
|
|
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.
|
|
15
14
|
*
|
|
16
15
|
* Index signature sengaja ada: penambahan field baru tidak memaksa perubahan
|
|
17
16
|
* bentuk, selama field lama tidak diubah artinya.
|
|
@@ -31,6 +30,6 @@ export type SellerSummary = {
|
|
|
31
30
|
ordersShipped: number | null;
|
|
32
31
|
[key: string]: unknown;
|
|
33
32
|
};
|
|
34
|
-
/**
|
|
33
|
+
/** Nama lama tipe ini; dipertahankan supaya pemanggil lama tetap kompilasi. */
|
|
35
34
|
export type SellerSummaryJSONB = SellerSummary;
|
|
36
35
|
//# sourceMappingURL=seller-summary.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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,7 +1,11 @@
|
|
|
1
1
|
import type { SellerIdentity, SellerSnapshotJSONB } from '../types/seller-snapshot.types';
|
|
2
2
|
export declare const SELLER_SNAPSHOT_VERSION = 1;
|
|
3
3
|
/**
|
|
4
|
-
* Bungkus objek seller mentah jadi snapshot berversi
|
|
4
|
+
* Bungkus objek seller mentah jadi snapshot berversi dengan HANYA property
|
|
5
|
+
* penting (bentuk ternormalisasi, sama untuk semua marketplace): identitas
|
|
6
|
+
* matching ban (`id`, `user_id`, `marketplace_user_profile.id`), nama, avatar,
|
|
7
|
+
* join, rating, verified, orders. Varian gambar, `__typename`, dan nesting
|
|
8
|
+
* mentah rating dibuang.
|
|
5
9
|
* Null kalau marketplace tidak mengirim objek (kadang null/string).
|
|
6
10
|
* ponytail: versi ini menulis v1; tambahkan cabang kalau v2 muncul.
|
|
7
11
|
*/
|
|
@@ -21,7 +25,10 @@ export declare function toSellerIdentities(snapshot: SellerSnapshotJSONB | null
|
|
|
21
25
|
* Mekanisme matching ban. Dipilih MURNI dari ada/tidaknya kolom
|
|
22
26
|
* `sellerSnapshot` pada BARIS BAN — bukan dari isi item:
|
|
23
27
|
* - `snapshot`: ban punya snapshot → cocokkan nilai identitas snapshot.
|
|
24
|
-
* - `legacy`: ban lama tanpa snapshot → cocokkan kolom `
|
|
28
|
+
* - `legacy`: ban lama tanpa snapshot → cocokkan kolom `sellerId` BAN
|
|
29
|
+
* (nilai pfbid lama) dengan `id`/`user_id` snapshot ITEM (nilai pfbid
|
|
30
|
+
* yang sama), bukan dengan kolom `sellerId` item (kini berisi
|
|
31
|
+
* `marketplace_user_profile.id`, ruang id berbeda).
|
|
25
32
|
* Prefix key menjaga dua mekanisme itu tidak pernah saling cocok.
|
|
26
33
|
*/
|
|
27
34
|
export type SellerMatchMechanism = 'snapshot' | 'legacy';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seller-snapshot.d.ts","sourceRoot":"","sources":["../../src/utilities/seller-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"seller-snapshot.d.ts","sourceRoot":"","sources":["../../src/utilities/seller-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AAIxC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAkBzC;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,mBAAmB,GAAG,IAAI,CAwB5B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,GACb,mBAAmB,GAAG,IAAI,CAc5B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAC/C,cAAc,EAAE,CAuBlB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAOzD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,oBAAoB,GAC9B,MAAM,CAER"}
|
|
@@ -6,20 +6,56 @@ exports.parseSellerSnapshot = parseSellerSnapshot;
|
|
|
6
6
|
exports.toSellerIdentities = toSellerIdentities;
|
|
7
7
|
exports.toSellerMatchKey = toSellerMatchKey;
|
|
8
8
|
const scalar_1 = require("./scalar");
|
|
9
|
+
const seller_summary_1 = require("./seller-summary");
|
|
9
10
|
exports.SELLER_SNAPSHOT_VERSION = 1;
|
|
11
|
+
/** Key gambar seller, prioritas pertama yang berisi URI. */
|
|
12
|
+
const PICTURE_KEYS = [
|
|
13
|
+
'profile_picture',
|
|
14
|
+
'profile_picture_160',
|
|
15
|
+
'commerce_profile_picture_with_fallback_160',
|
|
16
|
+
];
|
|
17
|
+
function pickPicture(seller) {
|
|
18
|
+
for (const key of PICTURE_KEYS) {
|
|
19
|
+
const picture = seller[key];
|
|
20
|
+
const uri = (0, scalar_1.isRecord)(picture) ? (0, scalar_1.toStringValue)(picture.uri) : null;
|
|
21
|
+
if (uri)
|
|
22
|
+
return { uri };
|
|
23
|
+
}
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
10
26
|
/**
|
|
11
|
-
* Bungkus objek seller mentah jadi snapshot berversi
|
|
27
|
+
* Bungkus objek seller mentah jadi snapshot berversi dengan HANYA property
|
|
28
|
+
* penting (bentuk ternormalisasi, sama untuk semua marketplace): identitas
|
|
29
|
+
* matching ban (`id`, `user_id`, `marketplace_user_profile.id`), nama, avatar,
|
|
30
|
+
* join, rating, verified, orders. Varian gambar, `__typename`, dan nesting
|
|
31
|
+
* mentah rating dibuang.
|
|
12
32
|
* Null kalau marketplace tidak mengirim objek (kadang null/string).
|
|
13
33
|
* ponytail: versi ini menulis v1; tambahkan cabang kalau v2 muncul.
|
|
14
34
|
*/
|
|
15
35
|
function createSellerSnapshot(source, seller) {
|
|
16
|
-
if (!
|
|
36
|
+
if (!(0, scalar_1.isRecord)(seller))
|
|
17
37
|
return null;
|
|
18
|
-
|
|
38
|
+
const profile = (0, scalar_1.isRecord)(seller.marketplace_user_profile)
|
|
39
|
+
? seller.marketplace_user_profile
|
|
40
|
+
: null;
|
|
19
41
|
return {
|
|
20
42
|
source,
|
|
21
43
|
version: exports.SELLER_SNAPSHOT_VERSION,
|
|
22
|
-
data:
|
|
44
|
+
data: {
|
|
45
|
+
id: (0, scalar_1.toStringValue)(seller.id),
|
|
46
|
+
user_id: (0, scalar_1.toStringValue)(seller.user_id),
|
|
47
|
+
name: (0, scalar_1.toStringValue)(seller.name),
|
|
48
|
+
join_time: (0, scalar_1.toNumberValue)(seller.join_time),
|
|
49
|
+
marketplace_user_profile: profile
|
|
50
|
+
? {
|
|
51
|
+
id: (0, scalar_1.toStringValue)(profile.id),
|
|
52
|
+
c2c_orders_shipped: (0, scalar_1.toNumberValue)(profile.c2c_orders_shipped),
|
|
53
|
+
}
|
|
54
|
+
: null,
|
|
55
|
+
profile_picture: pickPicture(seller),
|
|
56
|
+
rating: (0, seller_summary_1.readSellerRating)(seller),
|
|
57
|
+
verified: (0, seller_summary_1.readSellerVerified)(seller),
|
|
58
|
+
},
|
|
23
59
|
};
|
|
24
60
|
}
|
|
25
61
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seller-snapshot.js","sourceRoot":"","sources":["../../src/utilities/seller-snapshot.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"seller-snapshot.js","sourceRoot":"","sources":["../../src/utilities/seller-snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
import type { SellerSnapshotJSONB } from '../types/seller-snapshot.types';
|
|
2
|
-
import type { SellerSummaryJSONB } from '../types/seller-summary.types';
|
|
2
|
+
import type { SellerRating, SellerSummaryJSONB } from '../types/seller-summary.types';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
* Rating seller dari dua bentuk: ternormalisasi (`rating`, tulisan
|
|
5
|
+
* `createSellerSnapshot`) atau nesting mentah marketplace (baris lama).
|
|
6
|
+
* Null kalau marketplace tidak punya angka apa pun.
|
|
7
|
+
*/
|
|
8
|
+
export declare function readSellerRating(source: Record<string, unknown>): SellerRating | null;
|
|
9
|
+
/**
|
|
10
|
+
* Badge verified dari bentuk ternormalisasi (`verified`) atau badge mentah
|
|
11
|
+
* (baris lama).
|
|
12
|
+
*/
|
|
13
|
+
export declare function readSellerVerified(source: Record<string, unknown>): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Ringkasan seller (avatar, nama, profileId, rating, verified, orders) dari
|
|
16
|
+
* snapshot. TIDAK disimpan sebagai kolom: dipakai be saat menyusun response
|
|
17
|
+
* dan fe saat render. Null kalau tidak ada snapshot — baris legacy tidak punya
|
|
18
|
+
* ringkasan. Field yang hilang → null, bukan dihilangkan, supaya bentuk
|
|
19
|
+
* barisnya stabil antar marketplace.
|
|
9
20
|
*/
|
|
10
21
|
export declare function toSellerSummary(snapshot: SellerSnapshotJSONB | null | undefined): SellerSummaryJSONB | null;
|
|
11
22
|
//# sourceMappingURL=seller-summary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seller-summary.d.ts","sourceRoot":"","sources":["../../src/utilities/seller-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"seller-summary.d.ts","sourceRoot":"","sources":["../../src/utilities/seller-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAuBvC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,YAAY,GAAG,IAAI,CA2BrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAM3E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAC/C,kBAAkB,GAAG,IAAI,CAgB3B"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readSellerRating = readSellerRating;
|
|
4
|
+
exports.readSellerVerified = readSellerVerified;
|
|
3
5
|
exports.toSellerSummary = toSellerSummary;
|
|
4
6
|
const scalar_1 = require("./scalar");
|
|
5
7
|
function pickAvatarUri(source) {
|
|
@@ -17,7 +19,20 @@ function pickAvatarUri(source) {
|
|
|
17
19
|
}
|
|
18
20
|
return null;
|
|
19
21
|
}
|
|
20
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Rating seller dari dua bentuk: ternormalisasi (`rating`, tulisan
|
|
24
|
+
* `createSellerSnapshot`) atau nesting mentah marketplace (baris lama).
|
|
25
|
+
* Null kalau marketplace tidak punya angka apa pun.
|
|
26
|
+
*/
|
|
27
|
+
function readSellerRating(source) {
|
|
28
|
+
if ((0, scalar_1.isRecord)(source.rating)) {
|
|
29
|
+
const average = (0, scalar_1.toNumberValue)(source.rating.average);
|
|
30
|
+
const count = (0, scalar_1.toNumberValue)(source.rating.count);
|
|
31
|
+
const isPrivate = source.rating.private === true;
|
|
32
|
+
if (average === null && count === null && !isPrivate)
|
|
33
|
+
return null;
|
|
34
|
+
return { average, count, private: isPrivate };
|
|
35
|
+
}
|
|
21
36
|
const stats = (0, scalar_1.isRecord)(source.marketplace_ratings_stats_by_role_v2)
|
|
22
37
|
? source.marketplace_ratings_stats_by_role_v2
|
|
23
38
|
: null;
|
|
@@ -35,11 +50,20 @@ function pickRating(source) {
|
|
|
35
50
|
return { average, count, private: isPrivate };
|
|
36
51
|
}
|
|
37
52
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
53
|
+
* Badge verified dari bentuk ternormalisasi (`verified`) atau badge mentah
|
|
54
|
+
* (baris lama).
|
|
55
|
+
*/
|
|
56
|
+
function readSellerVerified(source) {
|
|
57
|
+
return (source.verified === true ||
|
|
58
|
+
source.marketplace_should_display_verified_badge === true ||
|
|
59
|
+
source.should_display_true_blue_badge_mp === true);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Ringkasan seller (avatar, nama, profileId, rating, verified, orders) dari
|
|
63
|
+
* snapshot. TIDAK disimpan sebagai kolom: dipakai be saat menyusun response
|
|
64
|
+
* dan fe saat render. Null kalau tidak ada snapshot — baris legacy tidak punya
|
|
65
|
+
* ringkasan. Field yang hilang → null, bukan dihilangkan, supaya bentuk
|
|
66
|
+
* barisnya stabil antar marketplace.
|
|
43
67
|
*/
|
|
44
68
|
function toSellerSummary(snapshot) {
|
|
45
69
|
if (!snapshot || !(0, scalar_1.isRecord)(snapshot.data))
|
|
@@ -53,9 +77,8 @@ function toSellerSummary(snapshot) {
|
|
|
53
77
|
name: (0, scalar_1.toStringValue)(data.name),
|
|
54
78
|
profileId: profile ? (0, scalar_1.toStringValue)(profile.id) : null,
|
|
55
79
|
joinedAt: (0, scalar_1.toIsoString)(data.join_time),
|
|
56
|
-
rating:
|
|
57
|
-
verified: data
|
|
58
|
-
data.should_display_true_blue_badge_mp === true,
|
|
80
|
+
rating: readSellerRating(data),
|
|
81
|
+
verified: readSellerVerified(data),
|
|
59
82
|
ordersShipped: profile ? (0, scalar_1.toNumberValue)(profile.c2c_orders_shipped) : null,
|
|
60
83
|
};
|
|
61
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seller-summary.js","sourceRoot":"","sources":["../../src/utilities/seller-summary.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"seller-summary.js","sourceRoot":"","sources":["../../src/utilities/seller-summary.ts"],"names":[],"mappings":"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"}
|