@vestcards/server-types 1.3.0 → 1.5.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/apps/server/src/app.d.ts +382 -20
- package/dist/apps/server/src/config/env.d.ts +9 -1
- package/dist/apps/server/src/lib/metrics.d.ts +4 -0
- package/dist/apps/server/src/lib/posthog.d.ts +2 -0
- package/dist/apps/server/src/middleware/errorHandler.d.ts +1 -1
- package/dist/apps/server/src/middleware/logger.d.ts +14 -29
- package/dist/apps/server/src/middleware/logger.test.d.ts +1 -0
- package/dist/apps/server/src/modules/auth/index.d.ts +4 -4
- package/dist/apps/server/src/modules/auth/lib.d.ts +30 -3
- package/dist/apps/server/src/modules/auth/profile.d.ts +5 -0
- package/dist/apps/server/src/modules/auth/tracing.d.ts +18 -0
- package/dist/apps/server/src/modules/auth/tracing.test.d.ts +1 -0
- package/dist/apps/server/src/modules/auth/utils.d.ts +1 -0
- package/dist/apps/server/src/modules/card/index.d.ts +4 -4
- package/dist/apps/server/src/modules/cron/cron.test.d.ts +1 -0
- package/dist/apps/server/src/modules/cron/index.d.ts +53 -0
- package/dist/apps/server/src/modules/cron/jobs/expire-memberships.d.ts +1 -0
- package/dist/apps/server/src/modules/cron/jobs/payment-expiry-reminder.d.ts +1 -0
- package/dist/apps/server/src/modules/deck/access.d.ts +5 -0
- package/dist/apps/server/src/modules/deck/index.d.ts +23 -5
- package/dist/apps/server/src/modules/deck/model.d.ts +4 -0
- package/dist/apps/server/src/modules/deck/service.d.ts +5 -1
- package/dist/apps/server/src/modules/exam/exam.test.d.ts +1 -0
- package/dist/apps/server/src/modules/exam/index.d.ts +457 -0
- package/dist/apps/server/src/modules/exam/model.d.ts +18 -0
- package/dist/apps/server/src/modules/exam/service.d.ts +43 -0
- package/dist/apps/server/src/modules/library/index.d.ts +4 -4
- package/dist/apps/server/src/modules/ranking/cache.d.ts +6 -0
- package/dist/apps/server/src/modules/ranking/helpers.d.ts +9 -0
- package/dist/apps/server/src/modules/ranking/index.d.ts +412 -0
- package/dist/apps/server/src/modules/ranking/model.d.ts +28 -0
- package/dist/apps/server/src/modules/ranking/ranking.test.d.ts +1 -0
- package/dist/apps/server/src/modules/ranking/repository.d.ts +10 -0
- package/dist/apps/server/src/modules/ranking/service.d.ts +4 -0
- package/dist/apps/server/src/modules/stats/index.d.ts +446 -0
- package/dist/apps/server/src/modules/stats/model.d.ts +85 -0
- package/dist/apps/server/src/modules/stats/service.d.ts +27 -0
- package/dist/apps/server/src/modules/stats/stats.test.d.ts +1 -0
- package/dist/apps/server/src/modules/study/index.d.ts +4 -4
- package/dist/apps/server/src/modules/study/service.d.ts +4 -4
- package/dist/apps/server/src/modules/topic/index.d.ts +4 -4
- package/dist/apps/server/src/modules/user/index.d.ts +36 -19
- package/dist/apps/server/src/modules/user/model.d.ts +11 -1
- package/dist/apps/server/src/modules/user/service.d.ts +13 -29
- package/dist/apps/server/src/modules/vesty/index.d.ts +473 -0
- package/dist/apps/server/src/modules/vesty/model.d.ts +35 -0
- package/dist/apps/server/src/modules/vesty/resilience.d.ts +40 -0
- package/dist/apps/server/src/modules/vesty/resilience.test.d.ts +1 -0
- package/dist/apps/server/src/modules/vesty/service.d.ts +6 -0
- package/dist/apps/server/src/modules/vesty/services/generate-deck.d.ts +2 -0
- package/dist/apps/server/src/modules/vesty/services/insights.d.ts +3 -0
- package/dist/apps/server/src/modules/vesty/tools.d.ts +11 -0
- package/dist/apps/server/src/modules/vesty/utils.d.ts +62 -0
- package/dist/apps/server/src/modules/vesty/vesty.test.d.ts +1 -0
- package/dist/apps/server/src/server.d.ts +1 -0
- package/dist/apps/server/src/tests/helpers/fixtures.d.ts +8 -6
- package/dist/apps/server/src/tests/helpers/index.d.ts +1 -0
- package/dist/apps/server/src/tests/helpers/redis-mock.d.ts +33 -0
- package/dist/apps/server/src/tests/preload/redis-mock.d.ts +1 -0
- package/dist/apps/server/src/tests/preload/vesty-mock.d.ts +1 -0
- package/dist/packages/db-core/src/db.d.ts +1 -2
- package/dist/packages/db-core/src/index.d.ts +1 -1
- package/dist/packages/db-core/src/queries/decks.d.ts +2 -0
- package/dist/packages/db-core/src/queries/index.d.ts +1 -0
- package/dist/packages/db-core/src/schema/auth.d.ts +34 -0
- package/dist/packages/db-core/src/schema/exams.d.ts +721 -0
- package/dist/packages/db-core/src/schema/index.d.ts +1 -1
- package/dist/packages/db-core/src/schema/payment.d.ts +37 -1
- package/dist/packages/db-core/src/tracing.d.ts +2 -0
- package/dist/packages/email-core/src/templates/index.d.ts +2 -0
- package/dist/packages/email-core/src/templates/paymentExpiryReminder.d.ts +9 -0
- package/dist/packages/shared/src/constants.d.ts +2 -0
- package/dist/packages/shared/src/date/index.d.ts +1 -0
- package/dist/packages/shared/src/date/timezone.d.ts +29 -0
- package/dist/packages/shared/src/index.d.ts +1 -0
- package/dist/packages/shared/src/spaced-repetition/config.d.ts +17 -2
- package/dist/packages/shared/src/spaced-repetition/index.d.ts +1 -0
- package/dist/packages/shared/src/spaced-repetition/retention.d.ts +2 -0
- package/dist/packages/shared/src/spaced-repetition/session-manager.d.ts +3 -0
- package/dist/packages/shared/src/theme/tokens/colors.d.ts +27 -27
- package/dist/packages/shared/src/types/index.d.ts +1 -0
- package/dist/packages/shared/src/types/permissions.d.ts +6 -0
- package/dist/packages/shared/src/types/user.d.ts +20 -0
- package/dist/packages/shared/src/types/vesty.d.ts +7 -0
- package/dist/packages/utils/src/logger/config.d.ts +12 -0
- package/dist/packages/utils/src/logger/index.d.ts +5 -1
- package/dist/packages/utils/src/logger/pino.d.ts +7 -0
- package/dist/packages/utils/src/logger/posthog.d.ts +16 -0
- package/dist/packages/utils/src/logger/timeout.d.ts +4 -0
- package/dist/packages/utils/src/logger/tracing.d.ts +34 -0
- package/package.json +1 -1
- package/dist/apps/server/src/modules/study/constants.d.ts +0 -5
- package/dist/packages/db-core/src/views/deck.d.ts +0 -79
- /package/dist/apps/server/src/{libs → lib}/mappers.d.ts +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { UserRole } from '@vestcards/shared';
|
|
2
2
|
import { type BetterAuthOptions } from 'better-auth';
|
|
3
|
+
import { mapAppleProfileToUser } from './profile';
|
|
3
4
|
export declare const auth: import("better-auth").Auth<{
|
|
4
5
|
plugins: ({
|
|
5
6
|
id: "open-api";
|
|
@@ -239,6 +240,9 @@ export declare const auth: import("better-auth").Auth<{
|
|
|
239
240
|
basePath: string;
|
|
240
241
|
database: (options: BetterAuthOptions) => import("better-auth").DBAdapter<BetterAuthOptions>;
|
|
241
242
|
secondaryStorage: import("better-auth").SecondaryStorage | undefined;
|
|
243
|
+
verification: {
|
|
244
|
+
storeInDatabase: true;
|
|
245
|
+
};
|
|
242
246
|
emailAndPassword: {
|
|
243
247
|
enabled: true;
|
|
244
248
|
autoSignIn: true;
|
|
@@ -297,6 +301,8 @@ export declare const auth: import("better-auth").Auth<{
|
|
|
297
301
|
apple: {
|
|
298
302
|
clientId: string;
|
|
299
303
|
clientSecret: string;
|
|
304
|
+
appBundleIdentifier: string;
|
|
305
|
+
mapProfileToUser: typeof mapAppleProfileToUser;
|
|
300
306
|
};
|
|
301
307
|
};
|
|
302
308
|
user: {
|
|
@@ -331,17 +337,38 @@ export declare const auth: import("better-auth").Auth<{
|
|
|
331
337
|
image?: string | null | undefined;
|
|
332
338
|
} & Record<string, unknown>) => Promise<{
|
|
333
339
|
data: {
|
|
340
|
+
email: string;
|
|
334
341
|
entityId: string;
|
|
335
342
|
id: string;
|
|
336
343
|
createdAt: Date;
|
|
337
344
|
updatedAt: Date;
|
|
338
|
-
email: string;
|
|
339
345
|
emailVerified: boolean;
|
|
340
346
|
name: string;
|
|
341
347
|
image?: string | null | undefined;
|
|
342
348
|
};
|
|
343
349
|
}>;
|
|
344
350
|
};
|
|
351
|
+
update: {
|
|
352
|
+
before: (userData: Partial<{
|
|
353
|
+
id: string;
|
|
354
|
+
createdAt: Date;
|
|
355
|
+
updatedAt: Date;
|
|
356
|
+
email: string;
|
|
357
|
+
emailVerified: boolean;
|
|
358
|
+
name: string;
|
|
359
|
+
image?: string | null | undefined;
|
|
360
|
+
}> & Record<string, unknown>) => Promise<{
|
|
361
|
+
data: Partial<{
|
|
362
|
+
id: string;
|
|
363
|
+
createdAt: Date;
|
|
364
|
+
updatedAt: Date;
|
|
365
|
+
email: string;
|
|
366
|
+
emailVerified: boolean;
|
|
367
|
+
name: string;
|
|
368
|
+
image?: string | null | undefined;
|
|
369
|
+
}> & Record<string, unknown>;
|
|
370
|
+
}>;
|
|
371
|
+
};
|
|
345
372
|
};
|
|
346
373
|
session: {
|
|
347
374
|
create: {
|
|
@@ -370,14 +397,14 @@ export declare const auth: import("better-auth").Auth<{
|
|
|
370
397
|
};
|
|
371
398
|
};
|
|
372
399
|
logger: {
|
|
373
|
-
log(level: "
|
|
400
|
+
log(level: "debug" | "info" | "warn" | "error", message: string, ...args: any[]): void;
|
|
374
401
|
};
|
|
375
402
|
advanced: {
|
|
376
403
|
useSecureCookies: boolean;
|
|
377
404
|
disableOriginCheck: true;
|
|
378
405
|
cookiePrefix: string;
|
|
379
406
|
defaultCookieAttributes: {
|
|
380
|
-
sameSite: "
|
|
407
|
+
sameSite: "none" | "lax";
|
|
381
408
|
secure: boolean;
|
|
382
409
|
};
|
|
383
410
|
database: {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Entitlement } from '@vestcards/shared';
|
|
2
|
+
import type { TraceAttributes } from '@vestcards/utils/logger';
|
|
3
|
+
interface AuthTraceUser {
|
|
4
|
+
email?: string | null;
|
|
5
|
+
entityId?: string | null;
|
|
6
|
+
id: string;
|
|
7
|
+
role?: string | null;
|
|
8
|
+
}
|
|
9
|
+
interface AuthTraceContext {
|
|
10
|
+
completedProfile?: boolean;
|
|
11
|
+
entitlements?: Entitlement[];
|
|
12
|
+
user: AuthTraceUser;
|
|
13
|
+
}
|
|
14
|
+
export declare function getAuthTraceAttributes({ completedProfile, entitlements, user }: AuthTraceContext): Promise<TraceAttributes>;
|
|
15
|
+
export declare function getTraceSpanFromStore(store: {
|
|
16
|
+
traceSpan?: unknown;
|
|
17
|
+
}): unknown;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { BetterAuthOptions } from 'better-auth';
|
|
2
|
+
export declare function generateAppleClientSecret(clientId: string, teamId: string, keyId: string, privateKey: string): Promise<string>;
|
|
2
3
|
export declare function assertCredentialAccount(userId: string): Promise<void>;
|
|
3
4
|
type SendVerificationEmail = NonNullable<BetterAuthOptions['emailVerification']>['sendVerificationEmail'];
|
|
4
5
|
export declare const sendVerificationEmail: SendVerificationEmail;
|
|
@@ -24,7 +24,7 @@ export declare const cardModule: Elysia<"/v1/card", {
|
|
|
24
24
|
}>;
|
|
25
25
|
macroFn: {
|
|
26
26
|
readonly auth: {
|
|
27
|
-
readonly resolve: ({ request: { headers } }: {
|
|
27
|
+
readonly resolve: ({ request: { headers }, store }: {
|
|
28
28
|
body: unknown;
|
|
29
29
|
query: Record<string, string>;
|
|
30
30
|
params: {};
|
|
@@ -42,7 +42,7 @@ export declare const cardModule: Elysia<"/v1/card", {
|
|
|
42
42
|
route: string;
|
|
43
43
|
request: Request;
|
|
44
44
|
store: {};
|
|
45
|
-
status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 400 | 401 | 403 | 404 | 409 | 429 |
|
|
45
|
+
status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 200 | 500 | 400 | 401 | 403 | 404 | 409 | 429 | 100 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 402 | 405 | 406 | 407 | 408 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 ? {
|
|
46
46
|
readonly 100: "Continue";
|
|
47
47
|
readonly 101: "Switching Protocols";
|
|
48
48
|
readonly 102: "Processing";
|
|
@@ -198,7 +198,7 @@ export declare const cardModule: Elysia<"/v1/card", {
|
|
|
198
198
|
};
|
|
199
199
|
} & {
|
|
200
200
|
readonly permission: (permission?: import("@vestcards/shared").Permission) => {
|
|
201
|
-
readonly resolve: ({ request: { headers } }: {
|
|
201
|
+
readonly resolve: ({ request: { headers }, store }: {
|
|
202
202
|
body: unknown;
|
|
203
203
|
query: Record<string, string>;
|
|
204
204
|
params: {};
|
|
@@ -216,7 +216,7 @@ export declare const cardModule: Elysia<"/v1/card", {
|
|
|
216
216
|
route: string;
|
|
217
217
|
request: Request;
|
|
218
218
|
store: {};
|
|
219
|
-
status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 400 | 401 | 403 | 404 | 409 | 429 |
|
|
219
|
+
status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 200 | 500 | 400 | 401 | 403 | 404 | 409 | 429 | 100 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 402 | 405 | 406 | 407 | 408 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 ? {
|
|
220
220
|
readonly 100: "Continue";
|
|
221
221
|
readonly 101: "Switching Protocols";
|
|
222
222
|
readonly 102: "Processing";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import Elysia from 'elysia';
|
|
2
|
+
export declare const cronModule: Elysia<"", {
|
|
3
|
+
decorator: {};
|
|
4
|
+
store: {
|
|
5
|
+
cron: Record<"expire-memberships", import("croner").Cron> & Record<"payment-expiry-reminder", import("croner").Cron>;
|
|
6
|
+
};
|
|
7
|
+
derive: {};
|
|
8
|
+
resolve: {};
|
|
9
|
+
}, {
|
|
10
|
+
typebox: {};
|
|
11
|
+
error: {};
|
|
12
|
+
} & {
|
|
13
|
+
typebox: {};
|
|
14
|
+
error: {};
|
|
15
|
+
}, {
|
|
16
|
+
schema: {};
|
|
17
|
+
standaloneSchema: {};
|
|
18
|
+
macro: {};
|
|
19
|
+
macroFn: {};
|
|
20
|
+
parser: {};
|
|
21
|
+
response: {};
|
|
22
|
+
} & {
|
|
23
|
+
schema: {};
|
|
24
|
+
standaloneSchema: {};
|
|
25
|
+
macro: {};
|
|
26
|
+
macroFn: {};
|
|
27
|
+
parser: {};
|
|
28
|
+
response: {};
|
|
29
|
+
}, {}, {
|
|
30
|
+
derive: {};
|
|
31
|
+
resolve: {};
|
|
32
|
+
schema: {};
|
|
33
|
+
standaloneSchema: {};
|
|
34
|
+
response: {};
|
|
35
|
+
} & {
|
|
36
|
+
derive: {};
|
|
37
|
+
resolve: {};
|
|
38
|
+
schema: {};
|
|
39
|
+
standaloneSchema: {};
|
|
40
|
+
response: {};
|
|
41
|
+
}, {
|
|
42
|
+
derive: {};
|
|
43
|
+
resolve: {};
|
|
44
|
+
schema: {};
|
|
45
|
+
standaloneSchema: {};
|
|
46
|
+
response: {};
|
|
47
|
+
} & {
|
|
48
|
+
derive: {};
|
|
49
|
+
resolve: {};
|
|
50
|
+
schema: {};
|
|
51
|
+
standaloneSchema: {};
|
|
52
|
+
response: {};
|
|
53
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function expireMemberships(): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function sendPaymentExpiryReminders(): Promise<void>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IDeckDetail } from '@vestcards/shared';
|
|
2
|
+
export declare function assertDeckIsOfficialOrOwned(deck: IDeckDetail, entityId: string | null | undefined): {
|
|
3
|
+
isOwner: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare function requiresPremiumDeckAccess(deck: IDeckDetail): boolean;
|
|
@@ -24,7 +24,7 @@ export declare const deckModule: Elysia<"/v1/decks", {
|
|
|
24
24
|
}>;
|
|
25
25
|
macroFn: {
|
|
26
26
|
readonly auth: {
|
|
27
|
-
readonly resolve: ({ request: { headers } }: {
|
|
27
|
+
readonly resolve: ({ request: { headers }, store }: {
|
|
28
28
|
body: unknown;
|
|
29
29
|
query: Record<string, string>;
|
|
30
30
|
params: {};
|
|
@@ -42,7 +42,7 @@ export declare const deckModule: Elysia<"/v1/decks", {
|
|
|
42
42
|
route: string;
|
|
43
43
|
request: Request;
|
|
44
44
|
store: {};
|
|
45
|
-
status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 400 | 401 | 403 | 404 | 409 | 429 |
|
|
45
|
+
status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 200 | 500 | 400 | 401 | 403 | 404 | 409 | 429 | 100 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 402 | 405 | 406 | 407 | 408 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 ? {
|
|
46
46
|
readonly 100: "Continue";
|
|
47
47
|
readonly 101: "Switching Protocols";
|
|
48
48
|
readonly 102: "Processing";
|
|
@@ -198,7 +198,7 @@ export declare const deckModule: Elysia<"/v1/decks", {
|
|
|
198
198
|
};
|
|
199
199
|
} & {
|
|
200
200
|
readonly permission: (permission?: import("@vestcards/shared").Permission) => {
|
|
201
|
-
readonly resolve: ({ request: { headers } }: {
|
|
201
|
+
readonly resolve: ({ request: { headers }, store }: {
|
|
202
202
|
body: unknown;
|
|
203
203
|
query: Record<string, string>;
|
|
204
204
|
params: {};
|
|
@@ -216,7 +216,7 @@ export declare const deckModule: Elysia<"/v1/decks", {
|
|
|
216
216
|
route: string;
|
|
217
217
|
request: Request;
|
|
218
218
|
store: {};
|
|
219
|
-
status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 400 | 401 | 403 | 404 | 409 | 429 |
|
|
219
|
+
status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 200 | 500 | 400 | 401 | 403 | 404 | 409 | 429 | 100 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 402 | 405 | 406 | 407 | 408 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 ? {
|
|
220
220
|
readonly 100: "Continue";
|
|
221
221
|
readonly 101: "Switching Protocols";
|
|
222
222
|
readonly 102: "Processing";
|
|
@@ -417,6 +417,22 @@ export declare const deckModule: Elysia<"/v1/decks", {
|
|
|
417
417
|
};
|
|
418
418
|
};
|
|
419
419
|
};
|
|
420
|
+
} & {
|
|
421
|
+
v1: {
|
|
422
|
+
decks: {
|
|
423
|
+
recommended: {
|
|
424
|
+
get: {
|
|
425
|
+
body: {};
|
|
426
|
+
params: {};
|
|
427
|
+
query: {};
|
|
428
|
+
headers: {};
|
|
429
|
+
response: {
|
|
430
|
+
200: import("@vestcards/shared").IDeck[];
|
|
431
|
+
};
|
|
432
|
+
};
|
|
433
|
+
};
|
|
434
|
+
};
|
|
435
|
+
};
|
|
420
436
|
} & {
|
|
421
437
|
v1: {
|
|
422
438
|
decks: {
|
|
@@ -426,7 +442,9 @@ export declare const deckModule: Elysia<"/v1/decks", {
|
|
|
426
442
|
params: {
|
|
427
443
|
deckId: string;
|
|
428
444
|
};
|
|
429
|
-
query: {
|
|
445
|
+
query: {
|
|
446
|
+
preview?: boolean | undefined;
|
|
447
|
+
};
|
|
430
448
|
headers: {};
|
|
431
449
|
response: {
|
|
432
450
|
200: import("@vestcards/shared").IDeckDetail;
|
|
@@ -19,6 +19,10 @@ export declare namespace DeckModel {
|
|
|
19
19
|
deckId: import("@sinclair/typebox").TString;
|
|
20
20
|
}>;
|
|
21
21
|
type DeckIdParams = typeof deckIdParams.static;
|
|
22
|
+
const deckDetailQuery: import("@sinclair/typebox").TObject<{
|
|
23
|
+
preview: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
24
|
+
}>;
|
|
25
|
+
type DeckDetailQuery = typeof deckDetailQuery.static;
|
|
22
26
|
const topicSubjectParams: import("@sinclair/typebox").TObject<{
|
|
23
27
|
subject: import("@sinclair/typebox").TString;
|
|
24
28
|
}>;
|
|
@@ -3,6 +3,10 @@ import { type Paginated } from '../../utils/api';
|
|
|
3
3
|
import { DeckModel } from './model';
|
|
4
4
|
export declare abstract class DeckService {
|
|
5
5
|
static getAllDecks(filters: DeckModel.DeckListFilters, loggedUserId?: string): Promise<Paginated<IDeck>>;
|
|
6
|
-
static getDeck(deckId: string
|
|
6
|
+
static getDeck(deckId: string, options?: {
|
|
7
|
+
cardLimit?: number;
|
|
8
|
+
}): Promise<IDeckDetail>;
|
|
9
|
+
static getRecommendedDecks(_userId: string, canReadPremiumDecks: boolean): Promise<IDeck[]>;
|
|
10
|
+
private static mapDeckOwnerInfo;
|
|
7
11
|
static getOwnerInfoById(ownerId: string): Promise<IOwnerInfo>;
|
|
8
12
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|