@thinkerchain/flipper-entities 2.6.0 → 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.
@@ -8,7 +8,10 @@ export type BannedSellerEntity = {
8
8
  sellerId: string;
9
9
  sellerName: string | null;
10
10
  sellerSnapshot?: SellerSnapshotJSONB | null;
11
- /** Ringkasan seller (avatar, rating, verified) — turunan `sellerSnapshot`. */
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,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC5C,8EAA8E;IAC9E,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"}
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"}
@@ -11,7 +11,10 @@ export type ItemEntity = {
11
11
  sellerId: string | null;
12
12
  sellerName: string | null;
13
13
  sellerSnapshot?: SellerSnapshotJSONB | null;
14
- /** Ringkasan seller (avatar, rating, verified) — turunan `sellerSnapshot`. */
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,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC5C,8EAA8E;IAC9E,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
+ {"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.
@@ -18,8 +17,6 @@ export type ScrapedItem = {
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;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
+ {"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
- /** Objek `marketplace_listing_seller` dari PDP Facebook, disimpan apa adanya. */
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
- profile_picture?: {
22
- uri?: string | null;
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 `sellerSnapshot` di `Item`/`UserItem`/`BannedSeller`).
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,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
+ {"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 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`.
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
- /** Bentuk jsonb yang disimpan; alias supaya nama kolom DB kebaca di tipe. */
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;;;;;;;;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
+ {"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
  */
@@ -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;AAGxC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,mBAAmB,GAAG,IAAI,CAS5B;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"}
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 (!seller || typeof seller !== 'object' || Array.isArray(seller)) {
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: seller,
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":"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"}
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
- * Ringkasan seller (kolom jsonb `sellerOther`) dari snapshot mentah.
5
- * Null kalau tidak ada snapshot — baris legacy tidak punya ringkasan.
6
- * Satu-satunya tempat derivasi `sellerOther`; dipakai core (Item/UserItem)
7
- * dan be (BannedSeller). Field yang hilang → null, bukan dihilangkan, supaya
8
- * bentuk barisnya stabil antar marketplace.
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,EAEV,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AA6CvC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAC/C,kBAAkB,GAAG,IAAI,CAkB3B"}
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
- function pickRating(source) {
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
- * Ringkasan seller (kolom jsonb `sellerOther`) dari snapshot mentah.
39
- * Null kalau tidak ada snapshot — baris legacy tidak punya ringkasan.
40
- * Satu-satunya tempat derivasi `sellerOther`; dipakai core (Item/UserItem)
41
- * dan be (BannedSeller). Field yang hilang → null, bukan dihilangkan, supaya
42
- * bentuk barisnya stabil antar marketplace.
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: pickRating(data),
57
- verified: data.marketplace_should_display_verified_badge === true ||
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":"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"}
1
+ {"version":3,"file":"seller-summary.js","sourceRoot":"","sources":["../../src/utilities/seller-summary.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkerchain/flipper-entities",
3
- "version": "2.6.0",
3
+ "version": "2.7.0",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",