Remove the Article API
This commit is contained in:
parent
9566db1213
commit
6bd3f42040
2 changed files with 3 additions and 39 deletions
|
@ -26,7 +26,7 @@ Getting closer to a stable release, it should be the "last" migration.
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Implements a basic [ActivityPub](https://activitypub.rocks/) server (with federation)
|
- Implements a basic [ActivityPub](https://activitypub.rocks/) server (with federation)
|
||||||
- Compatible with [Mastodon](https://joinmastodon.org/) and others ([Pleroma](https://pleroma.social/), Hubzilla...)
|
- Compatible with [Mastodon](https://joinmastodon.org/) and others ([Pleroma](https://pleroma.social/), Plume, PixelFed, Hubzilla...)
|
||||||
- Also implements a remote follow compatible with Mastodon instances
|
- Also implements a remote follow compatible with Mastodon instances
|
||||||
- Exposes your outbox as a basic microblog
|
- Exposes your outbox as a basic microblog
|
||||||
- Support all content types from the Fediverse (`Note`, `Article`, `Page`, `Video`, `Image`, `Question`...)
|
- Support all content types from the Fediverse (`Note`, `Article`, `Page`, `Video`, `Image`, `Question`...)
|
||||||
|
|
40
app.py
40
app.py
|
@ -1863,41 +1863,6 @@ def api_new_note():
|
||||||
return _user_api_response(activity=create_id)
|
return _user_api_response(activity=create_id)
|
||||||
|
|
||||||
|
|
||||||
@app.route("/api/new_article", methods=["POST"])
|
|
||||||
@api_required
|
|
||||||
def api_new_article():
|
|
||||||
content = _user_api_arg("content")
|
|
||||||
if not content:
|
|
||||||
raise ValueError("missing content")
|
|
||||||
|
|
||||||
name = _user_api_arg("name")
|
|
||||||
if not name:
|
|
||||||
raise ValueError("missing name")
|
|
||||||
|
|
||||||
url = _user_api_arg("url")
|
|
||||||
if not url:
|
|
||||||
raise ValueError("missing url")
|
|
||||||
|
|
||||||
_id = _user_api_arg("id")
|
|
||||||
|
|
||||||
raw_article = dict(
|
|
||||||
name=name,
|
|
||||||
content=content,
|
|
||||||
url=url,
|
|
||||||
attributedTo=MY_PERSON.id,
|
|
||||||
cc=[ID + "/followers"],
|
|
||||||
to=[ap.AS_PUBLIC],
|
|
||||||
tag=[],
|
|
||||||
inReplyTo=None,
|
|
||||||
)
|
|
||||||
|
|
||||||
article = ap.Article(**raw_article)
|
|
||||||
create = article.build_create()
|
|
||||||
create_id = post_to_outbox(create, obj_id=_id)
|
|
||||||
|
|
||||||
return _user_api_response(activity=create_id)
|
|
||||||
|
|
||||||
|
|
||||||
@app.route("/api/new_question", methods=["POST"])
|
@app.route("/api/new_question", methods=["POST"])
|
||||||
@api_required
|
@api_required
|
||||||
def api_new_question():
|
def api_new_question():
|
||||||
|
@ -2614,13 +2579,12 @@ def task_finish_post_to_inbox():
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
|
||||||
def post_to_outbox(activity: ap.BaseActivity, obj_id: Optional[str] = None) -> str:
|
def post_to_outbox(activity: ap.BaseActivity) -> str:
|
||||||
if activity.has_type(ap.CREATE_TYPES):
|
if activity.has_type(ap.CREATE_TYPES):
|
||||||
activity = activity.build_create()
|
activity = activity.build_create()
|
||||||
|
|
||||||
# Assign create a random ID
|
# Assign create a random ID
|
||||||
if obj_id is None:
|
obj_id = back.random_object_id()
|
||||||
obj_id = back.random_object_id()
|
|
||||||
|
|
||||||
activity.set_id(back.activity_url(obj_id), obj_id)
|
activity.set_id(back.activity_url(obj_id), obj_id)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue