@lssm/module.learning-journey 0.0.0-canary-20251217083314 → 0.0.0-canary-20251219202229
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/LICENSE +21 -0
- package/README.md +2 -0
- package/dist/contracts/models.d.ts +120 -119
- package/dist/contracts/models.d.ts.map +1 -0
- package/dist/contracts/models.js +87 -88
- package/dist/contracts/models.js.map +1 -0
- package/dist/contracts/onboarding.d.ts +170 -169
- package/dist/contracts/onboarding.d.ts.map +1 -0
- package/dist/contracts/onboarding.js +71 -72
- package/dist/contracts/onboarding.js.map +1 -0
- package/dist/contracts/operations.d.ts +73 -72
- package/dist/contracts/operations.d.ts.map +1 -0
- package/dist/contracts/operations.js +2 -1
- package/dist/contracts/operations.js.map +1 -0
- package/dist/contracts/shared.d.ts +2 -1
- package/dist/contracts/shared.d.ts.map +1 -0
- package/dist/contracts/shared.js +2 -1
- package/dist/contracts/shared.js.map +1 -0
- package/dist/docs/learning-journey.docblock.js +2 -1
- package/dist/docs/learning-journey.docblock.js.map +1 -0
- package/dist/engines/srs.d.ts +2 -1
- package/dist/engines/srs.d.ts.map +1 -0
- package/dist/engines/srs.js +2 -1
- package/dist/engines/srs.js.map +1 -0
- package/dist/engines/streak.d.ts +2 -1
- package/dist/engines/streak.d.ts.map +1 -0
- package/dist/engines/streak.js +2 -1
- package/dist/engines/streak.js.map +1 -0
- package/dist/engines/xp.d.ts +2 -1
- package/dist/engines/xp.d.ts.map +1 -0
- package/dist/engines/xp.js +2 -1
- package/dist/engines/xp.js.map +1 -0
- package/dist/entities/ai.d.ts +202 -201
- package/dist/entities/ai.d.ts.map +1 -0
- package/dist/entities/ai.js +114 -114
- package/dist/entities/ai.js.map +1 -0
- package/dist/entities/course.d.ts +152 -151
- package/dist/entities/course.d.ts.map +1 -0
- package/dist/entities/course.js +86 -86
- package/dist/entities/course.js.map +1 -0
- package/dist/entities/flashcard.d.ts +147 -146
- package/dist/entities/flashcard.d.ts.map +1 -0
- package/dist/entities/flashcard.js +85 -85
- package/dist/entities/flashcard.js.map +1 -0
- package/dist/entities/gamification.d.ts +200 -199
- package/dist/entities/gamification.d.ts.map +1 -0
- package/dist/entities/gamification.js +120 -120
- package/dist/entities/gamification.js.map +1 -0
- package/dist/entities/index.d.ts +607 -606
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +2 -1
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/learner.d.ts +194 -193
- package/dist/entities/learner.d.ts.map +1 -0
- package/dist/entities/learner.js +113 -113
- package/dist/entities/learner.js.map +1 -0
- package/dist/entities/onboarding.d.ts +167 -166
- package/dist/entities/onboarding.d.ts.map +1 -0
- package/dist/entities/onboarding.js +93 -93
- package/dist/entities/onboarding.js.map +1 -0
- package/dist/entities/quiz.d.ts +187 -186
- package/dist/entities/quiz.d.ts.map +1 -0
- package/dist/entities/quiz.js +109 -109
- package/dist/entities/quiz.js.map +1 -0
- package/dist/events.d.ts +216 -215
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +109 -110
- package/dist/events.js.map +1 -0
- package/dist/learning-journey.feature.d.ts +2 -1
- package/dist/learning-journey.feature.d.ts.map +1 -0
- package/dist/learning-journey.feature.js +2 -1
- package/dist/learning-journey.feature.js.map +1 -0
- package/dist/libs/contracts/dist/capabilities/openbanking.js +2 -1
- package/dist/libs/contracts/dist/capabilities/openbanking.js.map +1 -0
- package/dist/libs/contracts/dist/contract-registry/schemas.js +2 -1
- package/dist/libs/contracts/dist/contract-registry/schemas.js.map +1 -0
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/index.js +2 -6
- package/dist/libs/contracts/dist/docs/meta.docs.js +30 -0
- package/dist/libs/contracts/dist/docs/meta.docs.js.map +1 -0
- package/dist/libs/contracts/dist/docs/presentations.js +2 -1
- package/dist/libs/contracts/dist/docs/presentations.js.map +1 -0
- package/dist/libs/contracts/dist/docs/registry.js +2 -1
- package/dist/libs/contracts/dist/docs/registry.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech-contracts.docs.js +97 -0
- package/dist/libs/contracts/dist/docs/tech-contracts.docs.js.map +1 -0
- package/dist/libs/contracts/dist/events.js +2 -1
- package/dist/libs/contracts/dist/events.js.map +1 -0
- package/dist/libs/contracts/dist/index.js +2 -1
- package/dist/libs/contracts/dist/integrations/contracts.js +65 -66
- package/dist/libs/contracts/dist/integrations/contracts.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +31 -32
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +18 -19
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +32 -33
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/models.js +60 -61
- package/dist/libs/contracts/dist/integrations/openbanking/models.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +2 -1
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/gmail.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/gmail.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/mistral.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/mistral.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/postmark.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/postmark.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/powens.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/powens.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/stripe.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/stripe.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/contracts.js +44 -45
- package/dist/libs/contracts/dist/knowledge/contracts.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js.map +1 -0
- package/dist/libs/contracts/dist/llm/exporters.js +2 -1
- package/dist/libs/contracts/dist/llm/exporters.js.map +1 -0
- package/dist/libs/contracts/dist/onboarding-base.js +22 -23
- package/dist/libs/contracts/dist/onboarding-base.js.map +1 -0
- package/dist/libs/contracts/dist/ownership.js +4 -2
- package/dist/libs/contracts/dist/ownership.js.map +1 -0
- package/dist/libs/contracts/dist/presentations.v2.js +2 -1
- package/dist/libs/contracts/dist/presentations.v2.js.map +1 -0
- package/dist/libs/contracts/dist/regenerator/service.js +2 -1
- package/dist/libs/contracts/dist/regenerator/service.js.map +1 -0
- package/dist/libs/contracts/dist/schema/dist/index.js +3873 -6
- package/dist/libs/contracts/dist/schema/dist/index.js.map +1 -0
- package/dist/libs/contracts/dist/spec.js +2 -1
- package/dist/libs/contracts/dist/spec.js.map +1 -0
- package/dist/libs/schema/dist/index.js +4889 -6
- package/dist/libs/schema/dist/index.js.map +1 -0
- package/dist/track-spec.d.ts +2 -1
- package/dist/track-spec.d.ts.map +1 -0
- package/package.json +7 -6
- package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/schema/dist/EnumType.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/FieldType.js +0 -49
- package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +0 -34
- package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/entity/index.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/entity/types.js +0 -1
- package/dist/libs/schema/dist/EnumType.js +0 -2
- package/dist/libs/schema/dist/FieldType.js +0 -49
- package/dist/libs/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/schema/dist/SchemaModel.js +0 -39
- package/dist/libs/schema/dist/entity/defineEntity.js +0 -236
- package/dist/libs/schema/dist/entity/index.js +0 -2
- package/dist/libs/schema/dist/entity/types.js +0 -1
|
@@ -1,169 +1,170 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _lssm_lib_schema1487 from "@lssm/lib.schema";
|
|
2
2
|
|
|
3
3
|
//#region src/entities/flashcard.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Card rating enum for SRS.
|
|
6
6
|
*/
|
|
7
|
-
declare const CardRatingEnum:
|
|
7
|
+
declare const CardRatingEnum: _lssm_lib_schema1487.EntityEnumDef;
|
|
8
8
|
/**
|
|
9
9
|
* Deck entity - collection of flashcards.
|
|
10
10
|
*/
|
|
11
|
-
declare const DeckEntity:
|
|
12
|
-
id:
|
|
13
|
-
ownerId:
|
|
14
|
-
title:
|
|
15
|
-
description:
|
|
16
|
-
category:
|
|
17
|
-
tags:
|
|
18
|
-
isPublic:
|
|
19
|
-
cardCount:
|
|
20
|
-
coverImageUrl:
|
|
21
|
-
orgId:
|
|
22
|
-
newCardsPerDay:
|
|
23
|
-
reviewsPerDay:
|
|
24
|
-
metadata:
|
|
25
|
-
createdAt:
|
|
26
|
-
updatedAt:
|
|
27
|
-
owner:
|
|
28
|
-
cards:
|
|
11
|
+
declare const DeckEntity: _lssm_lib_schema1487.EntitySpec<{
|
|
12
|
+
id: _lssm_lib_schema1487.EntityScalarField;
|
|
13
|
+
ownerId: _lssm_lib_schema1487.EntityScalarField;
|
|
14
|
+
title: _lssm_lib_schema1487.EntityScalarField;
|
|
15
|
+
description: _lssm_lib_schema1487.EntityScalarField;
|
|
16
|
+
category: _lssm_lib_schema1487.EntityScalarField;
|
|
17
|
+
tags: _lssm_lib_schema1487.EntityScalarField;
|
|
18
|
+
isPublic: _lssm_lib_schema1487.EntityScalarField;
|
|
19
|
+
cardCount: _lssm_lib_schema1487.EntityScalarField;
|
|
20
|
+
coverImageUrl: _lssm_lib_schema1487.EntityScalarField;
|
|
21
|
+
orgId: _lssm_lib_schema1487.EntityScalarField;
|
|
22
|
+
newCardsPerDay: _lssm_lib_schema1487.EntityScalarField;
|
|
23
|
+
reviewsPerDay: _lssm_lib_schema1487.EntityScalarField;
|
|
24
|
+
metadata: _lssm_lib_schema1487.EntityScalarField;
|
|
25
|
+
createdAt: _lssm_lib_schema1487.EntityScalarField;
|
|
26
|
+
updatedAt: _lssm_lib_schema1487.EntityScalarField;
|
|
27
|
+
owner: _lssm_lib_schema1487.EntityRelationField;
|
|
28
|
+
cards: _lssm_lib_schema1487.EntityRelationField;
|
|
29
29
|
}>;
|
|
30
30
|
/**
|
|
31
31
|
* Card entity - individual flashcard.
|
|
32
32
|
*/
|
|
33
|
-
declare const CardEntity:
|
|
34
|
-
id:
|
|
35
|
-
deckId:
|
|
36
|
-
front:
|
|
37
|
-
back:
|
|
38
|
-
hints:
|
|
39
|
-
explanation:
|
|
40
|
-
frontMediaUrl:
|
|
41
|
-
backMediaUrl:
|
|
42
|
-
audioUrl:
|
|
43
|
-
tags:
|
|
44
|
-
difficulty:
|
|
45
|
-
order:
|
|
46
|
-
isSuspended:
|
|
47
|
-
metadata:
|
|
48
|
-
createdAt:
|
|
49
|
-
updatedAt:
|
|
50
|
-
deck:
|
|
51
|
-
reviews:
|
|
52
|
-
schedules:
|
|
33
|
+
declare const CardEntity: _lssm_lib_schema1487.EntitySpec<{
|
|
34
|
+
id: _lssm_lib_schema1487.EntityScalarField;
|
|
35
|
+
deckId: _lssm_lib_schema1487.EntityScalarField;
|
|
36
|
+
front: _lssm_lib_schema1487.EntityScalarField;
|
|
37
|
+
back: _lssm_lib_schema1487.EntityScalarField;
|
|
38
|
+
hints: _lssm_lib_schema1487.EntityScalarField;
|
|
39
|
+
explanation: _lssm_lib_schema1487.EntityScalarField;
|
|
40
|
+
frontMediaUrl: _lssm_lib_schema1487.EntityScalarField;
|
|
41
|
+
backMediaUrl: _lssm_lib_schema1487.EntityScalarField;
|
|
42
|
+
audioUrl: _lssm_lib_schema1487.EntityScalarField;
|
|
43
|
+
tags: _lssm_lib_schema1487.EntityScalarField;
|
|
44
|
+
difficulty: _lssm_lib_schema1487.EntityScalarField;
|
|
45
|
+
order: _lssm_lib_schema1487.EntityScalarField;
|
|
46
|
+
isSuspended: _lssm_lib_schema1487.EntityScalarField;
|
|
47
|
+
metadata: _lssm_lib_schema1487.EntityScalarField;
|
|
48
|
+
createdAt: _lssm_lib_schema1487.EntityScalarField;
|
|
49
|
+
updatedAt: _lssm_lib_schema1487.EntityScalarField;
|
|
50
|
+
deck: _lssm_lib_schema1487.EntityRelationField;
|
|
51
|
+
reviews: _lssm_lib_schema1487.EntityRelationField;
|
|
52
|
+
schedules: _lssm_lib_schema1487.EntityRelationField;
|
|
53
53
|
}>;
|
|
54
54
|
/**
|
|
55
55
|
* CardReview entity - records individual reviews.
|
|
56
56
|
*/
|
|
57
|
-
declare const CardReviewEntity:
|
|
58
|
-
id:
|
|
59
|
-
learnerId:
|
|
60
|
-
cardId:
|
|
61
|
-
rating:
|
|
62
|
-
responseTimeMs:
|
|
63
|
-
intervalBefore:
|
|
64
|
-
easeFactorBefore:
|
|
65
|
-
intervalAfter:
|
|
66
|
-
easeFactorAfter:
|
|
67
|
-
reviewType:
|
|
68
|
-
reviewedAt:
|
|
69
|
-
createdAt:
|
|
70
|
-
learner:
|
|
71
|
-
card:
|
|
57
|
+
declare const CardReviewEntity: _lssm_lib_schema1487.EntitySpec<{
|
|
58
|
+
id: _lssm_lib_schema1487.EntityScalarField;
|
|
59
|
+
learnerId: _lssm_lib_schema1487.EntityScalarField;
|
|
60
|
+
cardId: _lssm_lib_schema1487.EntityScalarField;
|
|
61
|
+
rating: _lssm_lib_schema1487.EntityEnumField;
|
|
62
|
+
responseTimeMs: _lssm_lib_schema1487.EntityScalarField;
|
|
63
|
+
intervalBefore: _lssm_lib_schema1487.EntityScalarField;
|
|
64
|
+
easeFactorBefore: _lssm_lib_schema1487.EntityScalarField;
|
|
65
|
+
intervalAfter: _lssm_lib_schema1487.EntityScalarField;
|
|
66
|
+
easeFactorAfter: _lssm_lib_schema1487.EntityScalarField;
|
|
67
|
+
reviewType: _lssm_lib_schema1487.EntityScalarField;
|
|
68
|
+
reviewedAt: _lssm_lib_schema1487.EntityScalarField;
|
|
69
|
+
createdAt: _lssm_lib_schema1487.EntityScalarField;
|
|
70
|
+
learner: _lssm_lib_schema1487.EntityRelationField;
|
|
71
|
+
card: _lssm_lib_schema1487.EntityRelationField;
|
|
72
72
|
}>;
|
|
73
73
|
/**
|
|
74
74
|
* CardSchedule entity - SRS scheduling per learner/card.
|
|
75
75
|
*/
|
|
76
|
-
declare const CardScheduleEntity:
|
|
77
|
-
id:
|
|
78
|
-
learnerId:
|
|
79
|
-
cardId:
|
|
80
|
-
interval:
|
|
81
|
-
easeFactor:
|
|
82
|
-
repetitions:
|
|
83
|
-
nextReviewAt:
|
|
84
|
-
lastReviewAt:
|
|
85
|
-
learningStep:
|
|
86
|
-
isGraduated:
|
|
87
|
-
isRelearning:
|
|
88
|
-
lapses:
|
|
89
|
-
reviewCount:
|
|
90
|
-
createdAt:
|
|
91
|
-
updatedAt:
|
|
92
|
-
learner:
|
|
93
|
-
card:
|
|
76
|
+
declare const CardScheduleEntity: _lssm_lib_schema1487.EntitySpec<{
|
|
77
|
+
id: _lssm_lib_schema1487.EntityScalarField;
|
|
78
|
+
learnerId: _lssm_lib_schema1487.EntityScalarField;
|
|
79
|
+
cardId: _lssm_lib_schema1487.EntityScalarField;
|
|
80
|
+
interval: _lssm_lib_schema1487.EntityScalarField;
|
|
81
|
+
easeFactor: _lssm_lib_schema1487.EntityScalarField;
|
|
82
|
+
repetitions: _lssm_lib_schema1487.EntityScalarField;
|
|
83
|
+
nextReviewAt: _lssm_lib_schema1487.EntityScalarField;
|
|
84
|
+
lastReviewAt: _lssm_lib_schema1487.EntityScalarField;
|
|
85
|
+
learningStep: _lssm_lib_schema1487.EntityScalarField;
|
|
86
|
+
isGraduated: _lssm_lib_schema1487.EntityScalarField;
|
|
87
|
+
isRelearning: _lssm_lib_schema1487.EntityScalarField;
|
|
88
|
+
lapses: _lssm_lib_schema1487.EntityScalarField;
|
|
89
|
+
reviewCount: _lssm_lib_schema1487.EntityScalarField;
|
|
90
|
+
createdAt: _lssm_lib_schema1487.EntityScalarField;
|
|
91
|
+
updatedAt: _lssm_lib_schema1487.EntityScalarField;
|
|
92
|
+
learner: _lssm_lib_schema1487.EntityRelationField;
|
|
93
|
+
card: _lssm_lib_schema1487.EntityRelationField;
|
|
94
94
|
}>;
|
|
95
|
-
declare const flashcardEntities: (
|
|
96
|
-
id:
|
|
97
|
-
ownerId:
|
|
98
|
-
title:
|
|
99
|
-
description:
|
|
100
|
-
category:
|
|
101
|
-
tags:
|
|
102
|
-
isPublic:
|
|
103
|
-
cardCount:
|
|
104
|
-
coverImageUrl:
|
|
105
|
-
orgId:
|
|
106
|
-
newCardsPerDay:
|
|
107
|
-
reviewsPerDay:
|
|
108
|
-
metadata:
|
|
109
|
-
createdAt:
|
|
110
|
-
updatedAt:
|
|
111
|
-
owner:
|
|
112
|
-
cards:
|
|
113
|
-
}> |
|
|
114
|
-
id:
|
|
115
|
-
deckId:
|
|
116
|
-
front:
|
|
117
|
-
back:
|
|
118
|
-
hints:
|
|
119
|
-
explanation:
|
|
120
|
-
frontMediaUrl:
|
|
121
|
-
backMediaUrl:
|
|
122
|
-
audioUrl:
|
|
123
|
-
tags:
|
|
124
|
-
difficulty:
|
|
125
|
-
order:
|
|
126
|
-
isSuspended:
|
|
127
|
-
metadata:
|
|
128
|
-
createdAt:
|
|
129
|
-
updatedAt:
|
|
130
|
-
deck:
|
|
131
|
-
reviews:
|
|
132
|
-
schedules:
|
|
133
|
-
}> |
|
|
134
|
-
id:
|
|
135
|
-
learnerId:
|
|
136
|
-
cardId:
|
|
137
|
-
rating:
|
|
138
|
-
responseTimeMs:
|
|
139
|
-
intervalBefore:
|
|
140
|
-
easeFactorBefore:
|
|
141
|
-
intervalAfter:
|
|
142
|
-
easeFactorAfter:
|
|
143
|
-
reviewType:
|
|
144
|
-
reviewedAt:
|
|
145
|
-
createdAt:
|
|
146
|
-
learner:
|
|
147
|
-
card:
|
|
148
|
-
}> |
|
|
149
|
-
id:
|
|
150
|
-
learnerId:
|
|
151
|
-
cardId:
|
|
152
|
-
interval:
|
|
153
|
-
easeFactor:
|
|
154
|
-
repetitions:
|
|
155
|
-
nextReviewAt:
|
|
156
|
-
lastReviewAt:
|
|
157
|
-
learningStep:
|
|
158
|
-
isGraduated:
|
|
159
|
-
isRelearning:
|
|
160
|
-
lapses:
|
|
161
|
-
reviewCount:
|
|
162
|
-
createdAt:
|
|
163
|
-
updatedAt:
|
|
164
|
-
learner:
|
|
165
|
-
card:
|
|
95
|
+
declare const flashcardEntities: (_lssm_lib_schema1487.EntitySpec<{
|
|
96
|
+
id: _lssm_lib_schema1487.EntityScalarField;
|
|
97
|
+
ownerId: _lssm_lib_schema1487.EntityScalarField;
|
|
98
|
+
title: _lssm_lib_schema1487.EntityScalarField;
|
|
99
|
+
description: _lssm_lib_schema1487.EntityScalarField;
|
|
100
|
+
category: _lssm_lib_schema1487.EntityScalarField;
|
|
101
|
+
tags: _lssm_lib_schema1487.EntityScalarField;
|
|
102
|
+
isPublic: _lssm_lib_schema1487.EntityScalarField;
|
|
103
|
+
cardCount: _lssm_lib_schema1487.EntityScalarField;
|
|
104
|
+
coverImageUrl: _lssm_lib_schema1487.EntityScalarField;
|
|
105
|
+
orgId: _lssm_lib_schema1487.EntityScalarField;
|
|
106
|
+
newCardsPerDay: _lssm_lib_schema1487.EntityScalarField;
|
|
107
|
+
reviewsPerDay: _lssm_lib_schema1487.EntityScalarField;
|
|
108
|
+
metadata: _lssm_lib_schema1487.EntityScalarField;
|
|
109
|
+
createdAt: _lssm_lib_schema1487.EntityScalarField;
|
|
110
|
+
updatedAt: _lssm_lib_schema1487.EntityScalarField;
|
|
111
|
+
owner: _lssm_lib_schema1487.EntityRelationField;
|
|
112
|
+
cards: _lssm_lib_schema1487.EntityRelationField;
|
|
113
|
+
}> | _lssm_lib_schema1487.EntitySpec<{
|
|
114
|
+
id: _lssm_lib_schema1487.EntityScalarField;
|
|
115
|
+
deckId: _lssm_lib_schema1487.EntityScalarField;
|
|
116
|
+
front: _lssm_lib_schema1487.EntityScalarField;
|
|
117
|
+
back: _lssm_lib_schema1487.EntityScalarField;
|
|
118
|
+
hints: _lssm_lib_schema1487.EntityScalarField;
|
|
119
|
+
explanation: _lssm_lib_schema1487.EntityScalarField;
|
|
120
|
+
frontMediaUrl: _lssm_lib_schema1487.EntityScalarField;
|
|
121
|
+
backMediaUrl: _lssm_lib_schema1487.EntityScalarField;
|
|
122
|
+
audioUrl: _lssm_lib_schema1487.EntityScalarField;
|
|
123
|
+
tags: _lssm_lib_schema1487.EntityScalarField;
|
|
124
|
+
difficulty: _lssm_lib_schema1487.EntityScalarField;
|
|
125
|
+
order: _lssm_lib_schema1487.EntityScalarField;
|
|
126
|
+
isSuspended: _lssm_lib_schema1487.EntityScalarField;
|
|
127
|
+
metadata: _lssm_lib_schema1487.EntityScalarField;
|
|
128
|
+
createdAt: _lssm_lib_schema1487.EntityScalarField;
|
|
129
|
+
updatedAt: _lssm_lib_schema1487.EntityScalarField;
|
|
130
|
+
deck: _lssm_lib_schema1487.EntityRelationField;
|
|
131
|
+
reviews: _lssm_lib_schema1487.EntityRelationField;
|
|
132
|
+
schedules: _lssm_lib_schema1487.EntityRelationField;
|
|
133
|
+
}> | _lssm_lib_schema1487.EntitySpec<{
|
|
134
|
+
id: _lssm_lib_schema1487.EntityScalarField;
|
|
135
|
+
learnerId: _lssm_lib_schema1487.EntityScalarField;
|
|
136
|
+
cardId: _lssm_lib_schema1487.EntityScalarField;
|
|
137
|
+
rating: _lssm_lib_schema1487.EntityEnumField;
|
|
138
|
+
responseTimeMs: _lssm_lib_schema1487.EntityScalarField;
|
|
139
|
+
intervalBefore: _lssm_lib_schema1487.EntityScalarField;
|
|
140
|
+
easeFactorBefore: _lssm_lib_schema1487.EntityScalarField;
|
|
141
|
+
intervalAfter: _lssm_lib_schema1487.EntityScalarField;
|
|
142
|
+
easeFactorAfter: _lssm_lib_schema1487.EntityScalarField;
|
|
143
|
+
reviewType: _lssm_lib_schema1487.EntityScalarField;
|
|
144
|
+
reviewedAt: _lssm_lib_schema1487.EntityScalarField;
|
|
145
|
+
createdAt: _lssm_lib_schema1487.EntityScalarField;
|
|
146
|
+
learner: _lssm_lib_schema1487.EntityRelationField;
|
|
147
|
+
card: _lssm_lib_schema1487.EntityRelationField;
|
|
148
|
+
}> | _lssm_lib_schema1487.EntitySpec<{
|
|
149
|
+
id: _lssm_lib_schema1487.EntityScalarField;
|
|
150
|
+
learnerId: _lssm_lib_schema1487.EntityScalarField;
|
|
151
|
+
cardId: _lssm_lib_schema1487.EntityScalarField;
|
|
152
|
+
interval: _lssm_lib_schema1487.EntityScalarField;
|
|
153
|
+
easeFactor: _lssm_lib_schema1487.EntityScalarField;
|
|
154
|
+
repetitions: _lssm_lib_schema1487.EntityScalarField;
|
|
155
|
+
nextReviewAt: _lssm_lib_schema1487.EntityScalarField;
|
|
156
|
+
lastReviewAt: _lssm_lib_schema1487.EntityScalarField;
|
|
157
|
+
learningStep: _lssm_lib_schema1487.EntityScalarField;
|
|
158
|
+
isGraduated: _lssm_lib_schema1487.EntityScalarField;
|
|
159
|
+
isRelearning: _lssm_lib_schema1487.EntityScalarField;
|
|
160
|
+
lapses: _lssm_lib_schema1487.EntityScalarField;
|
|
161
|
+
reviewCount: _lssm_lib_schema1487.EntityScalarField;
|
|
162
|
+
createdAt: _lssm_lib_schema1487.EntityScalarField;
|
|
163
|
+
updatedAt: _lssm_lib_schema1487.EntityScalarField;
|
|
164
|
+
learner: _lssm_lib_schema1487.EntityRelationField;
|
|
165
|
+
card: _lssm_lib_schema1487.EntityRelationField;
|
|
166
166
|
}>)[];
|
|
167
|
-
declare const flashcardEnums:
|
|
167
|
+
declare const flashcardEnums: _lssm_lib_schema1487.EntityEnumDef[];
|
|
168
168
|
//#endregion
|
|
169
|
-
export { CardEntity, CardRatingEnum, CardReviewEntity, CardScheduleEntity, DeckEntity, flashcardEntities, flashcardEnums };
|
|
169
|
+
export { CardEntity, CardRatingEnum, CardReviewEntity, CardScheduleEntity, DeckEntity, flashcardEntities, flashcardEnums };
|
|
170
|
+
//# sourceMappingURL=flashcard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flashcard.d.ts","names":[],"sources":["../../src/entities/flashcard.ts"],"sourcesContent":[],"mappings":";;;;;;AAKa,cAAA,cAKX,EAAA,oBAAA,CALyB,aAKzB;AAKF;;;cAAa,iCAAU;MAwErB,oBAAA,CAAA;;;;;;;;;;;;;;mDAxEqB;EAAA,KAAA,0CAAA;EA6EV,KAAA,0CA+DX;CAAA,CAAA;;;;cA/DW,iCAAU;MA+DrB,oBAAA,CAAA;;;;;;;;;;;;;;mDA/DqB;EAAA,SAAA,wCAAA;EAoEV,IAAA,0CAmDX;EAAA,OAAA,0CAAA;;;;;;cAnDW,uCAAgB;MAmD3B,oBAAA,CAAA;;;;;;;uDAnD2B;EAAA,eAAA,wCAAA;EAwDhB,UAAA,wCAmEX;EAAA,UAAA,wCAAA;;;;;;;;cAnEW,yCAAkB;MAmE7B,oBAAA,CAAA;;;;;;;;sDAnE6B;EAAA,WAAA,wCAAA;EAqElB,YAAA,wCAKZ;EAAA,MAAA,wCAAA;;;;;;;cALY,yCAAiB;MAK7B,oBAAA,CAAA;;;;;;;;;+CAL6B;EAAA,cAAA,wCAAA;;;;;;;;MAAA,oBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOjB,MAAA,wCAAc;;;;;;;cAAd,gBAAiC,oBAAA,CAAnB,aAAA"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../libs/schema/dist/index.js";
|
|
1
|
+
import { L5, Z5, _5, b5 } from "../libs/schema/dist/index.js";
|
|
3
2
|
|
|
4
3
|
//#region src/entities/flashcard.ts
|
|
5
4
|
/**
|
|
6
5
|
* Card rating enum for SRS.
|
|
7
6
|
*/
|
|
8
|
-
const CardRatingEnum =
|
|
7
|
+
const CardRatingEnum = Z5({
|
|
9
8
|
name: "CardRating",
|
|
10
9
|
values: [
|
|
11
10
|
"AGAIN",
|
|
@@ -19,222 +18,222 @@ const CardRatingEnum = defineEntityEnum({
|
|
|
19
18
|
/**
|
|
20
19
|
* Deck entity - collection of flashcards.
|
|
21
20
|
*/
|
|
22
|
-
const DeckEntity =
|
|
21
|
+
const DeckEntity = L5({
|
|
23
22
|
name: "Deck",
|
|
24
23
|
description: "A collection of flashcards.",
|
|
25
24
|
schema: "lssm_learning",
|
|
26
25
|
map: "deck",
|
|
27
26
|
fields: {
|
|
28
|
-
id:
|
|
29
|
-
ownerId:
|
|
30
|
-
title:
|
|
31
|
-
description:
|
|
27
|
+
id: _5.id({ description: "Unique deck identifier" }),
|
|
28
|
+
ownerId: _5.foreignKey({ description: "Deck owner (learner)" }),
|
|
29
|
+
title: _5.string({ description: "Deck title" }),
|
|
30
|
+
description: _5.string({
|
|
32
31
|
isOptional: true,
|
|
33
32
|
description: "Deck description"
|
|
34
33
|
}),
|
|
35
|
-
category:
|
|
34
|
+
category: _5.string({
|
|
36
35
|
isOptional: true,
|
|
37
36
|
description: "Deck category"
|
|
38
37
|
}),
|
|
39
|
-
tags:
|
|
38
|
+
tags: _5.json({
|
|
40
39
|
isOptional: true,
|
|
41
40
|
description: "Tags for discovery"
|
|
42
41
|
}),
|
|
43
|
-
isPublic:
|
|
42
|
+
isPublic: _5.boolean({
|
|
44
43
|
default: false,
|
|
45
44
|
description: "Whether deck is publicly visible"
|
|
46
45
|
}),
|
|
47
|
-
cardCount:
|
|
46
|
+
cardCount: _5.int({
|
|
48
47
|
default: 0,
|
|
49
48
|
description: "Number of cards"
|
|
50
49
|
}),
|
|
51
|
-
coverImageUrl:
|
|
50
|
+
coverImageUrl: _5.string({
|
|
52
51
|
isOptional: true,
|
|
53
52
|
description: "Cover image URL"
|
|
54
53
|
}),
|
|
55
|
-
orgId:
|
|
54
|
+
orgId: _5.string({
|
|
56
55
|
isOptional: true,
|
|
57
56
|
description: "Organization scope"
|
|
58
57
|
}),
|
|
59
|
-
newCardsPerDay:
|
|
58
|
+
newCardsPerDay: _5.int({
|
|
60
59
|
default: 20,
|
|
61
60
|
description: "New cards to introduce per day"
|
|
62
61
|
}),
|
|
63
|
-
reviewsPerDay:
|
|
62
|
+
reviewsPerDay: _5.int({
|
|
64
63
|
default: 100,
|
|
65
64
|
description: "Maximum reviews per day"
|
|
66
65
|
}),
|
|
67
|
-
metadata:
|
|
66
|
+
metadata: _5.json({
|
|
68
67
|
isOptional: true,
|
|
69
68
|
description: "Additional metadata"
|
|
70
69
|
}),
|
|
71
|
-
createdAt:
|
|
72
|
-
updatedAt:
|
|
73
|
-
owner:
|
|
74
|
-
cards:
|
|
70
|
+
createdAt: _5.createdAt(),
|
|
71
|
+
updatedAt: _5.updatedAt(),
|
|
72
|
+
owner: _5.belongsTo("Learner", ["ownerId"], ["id"], { onDelete: "Cascade" }),
|
|
73
|
+
cards: _5.hasMany("Card")
|
|
75
74
|
},
|
|
76
75
|
indexes: [
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
b5.on(["ownerId"]),
|
|
77
|
+
b5.on(["isPublic", "category"]),
|
|
78
|
+
b5.on(["orgId"])
|
|
80
79
|
]
|
|
81
80
|
});
|
|
82
81
|
/**
|
|
83
82
|
* Card entity - individual flashcard.
|
|
84
83
|
*/
|
|
85
|
-
const CardEntity =
|
|
84
|
+
const CardEntity = L5({
|
|
86
85
|
name: "Card",
|
|
87
86
|
description: "An individual flashcard.",
|
|
88
87
|
schema: "lssm_learning",
|
|
89
88
|
map: "card",
|
|
90
89
|
fields: {
|
|
91
|
-
id:
|
|
92
|
-
deckId:
|
|
93
|
-
front:
|
|
94
|
-
back:
|
|
95
|
-
hints:
|
|
90
|
+
id: _5.id({ description: "Unique card identifier" }),
|
|
91
|
+
deckId: _5.foreignKey({ description: "Parent deck" }),
|
|
92
|
+
front: _5.string({ description: "Front of card (question)" }),
|
|
93
|
+
back: _5.string({ description: "Back of card (answer)" }),
|
|
94
|
+
hints: _5.json({
|
|
96
95
|
isOptional: true,
|
|
97
96
|
description: "Hints for the card"
|
|
98
97
|
}),
|
|
99
|
-
explanation:
|
|
98
|
+
explanation: _5.string({
|
|
100
99
|
isOptional: true,
|
|
101
100
|
description: "Detailed explanation"
|
|
102
101
|
}),
|
|
103
|
-
frontMediaUrl:
|
|
102
|
+
frontMediaUrl: _5.string({
|
|
104
103
|
isOptional: true,
|
|
105
104
|
description: "Media for front"
|
|
106
105
|
}),
|
|
107
|
-
backMediaUrl:
|
|
106
|
+
backMediaUrl: _5.string({
|
|
108
107
|
isOptional: true,
|
|
109
108
|
description: "Media for back"
|
|
110
109
|
}),
|
|
111
|
-
audioUrl:
|
|
110
|
+
audioUrl: _5.string({
|
|
112
111
|
isOptional: true,
|
|
113
112
|
description: "Audio pronunciation"
|
|
114
113
|
}),
|
|
115
|
-
tags:
|
|
114
|
+
tags: _5.json({
|
|
116
115
|
isOptional: true,
|
|
117
116
|
description: "Card tags"
|
|
118
117
|
}),
|
|
119
|
-
difficulty:
|
|
118
|
+
difficulty: _5.int({
|
|
120
119
|
default: 0,
|
|
121
120
|
description: "Card difficulty (0-5)"
|
|
122
121
|
}),
|
|
123
|
-
order:
|
|
122
|
+
order: _5.int({
|
|
124
123
|
default: 0,
|
|
125
124
|
description: "Card order in deck"
|
|
126
125
|
}),
|
|
127
|
-
isSuspended:
|
|
126
|
+
isSuspended: _5.boolean({
|
|
128
127
|
default: false,
|
|
129
128
|
description: "Whether card is suspended"
|
|
130
129
|
}),
|
|
131
|
-
metadata:
|
|
130
|
+
metadata: _5.json({
|
|
132
131
|
isOptional: true,
|
|
133
132
|
description: "Additional metadata"
|
|
134
133
|
}),
|
|
135
|
-
createdAt:
|
|
136
|
-
updatedAt:
|
|
137
|
-
deck:
|
|
138
|
-
reviews:
|
|
139
|
-
schedules:
|
|
134
|
+
createdAt: _5.createdAt(),
|
|
135
|
+
updatedAt: _5.updatedAt(),
|
|
136
|
+
deck: _5.belongsTo("Deck", ["deckId"], ["id"], { onDelete: "Cascade" }),
|
|
137
|
+
reviews: _5.hasMany("CardReview"),
|
|
138
|
+
schedules: _5.hasMany("CardSchedule")
|
|
140
139
|
},
|
|
141
|
-
indexes: [
|
|
140
|
+
indexes: [b5.on(["deckId", "order"]), b5.on(["isSuspended"])]
|
|
142
141
|
});
|
|
143
142
|
/**
|
|
144
143
|
* CardReview entity - records individual reviews.
|
|
145
144
|
*/
|
|
146
|
-
const CardReviewEntity =
|
|
145
|
+
const CardReviewEntity = L5({
|
|
147
146
|
name: "CardReview",
|
|
148
147
|
description: "A single review of a flashcard.",
|
|
149
148
|
schema: "lssm_learning",
|
|
150
149
|
map: "card_review",
|
|
151
150
|
fields: {
|
|
152
|
-
id:
|
|
153
|
-
learnerId:
|
|
154
|
-
cardId:
|
|
155
|
-
rating:
|
|
156
|
-
responseTimeMs:
|
|
151
|
+
id: _5.id({ description: "Unique review identifier" }),
|
|
152
|
+
learnerId: _5.foreignKey({ description: "Reviewer" }),
|
|
153
|
+
cardId: _5.foreignKey({ description: "Reviewed card" }),
|
|
154
|
+
rating: _5.enum("CardRating", { description: "Review rating" }),
|
|
155
|
+
responseTimeMs: _5.int({
|
|
157
156
|
isOptional: true,
|
|
158
157
|
description: "Time to respond in ms"
|
|
159
158
|
}),
|
|
160
|
-
intervalBefore:
|
|
161
|
-
easeFactorBefore:
|
|
162
|
-
intervalAfter:
|
|
163
|
-
easeFactorAfter:
|
|
164
|
-
reviewType:
|
|
159
|
+
intervalBefore: _5.int({ description: "Interval before review (days)" }),
|
|
160
|
+
easeFactorBefore: _5.decimal({ description: "Ease factor before review" }),
|
|
161
|
+
intervalAfter: _5.int({ description: "Interval after review (days)" }),
|
|
162
|
+
easeFactorAfter: _5.decimal({ description: "Ease factor after review" }),
|
|
163
|
+
reviewType: _5.string({
|
|
165
164
|
default: "\"review\"",
|
|
166
165
|
description: "Type: new, learning, review, relearning"
|
|
167
166
|
}),
|
|
168
|
-
reviewedAt:
|
|
169
|
-
createdAt:
|
|
170
|
-
learner:
|
|
171
|
-
card:
|
|
167
|
+
reviewedAt: _5.dateTime({ description: "When reviewed" }),
|
|
168
|
+
createdAt: _5.createdAt(),
|
|
169
|
+
learner: _5.belongsTo("Learner", ["learnerId"], ["id"], { onDelete: "Cascade" }),
|
|
170
|
+
card: _5.belongsTo("Card", ["cardId"], ["id"], { onDelete: "Cascade" })
|
|
172
171
|
},
|
|
173
172
|
indexes: [
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
173
|
+
b5.on(["learnerId", "reviewedAt"]),
|
|
174
|
+
b5.on(["cardId", "reviewedAt"]),
|
|
175
|
+
b5.on(["rating"])
|
|
177
176
|
],
|
|
178
177
|
enums: [CardRatingEnum]
|
|
179
178
|
});
|
|
180
179
|
/**
|
|
181
180
|
* CardSchedule entity - SRS scheduling per learner/card.
|
|
182
181
|
*/
|
|
183
|
-
const CardScheduleEntity =
|
|
182
|
+
const CardScheduleEntity = L5({
|
|
184
183
|
name: "CardSchedule",
|
|
185
184
|
description: "SRS schedule for a learner/card pair.",
|
|
186
185
|
schema: "lssm_learning",
|
|
187
186
|
map: "card_schedule",
|
|
188
187
|
fields: {
|
|
189
|
-
id:
|
|
190
|
-
learnerId:
|
|
191
|
-
cardId:
|
|
192
|
-
interval:
|
|
188
|
+
id: _5.id({ description: "Unique schedule identifier" }),
|
|
189
|
+
learnerId: _5.foreignKey({ description: "Learner" }),
|
|
190
|
+
cardId: _5.foreignKey({ description: "Card" }),
|
|
191
|
+
interval: _5.int({
|
|
193
192
|
default: 0,
|
|
194
193
|
description: "Current interval in days"
|
|
195
194
|
}),
|
|
196
|
-
easeFactor:
|
|
195
|
+
easeFactor: _5.decimal({
|
|
197
196
|
default: 2.5,
|
|
198
197
|
description: "Ease factor (SM-2)"
|
|
199
198
|
}),
|
|
200
|
-
repetitions:
|
|
199
|
+
repetitions: _5.int({
|
|
201
200
|
default: 0,
|
|
202
201
|
description: "Number of successful repetitions"
|
|
203
202
|
}),
|
|
204
|
-
nextReviewAt:
|
|
205
|
-
lastReviewAt:
|
|
203
|
+
nextReviewAt: _5.dateTime({ description: "When next review is due" }),
|
|
204
|
+
lastReviewAt: _5.dateTime({
|
|
206
205
|
isOptional: true,
|
|
207
206
|
description: "When last reviewed"
|
|
208
207
|
}),
|
|
209
|
-
learningStep:
|
|
208
|
+
learningStep: _5.int({
|
|
210
209
|
default: 0,
|
|
211
210
|
description: "Current learning step"
|
|
212
211
|
}),
|
|
213
|
-
isGraduated:
|
|
212
|
+
isGraduated: _5.boolean({
|
|
214
213
|
default: false,
|
|
215
214
|
description: "Whether card has graduated"
|
|
216
215
|
}),
|
|
217
|
-
isRelearning:
|
|
216
|
+
isRelearning: _5.boolean({
|
|
218
217
|
default: false,
|
|
219
218
|
description: "Whether card is being relearned"
|
|
220
219
|
}),
|
|
221
|
-
lapses:
|
|
220
|
+
lapses: _5.int({
|
|
222
221
|
default: 0,
|
|
223
222
|
description: "Number of times card was forgotten"
|
|
224
223
|
}),
|
|
225
|
-
reviewCount:
|
|
224
|
+
reviewCount: _5.int({
|
|
226
225
|
default: 0,
|
|
227
226
|
description: "Total review count"
|
|
228
227
|
}),
|
|
229
|
-
createdAt:
|
|
230
|
-
updatedAt:
|
|
231
|
-
learner:
|
|
232
|
-
card:
|
|
228
|
+
createdAt: _5.createdAt(),
|
|
229
|
+
updatedAt: _5.updatedAt(),
|
|
230
|
+
learner: _5.belongsTo("Learner", ["learnerId"], ["id"], { onDelete: "Cascade" }),
|
|
231
|
+
card: _5.belongsTo("Card", ["cardId"], ["id"], { onDelete: "Cascade" })
|
|
233
232
|
},
|
|
234
233
|
indexes: [
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
234
|
+
b5.unique(["learnerId", "cardId"], { name: "card_schedule_unique" }),
|
|
235
|
+
b5.on(["learnerId", "nextReviewAt"]),
|
|
236
|
+
b5.on(["nextReviewAt"])
|
|
238
237
|
]
|
|
239
238
|
});
|
|
240
239
|
const flashcardEntities = [
|
|
@@ -246,4 +245,5 @@ const flashcardEntities = [
|
|
|
246
245
|
const flashcardEnums = [CardRatingEnum];
|
|
247
246
|
|
|
248
247
|
//#endregion
|
|
249
|
-
export { CardEntity, CardRatingEnum, CardReviewEntity, CardScheduleEntity, DeckEntity, flashcardEntities, flashcardEnums };
|
|
248
|
+
export { CardEntity, CardRatingEnum, CardReviewEntity, CardScheduleEntity, DeckEntity, flashcardEntities, flashcardEnums };
|
|
249
|
+
//# sourceMappingURL=flashcard.js.map
|