Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
6aa1523b
Commit
6aa1523b
authored
Mar 30, 2017
by
lain
Browse files
Put objects in inserted activties into the db.
parent
40eb0e4c
Changes
3
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/object.ex
View file @
6aa1523b
defmodule
Pleroma
.
Object
do
use
Ecto
.
Schema
alias
Pleroma
.
{
Repo
,
Object
}
import
Ecto
.
Query
schema
"objects"
do
field
:data
,
:map
timestamps
()
end
def
get_by_ap_id
(
ap_id
)
do
Repo
.
one
(
from
object
in
Object
,
where:
fragment
(
"? @> ?"
,
object
.
data
,
^
%{
id:
ap_id
}))
end
end
lib/pleroma/web/activity_pub/activity_pub.ex
View file @
6aa1523b
...
...
@@ -8,6 +8,7 @@ def insert(map) when is_map(map) do
map
=
if
map
[
"object"
]
do
object
=
Map
.
put_new_lazy
(
map
[
"object"
],
"id"
,
&
generate_object_id
/
0
)
Repo
.
insert!
(%
Object
{
data:
object
})
Map
.
put
(
map
,
"object"
,
object
)
else
map
...
...
test/web/activity_pub/activity_pub_test.exs
View file @
6aa1523b
...
...
@@ -25,7 +25,7 @@ test "inserts a given map into the activity database, giving it an id if it has
assert
activity
.
data
[
"id"
]
==
given_id
end
test
"adds an id to a given object if it lacks one"
do
test
"adds an id to a given object if it lacks one
and inserts it to the object database
"
do
data
=
%{
"object"
=>
%{
"ok"
=>
true
...
...
@@ -34,6 +34,7 @@ test "adds an id to a given object if it lacks one" do
{
:ok
,
%
Activity
{}
=
activity
}
=
ActivityPub
.
insert
(
data
)
assert
is_binary
(
activity
.
data
[
"object"
][
"id"
])
assert
%
Object
{}
=
Object
.
get_by_ap_id
(
activity
.
data
[
"object"
][
"id"
])
end
end
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment