@magmamath/students-features 0.9.107-rc.62 → 0.9.107-rc.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js +30 -19
- package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
- package/dist/module/features/voice/recording/model/VoiceRecord.model.js +30 -19
- package/dist/module/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts +1 -0
- package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/types.d.ts +1 -0
- package/dist/typescript/commonjs/features/voice/types.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts +1 -0
- package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/types.d.ts +1 -0
- package/dist/typescript/module/features/voice/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/voice/recording/model/VoiceRecord.model.ts +31 -18
- package/src/features/voice/types.ts +1 -0
|
@@ -28,6 +28,9 @@ class VoiceRecordModel {
|
|
|
28
28
|
if (recorderState !== _constants.VoiceRecorderState.IDLE || currentRecord) return true;
|
|
29
29
|
return false;
|
|
30
30
|
});
|
|
31
|
+
deleteAudioRecord = (0, _effector.createEffect)(async audioFileId => {
|
|
32
|
+
await this.api.deleteAudioFile(audioFileId);
|
|
33
|
+
});
|
|
31
34
|
deleteCurrentRecording = (0, _effector.attach)({
|
|
32
35
|
source: this.$currentKey,
|
|
33
36
|
mapParams: (props, currentKey) => ({
|
|
@@ -40,6 +43,9 @@ class VoiceRecordModel {
|
|
|
40
43
|
notification
|
|
41
44
|
}) => {
|
|
42
45
|
const recordingItem = this.collection.get(currentKey);
|
|
46
|
+
if (recordingItem?.id) {
|
|
47
|
+
this.deleteAudioRecord(recordingItem.id);
|
|
48
|
+
}
|
|
43
49
|
this.abortUploadIfInProgress(recordingItem);
|
|
44
50
|
this.resetRecordingState(currentKey);
|
|
45
51
|
if (notification) {
|
|
@@ -47,26 +53,31 @@ class VoiceRecordModel {
|
|
|
47
53
|
}
|
|
48
54
|
})
|
|
49
55
|
});
|
|
50
|
-
initializeRecording = (0, _effector.
|
|
51
|
-
this
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
const inputs = await (0, _helpers.getAvailableInputs)(this.recorderModel.recorder);
|
|
60
|
-
this.recorderModel.setAvailableInputs(inputs);
|
|
61
|
-
if (inputs.length === 0) {
|
|
62
|
-
this.notification.error((0, _index.t)('voice.noMicrophoneFound'));
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
return this.recorderModel.start().catch(error => {
|
|
66
|
-
if (error.name === 'NotAllowedError') {
|
|
67
|
-
this.notification.error((0, _index.t)('voice.noMicrophoneAccessBySystem'));
|
|
56
|
+
initializeRecording = (0, _effector.attach)({
|
|
57
|
+
source: this.$currentRecord,
|
|
58
|
+
effect: (0, _effector.createEffect)(async currentRecord => {
|
|
59
|
+
if (currentRecord) {
|
|
60
|
+
this.deleteCurrentRecording({
|
|
61
|
+
notification: false
|
|
62
|
+
});
|
|
68
63
|
}
|
|
69
|
-
|
|
64
|
+
const hasPermissions = await (0, _helpers.ensureRecordingPermissions)();
|
|
65
|
+
if (!hasPermissions) {
|
|
66
|
+
this.notification.error((0, _index.t)('voice.noMicrophoneAccess'));
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const inputs = await (0, _helpers.getAvailableInputs)(this.recorderModel.recorder);
|
|
70
|
+
this.recorderModel.setAvailableInputs(inputs);
|
|
71
|
+
if (inputs.length === 0) {
|
|
72
|
+
this.notification.error((0, _index.t)('voice.noMicrophoneFound'));
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
return this.recorderModel.start().catch(error => {
|
|
76
|
+
if (error.name === 'NotAllowedError') {
|
|
77
|
+
this.notification.error((0, _index.t)('voice.noMicrophoneAccessBySystem'));
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
})
|
|
70
81
|
});
|
|
71
82
|
stop = (0, _effector.createEffect)(async () => {
|
|
72
83
|
this.shouldDiscardRecording = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_effector","require","_RecorderModel","_VoiceRecordCollection","_UploaderModel","_constants","_helpers","_index","VoiceRecordModel","recorderModel","RecorderModel","collection","VoiceRecordsCollection","uploader","UploaderModel","shouldDiscardRecording","setCurrentKey","createEvent","setCurrentRecord","reset","setIsButtonDisabled","startAudioUpload","$currentKey","restore","$currentRecord","$isButtonDisabled","$isExpanded","combine","$voiceRecordState","recorderState","currentRecord","VoiceRecorderState","IDLE","deleteCurrentRecording","attach","source","mapParams","props","currentKey","notification","effect","
|
|
1
|
+
{"version":3,"names":["_effector","require","_RecorderModel","_VoiceRecordCollection","_UploaderModel","_constants","_helpers","_index","VoiceRecordModel","recorderModel","RecorderModel","collection","VoiceRecordsCollection","uploader","UploaderModel","shouldDiscardRecording","setCurrentKey","createEvent","setCurrentRecord","reset","setIsButtonDisabled","startAudioUpload","$currentKey","restore","$currentRecord","$isButtonDisabled","$isExpanded","combine","$voiceRecordState","recorderState","currentRecord","VoiceRecorderState","IDLE","deleteAudioRecord","createEffect","audioFileId","api","deleteAudioFile","deleteCurrentRecording","attach","source","mapParams","props","currentKey","notification","effect","recordingItem","get","id","abortUploadIfInProgress","resetRecordingState","success","t","initializeRecording","hasPermissions","ensureRecordingPermissions","error","inputs","getAvailableInputs","recorder","setAvailableInputs","length","start","catch","name","stop","clearStopResolver","cleanup","getStatus","isRecording","recordingStatusUpdate","status","isFinished","url","getRecordingItem","key","RECORDING","stopAndAwaitResult","console","undefined","controller","abortUpload","delete","handleAudioUpload","uri","durationMs","collectionItem","uploadPromise","upload","fileName","add","resolveRecord","then","data","update","setupUploadHandler","sample","clock","$lastKnownDurationMs","filter","fn","target","setupCurrentRecordSync","recorderButtonHandler","events","undoRecord","constructor","setApi","exports"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/model/VoiceRecord.model.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAMA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAmCO,MAAMO,gBAAgB,CAAC;EACZC,aAAa,GAAG,IAAIC,4BAAa,CAA4B,CAAC;EAC9DC,UAAU,GAAG,IAAIC,6CAAsB,CAAC,CAAC;EACzCC,QAAQ,GAAG,IAAIC,4BAAa,CAAC,CAAC;EAItCC,sBAAsB,GAAG,KAAK;EAEtBC,aAAa,GAAG,IAAAC,qBAAW,EAAS,CAAC;EACrCC,gBAAgB,GAAG,IAAAD,qBAAW,EAAM,CAAC;EACrCE,KAAK,GAAG,IAAAF,qBAAW,EAAC,CAAC;EACrBG,mBAAmB,GAAG,IAAAH,qBAAW,EAAU,CAAC;EAC5CI,gBAAgB,GAAG,IAAAJ,qBAAW,EAAS,CAAC;EAExCK,WAAW,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACP,aAAa,EAAE,EAAE,CAAC;EAC7CQ,cAAc,GAAG,IAAAD,iBAAO,EAAC,IAAI,CAACL,gBAAgB,EAAE,IAAI,CAAC,CAACC,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAEvEM,iBAAiB,GAAG,IAAAF,iBAAO,EAAC,IAAI,CAACH,mBAAmB,EAAE,KAAK,CAAC;EAE5DM,WAAW,GAAG,IAAAC,iBAAO,EACnC,IAAI,CAAClB,aAAa,CAACmB,iBAAiB,EACpC,IAAI,CAACJ,cAAc,EACnB,CAACK,aAAa,EAAEC,aAAa,KAAK;IAChC,IAAID,aAAa,KAAKE,6BAAkB,CAACC,IAAI,IAAIF,aAAa,EAAE,OAAO,IAAI;IAC3E,OAAO,KAAK;EACd,CACF,CAAC;EAEeG,iBAAiB,GAAG,IAAAC,sBAAY,EAAC,MAAOC,WAAmB,IAAK;IAC9E,MAAM,IAAI,CAACC,GAAG,CAACC,eAAe,CAACF,WAAW,CAAC;EAC7C,CAAC,CAAC;EAEcG,sBAAsB,GAAG,IAAAC,gBAAM,EAAC;IAC9CC,MAAM,EAAE,IAAI,CAAClB,WAAW;IACxBmB,SAAS,EAAEA,CAACC,KAAyC,EAAEC,UAAU,MAAM;MACrEC,YAAY,EAAE,IAAI;MAClB,GAAGF,KAAK;MACRC;IACF,CAAC,CAAC;IACFE,MAAM,EAAE,IAAAX,sBAAY,EAAC,CAAC;MAAES,UAAU;MAAEC;IAA2C,CAAC,KAAK;MACnF,MAAME,aAAa,GAAG,IAAI,CAACnC,UAAU,CAACoC,GAAG,CAACJ,UAAU,CAAC;MAErD,IAAIG,aAAa,EAAEE,EAAE,EAAE;QACrB,IAAI,CAACf,iBAAiB,CAACa,aAAa,CAACE,EAAE,CAAC;MAC1C;MAEA,IAAI,CAACC,uBAAuB,CAACH,aAAa,CAAC;MAC3C,IAAI,CAACI,mBAAmB,CAACP,UAAU,CAAC;MAEpC,IAAIC,YAAY,EAAE;QAChB,IAAI,CAACA,YAAY,CAACO,OAAO,CAAC,IAAAC,QAAC,EAAC,wBAAwB,CAAC,CAAC;MACxD;IACF,CAAC;EACH,CAAC,CAAC;EAEcC,mBAAmB,GAAG,IAAAd,gBAAM,EAAC;IAC3CC,MAAM,EAAE,IAAI,CAAChB,cAAc;IAC3BqB,MAAM,EAAE,IAAAX,sBAAY,EAAC,MAAOJ,aAAqD,IAAK;MACpF,IAAIA,aAAa,EAAE;QACjB,IAAI,CAACQ,sBAAsB,CAAC;UAAEM,YAAY,EAAE;QAAM,CAAC,CAAC;MACtD;MAEA,MAAMU,cAAc,GAAG,MAAM,IAAAC,mCAA0B,EAAC,CAAC;MACzD,IAAI,CAACD,cAAc,EAAE;QACnB,IAAI,CAACV,YAAY,CAACY,KAAK,CAAC,IAAAJ,QAAC,EAAC,0BAA0B,CAAC,CAAC;QACtD;MACF;MAEA,MAAMK,MAAM,GAAG,MAAM,IAAAC,2BAAkB,EAAC,IAAI,CAACjD,aAAa,CAACkD,QAAQ,CAAC;MACpE,IAAI,CAAClD,aAAa,CAACmD,kBAAkB,CAACH,MAAM,CAAC;MAE7C,IAAIA,MAAM,CAACI,MAAM,KAAK,CAAC,EAAE;QACvB,IAAI,CAACjB,YAAY,CAACY,KAAK,CAAC,IAAAJ,QAAC,EAAC,yBAAyB,CAAC,CAAC;QACrD;MACF;MAEA,OAAO,IAAI,CAAC3C,aAAa,CAACqD,KAAK,CAAC,CAAC,CAACC,KAAK,CAAEP,KAAK,IAAK;QACjD,IAAIA,KAAK,CAACQ,IAAI,KAAK,iBAAiB,EAAE;UACpC,IAAI,CAACpB,YAAY,CAACY,KAAK,CAAC,IAAAJ,QAAC,EAAC,kCAAkC,CAAC,CAAC;QAChE;MACF,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,CAAC;EAEca,IAAI,GAAG,IAAA/B,sBAAY,EAAC,YAAY;IAC9C,IAAI,CAACnB,sBAAsB,GAAG,IAAI;IAClC,MAAM,IAAI,CAACN,aAAa,CAACwD,IAAI,CAAC,CAAC;IAC/B,IAAI,CAACxD,aAAa,CAACyD,iBAAiB,CAAC,CAAC;IACtC,IAAI,CAACzD,aAAa,CAACU,KAAK,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEcgD,OAAO,GAAG,MAAAA,CAAA,KAAY;IACpC,IAAI,IAAI,CAAC1D,aAAa,CAACkD,QAAQ,CAACS,SAAS,CAAC,CAAC,CAACC,WAAW,EAAE;MACvD,MAAM,IAAI,CAAC5D,aAAa,CAACkD,QAAQ,CAACM,IAAI,CAAC,CAAC;IAC1C;IACA,IAAI,CAACxD,aAAa,CAACU,KAAK,CAAC,CAAC;EAC5B,CAAC;EAEemD,qBAAqB,GAAIC,MAAW,IAAK;IACvD,IAAIA,MAAM,CAACf,KAAK,EAAE;MAChB,IAAI,CAACZ,YAAY,CAACY,KAAK,CAAC,mBAAmBe,MAAM,CAACf,KAAK,EAAE,CAAC;MAC1D,IAAI,CAAC/C,aAAa,CAACyD,iBAAiB,CAAC,CAAC;MACtC,IAAI,CAACnD,sBAAsB,GAAG,KAAK;MACnC;IACF;IACA,IAAIwD,MAAM,CAACC,UAAU,IAAID,MAAM,CAACE,GAAG,EAAE;MACnC,IAAI,CAAC,IAAI,CAAC1D,sBAAsB,EAAE;QAChC,IAAI,CAACM,gBAAgB,CAACkD,MAAM,CAACE,GAAG,CAAC;MACnC;MACA,IAAI,CAAC1D,sBAAsB,GAAG,KAAK;IACrC;EACF,CAAC;EAEe2D,gBAAgB,GAAG,IAAAnC,gBAAM,EAAC;IACxCC,MAAM,EAAE,IAAI,CAAC/B,aAAa,CAACmB,iBAAiB;IAC5Ca,SAAS,EAAEA,CAACkC,GAAW,EAAE9C,aAAa,MAAM;MAAE8C,GAAG;MAAE9C;IAAc,CAAC,CAAC;IACnEgB,MAAM,EAAE,IAAAX,sBAAY,EAAC,OAAO;MAAEyC,GAAG;MAAE9C;IAAsC,CAAC,KAAK;MAC7E,IAAI;QACF,MAAMwC,WAAW,GAAGxC,aAAa,KAAKE,6BAAkB,CAAC6C,SAAS;QAElE,IAAIP,WAAW,EAAE;UACf,OAAO,MAAM,IAAI,CAAC5D,aAAa,CAACoE,kBAAkB,CAAC,CAAC;QACtD;QAEA,OAAO,IAAI,CAAClE,UAAU,CAACoC,GAAG,CAAC4B,GAAG,CAAC;MACjC,CAAC,CAAC,OAAOnB,KAAK,EAAE;QACdsB,OAAO,CAACtB,KAAK,CAAC,iCAAiCA,KAAK,EAAE,CAAC;QACvD,IAAI,CAACZ,YAAY,CAACY,KAAK,CAAC,IAAAJ,QAAC,EAAC,oBAAoB,CAAC,CAAC;QAChD,OAAO2B,SAAS;MAClB;IACF,CAAC;EACH,CAAC,CAAC;EAEM9B,uBAAuBA,CAACH,aAAwD,EAAE;IACxF,IAAI,CAACA,aAAa,EAAEE,EAAE,IAAIF,aAAa,EAAEkC,UAAU,EAAE;MACnD,IAAI,CAACnE,QAAQ,CAACoE,WAAW,CAACnC,aAAa,CAACkC,UAAU,CAAC;IACrD;EACF;EAEQ9B,mBAAmBA,CAACP,UAAkB,EAAE;IAC9C,IAAI,CAAClC,aAAa,CAACU,KAAK,CAAC,CAAC;IAC1B,IAAI,CAACA,KAAK,CAAC,CAAC;IACZ,IAAI,CAACR,UAAU,CAACuE,MAAM,CAACvC,UAAU,CAAC;EACpC;EAEQwC,iBAAiB,GAAG,IAAAjD,sBAAY,EACtC,OAAO;IAAEkD,GAAG;IAAEzC,UAAU;IAAE0C;EAAyB,CAAC,KAAK;IACvD,MAAM;MAAEC,cAAc;MAAEC;IAAc,CAAC,GAAG,MAAM,IAAI,CAAC1E,QAAQ,CAAC2E,MAAM,CAAC;MACnEJ,GAAG;MACHK,QAAQ,EAAE9C,UAAU;MACpB0C;IACF,CAAC,CAAC;IAEF,IAAI,CAAC1E,UAAU,CAAC+E,GAAG,CAAC/C,UAAU,EAAE2C,cAAc,CAAC;IAC/C,IAAI,CAACpE,gBAAgB,CAACoE,cAAc,CAAC;IACrC,IAAI,CAAC7E,aAAa,CAACkF,aAAa,CAACL,cAAc,CAAC;IAEhDC,aAAa,CACVK,IAAI,CAAEC,IAAI,IAAK;MACd,IAAI,IAAI,CAAClF,UAAU,CAACoC,GAAG,CAACJ,UAAU,CAAC,EAAE;QACnC,IAAI,CAAChC,UAAU,CAACmF,MAAM,CAACnD,UAAU,EAAE;UAAEK,EAAE,EAAE6C,IAAI,CAAC7C;QAAG,CAAC,CAAC;MACrD;IACF,CAAC,CAAC,CACDe,KAAK,CAAEP,KAAK,IAAK;MAChB,IAAIA,KAAK,CAACQ,IAAI,KAAK,eAAe,EAAE;MACpC,IAAI,CAACrD,UAAU,CAACuE,MAAM,CAACvC,UAAU,CAAC;MAClC,IAAI,CAACxB,KAAK,CAAC,CAAC;MACZ,IAAI,CAACyB,YAAY,CAACY,KAAK,CAAC,IAAAJ,QAAC,EAAC,oBAAoB,CAAC,CAAC;IAClD,CAAC,CAAC;IAEJ,OAAOmC,aAAa;EACtB,CACF,CAAC;EAEOQ,kBAAkBA,CAAA,EAAG;IAC3B,IAAAC,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAAC5E,gBAAgB;MAC5BmB,MAAM,EAAE;QACNG,UAAU,EAAE,IAAI,CAACrB,WAAW;QAC5B+D,UAAU,EAAE,IAAI,CAAC5E,aAAa,CAACyF;MACjC,CAAC;MACDC,MAAM,EAAEA,CAAC;QAAExD;MAAW,CAAC,EAAEyC,GAAG,KAAK,CAAC,CAACA,GAAG,IAAI,CAAC,CAACzC,UAAU;MACtDyD,EAAE,EAAEA,CAAC;QAAEzD,UAAU;QAAE0C;MAAW,CAAC,EAAED,GAAG,MAAM;QAAEzC,UAAU;QAAE0C,UAAU;QAAED;MAAI,CAAC,CAAC;MAC1EiB,MAAM,EAAE,IAAI,CAAClB;IACf,CAAC,CAAC;EACJ;EAEQmB,sBAAsBA,CAAA,EAAG;IAC/B,IAAAN,gBAAM,EAAC;MACLxD,MAAM,EAAE,IAAI,CAAClB,WAAW;MACxB8E,EAAE,EAAGzD,UAAU,IAAK,IAAI,CAAChC,UAAU,CAACoC,GAAG,CAACJ,UAAU,CAAC;MACnD0D,MAAM,EAAE,IAAAnE,sBAAY,EAAEY,aAAyC,IAAK;QAClE,IAAI,CAACA,aAAa,EAAE;UAClB,IAAI,CAAC3B,KAAK,CAAC,CAAC;UACZ;QACF;QAEA,IAAI,CAACD,gBAAgB,CAAC4B,aAAa,CAAC;MACtC,CAAC;IACH,CAAC,CAAC;EACJ;EAEgByD,qBAAqB,GAAG,IAAAhE,gBAAM,EAAC;IAC7CC,MAAM,EAAE;MACNG,UAAU,EAAE,IAAI,CAACrB,WAAW;MAC5BO,aAAa,EAAE,IAAI,CAACpB,aAAa,CAACmB;IACpC,CAAC;IACDiB,MAAM,EAAE,IAAAX,sBAAY,EAAC,CAAC;MAAES,UAAU;MAAEd;IAA2C,CAAC,KAAK;MACnF,IAAIA,aAAa,KAAKE,6BAAkB,CAAC6C,SAAS,EAAE;QAClD,IAAI,CAACnE,aAAa,CAACwD,IAAI,CAAC,CAAC;QACzB;MACF;MACA,IAAI,IAAI,CAACtD,UAAU,CAACoC,GAAG,CAACJ,UAAU,CAAC,EAAE;QACnC,IAAI,CAAC6D,MAAM,CAACC,UAAU,CAAC,CAAC;QACxB;MACF;MAEA,IAAI,CAACpD,mBAAmB,CAAC,CAAC;IAC5B,CAAC;EACH,CAAC,CAAC;EAEFqD,WAAWA,CAAC;IAAEtE,GAAG;IAAEQ,YAAY;IAAE4D;EAA+B,CAAC,EAAE;IACjE,IAAI,CAACpE,GAAG,GAAGA,GAAG;IACd,IAAI,CAACQ,YAAY,GAAGA,YAAY;IAChC,IAAI,CAAC4D,MAAM,GAAGA,MAAM;IACpB,IAAI,CAAC3F,QAAQ,CAAC8F,MAAM,CAACvE,GAAG,CAAC;IAEzB,IAAI,CAAC2D,kBAAkB,CAAC,CAAC;IACzB,IAAI,CAACO,sBAAsB,CAAC,CAAC;EAC/B;AACF;AAACM,OAAA,CAAApG,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -24,6 +24,9 @@ export class VoiceRecordModel {
|
|
|
24
24
|
if (recorderState !== VoiceRecorderState.IDLE || currentRecord) return true;
|
|
25
25
|
return false;
|
|
26
26
|
});
|
|
27
|
+
deleteAudioRecord = createEffect(async audioFileId => {
|
|
28
|
+
await this.api.deleteAudioFile(audioFileId);
|
|
29
|
+
});
|
|
27
30
|
deleteCurrentRecording = attach({
|
|
28
31
|
source: this.$currentKey,
|
|
29
32
|
mapParams: (props, currentKey) => ({
|
|
@@ -36,6 +39,9 @@ export class VoiceRecordModel {
|
|
|
36
39
|
notification
|
|
37
40
|
}) => {
|
|
38
41
|
const recordingItem = this.collection.get(currentKey);
|
|
42
|
+
if (recordingItem?.id) {
|
|
43
|
+
this.deleteAudioRecord(recordingItem.id);
|
|
44
|
+
}
|
|
39
45
|
this.abortUploadIfInProgress(recordingItem);
|
|
40
46
|
this.resetRecordingState(currentKey);
|
|
41
47
|
if (notification) {
|
|
@@ -43,26 +49,31 @@ export class VoiceRecordModel {
|
|
|
43
49
|
}
|
|
44
50
|
})
|
|
45
51
|
});
|
|
46
|
-
initializeRecording =
|
|
47
|
-
this
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
const inputs = await getAvailableInputs(this.recorderModel.recorder);
|
|
56
|
-
this.recorderModel.setAvailableInputs(inputs);
|
|
57
|
-
if (inputs.length === 0) {
|
|
58
|
-
this.notification.error(t('voice.noMicrophoneFound'));
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
return this.recorderModel.start().catch(error => {
|
|
62
|
-
if (error.name === 'NotAllowedError') {
|
|
63
|
-
this.notification.error(t('voice.noMicrophoneAccessBySystem'));
|
|
52
|
+
initializeRecording = attach({
|
|
53
|
+
source: this.$currentRecord,
|
|
54
|
+
effect: createEffect(async currentRecord => {
|
|
55
|
+
if (currentRecord) {
|
|
56
|
+
this.deleteCurrentRecording({
|
|
57
|
+
notification: false
|
|
58
|
+
});
|
|
64
59
|
}
|
|
65
|
-
|
|
60
|
+
const hasPermissions = await ensureRecordingPermissions();
|
|
61
|
+
if (!hasPermissions) {
|
|
62
|
+
this.notification.error(t('voice.noMicrophoneAccess'));
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const inputs = await getAvailableInputs(this.recorderModel.recorder);
|
|
66
|
+
this.recorderModel.setAvailableInputs(inputs);
|
|
67
|
+
if (inputs.length === 0) {
|
|
68
|
+
this.notification.error(t('voice.noMicrophoneFound'));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
return this.recorderModel.start().catch(error => {
|
|
72
|
+
if (error.name === 'NotAllowedError') {
|
|
73
|
+
this.notification.error(t('voice.noMicrophoneAccessBySystem'));
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
})
|
|
66
77
|
});
|
|
67
78
|
stop = createEffect(async () => {
|
|
68
79
|
this.shouldDiscardRecording = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["attach","combine","createEffect","createEvent","restore","sample","RecorderModel","VoiceRecordsCollection","UploaderModel","VoiceRecorderState","ensureRecordingPermissions","getAvailableInputs","t","VoiceRecordModel","recorderModel","collection","uploader","shouldDiscardRecording","setCurrentKey","setCurrentRecord","reset","setIsButtonDisabled","startAudioUpload","$currentKey","$currentRecord","$isButtonDisabled","$isExpanded","$voiceRecordState","recorderState","currentRecord","IDLE","deleteCurrentRecording","source","mapParams","props","currentKey","notification","effect","recordingItem","get","abortUploadIfInProgress","resetRecordingState","success","initializeRecording","hasPermissions","error","inputs","recorder","setAvailableInputs","length","start","catch","name","stop","clearStopResolver","cleanup","getStatus","isRecording","recordingStatusUpdate","status","isFinished","url","getRecordingItem","key","RECORDING","stopAndAwaitResult","console","undefined","
|
|
1
|
+
{"version":3,"names":["attach","combine","createEffect","createEvent","restore","sample","RecorderModel","VoiceRecordsCollection","UploaderModel","VoiceRecorderState","ensureRecordingPermissions","getAvailableInputs","t","VoiceRecordModel","recorderModel","collection","uploader","shouldDiscardRecording","setCurrentKey","setCurrentRecord","reset","setIsButtonDisabled","startAudioUpload","$currentKey","$currentRecord","$isButtonDisabled","$isExpanded","$voiceRecordState","recorderState","currentRecord","IDLE","deleteAudioRecord","audioFileId","api","deleteAudioFile","deleteCurrentRecording","source","mapParams","props","currentKey","notification","effect","recordingItem","get","id","abortUploadIfInProgress","resetRecordingState","success","initializeRecording","hasPermissions","error","inputs","recorder","setAvailableInputs","length","start","catch","name","stop","clearStopResolver","cleanup","getStatus","isRecording","recordingStatusUpdate","status","isFinished","url","getRecordingItem","key","RECORDING","stopAndAwaitResult","console","undefined","controller","abortUpload","delete","handleAudioUpload","uri","durationMs","collectionItem","uploadPromise","upload","fileName","add","resolveRecord","then","data","update","setupUploadHandler","clock","$lastKnownDurationMs","filter","fn","target","setupCurrentRecordSync","recorderButtonHandler","events","undoRecord","constructor","setApi"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/model/VoiceRecord.model.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -31,6 +31,7 @@ export declare class VoiceRecordModel {
|
|
|
31
31
|
readonly $currentRecord: import("effector").StoreWritable<any>;
|
|
32
32
|
readonly $isButtonDisabled: import("effector").StoreWritable<boolean>;
|
|
33
33
|
readonly $isExpanded: import("effector").Store<boolean>;
|
|
34
|
+
readonly deleteAudioRecord: import("effector").Effect<string, void, Error>;
|
|
34
35
|
readonly deleteCurrentRecording: import("effector").Effect<void | DeleteCurrentRecordingProps, void, Error>;
|
|
35
36
|
readonly initializeRecording: import("effector").Effect<void, void, Error>;
|
|
36
37
|
readonly stop: import("effector").Effect<void, void, Error>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/model/VoiceRecord.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,4BAA4B,EAC7B,MAAM,aAAa,CAAA;AAIpB,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,gBAAgB,CAAA;IACrB,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAYD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAUD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,2CAAiD;IAC9E,SAAgB,UAAU,yBAA+B;IACzD,SAAgB,QAAQ,gBAAsB;IAC9C,SAAgB,GAAG,EAAE,gBAAgB,CAAA;IACrC,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,OAAO,CAAC,sBAAsB,CAAQ;IAEtC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,mBAAmB,4CAAyB;IAC5D,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,iBAAiB,4CAA2C;IAE5E,SAAgB,WAAW,oCAO1B;IAED,SAAgB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/model/VoiceRecord.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,4BAA4B,EAC7B,MAAM,aAAa,CAAA;AAIpB,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,gBAAgB,CAAA;IACrB,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAYD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAUD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,2CAAiD;IAC9E,SAAgB,UAAU,yBAA+B;IACzD,SAAgB,QAAQ,gBAAsB;IAC9C,SAAgB,GAAG,EAAE,gBAAgB,CAAA;IACrC,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,OAAO,CAAC,sBAAsB,CAAQ;IAEtC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,mBAAmB,4CAAyB;IAC5D,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,iBAAiB,4CAA2C;IAE5E,SAAgB,WAAW,oCAO1B;IAED,SAAgB,iBAAiB,iDAE/B;IAEF,SAAgB,sBAAsB,6EAqBpC;IAEF,SAAgB,mBAAmB,+CA2BjC;IAEF,SAAgB,IAAI,+CAKlB;IAEF,SAAgB,OAAO,sBAKtB;IAED,SAAgB,qBAAqB,WAAY,GAAG,UAanD;IAED,SAAgB,gBAAgB,kFAkB9B;IAEF,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,iBAAiB,CA2BxB;IAED,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,sBAAsB;IAe9B,SAAgB,qBAAqB,+CAiBnC;gBAEU,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;CASlE"}
|
|
@@ -41,6 +41,7 @@ export type DownloadAudioPayload = {
|
|
|
41
41
|
};
|
|
42
42
|
export type VoiceRecorderApi = {
|
|
43
43
|
uploadAudioFile: (data: UploadAudioPayload) => Promise<UploadAudioResponse>;
|
|
44
|
+
deleteAudioFile: (audioFileId: string) => Promise<void>;
|
|
44
45
|
};
|
|
45
46
|
type TranscriptionStatus = 'pending' | 'completed' | 'failed';
|
|
46
47
|
export type AudioTranscriptResponse = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/voice/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;IAC/C,iBAAiB,EAAE,QAAQ,CAAA;CAC5B,CAAC,CAAA;AAEF,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAA;IACxD,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAC/C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/voice/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;IAC/C,iBAAiB,EAAE,QAAQ,CAAA;CAC5B,CAAC,CAAA;AAEF,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAA;IACxD,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAC/C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC3E,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACxD,CAAA;AAED,KAAK,mBAAmB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;AAC7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,mBAAmB,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACjF,iBAAiB,EAAE,CACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC/B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;CAClC,CAAA"}
|
|
@@ -31,6 +31,7 @@ export declare class VoiceRecordModel {
|
|
|
31
31
|
readonly $currentRecord: import("effector").StoreWritable<any>;
|
|
32
32
|
readonly $isButtonDisabled: import("effector").StoreWritable<boolean>;
|
|
33
33
|
readonly $isExpanded: import("effector").Store<boolean>;
|
|
34
|
+
readonly deleteAudioRecord: import("effector").Effect<string, void, Error>;
|
|
34
35
|
readonly deleteCurrentRecording: import("effector").Effect<void | DeleteCurrentRecordingProps, void, Error>;
|
|
35
36
|
readonly initializeRecording: import("effector").Effect<void, void, Error>;
|
|
36
37
|
readonly stop: import("effector").Effect<void, void, Error>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/model/VoiceRecord.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,4BAA4B,EAC7B,MAAM,aAAa,CAAA;AAIpB,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,gBAAgB,CAAA;IACrB,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAYD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAUD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,2CAAiD;IAC9E,SAAgB,UAAU,yBAA+B;IACzD,SAAgB,QAAQ,gBAAsB;IAC9C,SAAgB,GAAG,EAAE,gBAAgB,CAAA;IACrC,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,OAAO,CAAC,sBAAsB,CAAQ;IAEtC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,mBAAmB,4CAAyB;IAC5D,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,iBAAiB,4CAA2C;IAE5E,SAAgB,WAAW,oCAO1B;IAED,SAAgB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/model/VoiceRecord.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,4BAA4B,EAC7B,MAAM,aAAa,CAAA;AAIpB,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,gBAAgB,CAAA;IACrB,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAYD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAUD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,2CAAiD;IAC9E,SAAgB,UAAU,yBAA+B;IACzD,SAAgB,QAAQ,gBAAsB;IAC9C,SAAgB,GAAG,EAAE,gBAAgB,CAAA;IACrC,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,OAAO,CAAC,sBAAsB,CAAQ;IAEtC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,mBAAmB,4CAAyB;IAC5D,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,iBAAiB,4CAA2C;IAE5E,SAAgB,WAAW,oCAO1B;IAED,SAAgB,iBAAiB,iDAE/B;IAEF,SAAgB,sBAAsB,6EAqBpC;IAEF,SAAgB,mBAAmB,+CA2BjC;IAEF,SAAgB,IAAI,+CAKlB;IAEF,SAAgB,OAAO,sBAKtB;IAED,SAAgB,qBAAqB,WAAY,GAAG,UAanD;IAED,SAAgB,gBAAgB,kFAkB9B;IAEF,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,iBAAiB,CA2BxB;IAED,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,sBAAsB;IAe9B,SAAgB,qBAAqB,+CAiBnC;gBAEU,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;CASlE"}
|
|
@@ -41,6 +41,7 @@ export type DownloadAudioPayload = {
|
|
|
41
41
|
};
|
|
42
42
|
export type VoiceRecorderApi = {
|
|
43
43
|
uploadAudioFile: (data: UploadAudioPayload) => Promise<UploadAudioResponse>;
|
|
44
|
+
deleteAudioFile: (audioFileId: string) => Promise<void>;
|
|
44
45
|
};
|
|
45
46
|
type TranscriptionStatus = 'pending' | 'completed' | 'failed';
|
|
46
47
|
export type AudioTranscriptResponse = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/voice/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;IAC/C,iBAAiB,EAAE,QAAQ,CAAA;CAC5B,CAAC,CAAA;AAEF,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAA;IACxD,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAC/C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/voice/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;IAC/C,iBAAiB,EAAE,QAAQ,CAAA;CAC5B,CAAC,CAAA;AAEF,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAA;IACxD,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAC/C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC3E,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACxD,CAAA;AAED,KAAK,mBAAmB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;AAC7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,mBAAmB,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACjF,iBAAiB,EAAE,CACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC/B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;CAClC,CAAA"}
|
package/package.json
CHANGED
|
@@ -73,6 +73,10 @@ export class VoiceRecordModel {
|
|
|
73
73
|
},
|
|
74
74
|
)
|
|
75
75
|
|
|
76
|
+
public readonly deleteAudioRecord = createEffect(async (audioFileId: string) => {
|
|
77
|
+
await this.api.deleteAudioFile(audioFileId)
|
|
78
|
+
})
|
|
79
|
+
|
|
76
80
|
public readonly deleteCurrentRecording = attach({
|
|
77
81
|
source: this.$currentKey,
|
|
78
82
|
mapParams: (props: DeleteCurrentRecordingProps | void, currentKey) => ({
|
|
@@ -83,6 +87,10 @@ export class VoiceRecordModel {
|
|
|
83
87
|
effect: createEffect(({ currentKey, notification }: DeleteCurrentRecordingValues) => {
|
|
84
88
|
const recordingItem = this.collection.get(currentKey)
|
|
85
89
|
|
|
90
|
+
if (recordingItem?.id) {
|
|
91
|
+
this.deleteAudioRecord(recordingItem.id)
|
|
92
|
+
}
|
|
93
|
+
|
|
86
94
|
this.abortUploadIfInProgress(recordingItem)
|
|
87
95
|
this.resetRecordingState(currentKey)
|
|
88
96
|
|
|
@@ -92,28 +100,33 @@ export class VoiceRecordModel {
|
|
|
92
100
|
}),
|
|
93
101
|
})
|
|
94
102
|
|
|
95
|
-
public readonly initializeRecording =
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
return
|
|
102
|
-
}
|
|
103
|
+
public readonly initializeRecording = attach({
|
|
104
|
+
source: this.$currentRecord,
|
|
105
|
+
effect: createEffect(async (currentRecord: StoreValue<typeof this.$currentRecord>) => {
|
|
106
|
+
if (currentRecord) {
|
|
107
|
+
this.deleteCurrentRecording({ notification: false })
|
|
108
|
+
}
|
|
103
109
|
|
|
104
|
-
|
|
105
|
-
|
|
110
|
+
const hasPermissions = await ensureRecordingPermissions()
|
|
111
|
+
if (!hasPermissions) {
|
|
112
|
+
this.notification.error(t('voice.noMicrophoneAccess'))
|
|
113
|
+
return
|
|
114
|
+
}
|
|
106
115
|
|
|
107
|
-
|
|
108
|
-
this.
|
|
109
|
-
return
|
|
110
|
-
}
|
|
116
|
+
const inputs = await getAvailableInputs(this.recorderModel.recorder)
|
|
117
|
+
this.recorderModel.setAvailableInputs(inputs)
|
|
111
118
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
119
|
+
if (inputs.length === 0) {
|
|
120
|
+
this.notification.error(t('voice.noMicrophoneFound'))
|
|
121
|
+
return
|
|
115
122
|
}
|
|
116
|
-
|
|
123
|
+
|
|
124
|
+
return this.recorderModel.start().catch((error) => {
|
|
125
|
+
if (error.name === 'NotAllowedError') {
|
|
126
|
+
this.notification.error(t('voice.noMicrophoneAccessBySystem'))
|
|
127
|
+
}
|
|
128
|
+
})
|
|
129
|
+
}),
|
|
117
130
|
})
|
|
118
131
|
|
|
119
132
|
public readonly stop = createEffect(async () => {
|
|
@@ -51,6 +51,7 @@ export type DownloadAudioPayload = {
|
|
|
51
51
|
|
|
52
52
|
export type VoiceRecorderApi = {
|
|
53
53
|
uploadAudioFile: (data: UploadAudioPayload) => Promise<UploadAudioResponse>
|
|
54
|
+
deleteAudioFile: (audioFileId: string) => Promise<void>
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
type TranscriptionStatus = 'pending' | 'completed' | 'failed'
|