Commit Graph
38 Commits
Author SHA1 Message Date
Paul Woolcock 57cc44368c Document "everything"
This is a good start but many things need to be documented better, but
this will at least allow us to turn on #[deny(missing_docs)]
2018-08-30 16:22:46 -04:00
Paul Woolcock 5b24922d9e Add some more lints, and fix the compile errors they generate 2018-08-28 06:14:56 -04:00
Paul Woolcock 6cee086d79 Add max_toot_chars to the Instance model
Closes #22
2018-08-27 07:31:36 -04:00
Paul Woolcock 0913926702 Add test for entities::Account 2018-08-27 06:58:37 -04:00
Paul Woolcock 4ff27dd049 Credientials -> Credentials 2018-08-27 05:29:35 -04:00
Paul Woolcock 35a603f193 These are not always present, make them Option<>s 2018-08-24 05:08:52 -04:00
Paul Woolcock 3330a26760 rustfmt pass 2018-08-23 21:46:31 -04:00
Paul Woolcock 49a2237803 Introduce HttpSend trait for converting Request -> Response
Parameterize everything that involves sending HTTP requests with the `H:
HttpSend` bound. This will allow us to swap out `HttpSend`
implementations when necessary, in order to better test our code
2018-08-23 21:46:31 -04:00
Paul Woolcock 8636e690c3 rustfmt pass 2018-08-23 10:35:26 -04:00
Paul Woolcock 5eca9748a3 Reduce the visibility of ItemsIter and add docs to items_iter 2018-08-22 16:09:16 -04:00
Paul Woolcock 49eee2313f Make the Meta fields optional
using `deserialize_with` causes an error if the `"meta"` key is missing
completely, which is not very useful. This isn't ideal, but it will make
it so all the various states that "meta" can be in will deser correctly
2018-08-22 15:18:58 -04:00
Paul Woolcock 2e8ee7e840 This field can be true/false or "true"/"false" 2018-08-22 14:22:27 -04:00
Paul Woolcock e5175f09fe make apps::prelude and use the preludes in the tests 2018-08-22 13:53:54 -04:00
Paul Woolcock cc083e335e Change Mastodon::from_data to just Mastodon::from 2018-08-22 06:48:56 -04:00
Paul Woolcock a9b6b52890 Change mammut references to elefren 2018-08-21 17:01:05 -04:00
Paul Woolcock 22b4b04738 Adds a MastodonClient trait
This is useful for user code, which can use the trait to add a layer of
indirection to their code, allowing them to swap out implementations for
testing
2018-08-21 16:29:57 -04:00
Paul Woolcock d14d50070e fix test 2018-08-21 15:56:01 -04:00
Paul Woolcock 664cb2797f fix the test so it actually tests something 2018-08-21 15:56:01 -04:00
Paul Woolcock 6501470312 Change PageIter to ItemsIter 2018-08-21 15:56:01 -04:00
Paul Woolcock 68f8766aff Return None if there are no items 2018-08-21 15:56:01 -04:00
Paul Woolcock b4cbcfa1a7 into_iter -> items_iter 2018-08-21 15:56:01 -04:00
Paul Woolcock 6d67e403bc Don't expose pageiter module, and add some docs to PageIter 2018-08-21 15:56:01 -04:00
Paul Woolcock 0e8eb4e568 Add PageIter<T> to abstract over iterating over pages 2018-08-21 15:56:01 -04:00
Klaus PurerandAaron Power bc68726d23 fix(account): Fix moved field on Account (#31) 2018-06-28 08:44:28 +01:00
Aaron Power 0c312cecfc Fixed Instance deserialising and added undocumented properties 2018-03-02 23:43:18 +00:00
Aaron Power 4984dfaacf Version 0.10.0-rc1
- Added the ability to handle paged entities like favourites and such.
  (Only favourites in prerelease)
- Added optional `source` and `moved` fields to `Account`.
- Added `Source` struct to match with the `Account.source` field.
- Added `CredientialsBuilder` struct for updating profile using
  `verify_credientials`.
- Attachment now handles being sent an empty object, which is converted
  to `None`.
- Added ombed data fields to `Card`.
- Added `version` and `urls` fields to `Instance`.
- Added `id`, `muting_notifications`, and `domain_blocking` to `Relationship`.
- Added `emojis`, `language`, and `pinned` fields to `Status`
- Added `Emoji` struct.
- Added `List` and `Mention` structs(matching routes not added yet).
- Added example that prints your profile.
2018-02-12 00:09:23 +00:00
TheBestJohnandAaron Power ab1e5f86f0 Fixed the registration of new apps as well as url of statuses is now an Option<String> (#23)
* Changes IDs to Strings for compliance with APIv1

* - Changed Scope to Scopes to coencide with a quirk of the Mastodon API. Initial registration of the app asks for "Scopes" and authorization asks for "Scope"
- Swapped spaces for urlencoded spaces in the scopes serde definition to prevent broken links
- url of status is returned as a Map not a string"

* Fixed tests and updated Version number

* Fixed tests and verified now... learning experience
2018-02-10 18:22:30 +00:00
JohannesandAaron Power 0b5441e52c Changes IDs to Strings for compliance with APIv1 (#20) 2018-02-10 18:21:58 +00:00
Aaron Power b445197381 docs(all): Added documentation to missing parts 2017-11-11 11:50:09 +00:00
Aaron Power b6d350f29e updated reqwest and fixed media route
reqwest updated to 0.8
removed Result for creating Mastodon client as result of reqwest update
added Meta and ImageDetails struct for Attachment
Changed Attachment.id to String
Added test for media route.
Changed paramaters for media from Vec<u8> of image data to String of
file path.
Added dotenv for testing
2017-11-09 13:05:30 +00:00
Bryan TsangandAaron Power 974f9241e1 Fix incompatible serde versions, misspelled reference (#9) 2017-07-03 12:42:38 +01:00
wariuniandAaron Power 34f17ebcc0 Fix the attributes of Attachment (#5)
* Fix Attachment.text_url not being nullable

* Add missing "unknown" attribute to MediaType, which is not in the documentation by TootSuite

https://github.com/tootsuite/mastodon/blob/b97ebaf6202debb8c24d6f726886a594f02a6d3b/app/models/media_attachment.rb#L24
2017-06-05 10:55:50 +01:00
wariuniandAaron Power 9515b89690 Add missing #[serde(rename = "type")] to Notification::notification_type (#4) 2017-06-01 15:39:10 +01:00
Aaron Power 1fb3d16843 Fixed website not being nullable, added static version of urls 2017-04-23 00:30:56 +01:00
Aaron Power 5a06265e87 Added serde rename for notificiation, and updated repo link 2017-04-21 18:53:54 +01:00
Aaron Power 69cec5bf7e Updated status to handle more nulls 2017-04-21 15:18:11 +01:00
Aaron Power a528624dc3 0.3.0 Redone registration api, added debug/clone 2017-04-21 12:06:30 +01:00
Aaron Power 36ae371beb Initial commit 2017-04-10 18:00:07 +01:00