GraphQL - sample data boolean on setup

pull/168/head
hunterlong 2019-04-03 08:12:44 -07:00
parent 76168ce436
commit d912890e66
8 changed files with 1764 additions and 45 deletions

324
Gopkg.lock generated Normal file
View File

@ -0,0 +1,324 @@
# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
[[projects]]
digest = "1:7ea2faecf1d650c855ee70f55b934cc2265404625b7114e048ac7d6a64c23b41"
name = "github.com/99designs/gqlgen"
packages = [
"complexity",
"graphql",
"graphql/introspection",
"handler",
]
pruneopts = "UT"
revision = "010a79b66f08732cb70d133dcab297a8ee895572"
version = "v0.8.3"
[[projects]]
digest = "1:07f7314344b2771963ada0b2a4a426c59d782dac227dcfff2499188a186446c0"
name = "github.com/GeertJohan/go.rice"
packages = [
".",
"embedded",
]
pruneopts = "UT"
revision = "cd53cd147dd5288bc2fb990fb983e58e301abb5e"
version = "v1.0.0"
[[projects]]
digest = "1:786e862ec180708b60ee670723e3edd969fd4309e7b1c315cd7de058ac62a011"
name = "github.com/agnivade/levenshtein"
packages = ["."]
pruneopts = "UT"
revision = "51b298ff305e72cfd29166dccc3f9878e82f9fdc"
version = "v1.0.2"
[[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:7b5c6e2eeaa9ae5907c391a91c132abfd5c9e8a784a341b5625e750c67e6825d"
name = "github.com/gorilla/websocket"
packages = ["."]
pruneopts = "UT"
revision = "66b9c49e59c6c48f0ffce28c2d8b8a5678502c6d"
version = "v1.4.0"
[[projects]]
digest = "1:7fbb40f65374cb64a7bf3f1f74e2cb4c4437d93bc3d8921cf7e3d7ad2ab20989"
name = "github.com/graphql-go/graphql"
packages = [
".",
"gqlerrors",
"language/ast",
"language/kinds",
"language/lexer",
"language/location",
"language/parser",
"language/printer",
"language/source",
"language/typeInfo",
"language/visitor",
]
pruneopts = "UT"
revision = "2b0b7340d2285b861482047fbf5de0488e021bea"
version = "v0.7.8"
[[projects]]
digest = "1:d15ee511aa0f56baacc1eb4c6b922fa1c03b38413b6be18166b996d82a0156ea"
name = "github.com/hashicorp/golang-lru"
packages = [
".",
"simplelru",
]
pruneopts = "UT"
revision = "7087cb70de9f7a8bc0a10c375cb0d2280a8edf9c"
version = "v0.5.1"
[[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]]
digest = "1:b4e8aaca88f799355f4ac560bce4293fb85ff21003dd0d5741ca503f7a788e91"
name = "github.com/vektah/gqlparser"
packages = [
".",
"ast",
"gqlerror",
"lexer",
"parser",
"validator",
"validator/rules",
]
pruneopts = "UT"
revision = "05741cdb0871330d8bc980d4afd21ab34eceee83"
version = "v1.1.2"
[[projects]]
branch = "master"
digest = "1:9d5b5d543996dd584da1db1e0de1926f3e4c3a8dba0fa2f8db70f3ebee2342e0"
name = "golang.org/x/crypto"
packages = [
"bcrypt",
"blowfish",
]
pruneopts = "UT"
revision = "a5d413f7728c81fb97d96a2b722368945f651e78"
[[projects]]
digest = "1:c25289f43ac4a68d88b02245742347c94f1e108c534dda442188015ff80669b3"
name = "google.golang.org/appengine"
packages = ["cloudsql"]
pruneopts = "UT"
revision = "54a98f90d1c46b7731eb8fb305d2a321c30ef610"
version = "v1.5.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/99designs/gqlgen/graphql",
"github.com/99designs/gqlgen/graphql/introspection",
"github.com/99designs/gqlgen/handler",
"github.com/GeertJohan/go.rice",
"github.com/GeertJohan/go.rice/embedded",
"github.com/ararog/timeago",
"github.com/go-mail/mail",
"github.com/go-yaml/yaml",
"github.com/gorilla/mux",
"github.com/gorilla/sessions",
"github.com/graphql-go/graphql",
"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",
"github.com/vektah/gqlparser",
"github.com/vektah/gqlparser/ast",
"golang.org/x/crypto/bcrypt",
"gopkg.in/natefinch/lumberjack.v2",
"gopkg.in/russross/blackfriday.v2",
]
solver-name = "gps-cdcl"
solver-version = 1

94
Gopkg.toml Normal file
View File

@ -0,0 +1,94 @@
# 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]]
name = "github.com/99designs/gqlgen"
version = "0.8.3"
[[constraint]]
name = "github.com/GeertJohan/go.rice"
version = "1.0.0"
[[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/graphql-go/graphql"
version = "0.7.8"
[[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]]
name = "github.com/vektah/gqlparser"
version = "1.1.2"
[[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

View File

@ -10,6 +10,10 @@ exec:
model:
filename: models_gen.go
models:
Core:
model: github.com/hunterlong/statping/types.Core
Message:
model: github.com/hunterlong/statping/types.Message
Group:
model: github.com/hunterlong/statping/types.Group
Service:

View File

@ -14,9 +14,15 @@ type Resolver struct{}
func (r *Resolver) Checkin() CheckinResolver {
return &checkinResolver{r}
}
func (r *Resolver) Core() CoreResolver {
return &coreResolver{r}
}
func (r *Resolver) Group() GroupResolver {
return &groupResolver{r}
}
func (r *Resolver) Message() MessageResolver {
return &messageResolver{r}
}
func (r *Resolver) Query() QueryResolver {
return &queryResolver{r}
}
@ -30,9 +36,39 @@ func (r *Resolver) User() UserResolver {
type checkinResolver struct{ *Resolver }
func (r *checkinResolver) Service(ctx context.Context, obj *types.Checkin) (*types.Service, error) {
panic("not implemented")
service := core.SelectService(obj.ServiceId)
return service.Service, nil
}
func (r *checkinResolver) Failures(ctx context.Context, obj *types.Checkin) ([]*types.Failure, error) {
all := obj.Failures
var objs []*types.Failure
for _, v := range all {
objs = append(objs, v.Select())
}
return objs, nil
}
type coreResolver struct{ *Resolver }
func (r *coreResolver) Footer(ctx context.Context, obj *types.Core) (string, error) {
panic("not implemented")
}
func (r *coreResolver) Timezone(ctx context.Context, obj *types.Core) (string, error) {
panic("not implemented")
}
func (r *coreResolver) UsingCdn(ctx context.Context, obj *types.Core) (bool, error) {
panic("not implemented")
}
type messageResolver struct{ *Resolver }
func (r *messageResolver) NotifyUsers(ctx context.Context, obj *types.Message) (bool, error) {
panic("not implemented")
}
func (r *messageResolver) NotifyMethod(ctx context.Context, obj *types.Message) (bool, error) {
panic("not implemented")
}
func (r *messageResolver) NotifyBefore(ctx context.Context, obj *types.Message) (int, error) {
panic("not implemented")
}
@ -44,6 +80,24 @@ func (r *groupResolver) Public(ctx context.Context, obj *types.Group) (bool, err
type queryResolver struct{ *Resolver }
func (r *queryResolver) Core(ctx context.Context) (*types.Core, error) {
c := core.CoreApp
return c.Core, nil
}
func (r *queryResolver) Message(ctx context.Context, id int64) (*types.Message, error) {
message, err := core.SelectMessage(id)
return message.Message, err
}
func (r *queryResolver) Messages(ctx context.Context) ([]*types.Message, error) {
all, err := core.SelectMessages()
var objs []*types.Message
for _, v := range all {
objs = append(objs, v.Message)
}
return objs, err
}
func (r *queryResolver) Group(ctx context.Context, id int64) (*types.Group, error) {
group := core.SelectGroup(id)
return group.Group, nil

View File

@ -3,6 +3,7 @@ schema {
}
type Query {
core: Core
service(id: ID!): Service
services: [Service]!
group(id: ID!): Group
@ -11,6 +12,21 @@ type Query {
users: [User]!
checkin(id: ID!): Checkin
checkins: [Checkin]!
message(id: ID!): Message
messages: [Message]!
}
type Core {
name: String!
description: String!
footer: String!
domain: String!
version: String!
timezone: String!
using_cdn: Boolean!
started_on: Time!
created_at: Time!
updated_at: Time!
}
type Service {
@ -94,4 +110,18 @@ type Failure {
created_at: Time!
}
type Message {
id: ID!
title: String!
description: String!
start_on: Time!
end_on: Time!
notify_users: Boolean!
notify_method: Boolean!
notify_before: Int!
notify_before_scale: String!
created_at: Time!
updated_at: Time!
}
scalar Time

View File

@ -53,10 +53,11 @@ func processSetupHandler(w http.ResponseWriter, r *http.Request) {
project := r.PostForm.Get("project")
username := r.PostForm.Get("username")
password := r.PostForm.Get("password")
//sample := r.PostForm.Get("sample_data")
description := r.PostForm.Get("description")
domain := r.PostForm.Get("domain")
email := r.PostForm.Get("email")
sample := r.PostForm.Get("sample_data") == "on"
utils.Log(2, sample)
dir := utils.Directory
config := &core.DbConfig{
@ -117,7 +118,9 @@ func processSetupHandler(w http.ResponseWriter, r *http.Request) {
})
admin.Create()
core.SampleData()
if sample {
core.SampleData()
}
core.InitApp()
CacheStorage.Delete("/")
resetCookies()

View File

@ -1 +1 @@
0.80.53
0.80.54