overleaf/libraries/object-persistor/src/AbstractPersistor.js
2020-07-07 10:40:37 +01:00

96 lines
2.2 KiB
JavaScript

const { NotImplementedError } = require('./Errors')
module.exports = class AbstractPersistor {
async sendFile(location, target, source) {
throw new NotImplementedError('method not implemented in persistor', {
method: 'sendFile',
location,
target,
source
})
}
async sendStream(location, target, sourceStream, sourceMd5) {
throw new NotImplementedError('method not implemented in persistor', {
method: 'sendStream',
location,
target,
sourceMd5
})
}
// opts may be {start: Number, end: Number}
async getObjectStream(location, name, opts) {
throw new NotImplementedError('method not implemented in persistor', {
method: 'getObjectStream',
location,
name,
opts
})
}
async getRedirectUrl(location, name) {
throw new NotImplementedError('method not implemented in persistor', {
method: 'getRedirectUrl',
location,
name
})
}
async getObjectSize(location, name) {
throw new NotImplementedError('method not implemented in persistor', {
method: 'getObjectSize',
location,
name
})
}
async getObjectMd5Hash(location, name) {
throw new NotImplementedError('method not implemented in persistor', {
method: 'getObjectMd5Hash',
location,
name
})
}
async copyObject(location, fromName, toName) {
throw new NotImplementedError('method not implemented in persistor', {
method: 'copyObject',
location,
fromName,
toName
})
}
async deleteObject(location, name) {
throw new NotImplementedError('method not implemented in persistor', {
method: 'deleteObject',
location,
name
})
}
async deleteDirectory(location, name) {
throw new NotImplementedError('method not implemented in persistor', {
method: 'deleteDirectory',
location,
name
})
}
async checkIfObjectExists(location, name) {
throw new NotImplementedError('method not implemented in persistor', {
method: 'checkIfObjectExists',
location,
name
})
}
async directorySize(location, name) {
throw new NotImplementedError('method not implemented in persistor', {
method: 'directorySize',
location,
name
})
}
}