@cuemath/leap 4.0.7-as3 → 4.0.7-as6

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.
@@ -1,37 +1,38 @@
1
- import { useState as S, useCallback as s, useEffect as T } from "react";
2
- import { useLocalPeer as l, useRemotePeers as D, useCaptureMediaStreamImage as $ } from "@cuemath/av";
1
+ import { useState as l, useCallback as s, useEffect as S } from "react";
2
+ import { useLocalPeer as T, useRemotePeers as D, useCaptureMediaStreamImage as $ } from "@cuemath/av";
3
3
  import { useUIContext as C } from "../../ui/context/context.js";
4
- import { base64ToFile as F } from "../fraud-alert-modal/fraud-alert-modal-helpers.js";
4
+ import { base64ToFile as A } from "../fraud-alert-modal/fraud-alert-modal-helpers.js";
5
5
  import { FRAUD_DETECTION_ANALYTICS_EVENTS as N } from "./report-fraud-analytics.js";
6
6
  import U from "../../hooks/use-s3-helper/use-s3-helper.js";
7
7
  const L = { type: "class_fraud_login" }, k = ({
8
8
  teacherId: n,
9
- studentId: o,
9
+ studentId: t,
10
10
  studentClassroomId: m,
11
11
  teacherClassroomId: c,
12
12
  classStartTs: i
13
13
  }) => {
14
- const { onEvent: u } = C(), [f, _] = S(!1), e = l(), a = D().find((t) => t.userId === n), r = $(), g = U({
15
- studentId: o,
14
+ const { onEvent: u } = C(), [_, f] = l(!1), e = T(), a = D().find((o) => o.userId === n), r = $(), g = U({
15
+ studentId: t,
16
16
  query: L
17
17
  }), p = s(
18
- (t) => {
18
+ (o) => {
19
19
  u(N.FRAUD_LOGIN_TEACHER_ENTERED_CLASS_AS_STUDENT, {
20
- urls: t,
20
+ teacher_url: o[0],
21
+ student_url: o[1],
21
22
  classStartTs: i,
22
23
  teacherId: n,
23
- studentId: o
24
+ studentId: t
24
25
  });
25
26
  },
26
- [i, u, o, n]
27
+ [i, u, t, n]
27
28
  ), E = s(() => {
28
- u("fraud_detection_images_failed", { classStartTs: i, teacherId: n, studentId: o });
29
- }, [i, u, o, n]);
30
- return T(() => {
31
- if (!f || !(a != null && a.id) || !(e != null && e.id))
29
+ u("fraud_detection_images_failed", { classStartTs: i, teacherId: n, studentId: t });
30
+ }, [i, u, t, n]);
31
+ return S(() => {
32
+ if (!_ || !(a != null && a.id) || !(e != null && e.id))
32
33
  return;
33
- const { image: t } = r(a == null ? void 0 : a.id, "camera"), { image: d } = r(e == null ? void 0 : e.id, "camera"), R = F(t, `teacher-${Date.now()}.png`), A = F(d, `student-${Date.now()}.png`);
34
- !R || !A || (g({
34
+ const { image: o } = r(a == null ? void 0 : a.id, "camera"), { image: F } = r(e == null ? void 0 : e.id, "camera"), R = A(o, `teacher-${Date.now()}.png`), d = A(F, `student-${Date.now()}.png`);
35
+ !R || !d || (g({
35
36
  fileKey: "media/class_fraud_login/",
36
37
  onSuccess: p,
37
38
  onError: E,
@@ -42,26 +43,26 @@ const L = { type: "class_fraud_login" }, k = ({
42
43
  url: ""
43
44
  },
44
45
  {
45
- file: A,
46
- name: `student_${m}_${o}`,
46
+ file: d,
47
+ name: `student_${m}_${t}`,
47
48
  url: ""
48
49
  }
49
50
  ]
50
- }), _(!1));
51
+ }), f(!1));
51
52
  }, [
52
- f,
53
+ _,
53
54
  r,
54
55
  e == null ? void 0 : e.id,
55
56
  E,
56
57
  p,
57
58
  a == null ? void 0 : a.id,
58
59
  m,
59
- o,
60
+ t,
60
61
  c,
61
62
  n,
62
63
  g
63
64
  ]), s(() => {
64
- _(!0);
65
+ f(!0);
65
66
  }, []);
66
67
  }, O = k;
67
68
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"use-report-fraud.js","sources":["../../../../src/features/fraud-detection/hooks/use-report-fraud.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useCaptureMediaStreamImage, useLocalPeer, useRemotePeers } from '@cuemath/av';\n\nimport { useUIContext } from '../../ui/context/context';\nimport { base64ToFile } from '../fraud-alert-modal/fraud-alert-modal-helpers';\nimport { type IUseFraudAlertProps } from './report-fraud-types';\nimport { FRAUD_DETECTION_ANALYTICS_EVENTS } from './report-fraud-analytics';\nimport useS3ImageUploadHelper from '../../hooks/use-s3-helper/use-s3-helper';\n\nconst QUERY = { type: 'class_fraud_login' };\n\nconst useReportFraud = ({\n teacherId,\n studentId,\n studentClassroomId,\n teacherClassroomId,\n classStartTs,\n}: IUseFraudAlertProps) => {\n const { onEvent } = useUIContext();\n\n const [canTrackEvent, setCanTrackEvent] = useState(false);\n const localpeer = useLocalPeer();\n const remotePeer = useRemotePeers().find(peer => peer.userId === teacherId);\n const captureMediaStreamImage = useCaptureMediaStreamImage();\n const uploadImages = useS3ImageUploadHelper({\n studentId,\n query: QUERY,\n });\n const onSuccess = useCallback(\n (urls: string[]) => {\n onEvent(FRAUD_DETECTION_ANALYTICS_EVENTS.FRAUD_LOGIN_TEACHER_ENTERED_CLASS_AS_STUDENT, {\n urls,\n classStartTs,\n teacherId,\n studentId,\n });\n },\n [classStartTs, onEvent, studentId, teacherId],\n );\n\n const onError = useCallback(() => {\n onEvent('fraud_detection_images_failed', { classStartTs, teacherId, studentId });\n }, [classStartTs, onEvent, studentId, teacherId]);\n\n useEffect(() => {\n if (!canTrackEvent || !remotePeer?.id || !localpeer?.id) {\n return;\n }\n\n const { image: teacherImage } = captureMediaStreamImage(remotePeer?.id, 'camera');\n const { image: studentImage } = captureMediaStreamImage(localpeer?.id, 'camera');\n const teacherFile = base64ToFile(teacherImage, `teacher-${Date.now()}.png`);\n const studentFile = base64ToFile(studentImage, `student-${Date.now()}.png`);\n\n if (!teacherFile || !studentFile) {\n return;\n }\n\n uploadImages({\n fileKey: `media/class_fraud_login/`,\n onSuccess,\n onError,\n images: [\n {\n file: teacherFile,\n name: `teacher_${teacherClassroomId}_${teacherId}`,\n url: '',\n },\n {\n file: studentFile,\n name: `student_${studentClassroomId}_${studentId}`,\n url: '',\n },\n ],\n });\n\n setCanTrackEvent(false);\n }, [\n canTrackEvent,\n captureMediaStreamImage,\n localpeer?.id,\n onError,\n onSuccess,\n remotePeer?.id,\n studentClassroomId,\n studentId,\n teacherClassroomId,\n teacherId,\n uploadImages,\n ]);\n\n const captureAndReportFraudImages = useCallback(() => {\n setCanTrackEvent(true);\n }, []);\n\n return captureAndReportFraudImages;\n};\n\nexport default useReportFraud;\n"],"names":["QUERY","useReportFraud","teacherId","studentId","studentClassroomId","teacherClassroomId","classStartTs","onEvent","useUIContext","canTrackEvent","setCanTrackEvent","useState","localpeer","useLocalPeer","remotePeer","useRemotePeers","peer","captureMediaStreamImage","useCaptureMediaStreamImage","uploadImages","useS3ImageUploadHelper","onSuccess","useCallback","urls","FRAUD_DETECTION_ANALYTICS_EVENTS","onError","useEffect","teacherImage","studentImage","teacherFile","base64ToFile","studentFile","useReportFraud$1"],"mappings":";;;;;;AAUA,MAAMA,IAAQ,EAAE,MAAM,uBAEhBC,IAAiB,CAAC;AAAA,EACtB,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,cAAAC;AACF,MAA2B;AACnB,QAAA,EAAE,SAAAC,MAAYC,KAEd,CAACC,GAAeC,CAAgB,IAAIC,EAAS,EAAK,GAClDC,IAAYC,KACZC,IAAaC,EAAe,EAAE,KAAK,CAAQC,MAAAA,EAAK,WAAWd,CAAS,GACpEe,IAA0BC,KAC1BC,IAAeC,EAAuB;AAAA,IAC1C,WAAAjB;AAAA,IACA,OAAOH;AAAA,EAAA,CACR,GACKqB,IAAYC;AAAA,IAChB,CAACC,MAAmB;AAClB,MAAAhB,EAAQiB,EAAiC,8CAA8C;AAAA,QACrF,MAAAD;AAAA,QACA,cAAAjB;AAAA,QACA,WAAAJ;AAAA,QACA,WAAAC;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,CAACG,GAAcC,GAASJ,GAAWD,CAAS;AAAA,EAAA,GAGxCuB,IAAUH,EAAY,MAAM;AAChC,IAAAf,EAAQ,iCAAiC,EAAE,cAAAD,GAAc,WAAAJ,GAAW,WAAAC,EAAW,CAAA;AAAA,KAC9E,CAACG,GAAcC,GAASJ,GAAWD,CAAS,CAAC;AAEhD,SAAAwB,EAAU,MAAM;AACd,QAAI,CAACjB,KAAiB,EAACK,KAAA,QAAAA,EAAY,OAAM,EAACF,KAAA,QAAAA,EAAW;AACnD;AAGF,UAAM,EAAE,OAAOe,MAAiBV,EAAwBH,KAAA,gBAAAA,EAAY,IAAI,QAAQ,GAC1E,EAAE,OAAOc,MAAiBX,EAAwBL,KAAA,gBAAAA,EAAW,IAAI,QAAQ,GACzEiB,IAAcC,EAAaH,GAAc,WAAW,KAAK,IAAA,CAAK,MAAM,GACpEI,IAAcD,EAAaF,GAAc,WAAW,KAAK,IAAA,CAAK,MAAM;AAEtE,IAAA,CAACC,KAAe,CAACE,MAIRZ,EAAA;AAAA,MACX,SAAS;AAAA,MACT,WAAAE;AAAA,MACA,SAAAI;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,UACE,MAAMI;AAAA,UACN,MAAM,WAAWxB,CAAkB,IAAIH,CAAS;AAAA,UAChD,KAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,MAAM6B;AAAA,UACN,MAAM,WAAW3B,CAAkB,IAAID,CAAS;AAAA,UAChD,KAAK;AAAA,QACP;AAAA,MACF;AAAA,IAAA,CACD,GAEDO,EAAiB,EAAK;AAAA,EAAA,GACrB;AAAA,IACDD;AAAA,IACAQ;AAAA,IACAL,KAAA,gBAAAA,EAAW;AAAA,IACXa;AAAA,IACAJ;AAAA,IACAP,KAAA,gBAAAA,EAAY;AAAA,IACZV;AAAA,IACAD;AAAA,IACAE;AAAA,IACAH;AAAA,IACAiB;AAAA,EAAA,CACD,GAEmCG,EAAY,MAAM;AACpD,IAAAZ,EAAiB,EAAI;AAAA,EACvB,GAAG,CAAE,CAAA;AAGP,GAEAsB,IAAe/B;"}
1
+ {"version":3,"file":"use-report-fraud.js","sources":["../../../../src/features/fraud-detection/hooks/use-report-fraud.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useCaptureMediaStreamImage, useLocalPeer, useRemotePeers } from '@cuemath/av';\n\nimport { useUIContext } from '../../ui/context/context';\nimport { base64ToFile } from '../fraud-alert-modal/fraud-alert-modal-helpers';\nimport { type IUseFraudAlertProps } from './report-fraud-types';\nimport { FRAUD_DETECTION_ANALYTICS_EVENTS } from './report-fraud-analytics';\nimport useS3ImageUploadHelper from '../../hooks/use-s3-helper/use-s3-helper';\n\nconst QUERY = { type: 'class_fraud_login' };\n\nconst useReportFraud = ({\n teacherId,\n studentId,\n studentClassroomId,\n teacherClassroomId,\n classStartTs,\n}: IUseFraudAlertProps) => {\n const { onEvent } = useUIContext();\n\n const [canTrackEvent, setCanTrackEvent] = useState(false);\n const localpeer = useLocalPeer();\n const remotePeer = useRemotePeers().find(peer => peer.userId === teacherId);\n const captureMediaStreamImage = useCaptureMediaStreamImage();\n const uploadImages = useS3ImageUploadHelper({\n studentId,\n query: QUERY,\n });\n const onSuccess = useCallback(\n (urls: string[]) => {\n onEvent(FRAUD_DETECTION_ANALYTICS_EVENTS.FRAUD_LOGIN_TEACHER_ENTERED_CLASS_AS_STUDENT, {\n teacher_url: urls[0],\n student_url: urls[1],\n classStartTs,\n teacherId,\n studentId,\n });\n },\n [classStartTs, onEvent, studentId, teacherId],\n );\n\n const onError = useCallback(() => {\n onEvent('fraud_detection_images_failed', { classStartTs, teacherId, studentId });\n }, [classStartTs, onEvent, studentId, teacherId]);\n\n useEffect(() => {\n if (!canTrackEvent || !remotePeer?.id || !localpeer?.id) {\n return;\n }\n\n const { image: teacherImage } = captureMediaStreamImage(remotePeer?.id, 'camera');\n const { image: studentImage } = captureMediaStreamImage(localpeer?.id, 'camera');\n const teacherFile = base64ToFile(teacherImage, `teacher-${Date.now()}.png`);\n const studentFile = base64ToFile(studentImage, `student-${Date.now()}.png`);\n\n if (!teacherFile || !studentFile) {\n return;\n }\n\n uploadImages({\n fileKey: `media/class_fraud_login/`,\n onSuccess,\n onError,\n images: [\n {\n file: teacherFile,\n name: `teacher_${teacherClassroomId}_${teacherId}`,\n url: '',\n },\n {\n file: studentFile,\n name: `student_${studentClassroomId}_${studentId}`,\n url: '',\n },\n ],\n });\n\n setCanTrackEvent(false);\n }, [\n canTrackEvent,\n captureMediaStreamImage,\n localpeer?.id,\n onError,\n onSuccess,\n remotePeer?.id,\n studentClassroomId,\n studentId,\n teacherClassroomId,\n teacherId,\n uploadImages,\n ]);\n\n const captureAndReportFraudImages = useCallback(() => {\n setCanTrackEvent(true);\n }, []);\n\n return captureAndReportFraudImages;\n};\n\nexport default useReportFraud;\n"],"names":["QUERY","useReportFraud","teacherId","studentId","studentClassroomId","teacherClassroomId","classStartTs","onEvent","useUIContext","canTrackEvent","setCanTrackEvent","useState","localpeer","useLocalPeer","remotePeer","useRemotePeers","peer","captureMediaStreamImage","useCaptureMediaStreamImage","uploadImages","useS3ImageUploadHelper","onSuccess","useCallback","urls","FRAUD_DETECTION_ANALYTICS_EVENTS","onError","useEffect","teacherImage","studentImage","teacherFile","base64ToFile","studentFile","useReportFraud$1"],"mappings":";;;;;;AAUA,MAAMA,IAAQ,EAAE,MAAM,uBAEhBC,IAAiB,CAAC;AAAA,EACtB,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,cAAAC;AACF,MAA2B;AACnB,QAAA,EAAE,SAAAC,MAAYC,KAEd,CAACC,GAAeC,CAAgB,IAAIC,EAAS,EAAK,GAClDC,IAAYC,KACZC,IAAaC,EAAe,EAAE,KAAK,CAAQC,MAAAA,EAAK,WAAWd,CAAS,GACpEe,IAA0BC,KAC1BC,IAAeC,EAAuB;AAAA,IAC1C,WAAAjB;AAAA,IACA,OAAOH;AAAA,EAAA,CACR,GACKqB,IAAYC;AAAA,IAChB,CAACC,MAAmB;AAClB,MAAAhB,EAAQiB,EAAiC,8CAA8C;AAAA,QACrF,aAAaD,EAAK,CAAC;AAAA,QACnB,aAAaA,EAAK,CAAC;AAAA,QACnB,cAAAjB;AAAA,QACA,WAAAJ;AAAA,QACA,WAAAC;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,CAACG,GAAcC,GAASJ,GAAWD,CAAS;AAAA,EAAA,GAGxCuB,IAAUH,EAAY,MAAM;AAChC,IAAAf,EAAQ,iCAAiC,EAAE,cAAAD,GAAc,WAAAJ,GAAW,WAAAC,EAAW,CAAA;AAAA,KAC9E,CAACG,GAAcC,GAASJ,GAAWD,CAAS,CAAC;AAEhD,SAAAwB,EAAU,MAAM;AACd,QAAI,CAACjB,KAAiB,EAACK,KAAA,QAAAA,EAAY,OAAM,EAACF,KAAA,QAAAA,EAAW;AACnD;AAGF,UAAM,EAAE,OAAOe,MAAiBV,EAAwBH,KAAA,gBAAAA,EAAY,IAAI,QAAQ,GAC1E,EAAE,OAAOc,MAAiBX,EAAwBL,KAAA,gBAAAA,EAAW,IAAI,QAAQ,GACzEiB,IAAcC,EAAaH,GAAc,WAAW,KAAK,IAAA,CAAK,MAAM,GACpEI,IAAcD,EAAaF,GAAc,WAAW,KAAK,IAAA,CAAK,MAAM;AAEtE,IAAA,CAACC,KAAe,CAACE,MAIRZ,EAAA;AAAA,MACX,SAAS;AAAA,MACT,WAAAE;AAAA,MACA,SAAAI;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,UACE,MAAMI;AAAA,UACN,MAAM,WAAWxB,CAAkB,IAAIH,CAAS;AAAA,UAChD,KAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,MAAM6B;AAAA,UACN,MAAM,WAAW3B,CAAkB,IAAID,CAAS;AAAA,UAChD,KAAK;AAAA,QACP;AAAA,MACF;AAAA,IAAA,CACD,GAEDO,EAAiB,EAAK;AAAA,EAAA,GACrB;AAAA,IACDD;AAAA,IACAQ;AAAA,IACAL,KAAA,gBAAAA,EAAW;AAAA,IACXa;AAAA,IACAJ;AAAA,IACAP,KAAA,gBAAAA,EAAY;AAAA,IACZV;AAAA,IACAD;AAAA,IACAE;AAAA,IACAH;AAAA,IACAiB;AAAA,EAAA,CACD,GAEmCG,EAAY,MAAM;AACpD,IAAAZ,EAAiB,EAAI;AAAA,EACvB,GAAG,CAAE,CAAA;AAGP,GAEAsB,IAAe/B;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "4.0.7-as3",
3
+ "version": "4.0.7-as6",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"