Comment Delete
/api/v2/feed/comment/delete
Post
posts
profiles
groups
jwt
Purpose
To allow a user to delete one of his/her existing comments on a post.
Body Content [input]
{
uid: string,
postID: string,
commentID: string
}
Returns if valid [output]
{
message: string,
error: 0
}
What the API does
- Finds the
profile
corresponding to theuid
passed and fetches a list of all values inside of thefollowing
andblocked
fields. - Finds the record from the
posts
collection having apostID
corresponding to the one passed [404]. - Ensures that the record found does not have a value for its
visibility
field set tonone
[403]. - If the record does not have a
visibility
ofnone
,followers
orpublic
, fetch themembers
field of theAccessGroup
corresponding to the value of thevisibility
field and ensures thatuid
is among the values of thatmembers
field [403]. - If the record has a value for its
groupID
field, find thegroup
corresponding to thatgroupID
and check ifuid
is a value among thatgroup
’smembers
field with astatus
ofaccepted
[403]. - Ensures that the record’s
uid
field does not equal to a value among those of the fetchedblocked
field above [403]. - Ensures that the
profile
that has auid
corresponding to that of the record does not contain a value corresponding to theuid
passed in itsblocked
field [403]. - Else, if the record does not have a value for its
groupID
field, and has a value offollowers
for its visibility field check ifuid
is among the values of thefollowing
field or if it is equal to theuid
of thepost
itself [403]. - Checks that there is a
comment
corresponding to the value of thecommentID
field passed inside of thatpost
’scomments
field [404]. - Ensures that the found
comment
has the sameuid
as that passed or thatuid
corresponds to that of thepost
[403]. - Deletes the object inside of that
post
’scomments
field corresponding to thecommentID
passed and saves. - Loops through all the objects inside of that
post
’scomments
field and deletes each of them that directly or indirectly refer to the value ofcommentID
in theirreply_to
field.