video-auth-js-sdk
Version:
A SDK to authenticate users with camera through a realtime stream
82 lines (78 loc) • 2.22 kB
JavaScript
import EventEmiter from "./events";
import AsyncManager from "./Async"
import Messenger from "./Messenger";
// import FaceAPI from "./FaceAPI";
import ErrorHandler from "./errorHandler";
function App({
socketAddress,
appId,
deviceId,
serverName,
token,
messageTtl,
// onSuccess,
onError,
onDebug,
onReady,
videoContainerId,
// modelPath,
enableFaceBox
}) {
let app = {
params: {
enableFaceBox,
socketAddress,
serverName: serverName || 'ai-simulator',
appId,
deviceId,
token,
messageTtl: messageTtl || 0,
videoContainerId,
// modelPath
},
publicCallbacks: {
// onSuccess,
onError: (data)=>{
onError && onError(data);
},
onDebug(data){
onDebug && onDebug(data);
},
onReady(data){
onReady && onReady(data);
},
},
store: {
localCameraStream: null,
asyncRequestTimeouts: {},
messagesCallbacks: {},
videoTag: null,
externalParentTag: null,
videoParentTag: null,
canvasTag: null,
faceDetected: false
},
authSessionInfo: {
generateTurnsList(turnIps) {
let turnsList = [], ti = turnIps.split(',');
for (let i in ti) {
turnsList.push({
"urls": "turn:" + ti[i],
"username": "mkhorrami",
"credential": "mkh_123456"
})
}
app.authSessionInfo.turnsList = turnsList;
return turnsList;
}
}
};
let eventEmitter = new EventEmiter();
app.events = eventEmitter;
app.async = new AsyncManager(app);
app.messenger = new Messenger(app);
// app.faceApi = new FaceAPI(app);
app.errorHandler = new ErrorHandler(app);
return app;
}
export default App