@speakableio/core 0.1.100 → 0.1.101

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.
@@ -0,0 +1,32 @@
1
+ declare enum AssignmentAnalyticsType {
2
+ Macro = "macro",
3
+ Gradebook = "gradebook",
4
+ Cards = "cards",
5
+ Student = "student",
6
+ StudentSummary = "student_summary",
7
+ All = "all"
8
+ }
9
+ declare const ASSIGNMENT_ANALYTICS_TYPES: AssignmentAnalyticsType[];
10
+ declare const ASSIGNMENTS_COLLECTION = "assignments";
11
+ declare const ANALYTICS_SUBCOLLECTION = "analytics";
12
+ declare const SCORES_SUBCOLLECTION = "scores";
13
+ type RefsAssignmentFiresotre = `${typeof ASSIGNMENTS_COLLECTION}/${string}${`/${typeof ANALYTICS_SUBCOLLECTION}/${string}` | `/${typeof SCORES_SUBCOLLECTION}/${string}` | ''}`;
14
+ declare const refsAssignmentFiresotre: {
15
+ allAssignments: () => string;
16
+ assignment: (params: {
17
+ id: string;
18
+ }) => `assignments/${string}`;
19
+ assignmentAllAnalytics: (params: {
20
+ id: string;
21
+ }) => `assignments/${string}/analytics`;
22
+ assignmentAnalytics: (params: {
23
+ id: string;
24
+ type: string;
25
+ }) => `assignments/${string}/analytics/${string}`;
26
+ assignmentScores: (params: {
27
+ id: string;
28
+ userId: string;
29
+ }) => `assignments/${string}/scores/${string}`;
30
+ };
31
+
32
+ export { AssignmentAnalyticsType as A, type RefsAssignmentFiresotre as R, ASSIGNMENT_ANALYTICS_TYPES as a, refsAssignmentFiresotre as r };
@@ -0,0 +1,299 @@
1
+ import { FirebaseFirestoreTypes, Timestamp } from '@react-native-firebase/firestore';
2
+ import { Firestore, getDoc, getDocs, addDoc, setDoc, updateDoc, deleteDoc, runTransaction, writeBatch, doc, collection, query, serverTimestamp, orderBy, limit, startAt, startAfter, endAt, endBefore, where, increment, Timestamp as Timestamp$1 } from 'firebase/firestore';
3
+ import { V as VerificationCardStatus } from './card.constants-DhKFipX3.mjs';
4
+
5
+ interface PageActivityWithId extends PageActivity {
6
+ id: string;
7
+ }
8
+ interface PageActivity {
9
+ owners: string[];
10
+ checked?: boolean;
11
+ completed?: boolean;
12
+ media_area_id?: string | null;
13
+ media_area_layout?: 'left' | 'right' | null;
14
+ score?: number;
15
+ verificationStatus?: VerificationCardStatus;
16
+ native_text?: string;
17
+ repeat?: number;
18
+ language?: string | null;
19
+ image?: {
20
+ path?: string | null;
21
+ url?: string;
22
+ };
23
+ audio?: {
24
+ path?: string | null;
25
+ url?: string;
26
+ } | null;
27
+ notes?: string;
28
+ difficulty?: string;
29
+ default_language?: string;
30
+ target_text?: string;
31
+ type: ActivityPageType;
32
+ grading_criteria?: string;
33
+ scoring_type?: string;
34
+ grading_method?: 'simple' | 'rubric' | 'manual' | 'standards_based';
35
+ feedback_types?: string[];
36
+ rubricId?: string;
37
+ prompt?: string;
38
+ title?: string;
39
+ passing_score?: number;
40
+ maxCharacters?: number;
41
+ answer?: string[];
42
+ choices?: {
43
+ value: string;
44
+ option: string;
45
+ }[];
46
+ MCQType?: string;
47
+ multipleAttemptsAllowed?: boolean;
48
+ allowRetries?: boolean;
49
+ question?: string;
50
+ respondTime?: number;
51
+ hidePrompt?: boolean;
52
+ videoUrl?: string;
53
+ link?: string;
54
+ text?: string;
55
+ isListenAloud?: boolean;
56
+ embedCode?: string;
57
+ attempt?: number;
58
+ correct?: number;
59
+ autoGrade?: boolean;
60
+ points?: number;
61
+ shuffle?: boolean;
62
+ translation?: string;
63
+ includeAIContext?: boolean;
64
+ media_area_context_ref?: string | null;
65
+ standardId?: string;
66
+ target_proficiency_level?: string;
67
+ allowTTS?: boolean;
68
+ feedback_language?: string | null;
69
+ correct_answer?: string | null;
70
+ limit_attempts?: boolean;
71
+ max_attempts?: number;
72
+ rich_text?: string;
73
+ }
74
+ declare enum ActivityPageType {
75
+ READ_REPEAT = "READ_REPEAT",
76
+ VIDEO = "VIDEO",
77
+ TEXT = "TEXT",
78
+ READ_RESPOND = "READ_RESPOND",
79
+ FREE_RESPONSE = "FREE_RESPONSE",
80
+ REPEAT = "REPEAT",
81
+ RESPOND = "RESPOND",
82
+ RESPOND_WRITE = "RESPOND_WRITE",
83
+ TEXT_TO_SPEECH = "TEXT_TO_SPEECH",
84
+ MULTIPLE_CHOICE = "MULTIPLE_CHOICE",
85
+ PODCAST = "PODCAST",
86
+ MEDIA_PAGE = "MEDIA_PAGE",
87
+ WRITE = "WRITE",
88
+ SHORT_ANSWER = "SHORT_ANSWER",
89
+ SHORT_STORY = "SHORT_STORY",
90
+ SPEAK = "SPEAK",
91
+ CONVERSATION = "CONVERSATION",
92
+ CONVERSATION_WRITE = "CONVERSATION_WRITE",
93
+ DIALOGUE = "DIALOGUE",
94
+ INSTRUCTION = "INSTRUCTION",
95
+ LISTEN = "LISTEN",
96
+ READ = "READ",
97
+ ANSWER = "ANSWER"
98
+ }
99
+ declare const RESPOND_PAGE_ACTIVITY_TYPES: ActivityPageType[];
100
+ declare const MULTIPLE_CHOICE_PAGE_ACTIVITY_TYPES: ActivityPageType[];
101
+ declare const REPEAT_PAGE_ACTIVITY_TYPES: ActivityPageType[];
102
+ declare const RESPOND_WRITE_PAGE_ACTIVITY_TYPES: ActivityPageType[];
103
+ declare const RESPOND_AUDIO_PAGE_ACTIVITY_TYPES: ActivityPageType[];
104
+
105
+ type FirebaseInstance = FirebaseFirestoreTypes.Module | Firestore;
106
+ interface FirestoreHelpers {
107
+ getDoc: typeof getDoc;
108
+ getDocs: typeof getDocs;
109
+ addDoc: typeof addDoc;
110
+ setDoc: typeof setDoc;
111
+ updateDoc: typeof updateDoc;
112
+ deleteDoc: typeof deleteDoc;
113
+ runTransaction: typeof runTransaction;
114
+ writeBatch: typeof writeBatch;
115
+ doc: typeof doc;
116
+ collection: typeof collection;
117
+ query: typeof query;
118
+ serverTimestamp: typeof serverTimestamp;
119
+ orderBy: typeof orderBy;
120
+ limit: typeof limit;
121
+ startAt: typeof startAt;
122
+ startAfter: typeof startAfter;
123
+ endAt: typeof endAt;
124
+ endBefore: typeof endBefore;
125
+ where: typeof where;
126
+ increment: typeof increment;
127
+ }
128
+ type CustomTimestamp = Timestamp | Timestamp$1;
129
+ type CallableFunction<T = any, R = any> = (data: T) => Promise<R>;
130
+
131
+ interface Assignment {
132
+ name: string;
133
+ description: string;
134
+ scheduledTime?: string | null;
135
+ dueTime?: {
136
+ hours: number;
137
+ minutes: number;
138
+ nanos: number;
139
+ };
140
+ speakableio: boolean;
141
+ owners: string[];
142
+ image: {
143
+ path: string | null;
144
+ url: string;
145
+ };
146
+ dueDate: {
147
+ day: number;
148
+ month: number;
149
+ year: number;
150
+ };
151
+ teacherName: string;
152
+ courseWorkId: string | null;
153
+ dueDateTimestamp: CustomTimestamp;
154
+ scheduledTimeTimestamp: number;
155
+ active: boolean;
156
+ voice: string | null;
157
+ setId: string;
158
+ dateMade: {
159
+ seconds: number;
160
+ nanoseconds: number;
161
+ };
162
+ maxPoints: number;
163
+ courseId: string;
164
+ isAssessment: boolean;
165
+ isAvailable: boolean;
166
+ ltiDeeplink?: string;
167
+ content?: string[];
168
+ weights?: Record<string, number>;
169
+ language?: string;
170
+ types?: {
171
+ [key in ActivityPageType]?: number;
172
+ };
173
+ aiEnabled?: boolean;
174
+ chat_experience?: boolean;
175
+ }
176
+ interface AssignmentWithId extends Assignment {
177
+ id: string;
178
+ isAvailable: boolean;
179
+ scores?: unknown;
180
+ }
181
+ interface Score {
182
+ userId: string;
183
+ owners: string[];
184
+ progress: number;
185
+ score: number;
186
+ cards?: {
187
+ [cardId: string]: PageScore;
188
+ };
189
+ courseId?: string;
190
+ firstLoad?: boolean;
191
+ googleClassroomUserId?: string;
192
+ skippedCards?: number;
193
+ lastPlayed?: CustomTimestamp;
194
+ startDate?: CustomTimestamp;
195
+ submissionDate?: CustomTimestamp;
196
+ status?: 'SUBMITTED' | 'PENDING_REVIEW' | 'IN_PROGRESS' | 'FINALIZED';
197
+ submitted?: boolean;
198
+ successfulCards?: number;
199
+ total_voiceSuccess?: number;
200
+ total_voice_attempts?: number;
201
+ total_words_spoken?: number;
202
+ history?: PageScore[];
203
+ attempts?: number;
204
+ assignmentId?: string;
205
+ setId?: string;
206
+ }
207
+ interface ScoreWithId extends Score {
208
+ id: string;
209
+ }
210
+ interface PageScore {
211
+ voiceSuccess?: number;
212
+ voiceAttempts?: number;
213
+ voiceFail?: number;
214
+ completed?: boolean;
215
+ attempts?: number;
216
+ correct?: number;
217
+ success?: boolean;
218
+ aiSuccess?: boolean;
219
+ grading_method?: 'simple' | 'rubric' | 'manual' | 'standards_based' | null;
220
+ grammar_insights?: {
221
+ type?: string;
222
+ justification?: string;
223
+ error?: boolean;
224
+ correction?: string;
225
+ }[];
226
+ promptSuccess?: boolean;
227
+ score?: number;
228
+ simple_grading?: {
229
+ justification?: string;
230
+ success?: boolean;
231
+ };
232
+ suggested_response?: string;
233
+ summary?: string;
234
+ transcript?: string | null;
235
+ errors?: any;
236
+ improvedResponse?: string;
237
+ audio?: string | null;
238
+ actfl?: {
239
+ justification: string;
240
+ level: string;
241
+ };
242
+ wida?: {
243
+ justification: string;
244
+ level: string;
245
+ };
246
+ earned_points?: number;
247
+ fileName?: string | null;
248
+ max_points?: number;
249
+ passing_score?: number;
250
+ rubric?: {
251
+ description: string;
252
+ justification: string;
253
+ maxPoints: number;
254
+ score: number;
255
+ score_title: string;
256
+ title: string;
257
+ }[] | null;
258
+ scoring_type?: string;
259
+ history?: PageScore[];
260
+ media_area_opened?: boolean;
261
+ noFeedbackAvailable?: boolean;
262
+ proficiency_level?: {
263
+ standardId: string;
264
+ level: string;
265
+ justification: string;
266
+ key_indicators?: string[];
267
+ };
268
+ status?: string | null;
269
+ transcriptError?: boolean;
270
+ feedbackError?: boolean;
271
+ totalTrys?: {
272
+ markedCorrect?: boolean;
273
+ selectedOption?: string | string[];
274
+ attemptedAt?: CustomTimestamp;
275
+ messageAttemptId?: string;
276
+ }[];
277
+ tryAgain?: boolean;
278
+ updatedAt?: CustomTimestamp;
279
+ messageAttemptId?: string;
280
+ unmetCriteria?: {
281
+ criterion: string;
282
+ suggestion: string;
283
+ explanation: string;
284
+ }[];
285
+ meetsCriteria?: boolean;
286
+ actionableSteps?: string[];
287
+ rubric_results?: {
288
+ title: string;
289
+ score: number;
290
+ score_title: string;
291
+ justification: string;
292
+ maxPoints: number;
293
+ description: string;
294
+ }[];
295
+ target_proficiency_level?: string;
296
+ hint?: string[];
297
+ }
298
+
299
+ export { type AssignmentWithId as A, type CallableFunction as C, type FirebaseInstance as F, MULTIPLE_CHOICE_PAGE_ACTIVITY_TYPES as M, type PageActivity as P, RESPOND_PAGE_ACTIVITY_TYPES as R, type ScoreWithId as S, type FirestoreHelpers as a, type CustomTimestamp as b, ActivityPageType as c, type PageActivityWithId as d, type Score as e, type PageScore as f, type Assignment as g, REPEAT_PAGE_ACTIVITY_TYPES as h, RESPOND_WRITE_PAGE_ACTIVITY_TYPES as i, RESPOND_AUDIO_PAGE_ACTIVITY_TYPES as j };
@@ -0,0 +1,54 @@
1
+ declare enum FeedbackTypesCard {
2
+ SuggestedResponse = "suggested_response",
3
+ Wida = "wida",
4
+ GrammarInsights = "grammar_insights",
5
+ Actfl = "actfl",
6
+ ProficiencyLevel = "proficiency_level"
7
+ }
8
+ declare enum LeniencyCard {
9
+ CONFIDENCE = "confidence",
10
+ EASY = "easy",
11
+ NORMAL = "normal",
12
+ HARD = "hard"
13
+ }
14
+ declare const LENIENCY_OPTIONS: {
15
+ label: string;
16
+ value: LeniencyCard;
17
+ }[];
18
+ declare const STUDENT_LEVELS_OPTIONS: {
19
+ label: string;
20
+ description: string;
21
+ value: string;
22
+ }[];
23
+ declare const BASE_RESPOND_FIELD_VALUES: {
24
+ title: string;
25
+ allowRetries: boolean;
26
+ respondTime: number;
27
+ maxCharacters: number;
28
+ };
29
+ declare const BASE_REPEAT_FIELD_VALUES: {
30
+ repeat: number;
31
+ };
32
+ declare const BASE_MULTIPLE_CHOICE_FIELD_VALUES: {
33
+ MCQType: string;
34
+ answer: string[];
35
+ choices: {
36
+ option: string;
37
+ value: string;
38
+ }[];
39
+ };
40
+ declare enum VerificationCardStatus {
41
+ VERIFIED = "VERIFIED",
42
+ WARNING = "WARNING",
43
+ NOT_RECOMMENDED = "NOT_RECOMMENDED",
44
+ NOT_WORKING = "NOT_WORKING",
45
+ NOT_CHECKED = "NOT_CHECKED"
46
+ }
47
+ declare const CARDS_COLLECTION = "flashcards";
48
+ type RefsCardsFiresotre = `${typeof CARDS_COLLECTION}/${string}`;
49
+ declare const refsCardsFiresotre: {
50
+ allCards: string;
51
+ card: (id: string) => `flashcards/${string}`;
52
+ };
53
+
54
+ export { BASE_RESPOND_FIELD_VALUES as B, FeedbackTypesCard as F, LeniencyCard as L, type RefsCardsFiresotre as R, STUDENT_LEVELS_OPTIONS as S, VerificationCardStatus as V, LENIENCY_OPTIONS as a, BASE_REPEAT_FIELD_VALUES as b, BASE_MULTIPLE_CHOICE_FIELD_VALUES as c, refsCardsFiresotre as r };
@@ -0,0 +1,26 @@
1
+ export { a as ASSIGNMENT_ANALYTICS_TYPES, A as AssignmentAnalyticsType, R as RefsAssignmentFiresotre, r as refsAssignmentFiresotre } from './assignment.constants-BIKM6fYi.mjs';
2
+ export { c as BASE_MULTIPLE_CHOICE_FIELD_VALUES, b as BASE_REPEAT_FIELD_VALUES, B as BASE_RESPOND_FIELD_VALUES, F as FeedbackTypesCard, a as LENIENCY_OPTIONS, L as LeniencyCard, R as RefsCardsFiresotre, S as STUDENT_LEVELS_OPTIONS, V as VerificationCardStatus, r as refsCardsFiresotre } from './card.constants-DhKFipX3.mjs';
3
+ export { S as SPEAKABLE_NOTIFICATIONS, a as SpeakableNotificationType, b as SpeakableNotificationTypes } from './notification.constants-B72fb734.mjs';
4
+
5
+ declare const SCORES_PRACTICE_COLLECTION = "users";
6
+ declare const SCORES_PRACTICE_SUBCOLLECTION = "practice";
7
+ declare const refsScoresPractice: {
8
+ practiceScores: (params: {
9
+ userId: string;
10
+ setId: string;
11
+ }) => `users/${string}/practice/${string}`;
12
+ practiceScoreHistoryRefDoc: (params: {
13
+ userId: string;
14
+ setId: string;
15
+ date: string;
16
+ }) => `users/${string}/practice/${string}/attempts/${string}`;
17
+ };
18
+
19
+ declare const SETS_COLLECTION = "sets";
20
+ type RefsSetsFirestore = `${typeof SETS_COLLECTION}/${string}`;
21
+ declare const refsSetsFirestore: {
22
+ allSets: string;
23
+ set: (id: string) => `sets/${string}`;
24
+ };
25
+
26
+ export { type RefsSetsFirestore, SCORES_PRACTICE_COLLECTION, SCORES_PRACTICE_SUBCOLLECTION, refsScoresPractice, refsSetsFirestore };
package/dist/const.js ADDED
@@ -0,0 +1,185 @@
1
+ // src/domains/assignment/assignment.constants.ts
2
+ var AssignmentAnalyticsType = /* @__PURE__ */ ((AssignmentAnalyticsType2) => {
3
+ AssignmentAnalyticsType2["Macro"] = "macro";
4
+ AssignmentAnalyticsType2["Gradebook"] = "gradebook";
5
+ AssignmentAnalyticsType2["Cards"] = "cards";
6
+ AssignmentAnalyticsType2["Student"] = "student";
7
+ AssignmentAnalyticsType2["StudentSummary"] = "student_summary";
8
+ AssignmentAnalyticsType2["All"] = "all";
9
+ return AssignmentAnalyticsType2;
10
+ })(AssignmentAnalyticsType || {});
11
+ var ASSIGNMENT_ANALYTICS_TYPES = [
12
+ "macro" /* Macro */,
13
+ "gradebook" /* Gradebook */,
14
+ "cards" /* Cards */,
15
+ "student" /* Student */,
16
+ "student_summary" /* StudentSummary */
17
+ ];
18
+ var ASSIGNMENTS_COLLECTION = "assignments";
19
+ var ANALYTICS_SUBCOLLECTION = "analytics";
20
+ var SCORES_SUBCOLLECTION = "scores";
21
+ var refsAssignmentFiresotre = {
22
+ allAssignments: () => ASSIGNMENTS_COLLECTION,
23
+ assignment: (params) => `${ASSIGNMENTS_COLLECTION}/${params.id}`,
24
+ assignmentAllAnalytics: (params) => `${ASSIGNMENTS_COLLECTION}/${params.id}/${ANALYTICS_SUBCOLLECTION}`,
25
+ assignmentAnalytics: (params) => `${ASSIGNMENTS_COLLECTION}/${params.id}/${ANALYTICS_SUBCOLLECTION}/${params.type}`,
26
+ assignmentScores: (params) => `${ASSIGNMENTS_COLLECTION}/${params.id}/${SCORES_SUBCOLLECTION}/${params.userId}`
27
+ };
28
+
29
+ // src/domains/assignment/score-practice.constants.ts
30
+ var SCORES_PRACTICE_COLLECTION = "users";
31
+ var SCORES_PRACTICE_SUBCOLLECTION = "practice";
32
+ var refsScoresPractice = {
33
+ practiceScores: (params) => `${SCORES_PRACTICE_COLLECTION}/${params.userId}/${SCORES_PRACTICE_SUBCOLLECTION}/${params.setId}`,
34
+ practiceScoreHistoryRefDoc: (params) => `${SCORES_PRACTICE_COLLECTION}/${params.userId}/${SCORES_PRACTICE_SUBCOLLECTION}/${params.setId}/attempts/${params.date}`
35
+ };
36
+
37
+ // src/domains/cards/card.constants.ts
38
+ var FeedbackTypesCard = /* @__PURE__ */ ((FeedbackTypesCard2) => {
39
+ FeedbackTypesCard2["SuggestedResponse"] = "suggested_response";
40
+ FeedbackTypesCard2["Wida"] = "wida";
41
+ FeedbackTypesCard2["GrammarInsights"] = "grammar_insights";
42
+ FeedbackTypesCard2["Actfl"] = "actfl";
43
+ FeedbackTypesCard2["ProficiencyLevel"] = "proficiency_level";
44
+ return FeedbackTypesCard2;
45
+ })(FeedbackTypesCard || {});
46
+ var LeniencyCard = /* @__PURE__ */ ((LeniencyCard2) => {
47
+ LeniencyCard2["CONFIDENCE"] = "confidence";
48
+ LeniencyCard2["EASY"] = "easy";
49
+ LeniencyCard2["NORMAL"] = "normal";
50
+ LeniencyCard2["HARD"] = "hard";
51
+ return LeniencyCard2;
52
+ })(LeniencyCard || {});
53
+ var LENIENCY_OPTIONS = [
54
+ {
55
+ label: "Build Confidence - most lenient",
56
+ value: "confidence" /* CONFIDENCE */
57
+ },
58
+ {
59
+ label: "Very Lenient",
60
+ value: "easy" /* EASY */
61
+ },
62
+ {
63
+ label: "Normal",
64
+ value: "normal" /* NORMAL */
65
+ },
66
+ {
67
+ label: "No leniency - most strict",
68
+ value: "hard" /* HARD */
69
+ }
70
+ ];
71
+ var STUDENT_LEVELS_OPTIONS = [
72
+ {
73
+ label: "Beginner",
74
+ description: "Beginner Level: Just starting out. Can say a few basic words and phrases.",
75
+ value: "beginner"
76
+ },
77
+ {
78
+ label: "Elementary",
79
+ description: "Elementary Level: Can understand simple sentences and have very basic conversations.",
80
+ value: "elementary"
81
+ },
82
+ {
83
+ label: "Intermediate",
84
+ description: "Intermediate Level: Can talk about everyday topics and handle common situations.",
85
+ value: "intermediate"
86
+ },
87
+ {
88
+ label: "Advanced",
89
+ description: "Advanced Level: Can speak and understand with ease, and explain ideas clearly.",
90
+ value: "advanced"
91
+ },
92
+ {
93
+ label: "Fluent",
94
+ description: "Fluent Level: Speaks naturally and easily. Can use the language in work or school settings.",
95
+ value: "fluent"
96
+ },
97
+ {
98
+ label: "Native-like",
99
+ description: "Native-like Level: Understands and speaks like a native. Can discuss complex ideas accurately.",
100
+ value: "nativeLike"
101
+ }
102
+ ];
103
+ var BASE_RESPOND_FIELD_VALUES = {
104
+ title: "",
105
+ allowRetries: true,
106
+ respondTime: 180,
107
+ maxCharacters: 1e3
108
+ };
109
+ var BASE_REPEAT_FIELD_VALUES = {
110
+ repeat: 1
111
+ };
112
+ var BASE_MULTIPLE_CHOICE_FIELD_VALUES = {
113
+ MCQType: "single",
114
+ answer: ["A"],
115
+ choices: [
116
+ { option: "A", value: "Option A" },
117
+ { option: "B", value: "Option B" },
118
+ { option: "C", value: "Option C" }
119
+ ]
120
+ };
121
+ var VerificationCardStatus = /* @__PURE__ */ ((VerificationCardStatus2) => {
122
+ VerificationCardStatus2["VERIFIED"] = "VERIFIED";
123
+ VerificationCardStatus2["WARNING"] = "WARNING";
124
+ VerificationCardStatus2["NOT_RECOMMENDED"] = "NOT_RECOMMENDED";
125
+ VerificationCardStatus2["NOT_WORKING"] = "NOT_WORKING";
126
+ VerificationCardStatus2["NOT_CHECKED"] = "NOT_CHECKED";
127
+ return VerificationCardStatus2;
128
+ })(VerificationCardStatus || {});
129
+ var CARDS_COLLECTION = "flashcards";
130
+ var refsCardsFiresotre = {
131
+ allCards: CARDS_COLLECTION,
132
+ card: (id) => `${CARDS_COLLECTION}/${id}`
133
+ };
134
+
135
+ // src/domains/notification/notification.constants.ts
136
+ var SPEAKABLE_NOTIFICATIONS = {
137
+ NEW_ASSIGNMENT: "new_assignment",
138
+ ASSESSMENT_SUBMITTED: "assessment_submitted",
139
+ ASSESSMENT_SCORED: "assessment_scored",
140
+ NEW_COMMENT: "NEW_COMMENT"
141
+ };
142
+ var SpeakableNotificationTypes = {
143
+ NEW_ASSIGNMENT: "NEW_ASSIGNMENT",
144
+ FEEDBACK_FROM_TEACHER: "FEEDBACK_FROM_TEACHER",
145
+ MESSAGE_FROM_STUDENT: "MESSAGE_FROM_STUDENT",
146
+ PHRASE_MARKED_CORRECT: "PHRASE_MARKED_CORRECT",
147
+ STUDENT_PROGRESS: "STUDENT_PROGRESS",
148
+ PLAYLIST_FOLLOWERS: "PLAYLIST_FOLLOWERS",
149
+ PLAYLIST_PLAYS: "PLAYLIST_PLAYS",
150
+ // New notifications
151
+ ASSESSMENT_SUBMITTED: "ASSESSMENT_SUBMITTED",
152
+ // Notification FOR TEACHER when student submits assessment
153
+ ASSESSMENT_SCORED: "ASSESSMENT_SCORED",
154
+ // Notification FOR STUDENT when teacher scores assessment
155
+ // Comment
156
+ NEW_COMMENT: "NEW_COMMENT"
157
+ };
158
+
159
+ // src/domains/sets/set.constants.ts
160
+ var SETS_COLLECTION = "sets";
161
+ var refsSetsFirestore = {
162
+ allSets: SETS_COLLECTION,
163
+ set: (id) => `${SETS_COLLECTION}/${id}`
164
+ };
165
+ export {
166
+ ASSIGNMENT_ANALYTICS_TYPES,
167
+ AssignmentAnalyticsType,
168
+ BASE_MULTIPLE_CHOICE_FIELD_VALUES,
169
+ BASE_REPEAT_FIELD_VALUES,
170
+ BASE_RESPOND_FIELD_VALUES,
171
+ FeedbackTypesCard,
172
+ LENIENCY_OPTIONS,
173
+ LeniencyCard,
174
+ SCORES_PRACTICE_COLLECTION,
175
+ SCORES_PRACTICE_SUBCOLLECTION,
176
+ SPEAKABLE_NOTIFICATIONS,
177
+ STUDENT_LEVELS_OPTIONS,
178
+ SpeakableNotificationTypes,
179
+ VerificationCardStatus,
180
+ refsAssignmentFiresotre,
181
+ refsCardsFiresotre,
182
+ refsScoresPractice,
183
+ refsSetsFirestore
184
+ };
185
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domains/assignment/assignment.constants.ts","../src/domains/assignment/score-practice.constants.ts","../src/domains/cards/card.constants.ts","../src/domains/notification/notification.constants.ts","../src/domains/sets/set.constants.ts"],"sourcesContent":["export enum AssignmentAnalyticsType {\n Macro = 'macro',\n Gradebook = 'gradebook',\n Cards = 'cards',\n Student = 'student',\n StudentSummary = 'student_summary',\n All = 'all',\n}\n\nexport const ASSIGNMENT_ANALYTICS_TYPES = [\n AssignmentAnalyticsType.Macro,\n AssignmentAnalyticsType.Gradebook,\n AssignmentAnalyticsType.Cards,\n AssignmentAnalyticsType.Student,\n AssignmentAnalyticsType.StudentSummary,\n]\n\nconst ASSIGNMENTS_COLLECTION = 'assignments'\nconst ANALYTICS_SUBCOLLECTION = 'analytics'\nconst SCORES_SUBCOLLECTION = 'scores'\n\nexport type RefsAssignmentFiresotre =\n `${typeof ASSIGNMENTS_COLLECTION}/${string}${`/${typeof ANALYTICS_SUBCOLLECTION}/${string}` | `/${typeof SCORES_SUBCOLLECTION}/${string}` | ''}`\n\nexport const refsAssignmentFiresotre = {\n allAssignments: () => ASSIGNMENTS_COLLECTION,\n assignment: (params: { id: string }) => `${ASSIGNMENTS_COLLECTION}/${params.id}` as const,\n assignmentAllAnalytics: (params: { id: string }) =>\n `${ASSIGNMENTS_COLLECTION}/${params.id}/${ANALYTICS_SUBCOLLECTION}` as const,\n assignmentAnalytics: (params: { id: string; type: string }) =>\n `${ASSIGNMENTS_COLLECTION}/${params.id}/${ANALYTICS_SUBCOLLECTION}/${params.type}` as const,\n assignmentScores: (params: { id: string; userId: string }) =>\n `${ASSIGNMENTS_COLLECTION}/${params.id}/${SCORES_SUBCOLLECTION}/${params.userId}` as const,\n}\n","export const SCORES_PRACTICE_COLLECTION = 'users'\n\nexport const SCORES_PRACTICE_SUBCOLLECTION = 'practice'\n\nexport const refsScoresPractice = {\n practiceScores: (params: { userId: string; setId: string }) =>\n `${SCORES_PRACTICE_COLLECTION}/${params.userId}/${SCORES_PRACTICE_SUBCOLLECTION}/${params.setId}` as const,\n practiceScoreHistoryRefDoc: (params: { userId: string; setId: string; date: string }) =>\n `${SCORES_PRACTICE_COLLECTION}/${params.userId}/${SCORES_PRACTICE_SUBCOLLECTION}/${params.setId}/attempts/${params.date}` as const,\n}\n","/* eslint-disable @typescript-eslint/naming-convention */\n\nexport enum FeedbackTypesCard {\n SuggestedResponse = 'suggested_response',\n Wida = 'wida',\n GrammarInsights = 'grammar_insights',\n Actfl = 'actfl',\n ProficiencyLevel = 'proficiency_level',\n}\n\nexport enum LeniencyCard {\n CONFIDENCE = 'confidence',\n EASY = 'easy',\n NORMAL = 'normal',\n HARD = 'hard',\n}\n\nexport const LENIENCY_OPTIONS = [\n {\n label: 'Build Confidence - most lenient',\n value: LeniencyCard.CONFIDENCE,\n },\n {\n label: 'Very Lenient',\n value: LeniencyCard.EASY,\n },\n {\n label: 'Normal',\n value: LeniencyCard.NORMAL,\n },\n {\n label: 'No leniency - most strict',\n value: LeniencyCard.HARD,\n },\n]\n\nexport const STUDENT_LEVELS_OPTIONS = [\n {\n label: 'Beginner',\n description: 'Beginner Level: Just starting out. Can say a few basic words and phrases.',\n value: 'beginner',\n },\n {\n label: 'Elementary',\n description:\n 'Elementary Level: Can understand simple sentences and have very basic conversations.',\n value: 'elementary',\n },\n {\n label: 'Intermediate',\n description: 'Intermediate Level: Can talk about everyday topics and handle common situations.',\n value: 'intermediate',\n },\n {\n label: 'Advanced',\n description: 'Advanced Level: Can speak and understand with ease, and explain ideas clearly.',\n value: 'advanced',\n },\n {\n label: 'Fluent',\n description:\n 'Fluent Level: Speaks naturally and easily. Can use the language in work or school settings.',\n value: 'fluent',\n },\n {\n label: 'Native-like',\n description:\n 'Native-like Level: Understands and speaks like a native. Can discuss complex ideas accurately.',\n value: 'nativeLike',\n },\n]\n\nexport const BASE_RESPOND_FIELD_VALUES = {\n title: '',\n allowRetries: true,\n respondTime: 180,\n maxCharacters: 1000,\n}\n\nexport const BASE_REPEAT_FIELD_VALUES = {\n repeat: 1,\n}\n\nexport const BASE_MULTIPLE_CHOICE_FIELD_VALUES = {\n MCQType: 'single',\n answer: ['A'],\n choices: [\n { option: 'A', value: 'Option A' },\n { option: 'B', value: 'Option B' },\n { option: 'C', value: 'Option C' },\n ],\n}\n\nexport enum VerificationCardStatus {\n VERIFIED = 'VERIFIED',\n WARNING = 'WARNING',\n NOT_RECOMMENDED = 'NOT_RECOMMENDED',\n NOT_WORKING = 'NOT_WORKING',\n NOT_CHECKED = 'NOT_CHECKED',\n}\n\nconst CARDS_COLLECTION = 'flashcards'\n\nexport type RefsCardsFiresotre = `${typeof CARDS_COLLECTION}/${string}`\n\nexport const refsCardsFiresotre = {\n allCards: CARDS_COLLECTION,\n card: (id: string) => `${CARDS_COLLECTION}/${id}` as const,\n}\n","export const SPEAKABLE_NOTIFICATIONS = {\n NEW_ASSIGNMENT: 'new_assignment',\n ASSESSMENT_SUBMITTED: 'assessment_submitted',\n ASSESSMENT_SCORED: 'assessment_scored',\n NEW_COMMENT: 'NEW_COMMENT',\n} as const\n\nexport type SpeakableNotificationType =\n (typeof SPEAKABLE_NOTIFICATIONS)[keyof typeof SPEAKABLE_NOTIFICATIONS]\n\nexport const SpeakableNotificationTypes = {\n NEW_ASSIGNMENT: 'NEW_ASSIGNMENT',\n FEEDBACK_FROM_TEACHER: 'FEEDBACK_FROM_TEACHER',\n MESSAGE_FROM_STUDENT: 'MESSAGE_FROM_STUDENT',\n PHRASE_MARKED_CORRECT: 'PHRASE_MARKED_CORRECT',\n STUDENT_PROGRESS: 'STUDENT_PROGRESS',\n PLAYLIST_FOLLOWERS: 'PLAYLIST_FOLLOWERS',\n PLAYLIST_PLAYS: 'PLAYLIST_PLAYS',\n\n // New notifications\n ASSESSMENT_SUBMITTED: 'ASSESSMENT_SUBMITTED', // Notification FOR TEACHER when student submits assessment\n ASSESSMENT_SCORED: 'ASSESSMENT_SCORED', // Notification FOR STUDENT when teacher scores assessment\n // Comment\n NEW_COMMENT: 'NEW_COMMENT',\n}\n","const SETS_COLLECTION = 'sets'\n\nexport type RefsSetsFirestore = `${typeof SETS_COLLECTION}/${string}`\n\nexport const refsSetsFirestore = {\n allSets: SETS_COLLECTION,\n set: (id: string) => `${SETS_COLLECTION}/${id}` as const,\n}\n"],"mappings":";AAAO,IAAK,0BAAL,kBAAKA,6BAAL;AACL,EAAAA,yBAAA,WAAQ;AACR,EAAAA,yBAAA,eAAY;AACZ,EAAAA,yBAAA,WAAQ;AACR,EAAAA,yBAAA,aAAU;AACV,EAAAA,yBAAA,oBAAiB;AACjB,EAAAA,yBAAA,SAAM;AANI,SAAAA;AAAA,GAAA;AASL,IAAM,6BAA6B;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,yBAAyB;AAC/B,IAAM,0BAA0B;AAChC,IAAM,uBAAuB;AAKtB,IAAM,0BAA0B;AAAA,EACrC,gBAAgB,MAAM;AAAA,EACtB,YAAY,CAAC,WAA2B,GAAG,sBAAsB,IAAI,OAAO,EAAE;AAAA,EAC9E,wBAAwB,CAAC,WACvB,GAAG,sBAAsB,IAAI,OAAO,EAAE,IAAI,uBAAuB;AAAA,EACnE,qBAAqB,CAAC,WACpB,GAAG,sBAAsB,IAAI,OAAO,EAAE,IAAI,uBAAuB,IAAI,OAAO,IAAI;AAAA,EAClF,kBAAkB,CAAC,WACjB,GAAG,sBAAsB,IAAI,OAAO,EAAE,IAAI,oBAAoB,IAAI,OAAO,MAAM;AACnF;;;ACjCO,IAAM,6BAA6B;AAEnC,IAAM,gCAAgC;AAEtC,IAAM,qBAAqB;AAAA,EAChC,gBAAgB,CAAC,WACf,GAAG,0BAA0B,IAAI,OAAO,MAAM,IAAI,6BAA6B,IAAI,OAAO,KAAK;AAAA,EACjG,4BAA4B,CAAC,WAC3B,GAAG,0BAA0B,IAAI,OAAO,MAAM,IAAI,6BAA6B,IAAI,OAAO,KAAK,aAAa,OAAO,IAAI;AAC3H;;;ACPO,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,mBAAA,uBAAoB;AACpB,EAAAA,mBAAA,UAAO;AACP,EAAAA,mBAAA,qBAAkB;AAClB,EAAAA,mBAAA,WAAQ;AACR,EAAAA,mBAAA,sBAAmB;AALT,SAAAA;AAAA,GAAA;AAQL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;AAOL,IAAM,mBAAmB;AAAA,EAC9B;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEO,IAAM,yBAAyB;AAAA,EACpC;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aACE;AAAA,IACF,OAAO;AAAA,EACT;AACF;AAEO,IAAM,4BAA4B;AAAA,EACvC,OAAO;AAAA,EACP,cAAc;AAAA,EACd,aAAa;AAAA,EACb,eAAe;AACjB;AAEO,IAAM,2BAA2B;AAAA,EACtC,QAAQ;AACV;AAEO,IAAM,oCAAoC;AAAA,EAC/C,SAAS;AAAA,EACT,QAAQ,CAAC,GAAG;AAAA,EACZ,SAAS;AAAA,IACP,EAAE,QAAQ,KAAK,OAAO,WAAW;AAAA,IACjC,EAAE,QAAQ,KAAK,OAAO,WAAW;AAAA,IACjC,EAAE,QAAQ,KAAK,OAAO,WAAW;AAAA,EACnC;AACF;AAEO,IAAK,yBAAL,kBAAKC,4BAAL;AACL,EAAAA,wBAAA,cAAW;AACX,EAAAA,wBAAA,aAAU;AACV,EAAAA,wBAAA,qBAAkB;AAClB,EAAAA,wBAAA,iBAAc;AACd,EAAAA,wBAAA,iBAAc;AALJ,SAAAA;AAAA,GAAA;AAQZ,IAAM,mBAAmB;AAIlB,IAAM,qBAAqB;AAAA,EAChC,UAAU;AAAA,EACV,MAAM,CAAC,OAAe,GAAG,gBAAgB,IAAI,EAAE;AACjD;;;AC5GO,IAAM,0BAA0B;AAAA,EACrC,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,aAAa;AACf;AAKO,IAAM,6BAA6B;AAAA,EACxC,gBAAgB;AAAA,EAChB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA;AAAA,EAGhB,sBAAsB;AAAA;AAAA,EACtB,mBAAmB;AAAA;AAAA;AAAA,EAEnB,aAAa;AACf;;;ACxBA,IAAM,kBAAkB;AAIjB,IAAM,oBAAoB;AAAA,EAC/B,SAAS;AAAA,EACT,KAAK,CAAC,OAAe,GAAG,eAAe,IAAI,EAAE;AAC/C;","names":["AssignmentAnalyticsType","FeedbackTypesCard","LeniencyCard","VerificationCardStatus"]}