aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add stream Actor and Tag structs and complete StreamItem.Harald Eilertsen2024-01-134-0/+121
|
* Add some more fields to the StreamItem struct.Harald Eilertsen2024-01-132-1/+15
|
* Add stream::DateTime structHarald Eilertsen2024-01-134-0/+107
| | | | | | | As the date and time returned in the json data from the zot stream api's neither contains any timezone information, nor follow the RFC3339 format expected by Chrono, we need to make our own date time type, and handle deserialization ourselves.
* Move streamitem tests to streamitem module.Harald Eilertsen2024-01-132-88/+97
|
* Refactor stream API, move StreamItem and Verb to modules.Harald Eilertsen2024-01-123-96/+136
|
* Make channel_stream return error on auth failureHarald Eilertsen2024-01-124-331/+369
| | | | Also reenables the relevant tests.
* Add high level stream API.Harald Eilertsen2024-01-083-1/+253
|
* Implement channel API's.Harald Eilertsen2023-04-012-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 Eilertsen2023-04-012-0/+19
|
* Another reqrite...Harald Eilertsen2023-03-2913-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.devHarald Eilertsen2023-03-282-2/+2
|
* Fix license header on new files.Harald Eilertsen2023-03-282-0/+32
|
* Update gitignore to ignore sub-targets.Harald Eilertsen2023-03-271-1/+1
|
* Add ZotAPI trait and derive macro.Harald Eilertsen2023-03-2710-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.HEADmasterHarald Eilertsen2023-03-263-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 Eilertsen2023-03-261-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 Eilertsen2023-03-261-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 Eilertsen2023-03-261-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 Eilertsen2023-03-261-0/+7
|
* Fetch abook and xchan directly from api.Harald Eilertsen2023-03-267-135/+163
| | | | We don't really need the intermediate layer in the binary module.
* Update reqwest and make async.Harald Eilertsen2021-07-0517-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 dependenciesHarald Eilertsen2021-07-051-5/+5
|
* Fix tests an update for newer rust.Harald Eilertsen2021-07-042-4/+4
|
* bin/zot: Clean up channel stream output somewhat.Your Name2020-05-031-9/+18
| | | | Not really easy to find a goot pure text representation of this, though.
* Promote example app to proper command line client.Your Name2020-05-0310-5/+5
|
* zotcli: Don't dump raw json response after post item.Your Name2020-05-023-6/+44
|
* zotcli: take item body as a file rather than string.Your Name2020-05-022-2/+8
|
* xchan: update internal api and parse results into struct.Your Name2020-05-024-21/+105
|
* xchan: rename request object type to XChanRequest.Your Name2020-05-021-12/+12
| | | | We want to have the XChan type for actial XChan data.
* Update MockitoYour Name2020-05-011-1/+1
|
* Update abook with struct and request object.Harald Eilertsen2020-02-144-31/+109
|
* tests: Make default mock return empty array.Harald Eilertsen2020-02-141-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 Eilertsen2020-02-141-4/+2
|
* Refactor how ABConfigs are fetched.Harald Eilertsen2020-02-134-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 Eilertsen2020-02-132-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 Eilertsen2020-02-132-0/+48
|
* abconfig: reorg + parse result into struct.Harald Eilertsen2020-01-046-15/+65
|
* Cargo fmtHarald Eilertsen2020-01-039-35/+10
|
* Move client constructor fn to submodule.Harald Eilertsen2020-01-033-14/+10
|
* Make channel and network stream behave like the rest.Harald Eilertsen2020-01-037-13/+75
|
* Move Client out of the api objects.Harald Eilertsen2020-01-0313-137/+105
| | | | Also make constructor functions in the zotapi namespace.
* Use Url crate and move paths to submodules.Harald Eilertsen2020-01-037-33/+26
|
* Cargo fmtHarald Eilertsen2020-01-0216-190/+201
|
* No need for extern crate in Rust 2018.Harald Eilertsen2020-01-023-9/+0
|
* zotcli: Limit post to one or more groups.Harald Eilertsen2020-01-012-0/+7
|
* Allow limiting a new item to one or more privacy groups.Harald Eilertsen2020-01-012-12/+80
|
* Replace serde_urlencoded with serde_qs.Harald Eilertsen2020-01-016-36/+24
| | | | Simplifies serialization of various types quite a bit.
* Update deps.Harald Eilertsen2020-01-012-3/+3
|
* tests: Verify authorization properly.Harald Eilertsen2020-01-012-15/+15
|
* Update to Mockito 0.19 for smoother tests.Harald Eilertsen2019-07-292-13/+12
| | | | | Provides matching against query params, so we don't need the ugly regexes anymore.