Commit graph

17 commits

Author SHA1 Message Date
71c3c54859
feat(apb): allow editing inner nodes
actually only if it implements Clone but whatever good enough for now
2024-05-01 17:46:54 +02:00
a3cf7a17e8
feat(apb): allow upcasting from object
basically now object.as_actor() or object.as_collection() returns an
option which is full with a self ref only if the type is correct, so
that we can assume flexible json behavior from anything implementing our
apb traits, and we don't need to rely anymore on knowing the underlying
type
also little import refactor
2024-04-29 20:01:39 +02:00
3156b8d2d2
feat: sensitive field
this is not part of activitystreams afaik and should not be in apub but
it's quite convenient to do it this way sooooooooooo for now will do
2024-04-24 05:19:39 +02:00
d50a762f63
fix(apb): is_empty === len()==0, new is_nothing
basically is_empty on an empty Node::Vec is true, but is_nothing on an
empty Node::Vec is false
2024-04-23 23:27:01 +02:00
deb5fe5744
fix(apb): don't iter vec needlessly 2024-04-23 23:26:49 +02:00
ba07b2cb9d
fix(apb): correct node order when iterating
use a VecDeque under the hood to be able to pop_front()
2024-04-23 20:58:37 +02:00
a763b60a93
feat(apb): added all outbox routes, authed inbox 2024-04-22 22:42:45 +02:00
5ba1fb66ca
fix(apb): camel case name for mediaType 2024-04-21 23:36:13 +02:00
6c3aead68b
feat: handle announces 2024-04-20 04:33:23 +02:00
85375ba1fb
fix(apb): added Service actor type
forgot about bots! :(
2024-04-13 22:20:29 +02:00
96462648ce
fix(apb): dyn link is Sync and Send 2024-04-13 22:08:26 +02:00
87d802fa2e
fix(apb): .id() now works on json strings too 2024-04-13 06:34:56 +02:00
a9229adec8
feat(apb): restructured, added target and server
target is about addressing, and server has traits for barebones outbox
and inbox. these come from upub
2024-04-11 00:27:17 +02:00
9d3376a1f4
docs: document crate a little 2024-04-06 19:16:15 +02:00
b57d766b78
fix: dont publicly export macros 2024-04-06 18:34:15 +02:00
101de0cc08
fix(apb): proper feature gating, dict->unstructured 2024-04-06 18:04:14 +02:00
520c8eff3a
feat: separated apb types into crate, reworked
no more "impl ..." hell, each trait has associated types so that we know
it's a "Self::Link" or a "Self::Actor", but in practice they can both be
a "serde_json::Value" and thus we can change its type. also Node::Array
is now a Vec<T> rather than Vec<Node<T>> because it makes more sense.
Node is Iterable and will yield zero (Empty|Link), one (Object) or many
(Array) Ts
2024-04-06 16:56:13 +02:00