Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add high level stream API. | Harald Eilertsen | 2024-01-08 | 3 | -1/+253 |
| | |||||
* | Implement channel API's. | Harald Eilertsen | 2023-04-01 | 2 | -5/+55 |
| | | | | | These just output the result as json for now, that's not what we want in the end, but it's where we start. | ||||
* | Add version API. | Harald Eilertsen | 2023-04-01 | 2 | -0/+19 |
| | |||||
* | Another reqrite... | Harald Eilertsen | 2023-03-29 | 13 | -502/+98 |
| | | | | | | | | | | | | | | | | | | Third time must be where it sits I hope. I felt the API was getting a bit too distracted by unnecessary constructs and abstractions, so I'm trying to simplify it by making it more straight forward. The idea now is to have one main API class (ZotApi), and all the various remote API's as public methods on this basic class. Iow, the ZotApi class is mainly based on the existing `Client` class, which is then being phased out. And instead of having each API tied to the data type they return, I'm just adding methods that will return the respective data types. This should reduce coupling between the returned data, and the API calls themselves. | ||||
* | Update some dependencies.dev | Harald Eilertsen | 2023-03-28 | 2 | -2/+2 |
| | |||||
* | Fix license header on new files. | Harald Eilertsen | 2023-03-28 | 2 | -0/+32 |
| | |||||
* | Update gitignore to ignore sub-targets. | Harald Eilertsen | 2023-03-27 | 1 | -1/+1 |
| | |||||
* | Add ZotAPI trait and derive macro. | Harald Eilertsen | 2023-03-27 | 10 | -25/+52 |
| | | | | | | | | | The idea is to try to generate more of the boilerplate code, but for now we only do the `z()` method definition. There are also some we're not quite able to replace yet (like XChanRequest) since it also has life times. It's a start anyways :) | ||||
* | Implement "verify" API.HEADmaster | Harald Eilertsen | 2023-03-26 | 3 | -0/+184 |
| | | | | | | | The verify API call returns a full channel object, including the corresponding xchan. I've added the xchan as a field in the Channel object, instead of having all the fields in one object like it is returned from the API. | ||||
* | Move to Rust 2021 edition. | Harald Eilertsen | 2023-03-26 | 1 | -1/+1 |
| | | | | | Doesn't seem like anything is changing re our code, but might as well just stay with the lates. | ||||
* | Make abook output prettier. | Harald Eilertsen | 2023-03-26 | 1 | -1/+3 |
| | | | | | | Only print the most relevant information from the returned data. Output it as CSV (but we don't do any sort of escaping yet). This will probably not stay this way, but works as a demonstration for now. | ||||
* | Include XChan in the Abook struct. | Harald Eilertsen | 2023-03-26 | 1 | -3/+16 |
| | | | | | | I feel this is a better representation than what is coming directly from the API where it's all returned as one json object with fieldnames prefixed with abook or xchan respectively. | ||||
* | Add generix API error which is a string. | Harald Eilertsen | 2023-03-26 | 1 | -0/+7 |
| | |||||
* | Fetch abook and xchan directly from api. | Harald Eilertsen | 2023-03-26 | 7 | -135/+163 |
| | | | | We don't really need the intermediate layer in the binary module. | ||||
* | Update reqwest and make async. | Harald Eilertsen | 2021-07-05 | 17 | -110/+135 |
| | | | | | | | | This means adding the full tokio as a dependency. While there isn't much gain to going async in the current cli demo app, a full fledged app may have more to gain by it. First foray into async rust, so I might not do it right... | ||||
* | Update dependencies | Harald Eilertsen | 2021-07-05 | 1 | -5/+5 |
| | |||||
* | Fix tests an update for newer rust. | Harald Eilertsen | 2021-07-04 | 2 | -4/+4 |
| | |||||
* | bin/zot: Clean up channel stream output somewhat. | Your Name | 2020-05-03 | 1 | -9/+18 |
| | | | | Not really easy to find a goot pure text representation of this, though. | ||||
* | Promote example app to proper command line client. | Your Name | 2020-05-03 | 10 | -5/+5 |
| | |||||
* | zotcli: Don't dump raw json response after post item. | Your Name | 2020-05-02 | 3 | -6/+44 |
| | |||||
* | zotcli: take item body as a file rather than string. | Your Name | 2020-05-02 | 2 | -2/+8 |
| | |||||
* | xchan: update internal api and parse results into struct. | Your Name | 2020-05-02 | 4 | -21/+105 |
| | |||||
* | xchan: rename request object type to XChanRequest. | Your Name | 2020-05-02 | 1 | -12/+12 |
| | | | | We want to have the XChan type for actial XChan data. | ||||
* | Update Mockito | Your Name | 2020-05-01 | 1 | -1/+1 |
| | |||||
* | Update abook with struct and request object. | Harald Eilertsen | 2020-02-14 | 4 | -31/+109 |
| | |||||
* | tests: Make default mock return empty array. | Harald Eilertsen | 2020-02-14 | 1 | -1/+1 |
| | | | | Most API's return an arrya, so this should be ok with most of them. | ||||
* | tests: No need to check response returned by mock. | Harald Eilertsen | 2020-02-14 | 1 | -4/+2 |
| | |||||
* | Refactor how ABConfigs are fetched. | Harald Eilertsen | 2020-02-13 | 4 | -20/+25 |
| | | | | | | | Introduce a `z()` menber function that creates the request object that we use for further configuring the requset. This eliminates the need to two fetch functions, and is meant to provide a consistent way of doing these requests. | ||||
* | Let api access client request object directly. | Harald Eilertsen | 2020-02-13 | 2 | -5/+13 |
| | | | | | This simplifies things a bit, as we don't need to buffer query params and such outside of the request itself. | ||||
* | Add fetching ABConfig for only a given contact. | Harald Eilertsen | 2020-02-13 | 2 | -0/+48 |
| | |||||
* | abconfig: reorg + parse result into struct. | Harald Eilertsen | 2020-01-04 | 6 | -15/+65 |
| | |||||
* | Cargo fmt | Harald Eilertsen | 2020-01-03 | 9 | -35/+10 |
| | |||||
* | Move client constructor fn to submodule. | Harald Eilertsen | 2020-01-03 | 3 | -14/+10 |
| | |||||
* | Make channel and network stream behave like the rest. | Harald Eilertsen | 2020-01-03 | 7 | -13/+75 |
| | |||||
* | Move Client out of the api objects. | Harald Eilertsen | 2020-01-03 | 13 | -137/+105 |
| | | | | Also make constructor functions in the zotapi namespace. | ||||
* | Use Url crate and move paths to submodules. | Harald Eilertsen | 2020-01-03 | 7 | -33/+26 |
| | |||||
* | Cargo fmt | Harald Eilertsen | 2020-01-02 | 16 | -190/+201 |
| | |||||
* | No need for extern crate in Rust 2018. | Harald Eilertsen | 2020-01-02 | 3 | -9/+0 |
| | |||||
* | zotcli: Limit post to one or more groups. | Harald Eilertsen | 2020-01-01 | 2 | -0/+7 |
| | |||||
* | Allow limiting a new item to one or more privacy groups. | Harald Eilertsen | 2020-01-01 | 2 | -12/+80 |
| | |||||
* | Replace serde_urlencoded with serde_qs. | Harald Eilertsen | 2020-01-01 | 6 | -36/+24 |
| | | | | Simplifies serialization of various types quite a bit. | ||||
* | Update deps. | Harald Eilertsen | 2020-01-01 | 2 | -3/+3 |
| | |||||
* | tests: Verify authorization properly. | Harald Eilertsen | 2020-01-01 | 2 | -15/+15 |
| | |||||
* | Update to Mockito 0.19 for smoother tests. | Harald Eilertsen | 2019-07-29 | 2 | -13/+12 |
| | | | | | Provides matching against query params, so we don't need the ugly regexes anymore. | ||||
* | Abstract away type of stored data in an Item. | Harald Eilertsen | 2019-07-29 | 2 | -4/+38 |
| | | | | | Currently this seems rather pointless, but will make more sense when we need to store arrays in the Item data set. | ||||
* | Reduce duplication in tests. | Harald Eilertsen | 2019-06-12 | 1 | -84/+35 |
| | | | | | Adds a default_mock method for most cases, and a client method that sets up the zotapi client with the proper test url and credentials. | ||||
* | Add a bit of doc to the ItemBuilder struct. | Harald Eilertsen | 2019-06-12 | 1 | -0/+17 |
| | |||||
* | Make Error type public. | Harald Eilertsen | 2019-06-12 | 1 | -0/+1 |
| | |||||
* | zotcli: Handle attaching media to posts. | Harald Eilertsen | 2019-06-12 | 2 | -1/+7 |
| | |||||
* | Fix uploading of attachments to posts. | Harald Eilertsen | 2019-06-12 | 2 | -31/+29 |
| | | | | | | | The field needs to be named `media`, and we also need to handle the result of the operation. This refactors the result handling into a separate private function. |