Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Nov 8, 2022. It is now read-only.

Commit0ab95c3

Browse files
committed
add middleware to handle contribute
1 parent0a0d280 commit0ab95c3

File tree

3 files changed

+40
-0
lines changed

3 files changed

+40
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# ---
2+
# Absinthe.Middleware behaviour
3+
# see https://hexdocs.pm/absinthe/Absinthe.Middleware.html#content
4+
# ---
5+
defmoduleMastaniServerWeb.Middleware.Statistics.MakeContributedo
6+
@behaviourAbsinthe.Middleware
7+
# google: must appear in the GROUP BY clause or be used in an aggregate function
8+
aliasMastaniServer.Statistics
9+
aliasMastaniServer.Accounts.User
10+
11+
defcall(%{value:nil}=resolution,_)do
12+
IO.inspect("MakeContribute nil")
13+
resolution
14+
end
15+
16+
defcall(%{value:_,context:%{current_user:current_user}}=resolution,_)do
17+
# IO.inspect value, label: "MakeContribute"
18+
# IO.inspect current_user.id, label: "current_user"
19+
Statistics.make_contribute(%User{id:current_user.id})
20+
resolution
21+
end
22+
end

‎lib/mastani_server_web/schema/cms/cms_mutations.ex‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@ defmodule MastaniServerWeb.Schema.CMS.Mutations do
4242
arg(:desc,non_null(:string))
4343

4444
middleware(Middleware.Authorize,:login)
45+
middleware(Middleware.PutCurrentUser)
4546
resolve(&Resolvers.CMS.create_community/3)
47+
middleware(Middleware.Statistics.MakeContribute)
4648
end
4749

4850
field:delete_community,:communitydo

‎test/mastani_server_web/mutaion/cms_test.exs‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ defmodule MastaniServer.Test.Mutation.CMSTest do
55
importMastaniServer.Test.AssertHelper
66

77
aliasMastaniServer.Repo
8+
aliasMastaniServer.Statistics
89
aliasMastaniServer.CMS
10+
aliasHelper.ORM
911

1012
@valid_communitymock_attrs(:community)
1113
@valid_usermock_attrs(:user,%{nickname:"mydearxym"})
@@ -96,6 +98,20 @@ defmodule MastaniServer.Test.Mutation.CMSTest do
9698
assertcreated["id"]==to_string(found.id)
9799
end
98100

101+
test"the user who create community should add contribute",%{conn:conn,user:user}do
102+
variables=mock_attrs(:community)
103+
created=conn|>mutation_result(@create_community_query,variables,"createCommunity")
104+
found=CMS.Community|>Repo.get(created["id"])
105+
106+
{:ok,contribute}=ORM.find_by(Statistics.UserContributes,user_id:user.id)
107+
108+
assertcontribute.date==Timex.today()
109+
assertcontribute.user_id==user.id
110+
assertcontribute.count==1
111+
112+
assertcreated["id"]==to_string(found.id)
113+
end
114+
99115
test"create duplicated community fails",%{community:community,conn:conn}do
100116
variables=mock_attrs(:community,%{title:community.title,desc:community.desc})
101117
assertconn|>mutation_get_error?(@create_community_query,variables)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp