add onCloudVideoUploaded action handler to backblaze
parent
26713bde3c
commit
83fbd5f623
|
|
@ -62,6 +62,7 @@ module.exports = function(s,config){
|
||||||
createExtension(`onEventBasedRecordingComplete`)
|
createExtension(`onEventBasedRecordingComplete`)
|
||||||
createExtension(`onEventBasedRecordingStart`)
|
createExtension(`onEventBasedRecordingStart`)
|
||||||
createExtension(`onBeforeInsertCompletedVideo`)
|
createExtension(`onBeforeInsertCompletedVideo`)
|
||||||
|
createExtension(`onCloudVideoUploaded`)
|
||||||
/////// TIMELAPSE ////////
|
/////// TIMELAPSE ////////
|
||||||
createExtension(`onInsertTimelapseFrame`)
|
createExtension(`onInsertTimelapseFrame`)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,18 +3,19 @@ const { Readable } = require('stream');
|
||||||
const B2 = require('backblaze-b2')
|
const B2 = require('backblaze-b2')
|
||||||
module.exports = function(s,config,lang){
|
module.exports = function(s,config,lang){
|
||||||
//Backblaze B2
|
//Backblaze B2
|
||||||
|
var serviceProvider = 'b2'
|
||||||
var beforeAccountSaveForBackblazeB2 = function(d){
|
var beforeAccountSaveForBackblazeB2 = function(d){
|
||||||
//d = save event
|
//d = save event
|
||||||
d.formDetails.b2_use_global=d.d.b2_use_global
|
d.formDetails.b2_use_global=d.d.b2_use_global
|
||||||
d.formDetails.use_bb_b2=d.d.use_bb_b2
|
d.formDetails.use_bb_b2=d.d.use_bb_b2
|
||||||
}
|
}
|
||||||
var cloudDiskUseStartupForBackblazeB2 = function(group,userDetails){
|
var cloudDiskUseStartupForBackblazeB2 = function(group,userDetails){
|
||||||
group.cloudDiskUse['b2'].name = 'Backblaze B2'
|
group.cloudDiskUse[serviceProvider].name = 'Backblaze B2'
|
||||||
group.cloudDiskUse['b2'].sizeLimitCheck = (userDetails.use_bb_b2_size_limit === '1')
|
group.cloudDiskUse[serviceProvider].sizeLimitCheck = (userDetails.use_bb_b2_size_limit === '1')
|
||||||
if(!userDetails.bb_b2_size_limit || userDetails.bb_b2_size_limit === ''){
|
if(!userDetails.bb_b2_size_limit || userDetails.bb_b2_size_limit === ''){
|
||||||
group.cloudDiskUse['b2'].sizeLimit = 10000
|
group.cloudDiskUse[serviceProvider].sizeLimit = 10000
|
||||||
}else{
|
}else{
|
||||||
group.cloudDiskUse['b2'].sizeLimit = parseFloat(userDetails.bb_b2_size_limit)
|
group.cloudDiskUse[serviceProvider].sizeLimit = parseFloat(userDetails.bb_b2_size_limit)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var loadBackblazeB2ForUser = function(e){
|
var loadBackblazeB2ForUser = function(e){
|
||||||
|
|
@ -83,7 +84,7 @@ module.exports = function(s,config,lang){
|
||||||
}catch(err){
|
}catch(err){
|
||||||
var videoDetails = video.details
|
var videoDetails = video.details
|
||||||
}
|
}
|
||||||
if(video.type !== 'b2'){
|
if(video.type !== serviceProvider){
|
||||||
callback()
|
callback()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -128,30 +129,35 @@ module.exports = function(s,config,lang){
|
||||||
}).then(function(resp){
|
}).then(function(resp){
|
||||||
const uploadResponse = resp.data
|
const uploadResponse = resp.data
|
||||||
if(theGroup.init.bb_b2_log === '1' && uploadResponse.fileId){
|
if(theGroup.init.bb_b2_log === '1' && uploadResponse.fileId){
|
||||||
|
const insertDetails = {
|
||||||
|
bucketId : uploadResponse.bucketId,
|
||||||
|
fileId : uploadResponse.fileId,
|
||||||
|
fileName : uploadResponse.fileName
|
||||||
|
}
|
||||||
|
const insertQuery = {
|
||||||
|
mid: e.mid,
|
||||||
|
ke: e.ke,
|
||||||
|
time: k.startTime,
|
||||||
|
status: 1,
|
||||||
|
type : serviceProvider,
|
||||||
|
details: insertDetails,
|
||||||
|
size: k.filesize,
|
||||||
|
end: k.endTime,
|
||||||
|
href: ''
|
||||||
|
}
|
||||||
s.knexQuery({
|
s.knexQuery({
|
||||||
action: "insert",
|
action: "insert",
|
||||||
table: "Cloud Videos",
|
table: "Cloud Videos",
|
||||||
insert: {
|
insert: Object.assign({},insertQuery,{details: s.s(insertDetails)})
|
||||||
mid: e.mid,
|
|
||||||
ke: e.ke,
|
|
||||||
time: k.startTime,
|
|
||||||
status: 1,
|
|
||||||
type : 'b2',
|
|
||||||
details: s.s({
|
|
||||||
bucketId : uploadResponse.bucketId,
|
|
||||||
fileId : uploadResponse.fileId,
|
|
||||||
fileName : uploadResponse.fileName
|
|
||||||
}),
|
|
||||||
size: k.filesize,
|
|
||||||
end: k.endTime,
|
|
||||||
href: ''
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
s.setCloudDiskUsedForGroup(e.ke,{
|
s.setCloudDiskUsedForGroup(e.ke,{
|
||||||
amount : k.filesizeMB,
|
amount : k.filesizeMB,
|
||||||
storageType : 'b2'
|
storageType : serviceProvider
|
||||||
|
})
|
||||||
|
s.purgeCloudDiskForGroup(e,serviceProvider)
|
||||||
|
s.onCloudVideoUploadedExtensions.forEach((extender) => {
|
||||||
|
extender(insertQuery)
|
||||||
})
|
})
|
||||||
s.purgeCloudDiskForGroup(e,'b2')
|
|
||||||
}
|
}
|
||||||
}).catch(backblazeErr)
|
}).catch(backblazeErr)
|
||||||
})
|
})
|
||||||
|
|
@ -183,7 +189,7 @@ module.exports = function(s,config,lang){
|
||||||
}
|
}
|
||||||
//backblaze b2
|
//backblaze b2
|
||||||
s.addCloudUploader({
|
s.addCloudUploader({
|
||||||
name: 'b2',
|
name: serviceProvider,
|
||||||
loadGroupAppExtender: loadBackblazeB2ForUser,
|
loadGroupAppExtender: loadBackblazeB2ForUser,
|
||||||
unloadGroupAppExtender: unloadBackblazeB2ForUser,
|
unloadGroupAppExtender: unloadBackblazeB2ForUser,
|
||||||
insertCompletedVideoExtender: uploadVideoToBackblazeB2,
|
insertCompletedVideoExtender: uploadVideoToBackblazeB2,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue