don't save Alias in Share
This commit is contained in:
parent
5643ced9d1
commit
1ee56ac3da
3 changed files with 20 additions and 16 deletions
|
|
@ -27,7 +27,7 @@ fn main() {
|
||||||
info!("share: {share:?}");
|
info!("share: {share:?}");
|
||||||
|
|
||||||
for file in args.files {
|
for file in args.files {
|
||||||
let file = file.create(&agent, &share).unwrap();
|
let file = file.create(&agent, &alias, &share).unwrap();
|
||||||
info!("file: {file:?}");
|
info!("file: {file:?}");
|
||||||
|
|
||||||
for chunk in file.chunked(args.chunk_size * 1024 * 1024) {
|
for chunk in file.chunked(args.chunk_size * 1024 * 1024) {
|
||||||
|
|
@ -39,5 +39,5 @@ fn main() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
share.notify(&agent).unwrap();
|
share.notify(&agent, &alias).unwrap();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ use std::{
|
||||||
ffi::OsStr,
|
ffi::OsStr,
|
||||||
fs::metadata,
|
fs::metadata,
|
||||||
io::{self, ErrorKind},
|
io::{self, ErrorKind},
|
||||||
path::PathBuf,
|
path::{Path, PathBuf},
|
||||||
};
|
};
|
||||||
|
|
||||||
use log::{debug, error};
|
use log::{debug, error};
|
||||||
|
|
@ -25,8 +25,8 @@ pub struct File {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl File {
|
impl File {
|
||||||
pub fn new(path: impl Into<PathBuf>) -> io::Result<Self> {
|
pub fn new(path: impl AsRef<Path>) -> io::Result<Self> {
|
||||||
let path: PathBuf = path.into();
|
let path = path.as_ref().to_owned();
|
||||||
|
|
||||||
let m = metadata(&path)?;
|
let m = metadata(&path)?;
|
||||||
if !m.is_file() {
|
if !m.is_file() {
|
||||||
|
|
@ -45,15 +45,20 @@ impl File {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn create(self, http: &ureq::Agent, share: &Share) -> Result<Self, ureq::Error> {
|
pub fn create(
|
||||||
|
self,
|
||||||
|
http: &ureq::Agent,
|
||||||
|
alias: &Alias,
|
||||||
|
share: &Share,
|
||||||
|
) -> Result<Self, ureq::Error> {
|
||||||
if self.patch_uri.is_some() {
|
if self.patch_uri.is_some() {
|
||||||
return Err(Other("patch_uri already set".into()));
|
return Err(Other("patch_uri already set".into()));
|
||||||
}
|
}
|
||||||
|
|
||||||
let endpoint = (share.alias).get_endpoint(format!("alias/upload/{}/files/tus", share.id));
|
let endpoint = alias.get_endpoint(format!("alias/upload/{}/files/tus", share.id));
|
||||||
|
|
||||||
let res = (http.post(endpoint))
|
let res = (http.post(endpoint))
|
||||||
.sharry_header(share.alias)
|
.sharry_header(alias)
|
||||||
.header("Sharry-File-Name", &self.name)
|
.header("Sharry-File-Name", &self.name)
|
||||||
.header("Upload-Length", self.size)
|
.header("Upload-Length", self.size)
|
||||||
.send_empty()?;
|
.send_empty()?;
|
||||||
|
|
|
||||||
|
|
@ -6,15 +6,14 @@ use super::{
|
||||||
};
|
};
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct Share<'t> {
|
pub struct Share {
|
||||||
pub(super) alias: &'t Alias,
|
|
||||||
pub(super) id: String,
|
pub(super) id: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'t> Share<'t> {
|
impl Share {
|
||||||
pub fn create(
|
pub fn create(
|
||||||
http: &ureq::Agent,
|
http: &ureq::Agent,
|
||||||
alias: &'t Alias,
|
alias: &Alias,
|
||||||
data: NewShareRequest,
|
data: NewShareRequest,
|
||||||
) -> Result<Self, ureq::Error> {
|
) -> Result<Self, ureq::Error> {
|
||||||
let res = (http.post(alias.get_endpoint("alias/upload/new")))
|
let res = (http.post(alias.get_endpoint("alias/upload/new")))
|
||||||
|
|
@ -29,14 +28,14 @@ impl<'t> Share<'t> {
|
||||||
return Err(ureq::Error::Other("unexpected json response".into()));
|
return Err(ureq::Error::Other("unexpected json response".into()));
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(Self { alias, id: res.id })
|
Ok(Self { id: res.id })
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn notify(&self, http: &ureq::Agent) -> Result<(), ureq::Error> {
|
pub fn notify(&self, http: &ureq::Agent, alias: &Alias) -> Result<(), ureq::Error> {
|
||||||
let endpoint = (self.alias).get_endpoint(format!("alias/mail/notify/{}", self.id));
|
let endpoint = alias.get_endpoint(format!("alias/mail/notify/{}", self.id));
|
||||||
|
|
||||||
let res = (http.post(endpoint))
|
let res = (http.post(endpoint))
|
||||||
.sharry_header(self.alias)
|
.sharry_header(alias)
|
||||||
.send_empty()?
|
.send_empty()?
|
||||||
.body_mut()
|
.body_mut()
|
||||||
.read_json::<NotifyShareResponse>()?;
|
.read_json::<NotifyShareResponse>()?;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue