@citolab/qti-backend-firebase 0.0.3
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.md +674 -0
- package/dist/api/app-specific/base/application-specific-base.d.ts +45 -0
- package/dist/api/app-specific/base/application-specific-base.d.ts.map +1 -0
- package/dist/api/app-specific/base/application-specific-base.js +503 -0
- package/dist/api/app-specific/base/application-specific-base.js.map +1 -0
- package/dist/api/app-specific/base/cheerio-helper.d.ts +5 -0
- package/dist/api/app-specific/base/cheerio-helper.d.ts.map +1 -0
- package/dist/api/app-specific/base/cheerio-helper.js +16 -0
- package/dist/api/app-specific/base/cheerio-helper.js.map +1 -0
- package/dist/api/app-specific/baseImplementation.d.ts +6 -0
- package/dist/api/app-specific/baseImplementation.d.ts.map +1 -0
- package/dist/api/app-specific/baseImplementation.js +11 -0
- package/dist/api/app-specific/baseImplementation.js.map +1 -0
- package/dist/api/app-specific/index.d.ts +4 -0
- package/dist/api/app-specific/index.d.ts.map +1 -0
- package/dist/api/app-specific/index.js +4 -0
- package/dist/api/app-specific/index.js.map +1 -0
- package/dist/api/app-specific/interface/IApplicationSpecific.d.ts +31 -0
- package/dist/api/app-specific/interface/IApplicationSpecific.d.ts.map +1 -0
- package/dist/api/app-specific/interface/IApplicationSpecific.js +2 -0
- package/dist/api/app-specific/interface/IApplicationSpecific.js.map +1 -0
- package/dist/api/app-specific/specific.d.ts +1 -0
- package/dist/api/app-specific/specific.d.ts.map +1 -0
- package/dist/api/app-specific/specific.js +31 -0
- package/dist/api/app-specific/specific.js.map +1 -0
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +15 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/qti-data.d.ts +4 -0
- package/dist/api/qti-data.d.ts.map +1 -0
- package/dist/api/qti-data.js +622 -0
- package/dist/api/qti-data.js.map +1 -0
- package/dist/api/qti-resources.d.ts +4 -0
- package/dist/api/qti-resources.d.ts.map +1 -0
- package/dist/api/qti-resources.js +348 -0
- package/dist/api/qti-resources.js.map +1 -0
- package/dist/api/qti-teacher.d.ts +6 -0
- package/dist/api/qti-teacher.d.ts.map +1 -0
- package/dist/api/qti-teacher.js +807 -0
- package/dist/api/qti-teacher.js.map +1 -0
- package/dist/api/qti-tools.d.ts +3 -0
- package/dist/api/qti-tools.d.ts.map +1 -0
- package/dist/api/qti-tools.js +450 -0
- package/dist/api/qti-tools.js.map +1 -0
- package/dist/console.d.ts +2 -0
- package/dist/console.d.ts.map +1 -0
- package/dist/console.js +30 -0
- package/dist/console.js.map +1 -0
- package/dist/express-test.d.ts +2 -0
- package/dist/express-test.d.ts.map +1 -0
- package/dist/express-test.js +19 -0
- package/dist/express-test.js.map +1 -0
- package/dist/helpers/ci-bootstap.d.ts +4 -0
- package/dist/helpers/ci-bootstap.d.ts.map +1 -0
- package/dist/helpers/ci-bootstap.js +96 -0
- package/dist/helpers/ci-bootstap.js.map +1 -0
- package/dist/helpers/database.d.ts +110 -0
- package/dist/helpers/database.d.ts.map +1 -0
- package/dist/helpers/database.js +151 -0
- package/dist/helpers/database.js.map +1 -0
- package/dist/helpers/db.d.ts +3 -0
- package/dist/helpers/db.d.ts.map +1 -0
- package/dist/helpers/db.js +10 -0
- package/dist/helpers/db.js.map +1 -0
- package/dist/helpers/endpoint-helpers.d.ts +33 -0
- package/dist/helpers/endpoint-helpers.d.ts.map +1 -0
- package/dist/helpers/endpoint-helpers.js +149 -0
- package/dist/helpers/endpoint-helpers.js.map +1 -0
- package/dist/helpers/firebase.d.ts +7 -0
- package/dist/helpers/firebase.d.ts.map +1 -0
- package/dist/helpers/firebase.js +15 -0
- package/dist/helpers/firebase.js.map +1 -0
- package/dist/helpers/index.d.ts +11 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/index.js +11 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/local-helpers.d.ts +2 -0
- package/dist/helpers/local-helpers.d.ts.map +1 -0
- package/dist/helpers/local-helpers.js +11 -0
- package/dist/helpers/local-helpers.js.map +1 -0
- package/dist/helpers/logic.d.ts +73 -0
- package/dist/helpers/logic.d.ts.map +1 -0
- package/dist/helpers/logic.js +759 -0
- package/dist/helpers/logic.js.map +1 -0
- package/dist/helpers/package-upload.d.ts +16 -0
- package/dist/helpers/package-upload.d.ts.map +1 -0
- package/dist/helpers/package-upload.js +160 -0
- package/dist/helpers/package-upload.js.map +1 -0
- package/dist/helpers/package.d.ts +32 -0
- package/dist/helpers/package.d.ts.map +1 -0
- package/dist/helpers/package.js +373 -0
- package/dist/helpers/package.js.map +1 -0
- package/dist/helpers/request-headers.d.ts +27 -0
- package/dist/helpers/request-headers.d.ts.map +1 -0
- package/dist/helpers/request-headers.js +144 -0
- package/dist/helpers/request-headers.js.map +1 -0
- package/dist/helpers/storage.d.ts +10 -0
- package/dist/helpers/storage.d.ts.map +1 -0
- package/dist/helpers/storage.js +132 -0
- package/dist/helpers/storage.js.map +1 -0
- package/dist/helpers/utils.d.ts +42 -0
- package/dist/helpers/utils.d.ts.map +1 -0
- package/dist/helpers/utils.js +228 -0
- package/dist/helpers/utils.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +14 -0
- package/dist/main.js.map +1 -0
- package/package.json +101 -0
- package/readme.md +11 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./utils";
|
|
2
|
+
export * from "./db";
|
|
3
|
+
export * from "./database";
|
|
4
|
+
export * from "./storage";
|
|
5
|
+
export * from "./package";
|
|
6
|
+
export * from "./local-helpers";
|
|
7
|
+
export * from "./firebase";
|
|
8
|
+
export * from "./logic";
|
|
9
|
+
export * from "./request-headers";
|
|
10
|
+
export * from "./endpoint-helpers";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/local-helpers.ts"],"names":[],"mappings":"AAEA,wBAAsB,sBAAsB,CAC1C,uBAAuB,EAAE,MAAM,EAAE,iBAclC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { uploadFolderToStorage } from './logic';
|
|
2
|
+
export async function uploadPackageToStorage(extractedPackageFolders) {
|
|
3
|
+
for (const packageLocation of extractedPackageFolders) {
|
|
4
|
+
const uploadFolderToStoragePromises = [];
|
|
5
|
+
// get last foldername
|
|
6
|
+
const lastFolderName = packageLocation.split('/').pop();
|
|
7
|
+
await uploadFolderToStorage(packageLocation, `packages/${lastFolderName}`, uploadFolderToStoragePromises);
|
|
8
|
+
await Promise.all(uploadFolderToStoragePromises);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=local-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-helpers.js","sourceRoot":"","sources":["../../src/helpers/local-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,uBAAiC;IAEjC,KAAK,MAAM,eAAe,IAAI,uBAAuB,EAAE,CAAC;QACtD,MAAM,6BAA6B,GAAuB,EAAE,CAAC;QAC7D,sBAAsB;QACtB,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAExD,MAAM,qBAAqB,CACzB,eAAe,EACf,YAAY,cAAc,EAAE,EAC5B,6BAA6B,CAC9B,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { DATABASE } from "./database";
|
|
2
|
+
import { ApplicationInfo, ApplicationInfoWithUsers, AssessmentInfo, PlannedSessions, SessionInfoTeacher, SessionStateType, StudentAppSessionInfo, UniqueResponse, ItemStatisticsWithResponses } from "@citolab/qti-api";
|
|
3
|
+
import * as cheerio from "cheerio";
|
|
4
|
+
export declare function uploadFolderToStorage(folder: string, storageDestinationPath: string, uploadFiles: Promise<unknown>[], subfolder?: string): Promise<void>;
|
|
5
|
+
export declare const getStudentSessionInfo: (code: string, db: DATABASE, userId?: string) => Promise<StudentAppSessionInfo | null>;
|
|
6
|
+
export declare const getStudentGroupSessionInfo: (groupCode: string, db: DATABASE, userId: string, studentIdentification?: string) => Promise<StudentAppSessionInfo | null>;
|
|
7
|
+
export declare const updateStudentSessionState: (db: DATABASE, code: string, assessmentId: string, state: SessionStateType, batch: FirebaseFirestore.WriteBatch) => Promise<null | undefined>;
|
|
8
|
+
export declare const createAssessmentCode: (db: DATABASE, charCount: number, assessmentId: string, application?: ApplicationInfo) => Promise<string | null>;
|
|
9
|
+
export declare const createDemoCodeForAssessment: (db: DATABASE, assessmentId: string, code: string) => Promise<string | undefined>;
|
|
10
|
+
export declare const checkAssessmentCode: (db: DATABASE, code: string) => Promise<AssessmentInfo | null>;
|
|
11
|
+
export declare const isStartable: (asessment: AssessmentInfo) => boolean;
|
|
12
|
+
export declare const getCodeByUserId: (db: DATABASE, userId: string) => Promise<string | null>;
|
|
13
|
+
export declare const getTeacherIdByCode: (db: DATABASE, code: string) => Promise<string | null>;
|
|
14
|
+
export declare const getApplicationInfo: (db: DATABASE) => Promise<ApplicationInfo | undefined>;
|
|
15
|
+
export declare const addApplicationInfo: (db: DATABASE, appInfo: ApplicationInfo) => Promise<void>;
|
|
16
|
+
export declare const getApplication: (db: DATABASE) => Promise<ApplicationInfo | null>;
|
|
17
|
+
export declare const codeExists: (code: string, db: DATABASE) => Promise<StudentAppSessionInfo | null>;
|
|
18
|
+
export declare const hasAccess: (uid: string, appId: string) => Promise<boolean>;
|
|
19
|
+
export declare const createSession: (teacherId: string, db: DATABASE, count: number, assessments: {
|
|
20
|
+
packageId: string;
|
|
21
|
+
assessmentId: string;
|
|
22
|
+
name: string;
|
|
23
|
+
}[]) => Promise<StudentAppSessionInfo[]>;
|
|
24
|
+
export declare const createSessionByIdentifications: (teacherId: string, db: DATABASE, identifications: {
|
|
25
|
+
identifier: string;
|
|
26
|
+
password?: string;
|
|
27
|
+
}[], sessionState: "not_available" | "not_started", assessments: {
|
|
28
|
+
packageId: string;
|
|
29
|
+
assessmentId: string;
|
|
30
|
+
name: string;
|
|
31
|
+
}[]) => Promise<StudentAppSessionInfo[]>;
|
|
32
|
+
export declare const getAllStudents: (db: DATABASE) => Promise<StudentAppSessionInfo[]>;
|
|
33
|
+
export declare const getAssessments: (db: DATABASE) => Promise<AssessmentInfo[]>;
|
|
34
|
+
export declare const getStartableAssessments: (db: DATABASE) => Promise<AssessmentInfo[]>;
|
|
35
|
+
export declare const getAssessmentTest: (db: DATABASE, assessmentId: string) => Promise<AssessmentInfo>;
|
|
36
|
+
export declare const getAssessmentItemRefsFromPackage: ($assessmentTest: cheerio.CheerioAPI) => Promise<{
|
|
37
|
+
identifier: string | undefined;
|
|
38
|
+
sequenceNumber: number;
|
|
39
|
+
isInfo: boolean | undefined;
|
|
40
|
+
}[]>;
|
|
41
|
+
export declare const getItemsStats: (db: DATABASE, teacherId: string, assessmentId: string, target: "teacher" | "reviewer") => Promise<ItemStatisticsWithResponses<UniqueResponse>[]>;
|
|
42
|
+
export declare const updateItemStatResponseScore: (db: DATABASE, teacherId: string, assessmentId: string, itemId: string, responseId: string, scoreExternal: number | null, target: "reviewer" | "teacher") => Promise<void>;
|
|
43
|
+
export declare const getPlannedStudents: (db: DATABASE, teacherId: string) => Promise<PlannedSessions<SessionInfoTeacher>[]>;
|
|
44
|
+
export declare const getPlannedStudent: (db: DATABASE, teacherId: string, code: string) => Promise<PlannedSessions<SessionInfoTeacher>>;
|
|
45
|
+
export declare const deleteStudent: (db: DATABASE, teacherId: string, code: string) => Promise<void>;
|
|
46
|
+
export declare const getUser: (uid: string) => Promise<{
|
|
47
|
+
admin?: boolean;
|
|
48
|
+
}>;
|
|
49
|
+
export declare const setUser: (uid: string, user: {
|
|
50
|
+
admin?: boolean;
|
|
51
|
+
}) => Promise<void>;
|
|
52
|
+
export declare const resetSession: (db: DATABASE, teacherId: string, code: string, assessmentId: string) => Promise<void>;
|
|
53
|
+
export declare const getStudentInfoForTeacher: (db: DATABASE, teacherId: string, code: string) => Promise<PlannedSessions<SessionInfoTeacher>>;
|
|
54
|
+
export declare const updateStudent: (db: DATABASE, teacherId: string, code: string, identification: string) => Promise<void>;
|
|
55
|
+
export declare const getAllApplications: () => Promise<ApplicationInfo[]>;
|
|
56
|
+
export declare const createUserForApplication: (email: string, applicationId: string) => Promise<{
|
|
57
|
+
password: string;
|
|
58
|
+
id: string;
|
|
59
|
+
} | {
|
|
60
|
+
id: string;
|
|
61
|
+
password?: undefined;
|
|
62
|
+
}>;
|
|
63
|
+
export declare const deleteUserForApplication: (id: string, applicationId: string) => Promise<void>;
|
|
64
|
+
export declare const getAllApplicationsWithUsers: () => Promise<ApplicationInfoWithUsers[]>;
|
|
65
|
+
export declare function deleteDocumentAndSubcollections(docRef: FirebaseFirestore.DocumentReference): Promise<void>;
|
|
66
|
+
export declare function checkAndDeletePackages(dateTime: number): Promise<void>;
|
|
67
|
+
export declare function fetchUsersInChunks(ids: string[], chunkSize?: number): Promise<{
|
|
68
|
+
id: string;
|
|
69
|
+
email: string;
|
|
70
|
+
disabled: boolean;
|
|
71
|
+
}[]>;
|
|
72
|
+
export declare const getPackageIdByAssessment: (db: DATABASE, code: string, assessmentId: string) => Promise<string | null>;
|
|
73
|
+
//# sourceMappingURL=logic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../src/helpers/logic.ts"],"names":[],"mappings":"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"}
|