Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Calv
pleroma
Commits
0f0445ba
Commit
0f0445ba
authored
Apr 17, 2017
by
lain
Browse files
Merge branch 'develop' into dtluna/pleroma-bugfix/repeated-follow-unfollow
parents
ef5033d7
6a0e69a8
Changes
8
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/application.ex
View file @
0f0445ba
...
...
@@ -14,10 +14,11 @@ defmodule Pleroma.Application do
supervisor
(
Pleroma
.
Web
.
Endpoint
,
[]),
# Start your own worker by calling: Pleroma.Worker.start_link(arg1, arg2, arg3)
# worker(Pleroma.Worker, [arg1, arg2, arg3]),
supervisor
(
ConCache
,
[[
ttl_check:
:timer
.
seconds
(
1
),
ttl:
:timer
.
seconds
(
5
)
],
[
name:
:users
]])
worker
(
Cachex
,
[
:user_cache
,
[
default_ttl:
5000
,
ttl_interval:
1000
,
limit:
500
]])
]
# See http://elixir-lang.org/docs/stable/elixir/Supervisor.html
...
...
lib/pleroma/user.ex
View file @
0f0445ba
...
...
@@ -87,15 +87,12 @@ defmodule Pleroma.User do
end
def
get_cached_by_ap_id
(
ap_id
)
do
ConCache
.
get_or_store
(
:users
,
"ap_id:
#{
ap_id
}
"
,
fn
()
->
# Return false so the cache will store it.
Repo
.
get_by
(
User
,
ap_id:
ap_id
)
||
false
end
)
key
=
"ap_id:
#{
ap_id
}
"
Cachex
.
get!
(
:user_cache
,
key
,
fallback:
fn
(
_
)
->
Repo
.
get_by
(
User
,
ap_id:
ap_id
)
end
)
end
def
get_cached_by_nickname
(
nickname
)
do
ConCache
.
get_or_store
(
:users
,
"nickname:
#{
nickname
}
"
,
fn
()
->
Repo
.
get_by
(
User
,
nickname:
nickname
)
||
false
end
)
key
=
"nickname:
#{
nickname
}
"
Cachex
.
get!
(
:user_cache
,
key
,
fallback:
fn
(
_
)
->
Repo
.
get_by
(
User
,
nickname:
nickname
)
end
)
end
end
lib/pleroma/web/router.ex
View file @
0f0445ba
...
...
@@ -21,6 +21,8 @@ defmodule Pleroma.Web.Router do
scope
"/api"
,
Pleroma
.
Web
do
pipe_through
:api
get
"/help/test"
,
TwitterAPI
.
Controller
,
:help_test
get
"/statuses/public_timeline"
,
TwitterAPI
.
Controller
,
:public_timeline
get
"/statuses/public_and_external_timeline"
,
TwitterAPI
.
Controller
,
:public_timeline
get
"/statuses/show/:id"
,
TwitterAPI
.
Controller
,
:fetch_status
...
...
lib/pleroma/web/twitter_api/twitter_api_controller.ex
View file @
0f0445ba
...
...
@@ -88,6 +88,10 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
|>
send_resp
(
200
,
response
)
end
def
help_test
(
conn
,
_params
)
do
conn
|>
json_reply
(
200
,
Poison
.
encode!
(
"ok"
))
end
def
upload_json
(
conn
,
%{
"media"
=>
media
})
do
response
=
TwitterAPI
.
upload
(
media
,
"json"
)
conn
...
...
mix.exs
View file @
0f0445ba
...
...
@@ -38,7 +38,7 @@ defmodule Pleroma.Mixfile do
{
:trailing_format_plug
,
"~> 0.0.5"
},
{
:html_sanitize_ex
,
"~> 1.0.0"
},
{
:calendar
,
"~> 0.16.1"
},
{
:
con_
cache
,
"~>
0
.1
2.0
"
},
{
:cache
x
,
"~>
2
.1"
},
{
:ex_machina
,
"~> 2.0"
,
only:
:test
},
{
:mix_test_watch
,
"~> 0.2"
,
only:
:dev
}]
end
...
...
mix.lock
View file @
0f0445ba
%{"calendar": {:hex, :calendar, "0.16.1", "782327ad8bae7c797b887840dc4ddb933f05ce6e333e5b04964d7a5d5f79bde3", [:mix], [{:tzdata, "~> 0.5.8 or ~> 0.1.201603", [hex: :tzdata, optional: false]}]},
%{"cachex": {:hex, :cachex, "2.1.0", "fad49b4e78d11c6c314e75bd8c9408f5b78cb065c047442798caed10803ee3be", [:mix], [{:eternal, "~> 1.1", [hex: :eternal, optional: false]}]},
"calendar": {:hex, :calendar, "0.16.1", "782327ad8bae7c797b887840dc4ddb933f05ce6e333e5b04964d7a5d5f79bde3", [:mix], [{:tzdata, "~> 0.5.8 or ~> 0.1.201603", [hex: :tzdata, optional: false]}]},
"certifi": {:hex, :certifi, "1.0.0", "1c787a85b1855ba354f0b8920392c19aa1d06b0ee1362f9141279620a5be2039", [:rebar3], []},
"comeonin": {:hex, :comeonin, "3.0.2", "8b213268a6634bd2e31a8035a963e974681d13ccc1f73f2ae664b6ac4e993c96", [:make, :mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, optional: false]}]},
"con_cache": {:hex, :con_cache, "0.12.0", "2d961aec219aa5a914473873f348f5a6088292dc69d5192a9d25f8a1e13e9905", [:mix], [{:exactor, "~> 2.2.0", [hex: :exactor, optional: false]}]},
...
...
@@ -7,8 +8,10 @@
"cowlib": {:hex, :cowlib, "1.0.2", "9d769a1d062c9c3ac753096f868ca121e2730b9a377de23dec0f7e08b1df84ee", [:make], []},
"db_connection": {:hex, :db_connection, "1.1.2", "2865c2a4bae0714e2213a0ce60a1b12d76a6efba0c51fbda59c9ab8d1accc7a8", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, optional: false]}, {:poolboy, "~> 1.5", [hex: :poolboy, optional: true]}, {:sbroker, "~> 1.0", [hex: :sbroker, optional: true]}]},
"decimal": {:hex, :decimal, "1.3.1", "157b3cedb2bfcb5359372a7766dd7a41091ad34578296e951f58a946fcab49c6", [:mix], []},
"deppie": {:hex, :deppie, "1.1.0", "cfb6fcee7dfb64eb78cb8505537971a0805131899326ad469ef10df04520f451", [:mix], []},
"ecto": {:hex, :ecto, "2.1.4", "d1ba932813ec0e0d9db481ef2c17777f1cefb11fc90fa7c142ff354972dfba7e", [:mix], [{:db_connection, "~> 1.1", [hex: :db_connection, optional: true]}, {:decimal, "~> 1.2", [hex: :decimal, optional: false]}, {:mariaex, "~> 0.8.0", [hex: :mariaex, optional: true]}, {:poison, "~> 2.2 or ~> 3.0", [hex: :poison, optional: true]}, {:poolboy, "~> 1.5", [hex: :poolboy, optional: false]}, {:postgrex, "~> 0.13.0", [hex: :postgrex, optional: true]}, {:sbroker, "~> 1.0", [hex: :sbroker, optional: true]}]},
"elixir_make": {:hex, :elixir_make, "0.4.0", "992f38fabe705bb45821a728f20914c554b276838433349d4f2341f7a687cddf", [:mix], []},
"eternal": {:hex, :eternal, "1.1.4", "3a40fd9b9708f79216a6ec8ae886f2b17685dc26b119b9c0403c2b0d3dc1ac69", [:mix], [{:deppie, "~> 1.1", [hex: :deppie, optional: false]}]},
"ex_machina": {:hex, :ex_machina, "2.0.0", "ec284c6f57233729cea9319e083f66e613e82549f78eccdb2059aeba5d0df9f3", [:mix], [{:ecto, "~> 2.1", [hex: :ecto, optional: true]}]},
"exactor": {:hex, :exactor, "2.2.3", "a6972f43bb6160afeb73e1d8ab45ba604cd0ac8b5244c557093f6e92ce582786", [:mix], []},
"fs": {:hex, :fs, "2.12.0", "ad631efacc9a5683c8eaa1b274e24fa64a1b8eb30747e9595b93bec7e492e25e", [:rebar3], []},
...
...
test/web/twitter_api/twitter_api_controller_test.exs
View file @
0f0445ba
...
...
@@ -157,6 +157,13 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
end
end
describe
"GET /help/test.json"
do
test
"returns
\"
ok
\"
"
,
%{
conn:
conn
}
do
conn
=
get
conn
,
"/api/help/test.json"
assert
json_response
(
conn
,
200
)
==
"ok"
end
end
describe
"POST /api/qvitter/update_avatar.json"
do
setup
[
:valid_user
]
test
"without valid credentials"
,
%{
conn:
conn
}
do
...
...
test/web/twitter_api/twitter_api_test.exs
View file @
0f0445ba
...
...
@@ -257,8 +257,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
end
setup
do
Supervisor
.
terminate_child
(
Pleroma
.
Supervisor
,
Con
Cache
)
Supervisor
.
restart_child
(
Pleroma
.
Supervisor
,
Con
Cache
)
Supervisor
.
terminate_child
(
Pleroma
.
Supervisor
,
Cache
x
)
Supervisor
.
restart_child
(
Pleroma
.
Supervisor
,
Cache
x
)
:ok
end
end
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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