Commit Graph

10 Commits

Author SHA1 Message Date
Matthias Beyer 97ae0973c3 Wrap status id in helper type
This wrapper type ensures that the status id cannot accidentially be
compared to some other string that represents something entirely else.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2023-01-09 09:03:21 -05:00
D. Scott Boggs 14dc17e582 Split status_builder module into a few files 2023-01-09 07:27:53 -05:00
D. Scott Boggs abafaf224c Add support for Filter v2 2023-01-09 07:27:53 -05:00
D. Scott Boggs 6ee2f277d8 Move legacy Filter type to mod v1; publish fields 2023-01-09 07:27:53 -05:00
D. Scott Boggs acef484b73 Finish TODO Parse DateTime before publishing this field 2023-01-09 07:27:53 -05:00
D. Scott Boggs 94624ac1db Make additional fields public 2023-01-09 07:27:53 -05:00
jhwgh1968 83e02464af Add notification type "follow request" 2023-01-09 04:51:26 -05:00
jhwgh1968 9fd1b29521 Add "poll" notification support 2023-01-09 04:51:26 -05:00
Matthias Beyer e0f38240b7 Make package fields workspace-wide
This patch makes the "version", "license", "authors" and "edition"
fields in the manifest workspace-wide.

This way we ensure that mastodon-async-entities stays in sync with
mastodon-async.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2023-01-04 08:29:52 -05:00
Matthias Beyer af3facfbf0 Add mastodon_async_entities
This patch move the entities module to a helper-crate.

With this, we give the user the opportunity to use only the entities
types in their codebase, if need be.
One scenario where this is required came up in

    https://github.com/dscottboggs/mastodon-async/issues/38

TL;DR is: A user needed to be able to pass types like `Status` from a
backend part of an application to a frontend which was compiled to WASM.
Because mastodon_async depends on tokio, which does not compile to WASM
(at least not with the features required by mastodon_async).

One option would have been to provide types in the application code
which can be constructed from mastodon_asyncs entity types. This would
lead to _a lot_ of code duplication (over several projects still,... but
that's rather undesireable anyways).

The solution mastodon_async offers with this patch is a helper-crate
which only contains the entity types: mastodon_async_entities.

mastodon_async publicly exports the whole mastodon_async_entities crate,
so users do not have to depend on the latter directly.

In addition to the `entities` module from mastodon_async, also the
`Visibility` type had to be moved.

`mastodon_async_entities` also got an own `Error` type, which
`mastodon_async::Error` can of course wrap.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Suggested-by: D. Scott Boggs <scott@tams.tech>
2023-01-04 08:29:52 -05:00