@thinkerchain/flipper-entities 2.2.1 → 2.3.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/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/types/product.types.d.ts +10 -13
- package/dist/types/product.types.d.ts.map +1 -1
- package/dist/types/search.types.d.ts +4 -3
- package/dist/types/search.types.d.ts.map +1 -1
- package/dist/types/subscription.types.d.ts +23 -29
- package/dist/types/subscription.types.d.ts.map +1 -1
- package/dist/types/usage.types.d.ts +3 -8
- package/dist/types/usage.types.d.ts.map +1 -1
- package/dist/types/user-channel.types.d.ts +4 -3
- package/dist/types/user-channel.types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -10,8 +10,8 @@ export type { EngineSearchRequest, EngineEnv, EngineChildInput, EngineScrapeInpu
|
|
|
10
10
|
export type { ChannelEntity, TelegramChannelEntity, UserChannelEntity, } from './types/user-channel.types';
|
|
11
11
|
export type { CoreEntity, DefaultValueEntity, StringMatchAlgorithm, StringMatcherType, DefaultItemFilterEntity, MarketPlacePropEntity, FacebookMarketPlacePropEntity, EngineEntity, EngineOptions, OrchestratorOptions, ProxyOptions, } from './types/core-options.types';
|
|
12
12
|
export type { OptionEntity } from './types/option.types';
|
|
13
|
-
export type { ProductKind,
|
|
14
|
-
export type { SubscriptionStatus, SubscriptionSource, SubscriptionProfileKind,
|
|
13
|
+
export type { ProductKind, ProductFeature, ProductSearchProfileEntity, ProductChannelProfileEntity, ProductEntity, } from './types/product.types';
|
|
14
|
+
export type { SubscriptionStatus, SubscriptionSource, SubscriptionProfileKind, SubscriptionSearchProfileEntity, SubscriptionChannelProfileEntity, SubscriptionProfileSnapshot, SubscriptionSnapshot, SubscriptionEntity, SubscriptionWithProduct, } from './types/subscription.types';
|
|
15
15
|
export type { BillingValueJSONB } from './types/billing-options.types';
|
|
16
16
|
export type { UsageProfileMetric, UsageMetric, SubscriptionUsageSummary, } from './types/usage.types';
|
|
17
17
|
export type { LocationJSONB, MarketPlacePropJSONB, ItemFilterImage, ItemFilterLink, ItemFilterLocation, ItemFilterName, ItemFilterPrice, ItemFilterYear, ItemFilterDescription, ItemFilterRating, ItemFilterScam, ItemFilterJSONB, CoreValueJSONB, } from './types/search-jsonb.types';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAExE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAErE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEzE,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7E,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEzE,YAAY,EACV,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,EAC7B,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,GACb,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,YAAY,EACV,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAExE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAErE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEzE,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7E,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEzE,YAAY,EACV,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,EAC7B,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,GACb,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,YAAY,EACV,WAAW,EACX,cAAc,EACd,0BAA0B,EAC1B,2BAA2B,EAC3B,aAAa,GACd,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,+BAA+B,EAC/B,gCAAgC,EAChC,2BAA2B,EAC3B,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,4BAA4B,CAAC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Katalog produk.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
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`.
|
|
5
6
|
*/
|
|
6
|
-
export type ProductKind = 'plan' | '
|
|
7
|
-
/** Peran profil di dalam sebuah produk. */
|
|
8
|
-
export type ProductProfileKind = 'base' | 'delta';
|
|
7
|
+
export type ProductKind = 'plan' | 'retail';
|
|
9
8
|
/** Benefit marketing untuk kartu pricing. */
|
|
10
9
|
export interface ProductFeature {
|
|
11
10
|
key: string;
|
|
@@ -19,8 +18,6 @@ export interface ProductSearchProfileEntity {
|
|
|
19
18
|
/** Slug stabil, dipakai baris langganan untuk menunjuk profil ini. */
|
|
20
19
|
key: string;
|
|
21
20
|
name: string;
|
|
22
|
-
/** `delta` = profil ini menambah slot ke profil `base` dengan key yang sama. */
|
|
23
|
-
kind: ProductProfileKind;
|
|
24
21
|
/** Jumlah search aktif yang boleh menempel ke profil ini. */
|
|
25
22
|
slot: number;
|
|
26
23
|
/** Delay antar-scrape (ms) yang dipakai search di profil ini. */
|
|
@@ -31,15 +28,17 @@ export interface ProductSearchProfileEntity {
|
|
|
31
28
|
createdAt: string;
|
|
32
29
|
updatedAt: string;
|
|
33
30
|
}
|
|
34
|
-
/**
|
|
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
|
+
*/
|
|
35
36
|
export interface ProductChannelProfileEntity {
|
|
36
37
|
id: number;
|
|
37
38
|
productId: number;
|
|
38
39
|
key: string;
|
|
39
40
|
name: string;
|
|
40
41
|
slot: number;
|
|
41
|
-
/** Jenis channel; harus punya adapter di flipper-notification. */
|
|
42
|
-
type: string;
|
|
43
42
|
deleted: boolean;
|
|
44
43
|
createdAt: string;
|
|
45
44
|
updatedAt: string;
|
|
@@ -53,8 +52,6 @@ export type ProductEntity = {
|
|
|
53
52
|
kind: string;
|
|
54
53
|
priceCents: number;
|
|
55
54
|
currency: string;
|
|
56
|
-
/** 'month' | 'year' | null (null = sekali beli seperti addon). */
|
|
57
|
-
interval: string | null;
|
|
58
55
|
sortOrder: number;
|
|
59
56
|
isActive: boolean;
|
|
60
57
|
features: ProductFeature[] | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.types.d.ts","sourceRoot":"","sources":["../../src/types/product.types.ts"],"names":[],"mappings":"AAAA
|
|
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,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,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,0BAA0B,EAAE,CAAC;IAC7C,eAAe,EAAE,2BAA2B,EAAE,CAAC;IAC/C,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"}
|
|
@@ -13,9 +13,10 @@ export type SearchEntity = {
|
|
|
13
13
|
delayMilis: number;
|
|
14
14
|
lastScrappedEpoch: string | null;
|
|
15
15
|
filter: ItemFilterJSONB | null;
|
|
16
|
-
/**
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Profil scanner langganan yang membayar search ini
|
|
18
|
+
* (tabel `SubscriptionSearchProfile`); null = search lama, tidak dieksekusi.
|
|
19
|
+
*/
|
|
19
20
|
subscriptionProfileId?: number | null;
|
|
20
21
|
deleted: boolean;
|
|
21
22
|
createdAt: string;
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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,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,46 +1,42 @@
|
|
|
1
1
|
import type { ProductEntity } from './product.types';
|
|
2
2
|
export type SubscriptionStatus = 'trialing' | 'active' | 'past_due' | 'canceled' | 'expired';
|
|
3
3
|
export type SubscriptionSource = 'manual' | 'trial' | 'payment';
|
|
4
|
+
/** Kelompok entitlement di dalam satu langganan. */
|
|
4
5
|
export type SubscriptionProfileKind = 'search' | 'channel';
|
|
5
|
-
export type SubscriptionItemStatus = 'active' | 'cancelled';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
* Dibuat sekali saat langganan dibuat;
|
|
9
|
-
*
|
|
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
10
|
*/
|
|
11
|
-
export interface
|
|
11
|
+
export interface SubscriptionSearchProfileEntity {
|
|
12
12
|
id: number;
|
|
13
13
|
subscriptionId: number;
|
|
14
|
-
kind: SubscriptionProfileKind;
|
|
15
|
-
/** Jejak asal profil di katalog; null kalau produknya sudah dihapus. */
|
|
16
|
-
productProfileId: number | null;
|
|
17
14
|
key: string;
|
|
18
15
|
name: string;
|
|
19
16
|
/** Slot dasar dari plan saat langganan dibuat. */
|
|
20
17
|
slot: number;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
/** Delay antar-scrape (ms) beku untuk scanner ini. */
|
|
19
|
+
delayMilis: number;
|
|
20
|
+
/** Marketplace beku yang boleh dipakai scanner ini. */
|
|
21
|
+
allowedMarketPlaces: string[];
|
|
24
22
|
deleted: boolean;
|
|
25
23
|
createdAt: string;
|
|
26
24
|
}
|
|
27
|
-
/**
|
|
28
|
-
|
|
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 {
|
|
29
31
|
id: number;
|
|
30
32
|
subscriptionId: number;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
/** Profil langganan yang mendapat slot tambahan. */
|
|
36
|
-
targetSubscriptionProfileId: number | null;
|
|
37
|
-
extraSlots: number;
|
|
38
|
-
status: SubscriptionItemStatus;
|
|
39
|
-
startedAt: string;
|
|
40
|
-
endedAt: string | null;
|
|
33
|
+
key: string;
|
|
34
|
+
name: string;
|
|
35
|
+
slot: number;
|
|
36
|
+
deleted: boolean;
|
|
41
37
|
createdAt: string;
|
|
42
38
|
}
|
|
43
|
-
/** Copy profil untuk audit; angka yang dipakai logika ada di
|
|
39
|
+
/** Copy profil untuk audit; angka yang dipakai logika ada di baris relasional. */
|
|
44
40
|
export interface SubscriptionProfileSnapshot {
|
|
45
41
|
profileId: number;
|
|
46
42
|
kind: SubscriptionProfileKind;
|
|
@@ -49,14 +45,12 @@ export interface SubscriptionProfileSnapshot {
|
|
|
49
45
|
slot: number;
|
|
50
46
|
delayMilis?: number | null;
|
|
51
47
|
allowedMarketPlaces?: string[] | null;
|
|
52
|
-
type?: string | null;
|
|
53
48
|
}
|
|
54
49
|
/** Snapshot saat langganan dibuat; audit/display saja, bukan sumber logika. */
|
|
55
50
|
export interface SubscriptionSnapshot {
|
|
56
51
|
productKey: string;
|
|
57
52
|
productName: string;
|
|
58
53
|
priceCents: number;
|
|
59
|
-
interval: string | null;
|
|
60
54
|
profiles: SubscriptionProfileSnapshot[];
|
|
61
55
|
}
|
|
62
56
|
/** Representasi tabel `Subscription`. */
|
|
@@ -80,10 +74,10 @@ export type SubscriptionEntity = {
|
|
|
80
74
|
updatedAt: string;
|
|
81
75
|
updatedBy: string | null;
|
|
82
76
|
};
|
|
83
|
-
/** Langganan + produk
|
|
77
|
+
/** Langganan + produk dan profil bekunya. */
|
|
84
78
|
export type SubscriptionWithProduct = SubscriptionEntity & {
|
|
85
79
|
product?: ProductEntity;
|
|
86
|
-
|
|
87
|
-
|
|
80
|
+
searchProfiles?: SubscriptionSearchProfileEntity[];
|
|
81
|
+
channelProfiles?: SubscriptionChannelProfileEntity[];
|
|
88
82
|
};
|
|
89
83
|
//# sourceMappingURL=subscription.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription.types.d.ts","sourceRoot":"","sources":["../../src/types/subscription.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,QAAQ,GACR,UAAU,GACV,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhE,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3D
|
|
1
|
+
{"version":3,"file":"subscription.types.d.ts","sourceRoot":"","sources":["../../src/types/subscription.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,QAAQ,GACR,UAAU,GACV,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhE,oDAAoD;AACpD,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3D;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,gCAAgC;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,kFAAkF;AAClF,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACvC;AAED,+EAA+E;AAC/E,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,2BAA2B,EAAE,CAAC;CACzC;AAED,yCAAyC;AACzC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,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,6CAA6C;AAC7C,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,GAAG;IACzD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,cAAc,CAAC,EAAE,+BAA+B,EAAE,CAAC;IACnD,eAAe,CAAC,EAAE,gCAAgC,EAAE,CAAC;CACtD,CAAC"}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
import type { SubscriptionProfileKind, SubscriptionStatus } from './subscription.types';
|
|
2
|
-
/** Pemakaian satu profil langganan (
|
|
2
|
+
/** Pemakaian satu profil langganan (scanner atau channel). */
|
|
3
3
|
export interface UsageProfileMetric {
|
|
4
4
|
subscriptionProfileId: number;
|
|
5
5
|
kind: SubscriptionProfileKind;
|
|
6
6
|
key: string;
|
|
7
7
|
name: string;
|
|
8
8
|
used: number;
|
|
9
|
-
/** Slot efektif = slot
|
|
9
|
+
/** Slot efektif profil ini (= slot beku dari plan). */
|
|
10
10
|
slot: number;
|
|
11
|
-
|
|
12
|
-
addOnSlots: number;
|
|
13
|
-
/** Nilai beku profil, dipakai FE untuk menampilkan & mengisi form. */
|
|
11
|
+
/** Nilai beku profil scanner, dipakai FE untuk menampilkan & mengisi form. */
|
|
14
12
|
delayMilis?: number | null;
|
|
15
13
|
allowedMarketPlaces?: string[] | null;
|
|
16
|
-
type?: string | null;
|
|
17
14
|
}
|
|
18
15
|
/** Satu kelompok metrik: total pemakaian + rincian per profil. */
|
|
19
16
|
export interface UsageMetric {
|
|
@@ -29,8 +26,6 @@ export interface SubscriptionUsageSummary {
|
|
|
29
26
|
currentPeriodStart: string;
|
|
30
27
|
currentPeriodEnd: string;
|
|
31
28
|
remainingDays: number;
|
|
32
|
-
/** Total slot search tambahan dari pembelian addon aktif. */
|
|
33
|
-
addOnSlots: number;
|
|
34
29
|
searches: UsageMetric;
|
|
35
30
|
channels: UsageMetric;
|
|
36
31
|
}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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;CACvB"}
|
|
@@ -11,9 +11,10 @@ export type UserChannelEntity = {
|
|
|
11
11
|
userId: number;
|
|
12
12
|
name: string;
|
|
13
13
|
other: Record<string, unknown> | null;
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Profil channel langganan yang membayar channel ini
|
|
16
|
+
* (tabel `SubscriptionChannelProfile`); null = channel lama, tidak dipakai.
|
|
17
|
+
*/
|
|
17
18
|
subscriptionProfileId?: number | null;
|
|
18
19
|
deleted: boolean;
|
|
19
20
|
createdAt: string;
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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,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"}
|