From 115e8b15271330db7114add4b428c714abb792e2 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Mon, 6 May 2024 20:43:04 -0400 Subject: [PATCH] Adding code to the syncers module --- src/syncers/delete.rs | 18 ++++++++++++++++-- src/syncers/download.rs | 14 ++++++++++++++ src/syncers/retrieve_records.rs | 16 ++++++++++++++++ src/syncers/syncer_base.rs | 26 +++++++++++++++++++++++++- src/syncers/upload.rs | 14 ++++++++++++++ 5 files changed, 85 insertions(+), 3 deletions(-) diff --git a/src/syncers/delete.rs b/src/syncers/delete.rs index 21617ff..c97204b 100644 --- a/src/syncers/delete.rs +++ b/src/syncers/delete.rs @@ -1,10 +1,24 @@ +use std::default::Default; + use crate::models; +use super::syncer_base; + #[derive(Clone, Debug)] pub struct Delete { pub api: models::api::API, } -impl Delete { - pub fn delete_song(&self, token: &models::token::Token, song: &models::song::Song) {} +impl Default for Delete { + fn default() -> Self { + Delete { + api: models::api::API::default(), + } + } +} + +impl Delete { + pub fn delete_song(&self, token: &models::token::Token, song: &models::song::Song) { + let url = syncer_base::Syncer::retrieve_url(&self.api, &song); + } } diff --git a/src/syncers/download.rs b/src/syncers/download.rs index 8b13789..2607afa 100644 --- a/src/syncers/download.rs +++ b/src/syncers/download.rs @@ -1 +1,15 @@ +use std::default::Default; +use crate::models; + +pub struct Download{ + pub api: models::api::API, +} + +impl Default for Download { + fn default() -> Self { + Download { + api: models::api::API::default(), + } + } +} \ No newline at end of file diff --git a/src/syncers/retrieve_records.rs b/src/syncers/retrieve_records.rs index 8b13789..b6039b1 100644 --- a/src/syncers/retrieve_records.rs +++ b/src/syncers/retrieve_records.rs @@ -1 +1,17 @@ +use std::default::Default; +use crate::models; + + +pub struct RetrieveRecords { + pub api: models::api::API, +} + + +impl Default for RetrieveRecords { + fn default() -> Self { + RetrieveRecords { + api: models::api::API::default(), + } + } +} \ No newline at end of file diff --git a/src/syncers/syncer_base.rs b/src/syncers/syncer_base.rs index dd9fff9..7cbc353 100644 --- a/src/syncers/syncer_base.rs +++ b/src/syncers/syncer_base.rs @@ -1,6 +1,10 @@ use crate::models; -struct Syncer {} +pub struct Syncer { + ok: i32, + unauthorized: i32, + not_found: i32, +} impl Syncer { pub fn retrieve_url(api: &models::api::API, song: &models::song::Song) -> String { @@ -14,4 +18,24 @@ impl Syncer { return url; } + + pub fn ok() -> i32 { + return 200; + } + + pub fn unauthorized() -> i32 { + return 401; + } + + pub fn not_found() -> i32 { + return 404; + } } + +pub enum Result { + OK, + UNAUTHORIZED, + NOTFOUND, +} + + diff --git a/src/syncers/upload.rs b/src/syncers/upload.rs index 8b13789..809cc81 100644 --- a/src/syncers/upload.rs +++ b/src/syncers/upload.rs @@ -1 +1,15 @@ +use std::default::Default; +use crate::models; + +pub struct Upload { + pub api: models::api::API, +} + +impl Default for Upload { + fn default() -> Self { + Upload { + api: models::api::API::default(), + } + } +} \ No newline at end of file