Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
pleroma
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
384
Issues
384
List
Boards
Labels
Service Desk
Milestones
Merge Requests
56
Merge Requests
56
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Pleroma
pleroma
Commits
f8786fa6
Commit
f8786fa6
authored
Jul 10, 2019
by
Alexander Strizhakov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
adding following_address field to user
parent
b972b972
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
41 additions
and
8 deletions
+41
-8
lib/pleroma/user.ex
lib/pleroma/user.ex
+22
-8
lib/pleroma/web/activity_pub/activity_pub.ex
lib/pleroma/web/activity_pub/activity_pub.ex
+1
-0
priv/repo/migrations/20190710115833_add_following_address_to_user.exs
...grations/20190710115833_add_following_address_to_user.exs
+9
-0
priv/repo/migrations/20190710125051_add_following_address_index_to_user.exs
...ns/20190710125051_add_following_address_index_to_user.exs
+8
-0
test/web/activity_pub/transmogrifier_test.exs
test/web/activity_pub/transmogrifier_test.exs
+1
-0
No files found.
lib/pleroma/user.ex
View file @
f8786fa6
...
...
@@ -52,6 +52,7 @@ defmodule Pleroma.User do
field
(
:avatar
,
:map
)
field
(
:local
,
:boolean
,
default:
true
)
field
(
:follower_address
,
:string
)
field
(
:following_address
,
:string
)
field
(
:search_rank
,
:float
,
virtual:
true
)
field
(
:search_type
,
:integer
,
virtual:
true
)
field
(
:tags
,
{
:array
,
:string
},
default:
[])
...
...
@@ -162,9 +163,10 @@ def remote_user_creation(params) do
if
changes
.
valid?
do
case
info_cng
.
changes
[
:source_data
]
do
%{
"followers"
=>
followers
}
->
%{
"followers"
=>
followers
,
"following"
=>
following
}
->
changes
|>
put_change
(
:follower_address
,
followers
)
|>
put_change
(
:following_address
,
following
)
_
->
followers
=
User
.
ap_followers
(%
User
{
nickname:
changes
.
changes
[
:nickname
]})
...
...
@@ -196,7 +198,14 @@ def upgrade_changeset(struct, params \\ %{}) do
|>
User
.
Info
.
user_upgrade
(
params
[
:info
])
struct
|>
cast
(
params
,
[
:bio
,
:name
,
:follower_address
,
:avatar
,
:last_refreshed_at
])
|>
cast
(
params
,
[
:bio
,
:name
,
:follower_address
,
:following_address
,
:avatar
,
:last_refreshed_at
])
|>
unique_constraint
(
:nickname
)
|>
validate_format
(
:nickname
,
local_nickname_regex
())
|>
validate_length
(
:bio
,
max:
5000
)
...
...
@@ -1039,15 +1048,20 @@ def sync_follow_counters(opts \\ []) do
end
end
@spec
external_users_query
()
::
Ecto
.
Query
.
t
()
def
external_users_query
do
User
.
Query
.
build
(%{
external:
true
,
active:
true
,
order_by:
:id
})
end
@spec
external_users
(
keyword
())
::
[
User
.
t
()]
def
external_users
(
opts
\\
[])
do
query
=
User
.
Query
.
build
(%{
external:
true
,
active:
true
,
order_by:
:id
,
select:
[
:id
,
:ap_id
,
:info
]
})
external_users_query
()
|>
select
([
u
],
struct
(
u
,
[
:id
,
:ap_id
,
:info
]))
query
=
if
opts
[
:max_id
],
...
...
lib/pleroma/web/activity_pub/activity_pub.ex
View file @
f8786fa6
...
...
@@ -994,6 +994,7 @@ defp object_to_user_data(data) do
avatar:
avatar
,
name:
data
[
"name"
],
follower_address:
data
[
"followers"
],
following_address:
data
[
"following"
],
bio:
data
[
"summary"
]
}
...
...
priv/repo/migrations/20190710115833_add_following_address_to_user.exs
0 → 100644
View file @
f8786fa6
defmodule
Pleroma
.
Repo
.
Migrations
.
AddFollowingAddressToUser
do
use
Ecto
.
Migration
def
change
do
alter
table
(
:users
)
do
add
(
:following_address
,
:string
,
unique:
true
)
end
end
end
priv/repo/migrations/20190710125051_add_following_address_index_to_user.exs
0 → 100644
View file @
f8786fa6
defmodule
Pleroma
.
Repo
.
Migrations
.
AddFollowingAddressIndexToUser
do
use
Ecto
.
Migration
@disable_ddl_transaction
true
def
change
do
create
(
index
(
:users
,
[
:following_address
],
concurrently:
true
))
end
end
test/web/activity_pub/transmogrifier_test.exs
View file @
f8786fa6
...
...
@@ -1121,6 +1121,7 @@ test "it upgrades a user to activitypub" do
assert
user
.
info
.
ap_enabled
assert
user
.
info
.
note_count
==
1
assert
user
.
follower_address
==
"https://niu.moe/users/rye/followers"
assert
user
.
following_address
==
"https://niu.moe/users/rye/following"
user
=
User
.
get_cached_by_id
(
user
.
id
)
assert
user
.
info
.
note_count
==
1
...
...
Write
Preview
Markdown
is supported
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