mirror of https://github.com/statping/statping
GraphQL
parent
5e22c6a17a
commit
76168ce436
|
@ -1,241 +0,0 @@
|
|||
# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
|
||||
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:6212ce7f839b40213d1ff75c3df7816c4023faf4d29da630ce1dfdd1ccd5fb02"
|
||||
name = "github.com/GeertJohan/go.rice"
|
||||
packages = [
|
||||
".",
|
||||
"embedded",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "0af3f3b09a0a8b391f63ab52ba5ab50f84fabd30"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:f1ec92a2b8473612547f6e13edbc8c8e6cda6c8be9c54b31958aad4a7ccaaa2b"
|
||||
name = "github.com/ararog/timeago"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "518814407569bf983ea81e1bf8b550dd4e7b34f3"
|
||||
version = "0.0.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:86b9f9c54fcddec313009ef19073bf0124bbdae3701080c32f67c0c8817b3b7c"
|
||||
name = "github.com/daaku/go.zipexe"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "db7cf2ba330f8c2d28b827826e33d6628ea7e9e0"
|
||||
version = "v1.0.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:ffe9824d294da03b391f44e1ae8281281b4afc1bdaa9588c9097785e3af10cec"
|
||||
name = "github.com/davecgh/go-spew"
|
||||
packages = ["spew"]
|
||||
pruneopts = "UT"
|
||||
revision = "8991bc29aa16c548c550c7ff78260e27b9ab7c73"
|
||||
version = "v1.1.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:3806f369b846160fcbde19bdcf93790868defe7c58d1bb6bc8d974c5b8f8dc1e"
|
||||
name = "github.com/go-mail/mail"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "f59b9b83a4e522098e3d3eb94e6f81850ad6e973"
|
||||
version = "v2.3.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:ec6f9bf5e274c833c911923c9193867f3f18788c461f76f05f62bb1510e0ae65"
|
||||
name = "github.com/go-sql-driver/mysql"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "72cd26f257d44c1114970e19afddcd812016007e"
|
||||
version = "v1.4.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:4d2e5a73dc1500038e504a8d78b986630e3626dc027bc030ba5c75da257cdb96"
|
||||
name = "github.com/go-yaml/yaml"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "51d6538a90f86fe93ac480b35f37b2be17fef232"
|
||||
version = "v2.2.2"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:c79fb010be38a59d657c48c6ba1d003a8aa651fa56b579d959d74573b7dff8e1"
|
||||
name = "github.com/gorilla/context"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "08b5f424b9271eedf6f9f0ce86cb9396ed337a42"
|
||||
version = "v1.1.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:ca59b1175189b3f0e9f1793d2c350114be36eaabbe5b9f554b35edee1de50aea"
|
||||
name = "github.com/gorilla/mux"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "a7962380ca08b5a188038c69871b8d3fbdf31e89"
|
||||
version = "v1.7.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:e72d1ebb8d395cf9f346fd9cbc652e5ae222dd85e0ac842dc57f175abed6d195"
|
||||
name = "github.com/gorilla/securecookie"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "e59506cc896acb7f7bf732d4fdf5e25f7ccd8983"
|
||||
version = "v1.1.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:e5bf52fd66a2e984b57b4c0f2c4ee024ed749a19886246240629998dc0cf31ce"
|
||||
name = "github.com/gorilla/sessions"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "f57b7e2d29c6211d16ffa52a0998272f75799030"
|
||||
version = "v1.1.3"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:ff312c4d510c67954a6fc6a11c9ff72a2b2169584776b7419c7b8c729e2b13ac"
|
||||
name = "github.com/jinzhu/gorm"
|
||||
packages = [
|
||||
".",
|
||||
"dialects/mysql",
|
||||
"dialects/postgres",
|
||||
"dialects/sqlite",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "472c70caa40267cb89fd8facb07fe6454b578626"
|
||||
version = "v1.9.2"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:fd97437fbb6b7dce04132cf06775bd258cce305c44add58eb55ca86c6c325160"
|
||||
name = "github.com/jinzhu/inflection"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "04140366298a54a039076d798123ffa108fff46c"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:ecd9aa82687cf31d1585d4ac61d0ba180e42e8a6182b85bd785fcca8dfeefc1b"
|
||||
name = "github.com/joho/godotenv"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "23d116af351c84513e1946b527c88823e476be13"
|
||||
version = "v1.3.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:b18ffc558326ebaed3b4a175617f1e12ed4e3f53d6ebfe5ba372a3de16d22278"
|
||||
name = "github.com/lib/pq"
|
||||
packages = [
|
||||
".",
|
||||
"hstore",
|
||||
"oid",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "4ded0e9383f75c197b3a2aaa6d590ac52df6fd79"
|
||||
version = "v1.0.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:4a49346ca45376a2bba679ca0e83bec949d780d4e927931317904bad482943ec"
|
||||
name = "github.com/mattn/go-sqlite3"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "c7c4067b79cc51e6dfdcef5c702e74b1e0fa7c75"
|
||||
version = "v1.10.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:0028cb19b2e4c3112225cd871870f2d9cf49b9b4276531f03438a88e94be86fe"
|
||||
name = "github.com/pmezard/go-difflib"
|
||||
packages = ["difflib"]
|
||||
pruneopts = "UT"
|
||||
revision = "792786c7400a136282c1664665ae0a8db921c6c2"
|
||||
version = "v1.0.0"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:8dd6663207b795abbe94a20d2785c9eb16be59183f5468e8816f98aeda466c7f"
|
||||
name = "github.com/rendon/testcli"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "6283090d169f51a2410b4e260341a01c9a4c0ca7"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:9421f6e9e28ef86933e824b5caff441366f2b69bb281085b9dca40e1f27a1602"
|
||||
name = "github.com/shurcooL/sanitized_anchor_name"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "7bfe4c7ecddb3666a94b053b422cdd8f5aaa3615"
|
||||
version = "v1.0.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:972c2427413d41a1e06ca4897e8528e5a1622894050e2f527b38ddf0f343f759"
|
||||
name = "github.com/stretchr/testify"
|
||||
packages = ["assert"]
|
||||
pruneopts = "UT"
|
||||
revision = "ffdc059bfe9ce6a4e144ba849dbedead332c6053"
|
||||
version = "v1.3.0"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:9d5b5d543996dd584da1db1e0de1926f3e4c3a8dba0fa2f8db70f3ebee2342e0"
|
||||
name = "golang.org/x/crypto"
|
||||
packages = [
|
||||
"bcrypt",
|
||||
"blowfish",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "8dd112bcdc25174059e45e07517d9fc663123347"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:c25289f43ac4a68d88b02245742347c94f1e108c534dda442188015ff80669b3"
|
||||
name = "google.golang.org/appengine"
|
||||
packages = ["cloudsql"]
|
||||
pruneopts = "UT"
|
||||
revision = "e9657d882bb81064595ca3b56cbe2546bbabf7b1"
|
||||
version = "v1.4.0"
|
||||
|
||||
[[projects]]
|
||||
branch = "v3"
|
||||
digest = "1:7388652e2215a3f45d341d58766ed58317971030eb1cbd75f005f96ace8e9196"
|
||||
name = "gopkg.in/alexcesaro/quotedprintable.v3"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "2caba252f4dc53eaf6b553000885530023f54623"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:c805e517269b0ba4c21ded5836019ed7d16953d4026cb7d00041d039c7906be9"
|
||||
name = "gopkg.in/natefinch/lumberjack.v2"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "a96e63847dc3c67d17befa69c303767e2f84e54f"
|
||||
version = "v2.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:2ee0f15eb0fb04f918db7c2dcf39745f40d69f798ef171610a730e8a56aaa4fd"
|
||||
name = "gopkg.in/russross/blackfriday.v2"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "d3b5b032dc8e8927d31a5071b56e14c89f045135"
|
||||
version = "v2.0.1"
|
||||
|
||||
[solve-meta]
|
||||
analyzer-name = "dep"
|
||||
analyzer-version = 1
|
||||
input-imports = [
|
||||
"github.com/GeertJohan/go.rice",
|
||||
"github.com/ararog/timeago",
|
||||
"github.com/go-mail/mail",
|
||||
"github.com/go-yaml/yaml",
|
||||
"github.com/gorilla/mux",
|
||||
"github.com/gorilla/sessions",
|
||||
"github.com/jinzhu/gorm",
|
||||
"github.com/jinzhu/gorm/dialects/mysql",
|
||||
"github.com/jinzhu/gorm/dialects/postgres",
|
||||
"github.com/jinzhu/gorm/dialects/sqlite",
|
||||
"github.com/joho/godotenv",
|
||||
"github.com/rendon/testcli",
|
||||
"github.com/stretchr/testify/assert",
|
||||
"golang.org/x/crypto/bcrypt",
|
||||
"gopkg.in/natefinch/lumberjack.v2",
|
||||
"gopkg.in/russross/blackfriday.v2",
|
||||
]
|
||||
solver-name = "gps-cdcl"
|
||||
solver-version = 1
|
82
Gopkg.toml
82
Gopkg.toml
|
@ -1,82 +0,0 @@
|
|||
# Gopkg.toml example
|
||||
#
|
||||
# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html
|
||||
# for detailed Gopkg.toml documentation.
|
||||
#
|
||||
# required = ["github.com/user/thing/cmd/thing"]
|
||||
# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"]
|
||||
#
|
||||
# [[constraint]]
|
||||
# name = "github.com/user/project"
|
||||
# version = "1.0.0"
|
||||
#
|
||||
# [[constraint]]
|
||||
# name = "github.com/user/project2"
|
||||
# branch = "dev"
|
||||
# source = "github.com/myfork/project2"
|
||||
#
|
||||
# [[override]]
|
||||
# name = "github.com/x/y"
|
||||
# version = "2.4.0"
|
||||
#
|
||||
# [prune]
|
||||
# non-go = false
|
||||
# go-tests = true
|
||||
# unused-packages = true
|
||||
|
||||
|
||||
[[constraint]]
|
||||
branch = "master"
|
||||
name = "github.com/GeertJohan/go.rice"
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/ararog/timeago"
|
||||
version = "0.0.1"
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/go-mail/mail"
|
||||
version = "2.3.1"
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/go-yaml/yaml"
|
||||
version = "2.2.2"
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/gorilla/mux"
|
||||
version = "1.7.0"
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/gorilla/sessions"
|
||||
version = "1.1.3"
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/jinzhu/gorm"
|
||||
version = "1.9.2"
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/joho/godotenv"
|
||||
version = "1.3.0"
|
||||
|
||||
[[constraint]]
|
||||
branch = "master"
|
||||
name = "github.com/rendon/testcli"
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/stretchr/testify"
|
||||
version = "1.3.0"
|
||||
|
||||
[[constraint]]
|
||||
branch = "master"
|
||||
name = "golang.org/x/crypto"
|
||||
|
||||
[[constraint]]
|
||||
name = "gopkg.in/natefinch/lumberjack.v2"
|
||||
version = "2.1.0"
|
||||
|
||||
[[constraint]]
|
||||
name = "gopkg.in/russross/blackfriday.v2"
|
||||
version = "2.0.1"
|
||||
|
||||
[prune]
|
||||
go-tests = true
|
||||
unused-packages = true
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,31 @@
|
|||
# .gqlgen.yml example
|
||||
#
|
||||
# Refer to https://gqlgen.com/config/
|
||||
# for detailed .gqlgen.yml documentation.
|
||||
|
||||
schema:
|
||||
- schema.graphql
|
||||
exec:
|
||||
filename: generated.go
|
||||
model:
|
||||
filename: models_gen.go
|
||||
models:
|
||||
Group:
|
||||
model: github.com/hunterlong/statping/types.Group
|
||||
Service:
|
||||
model: github.com/hunterlong/statping/types.Service
|
||||
User:
|
||||
model: github.com/hunterlong/statping/types.User
|
||||
Failure:
|
||||
model: github.com/hunterlong/statping/types.Failure
|
||||
Checkin:
|
||||
model: github.com/hunterlong/statping/types.Checkin
|
||||
CheckinHit:
|
||||
model: github.com/hunterlong/statping/types.CheckinHit
|
||||
ID:
|
||||
model:
|
||||
- github.com/99designs/gqlgen/graphql.Int64
|
||||
struct_tag: json
|
||||
resolver:
|
||||
filename: resolver.go
|
||||
type: Resolver
|
|
@ -0,0 +1,133 @@
|
|||
package graphql
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/hunterlong/statping/core"
|
||||
|
||||
"github.com/hunterlong/statping/types"
|
||||
)
|
||||
|
||||
// THIS CODE IS A STARTING POINT ONLY. IT WILL NOT BE UPDATED WITH SCHEMA CHANGES.
|
||||
|
||||
type Resolver struct{}
|
||||
|
||||
func (r *Resolver) Checkin() CheckinResolver {
|
||||
return &checkinResolver{r}
|
||||
}
|
||||
func (r *Resolver) Group() GroupResolver {
|
||||
return &groupResolver{r}
|
||||
}
|
||||
func (r *Resolver) Query() QueryResolver {
|
||||
return &queryResolver{r}
|
||||
}
|
||||
func (r *Resolver) Service() ServiceResolver {
|
||||
return &serviceResolver{r}
|
||||
}
|
||||
func (r *Resolver) User() UserResolver {
|
||||
return &userResolver{r}
|
||||
}
|
||||
|
||||
type checkinResolver struct{ *Resolver }
|
||||
|
||||
func (r *checkinResolver) Service(ctx context.Context, obj *types.Checkin) (*types.Service, error) {
|
||||
panic("not implemented")
|
||||
}
|
||||
func (r *checkinResolver) Failures(ctx context.Context, obj *types.Checkin) ([]*types.Failure, error) {
|
||||
panic("not implemented")
|
||||
}
|
||||
|
||||
type groupResolver struct{ *Resolver }
|
||||
|
||||
func (r *groupResolver) Public(ctx context.Context, obj *types.Group) (bool, error) {
|
||||
return obj.Public.Bool, nil
|
||||
}
|
||||
|
||||
type queryResolver struct{ *Resolver }
|
||||
|
||||
func (r *queryResolver) Group(ctx context.Context, id int64) (*types.Group, error) {
|
||||
group := core.SelectGroup(id)
|
||||
return group.Group, nil
|
||||
}
|
||||
func (r *queryResolver) Groups(ctx context.Context) ([]*types.Group, error) {
|
||||
all := core.SelectGroups(true, true)
|
||||
var objs []*types.Group
|
||||
for _, v := range all {
|
||||
objs = append(objs, v.Group)
|
||||
}
|
||||
return objs, nil
|
||||
}
|
||||
|
||||
func (r *queryResolver) Checkin(ctx context.Context, id int64) (*types.Checkin, error) {
|
||||
panic("not implemented")
|
||||
}
|
||||
func (r *queryResolver) Checkins(ctx context.Context) ([]*types.Checkin, error) {
|
||||
panic("not implemented")
|
||||
}
|
||||
|
||||
func (r *queryResolver) User(ctx context.Context, id int64) (*types.User, error) {
|
||||
user, err := core.SelectUser(id)
|
||||
return user.User, err
|
||||
}
|
||||
func (r *queryResolver) Users(ctx context.Context) ([]*types.User, error) {
|
||||
all, err := core.SelectAllUsers()
|
||||
var objs []*types.User
|
||||
for _, v := range all {
|
||||
objs = append(objs, v.User)
|
||||
}
|
||||
return objs, err
|
||||
}
|
||||
|
||||
type userResolver struct{ *Resolver }
|
||||
|
||||
func (r *userResolver) Admin(ctx context.Context, obj *types.User) (bool, error) {
|
||||
return obj.Admin.Bool, nil
|
||||
}
|
||||
|
||||
type serviceResolver struct{ *Resolver }
|
||||
|
||||
func (r *queryResolver) Service(ctx context.Context, id int64) (*types.Service, error) {
|
||||
service := core.SelectService(id)
|
||||
return service.Service, nil
|
||||
}
|
||||
func (r *queryResolver) Services(ctx context.Context) ([]*types.Service, error) {
|
||||
all := core.Services()
|
||||
var objs []*types.Service
|
||||
for _, v := range all {
|
||||
objs = append(objs, v.Select())
|
||||
}
|
||||
return objs, nil
|
||||
}
|
||||
|
||||
func (r *serviceResolver) Expected(ctx context.Context, obj *types.Service) (string, error) {
|
||||
return obj.Expected.String, nil
|
||||
}
|
||||
func (r *serviceResolver) PostData(ctx context.Context, obj *types.Service) (string, error) {
|
||||
return obj.PostData.String, nil
|
||||
}
|
||||
func (r *serviceResolver) AllowNotifications(ctx context.Context, obj *types.Service) (bool, error) {
|
||||
return obj.AllowNotifications.Bool, nil
|
||||
}
|
||||
func (r *serviceResolver) Public(ctx context.Context, obj *types.Service) (bool, error) {
|
||||
return obj.Public.Bool, nil
|
||||
}
|
||||
func (r *serviceResolver) Headers(ctx context.Context, obj *types.Service) (string, error) {
|
||||
return obj.Headers.String, nil
|
||||
}
|
||||
func (r *serviceResolver) Permalink(ctx context.Context, obj *types.Service) (string, error) {
|
||||
return obj.Permalink.String, nil
|
||||
}
|
||||
func (r *serviceResolver) Online24Hours(ctx context.Context, obj *types.Service) (float64, error) {
|
||||
return float64(obj.Online24Hours), nil
|
||||
}
|
||||
func (r *serviceResolver) Failures(ctx context.Context, obj *types.Service) ([]*types.Failure, error) {
|
||||
all := obj.Failures
|
||||
var objs []*types.Failure
|
||||
for _, v := range all {
|
||||
objs = append(objs, v.Select())
|
||||
}
|
||||
return objs, nil
|
||||
}
|
||||
func (r *serviceResolver) Group(ctx context.Context, obj *types.Service) (*types.Group, error) {
|
||||
group := core.SelectGroup(int64(obj.GroupId))
|
||||
return group.Group, nil
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
schema {
|
||||
query: Query
|
||||
}
|
||||
|
||||
type Query {
|
||||
service(id: ID!): Service
|
||||
services: [Service]!
|
||||
group(id: ID!): Group
|
||||
groups: [Group]!
|
||||
user(id: ID!): User
|
||||
users: [User]!
|
||||
checkin(id: ID!): Checkin
|
||||
checkins: [Checkin]!
|
||||
}
|
||||
|
||||
type Service {
|
||||
id: ID!
|
||||
name: String!
|
||||
domain: String!
|
||||
expected: String!
|
||||
expected_status: Int!
|
||||
interval: Int!
|
||||
type: String!
|
||||
method: String!
|
||||
post_data: String!
|
||||
port: Int!
|
||||
timeout: Int!
|
||||
order_id: Int!
|
||||
allow_notifications: Boolean!
|
||||
public: Boolean!
|
||||
group: Group!
|
||||
headers: String!
|
||||
permalink: String!
|
||||
online: Boolean!
|
||||
latency: Float!
|
||||
ping_time: Float!
|
||||
online_24_hours: Float!
|
||||
avg_response: String!
|
||||
status_code: Int!
|
||||
last_success: Time!
|
||||
failures: [Failure]
|
||||
created_at: Time!
|
||||
updated_at: Time!
|
||||
}
|
||||
|
||||
type Checkin {
|
||||
id: ID!
|
||||
service: Service!
|
||||
name: String!
|
||||
interval: Int!
|
||||
grace: Int!
|
||||
api_key: String!
|
||||
failing: Boolean!
|
||||
last_hit: Time!
|
||||
failures: [Failure]
|
||||
hits: [CheckinHit]
|
||||
created_at: Time!
|
||||
updated_at: Time!
|
||||
}
|
||||
|
||||
type CheckinHit {
|
||||
id: ID!
|
||||
from: String!
|
||||
created_at: Time!
|
||||
}
|
||||
|
||||
type Group {
|
||||
id: ID!
|
||||
name: String!
|
||||
public: Boolean!
|
||||
order_id: Int!
|
||||
created_at: Time!
|
||||
updated_at: Time!
|
||||
}
|
||||
|
||||
type User {
|
||||
id: ID!
|
||||
username: String!
|
||||
email: String!
|
||||
api_key: String!
|
||||
api_secret: String!
|
||||
admin: Boolean!
|
||||
created_at: Time!
|
||||
updated_at: Time!
|
||||
}
|
||||
|
||||
type Failure {
|
||||
id: ID!
|
||||
issue: String!
|
||||
method: String!
|
||||
method_id: Int!
|
||||
error_code: Int!
|
||||
ping: Float!
|
||||
created_at: Time!
|
||||
}
|
||||
|
||||
scalar Time
|
|
@ -17,9 +17,11 @@ package handlers
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/99designs/gqlgen/handler"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/gorilla/sessions"
|
||||
"github.com/hunterlong/statping/core"
|
||||
"github.com/hunterlong/statping/handlers/graphql"
|
||||
"github.com/hunterlong/statping/source"
|
||||
"github.com/hunterlong/statping/utils"
|
||||
"net/http"
|
||||
|
@ -65,6 +67,9 @@ func Router() *mux.Router {
|
|||
r.Handle("/logs", authenticated(logsHandler, true))
|
||||
r.Handle("/logs/line", readOnly(logsLineHandler, true))
|
||||
|
||||
// GRAPHQL Route
|
||||
r.Handle("/graphql", authenticated(handler.GraphQL(graphql.NewExecutableSchema(graphql.Config{Resolvers: &graphql.Resolver{}})), true))
|
||||
|
||||
// USER Routes
|
||||
r.Handle("/users", readOnly(usersHandler, true)).Methods("GET")
|
||||
r.Handle("/user/{id}", authenticated(usersEditHandler, true)).Methods("GET")
|
||||
|
|
Loading…
Reference in New Issue