forked from romshark/dgraph_graphql_go
/
hCloseAllSessions.go
52 lines (45 loc) · 1.02 KB
/
hCloseAllSessions.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package setup
import (
"github.com/romshark/dgraph_graphql_go/store"
"github.com/romshark/dgraph_graphql_go/store/errors"
)
func (h Helper) closeAllSessions(
expectedErrorCode errors.Code,
user store.ID,
) []string {
t := h.c.t
var result struct {
CloseAllSessions []string `json:"closeAllSessions"`
}
checkErr(t, expectedErrorCode, h.c.QueryVar(
`mutation (
$user: Identifier!
) {
closeAllSessions(
user: $user
)
}`,
map[string]interface{}{
"user": string(user),
},
&result,
))
if expectedErrorCode != "" {
return nil
}
return result.CloseAllSessions
}
// CloseAllSessions helps closing all sessions of a user and assumes success
func (ok AssumeSuccess) CloseAllSessions(
user store.ID,
) []string {
return ok.h.closeAllSessions("", user)
}
// CloseAllSessions assumes the given error code to be returned
func (notOk AssumeFailure) CloseAllSessions(
expectedErrorCode errors.Code,
user store.ID,
) {
notOk.checkErrCode(expectedErrorCode)
notOk.h.closeAllSessions(expectedErrorCode, user)
}