Skip to content

Begin implementing ActivityPub library #28

@kirkbrauer

Description

@kirkbrauer

Is your feature request related to a problem? Please describe.
We should use this issue as a place to start planning the implementation of the ActivityPub library. I just finished reading the spec, it appears that we'll need some interesting data models and maybe some special JSON parsing setup to handle the multiple types of requests/responses specified by ActivityPub. We will also need extension methods to support configuring this with minimal APIs and the WebApplicationBuilder.

Describe the solution you'd like
I think the first step to implementing this will be to move everything into a project named ActivityPub with a structure similar to the following:

ActivityPub
├── Objects
│   ├── Object.cs
│   ├── Context.cs
│   └── Identifier.cs
├── Actors
│   └── Actor.cs
├── Collections
│   ├── Collection.cs
│   ├── OrderedCollection.cs
│   └── CollectionTypes.cs
└── Activities
    ├── Activity.cs
    ├── ActivityTypes.cs
    └── Types
        ├── CreateActivity.cs
        ├── UpdateActivity.cs
        ├── DeleteActivity.cs
        ├── FollowActivity.cs
        ├── AddActivity.cs
        ├── RemoveActvitiy.cs
        ├── LikeActivity.cs
        ├── BlockActivity.cs
        ├── UndoActivity.cs
        ├── AcceptActivity.cs
        ├── RejectActivity.cs
        └── AnnounceActivity.cs

Describe alternatives you've considered
Another option would be to create separate projects for the ActivityPub models and the AspNetCore configuration. Right now, we just need the models, so maybe start out with that project and decide how to evolve in the future.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions