diff options
Diffstat (limited to 'src/item.rs')
-rw-r--r-- | src/item.rs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/item.rs b/src/item.rs new file mode 100644 index 0000000..7fb751d --- /dev/null +++ b/src/item.rs @@ -0,0 +1,40 @@ +// zotapi - Rust wrapper for Sot API as implemented by Hubzilla +// Copyright (C) 2018 Harald Eilertsen <haraldei@anduin.net> +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <https://www.gnu.org/licenses/>. + +use client::{self, Client}; +use error::Error; + +pub struct ItemBuilder<'a> { + client : &'a Client, + body: &'a str, +} + +impl<'a> ItemBuilder<'a> { + pub fn new(client: &'a Client) -> ItemBuilder<'a> { + ItemBuilder { + client: client, + body: "", + } + } + pub fn body(&mut self, text: &'a str) -> &mut ItemBuilder<'a> { + self.body = text; + self + } + + pub fn create(&self) -> Result<String, Error> { + self.client.post_data(client::ZOTAPI_ITEM_UPDATE_PATH, &[("body", self.body)]) + } +} |