update version of swag tool, use swag again in CI, works on #22

This commit is contained in:
Sonja Happ 2019-09-16 09:17:31 +02:00
parent a23754aa15
commit ebf390e9cc
7 changed files with 287 additions and 289 deletions

View file

@ -40,17 +40,21 @@ build:backend:
image: villaswebbackendgo:ubuntu
script:
- go mod tidy
# - go get -u github.com/swaggo/swag/cmd/swag
# - ~/go/bin/swag init -p pascalcase -g "start.go" -o "./doc/api/"
- go get -u github.com/swaggo/swag/cmd/swag
- ~/go/bin/swag init -p pascalcase -g "start.go" -o "./doc/api/"
- go build
dependencies:
- prepare:ubuntu
# artifacts:
# paths:
# - doc/api/swagger.json
# - doc/api/docs.go
artifacts:
paths:
- doc/api/swagger.json
- doc/api/docs.go
build:api:
# Stage: test
##############################################################################
test:apidoc:
stage: build
tags:
- docker
@ -59,77 +63,12 @@ build:api:
- cd doc/api
- redoc-cli bundle --cdn --title "VILLASweb Backend API Documentation" --output index.html swagger.json
dependencies:
- prepare:redoc
- build:backend
artifacts:
paths:
- doc/api/index.html
- doc/api/swagger.json
# Stage: test
##############################################################################
test:database:
stage: test
tags:
- docker
image: villaswebbackendgo:ubuntu
script:
- /etc/init.d/postgresql start
- go mod tidy
- cd database
- go test -v -args -dbhost=/var/run/postgresql
dependencies:
- build:backend
test:scenario:
stage: test
tags:
- docker
image: villaswebbackendgo:ubuntu
script:
- /etc/init.d/postgresql start
- go mod tidy
- cd ${TEST_FOLDER}
- go test -v -args -dbhost=/var/run/postgresql
dependencies:
- build:backend
test:simulationmodel:
extends: test:scenario
variables:
TEST_FOLDER: routes/simulationmodel
test:signal:
extends: test:scenario
variables:
TEST_FOLDER: routes/signal
test:dashboard:
extends: test:scenario
variables:
TEST_FOLDER: routes/dashboard
test:widget:
extends: test:scenario
variables:
TEST_FOLDER: routes/widget
test:simulator:
extends: test:scenario
variables:
TEST_FOLDER: routes/simulator
test:file:
extends: test:scenario
variables:
TEST_FOLDER: routes/file
test:user:
extends: test:scenario
variables:
TEST_FOLDER: routes/user
test:all:
stage: test
tags:
@ -143,7 +82,58 @@ test:all:
dependencies:
- build:backend
test:database:
stage: test
tags:
- docker
image: villaswebbackendgo:ubuntu
script:
- /etc/init.d/postgresql start
- go mod tidy
- cd database
- go test -v
dependencies:
- build:backend
test:scenario:
extends: test:database
variables:
TEST_FOLDER: routes/scenario
test:simulationmodel:
extends: test:scenario
variables:
TEST_FOLDER: routes/simulationmodel
test:signal:
extends: test:database
variables:
TEST_FOLDER: routes/signal
test:dashboard:
extends: test:database
variables:
TEST_FOLDER: routes/dashboard
test:widget:
extends: test:database
variables:
TEST_FOLDER: routes/widget
test:simulator:
extends: test:database
variables:
TEST_FOLDER: routes/simulator
test:file:
extends: test:database
variables:
TEST_FOLDER: routes/file
test:user:
extends: test:database
variables:
TEST_FOLDER: routes/user
# Stage: deploy
##############################################################################
@ -154,7 +144,7 @@ deploy:upload:
- cd doc/api
- rsync --copy-links --chown ${DEPLOY_USER}:${DEPLOY_USER} index.html swagger.json ${DEPLOY_USER}@${DEPLOY_HOST}:${DEPLOY_PATH}
dependencies:
- build:api
- test:apidoc
only:
- master
tags:

View file

@ -1,17 +1,19 @@
// GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
// This file was generated by swaggo/swag at
// 2019-09-10 14:36:30.27423075 +0200 CEST m=+9.264690807
// 2019-09-16 09:02:12.199345062 +0200 CEST m=+0.112506596
package docs
import (
"bytes"
"encoding/json"
"github.com/alecthomas/template"
"github.com/swaggo/swag"
)
var doc = `{
"schemes": {{ marshal .Schemes }},
"swagger": "2.0",
"info": {
"description": "This is the API of the VILLASweb Backend\nWORK IN PROGRESS! PLEASE BE PATIENT!\nThe tool https://github.com/swaggo/swag is used to auto-generate API docs for gin.",
@ -62,13 +64,6 @@ var doc = `{
"$ref": "#/definitions/docs.ResponseAuthenticate"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "object",
"$ref": "#/definitions/docs.ResponseError"
}
},
"401": {
"description": "Unauthorized",
"schema": {
@ -76,15 +71,8 @@ var doc = `{
"$ref": "#/definitions/docs.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"type": "object",
"$ref": "#/definitions/docs.ResponseError"
}
},
"422": {
"description": "Unprocessable entity.",
"500": {
"description": "Internal server error.",
"schema": {
"type": "object",
"$ref": "#/definitions/docs.ResponseError"
@ -2042,7 +2030,7 @@ var doc = `{
"application/json"
],
"tags": [
"simulators"
"AMQP"
],
"summary": "Send an action to simulator (only available if backend server is started with -amqp parameter)",
"operationId": "sendActionToSimulator",
@ -2737,7 +2725,37 @@ var doc = `{
}
},
"definitions": {
"common.Dashboard": {
"dashboard.validNewDashboard": {
"type": "object",
"required": [
"Grid",
"Name",
"ScenarioID"
],
"properties": {
"Grid": {
"type": "integer"
},
"Name": {
"type": "string"
},
"ScenarioID": {
"type": "integer"
}
}
},
"dashboard.validUpdatedDashboard": {
"type": "object",
"properties": {
"Grid": {
"type": "integer"
},
"Name": {
"type": "string"
}
}
},
"database.Dashboard": {
"type": "object",
"properties": {
"grid": {
@ -2757,7 +2775,7 @@ var doc = `{
}
}
},
"common.File": {
"database.File": {
"type": "object",
"properties": {
"date": {
@ -2797,7 +2815,7 @@ var doc = `{
}
}
},
"common.Scenario": {
"database.Scenario": {
"type": "object",
"properties": {
"id": {
@ -2817,7 +2835,7 @@ var doc = `{
}
}
},
"common.Signal": {
"database.Signal": {
"type": "object",
"properties": {
"direction": {
@ -2845,7 +2863,7 @@ var doc = `{
}
}
},
"common.SimulationModel": {
"database.SimulationModel": {
"type": "object",
"properties": {
"id": {
@ -2877,7 +2895,7 @@ var doc = `{
}
}
},
"common.Simulator": {
"database.Simulator": {
"type": "object",
"properties": {
"host": {
@ -2917,7 +2935,7 @@ var doc = `{
}
}
},
"common.User": {
"database.User": {
"type": "object",
"properties": {
"id": {
@ -2937,7 +2955,7 @@ var doc = `{
}
}
},
"common.Widget": {
"database.Widget": {
"type": "object",
"properties": {
"customProperties": {
@ -2993,36 +3011,6 @@ var doc = `{
}
}
},
"dashboard.validNewDashboard": {
"type": "object",
"required": [
"Grid",
"Name",
"ScenarioID"
],
"properties": {
"Grid": {
"type": "integer"
},
"Name": {
"type": "string"
},
"ScenarioID": {
"type": "integer"
}
}
},
"dashboard.validUpdatedDashboard": {
"type": "object",
"properties": {
"Grid": {
"type": "integer"
},
"Name": {
"type": "string"
}
}
},
"docs.ResponseAuthenticate": {
"type": "object",
"properties": {
@ -3037,7 +3025,7 @@ var doc = `{
},
"user": {
"type": "object",
"$ref": "#/definitions/common.User"
"$ref": "#/definitions/database.User"
}
}
},
@ -3046,7 +3034,7 @@ var doc = `{
"properties": {
"dashboard": {
"type": "object",
"$ref": "#/definitions/common.Dashboard"
"$ref": "#/definitions/database.Dashboard"
}
}
},
@ -3056,7 +3044,7 @@ var doc = `{
"dashboards": {
"type": "array",
"items": {
"$ref": "#/definitions/common.Dashboard"
"$ref": "#/definitions/database.Dashboard"
}
}
}
@ -3077,7 +3065,7 @@ var doc = `{
"properties": {
"file": {
"type": "object",
"$ref": "#/definitions/common.File"
"$ref": "#/definitions/database.File"
}
}
},
@ -3087,7 +3075,7 @@ var doc = `{
"files": {
"type": "array",
"items": {
"$ref": "#/definitions/common.File"
"$ref": "#/definitions/database.File"
}
}
}
@ -3097,7 +3085,7 @@ var doc = `{
"properties": {
"scenario": {
"type": "object",
"$ref": "#/definitions/common.Scenario"
"$ref": "#/definitions/database.Scenario"
}
}
},
@ -3107,7 +3095,7 @@ var doc = `{
"scenarios": {
"type": "array",
"items": {
"$ref": "#/definitions/common.Scenario"
"$ref": "#/definitions/database.Scenario"
}
}
}
@ -3117,7 +3105,7 @@ var doc = `{
"properties": {
"signal": {
"type": "object",
"$ref": "#/definitions/common.Signal"
"$ref": "#/definitions/database.Signal"
}
}
},
@ -3127,7 +3115,7 @@ var doc = `{
"signals": {
"type": "array",
"items": {
"$ref": "#/definitions/common.Signal"
"$ref": "#/definitions/database.Signal"
}
}
}
@ -3137,7 +3125,7 @@ var doc = `{
"properties": {
"model": {
"type": "object",
"$ref": "#/definitions/common.SimulationModel"
"$ref": "#/definitions/database.SimulationModel"
}
}
},
@ -3147,7 +3135,7 @@ var doc = `{
"models": {
"type": "array",
"items": {
"$ref": "#/definitions/common.SimulationModel"
"$ref": "#/definitions/database.SimulationModel"
}
}
}
@ -3157,7 +3145,7 @@ var doc = `{
"properties": {
"simulator": {
"type": "object",
"$ref": "#/definitions/common.Simulator"
"$ref": "#/definitions/database.Simulator"
}
}
},
@ -3167,7 +3155,7 @@ var doc = `{
"simulators": {
"type": "array",
"items": {
"$ref": "#/definitions/common.Simulator"
"$ref": "#/definitions/database.Simulator"
}
}
}
@ -3177,7 +3165,7 @@ var doc = `{
"properties": {
"user": {
"type": "object",
"$ref": "#/definitions/common.User"
"$ref": "#/definitions/database.User"
}
}
},
@ -3187,7 +3175,7 @@ var doc = `{
"users": {
"type": "array",
"items": {
"$ref": "#/definitions/common.User"
"$ref": "#/definitions/database.User"
}
}
}
@ -3197,7 +3185,7 @@ var doc = `{
"properties": {
"widget": {
"type": "object",
"$ref": "#/definitions/common.Widget"
"$ref": "#/definitions/database.Widget"
}
}
},
@ -3207,7 +3195,7 @@ var doc = `{
"widgets": {
"type": "array",
"items": {
"$ref": "#/definitions/common.Widget"
"$ref": "#/definitions/database.Widget"
}
}
}
@ -3515,17 +3503,23 @@ type swaggerInfo struct {
Version string
Host string
BasePath string
Schemes []string
Title string
Description string
}
// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo swaggerInfo
var SwaggerInfo = swaggerInfo{Schemes: []string{}}
type s struct{}
func (s *s) ReadDoc() string {
t, err := template.New("swagger_info").Parse(doc)
t, err := template.New("swagger_info").Funcs(template.FuncMap{
"marshal": func(v interface{}) string {
a, _ := json.Marshal(v)
return string(a)
},
}).Parse(doc)
if err != nil {
return doc
}

View file

@ -49,13 +49,6 @@
"$ref": "#/definitions/docs.ResponseAuthenticate"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "object",
"$ref": "#/definitions/docs.ResponseError"
}
},
"401": {
"description": "Unauthorized",
"schema": {
@ -63,15 +56,8 @@
"$ref": "#/definitions/docs.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"type": "object",
"$ref": "#/definitions/docs.ResponseError"
}
},
"422": {
"description": "Unprocessable entity.",
"500": {
"description": "Internal server error.",
"schema": {
"type": "object",
"$ref": "#/definitions/docs.ResponseError"
@ -2029,7 +2015,7 @@
"application/json"
],
"tags": [
"simulators"
"AMQP"
],
"summary": "Send an action to simulator (only available if backend server is started with -amqp parameter)",
"operationId": "sendActionToSimulator",
@ -2724,7 +2710,37 @@
}
},
"definitions": {
"common.Dashboard": {
"dashboard.validNewDashboard": {
"type": "object",
"required": [
"Grid",
"Name",
"ScenarioID"
],
"properties": {
"Grid": {
"type": "integer"
},
"Name": {
"type": "string"
},
"ScenarioID": {
"type": "integer"
}
}
},
"dashboard.validUpdatedDashboard": {
"type": "object",
"properties": {
"Grid": {
"type": "integer"
},
"Name": {
"type": "string"
}
}
},
"database.Dashboard": {
"type": "object",
"properties": {
"grid": {
@ -2744,7 +2760,7 @@
}
}
},
"common.File": {
"database.File": {
"type": "object",
"properties": {
"date": {
@ -2784,7 +2800,7 @@
}
}
},
"common.Scenario": {
"database.Scenario": {
"type": "object",
"properties": {
"id": {
@ -2804,7 +2820,7 @@
}
}
},
"common.Signal": {
"database.Signal": {
"type": "object",
"properties": {
"direction": {
@ -2832,7 +2848,7 @@
}
}
},
"common.SimulationModel": {
"database.SimulationModel": {
"type": "object",
"properties": {
"id": {
@ -2864,7 +2880,7 @@
}
}
},
"common.Simulator": {
"database.Simulator": {
"type": "object",
"properties": {
"host": {
@ -2904,7 +2920,7 @@
}
}
},
"common.User": {
"database.User": {
"type": "object",
"properties": {
"id": {
@ -2924,7 +2940,7 @@
}
}
},
"common.Widget": {
"database.Widget": {
"type": "object",
"properties": {
"customProperties": {
@ -2980,36 +2996,6 @@
}
}
},
"dashboard.validNewDashboard": {
"type": "object",
"required": [
"Grid",
"Name",
"ScenarioID"
],
"properties": {
"Grid": {
"type": "integer"
},
"Name": {
"type": "string"
},
"ScenarioID": {
"type": "integer"
}
}
},
"dashboard.validUpdatedDashboard": {
"type": "object",
"properties": {
"Grid": {
"type": "integer"
},
"Name": {
"type": "string"
}
}
},
"docs.ResponseAuthenticate": {
"type": "object",
"properties": {
@ -3024,7 +3010,7 @@
},
"user": {
"type": "object",
"$ref": "#/definitions/common.User"
"$ref": "#/definitions/database.User"
}
}
},
@ -3033,7 +3019,7 @@
"properties": {
"dashboard": {
"type": "object",
"$ref": "#/definitions/common.Dashboard"
"$ref": "#/definitions/database.Dashboard"
}
}
},
@ -3043,7 +3029,7 @@
"dashboards": {
"type": "array",
"items": {
"$ref": "#/definitions/common.Dashboard"
"$ref": "#/definitions/database.Dashboard"
}
}
}
@ -3064,7 +3050,7 @@
"properties": {
"file": {
"type": "object",
"$ref": "#/definitions/common.File"
"$ref": "#/definitions/database.File"
}
}
},
@ -3074,7 +3060,7 @@
"files": {
"type": "array",
"items": {
"$ref": "#/definitions/common.File"
"$ref": "#/definitions/database.File"
}
}
}
@ -3084,7 +3070,7 @@
"properties": {
"scenario": {
"type": "object",
"$ref": "#/definitions/common.Scenario"
"$ref": "#/definitions/database.Scenario"
}
}
},
@ -3094,7 +3080,7 @@
"scenarios": {
"type": "array",
"items": {
"$ref": "#/definitions/common.Scenario"
"$ref": "#/definitions/database.Scenario"
}
}
}
@ -3104,7 +3090,7 @@
"properties": {
"signal": {
"type": "object",
"$ref": "#/definitions/common.Signal"
"$ref": "#/definitions/database.Signal"
}
}
},
@ -3114,7 +3100,7 @@
"signals": {
"type": "array",
"items": {
"$ref": "#/definitions/common.Signal"
"$ref": "#/definitions/database.Signal"
}
}
}
@ -3124,7 +3110,7 @@
"properties": {
"model": {
"type": "object",
"$ref": "#/definitions/common.SimulationModel"
"$ref": "#/definitions/database.SimulationModel"
}
}
},
@ -3134,7 +3120,7 @@
"models": {
"type": "array",
"items": {
"$ref": "#/definitions/common.SimulationModel"
"$ref": "#/definitions/database.SimulationModel"
}
}
}
@ -3144,7 +3130,7 @@
"properties": {
"simulator": {
"type": "object",
"$ref": "#/definitions/common.Simulator"
"$ref": "#/definitions/database.Simulator"
}
}
},
@ -3154,7 +3140,7 @@
"simulators": {
"type": "array",
"items": {
"$ref": "#/definitions/common.Simulator"
"$ref": "#/definitions/database.Simulator"
}
}
}
@ -3164,7 +3150,7 @@
"properties": {
"user": {
"type": "object",
"$ref": "#/definitions/common.User"
"$ref": "#/definitions/database.User"
}
}
},
@ -3174,7 +3160,7 @@
"users": {
"type": "array",
"items": {
"$ref": "#/definitions/common.User"
"$ref": "#/definitions/database.User"
}
}
}
@ -3184,7 +3170,7 @@
"properties": {
"widget": {
"type": "object",
"$ref": "#/definitions/common.Widget"
"$ref": "#/definitions/database.Widget"
}
}
},
@ -3194,7 +3180,7 @@
"widgets": {
"type": "array",
"items": {
"$ref": "#/definitions/common.Widget"
"$ref": "#/definitions/database.Widget"
}
}
}

View file

@ -1,6 +1,26 @@
basePath: /api/v2
definitions:
common.Dashboard:
dashboard.validNewDashboard:
properties:
Grid:
type: integer
Name:
type: string
ScenarioID:
type: integer
required:
- Grid
- Name
- ScenarioID
type: object
dashboard.validUpdatedDashboard:
properties:
Grid:
type: integer
Name:
type: string
type: object
database.Dashboard:
properties:
grid:
description: Grid of dashboard
@ -14,7 +34,7 @@ definitions:
description: ID of scenario to which dashboard belongs
type: integer
type: object
common.File:
database.File:
properties:
date:
description: Last modification time of file
@ -43,7 +63,7 @@ definitions:
description: ID of widget to which file belongs
type: integer
type: object
common.Scenario:
database.Scenario:
properties:
id:
type: integer
@ -57,7 +77,7 @@ definitions:
description: Start parameters of scenario as JSON
type: string
type: object
common.Signal:
database.Signal:
properties:
direction:
description: Direction of the signal (in or out)
@ -77,7 +97,7 @@ definitions:
description: Unit of Signal
type: string
type: object
common.SimulationModel:
database.SimulationModel:
properties:
id:
type: integer
@ -100,7 +120,7 @@ definitions:
description: Start parameters of simulation model as JSON
type: string
type: object
common.Simulator:
database.Simulator:
properties:
host:
description: Host if the simulator
@ -129,7 +149,7 @@ definitions:
description: UUID of the simulator
type: string
type: object
common.User:
database.User:
properties:
id:
type: integer
@ -143,7 +163,7 @@ definitions:
description: Username of user
type: string
type: object
common.Widget:
database.Widget:
properties:
customProperties:
description: Custom properties of widget as JSON string
@ -184,26 +204,6 @@ definitions:
description: Z position of widget
type: integer
type: object
dashboard.validNewDashboard:
properties:
Grid:
type: integer
Name:
type: string
ScenarioID:
type: integer
required:
- Grid
- Name
- ScenarioID
type: object
dashboard.validUpdatedDashboard:
properties:
Grid:
type: integer
Name:
type: string
type: object
docs.ResponseAuthenticate:
properties:
message:
@ -213,20 +213,20 @@ definitions:
token:
type: string
user:
$ref: '#/definitions/common.User'
$ref: '#/definitions/database.User'
type: object
type: object
docs.ResponseDashboard:
properties:
dashboard:
$ref: '#/definitions/common.Dashboard'
$ref: '#/definitions/database.Dashboard'
type: object
type: object
docs.ResponseDashboards:
properties:
dashboards:
items:
$ref: '#/definitions/common.Dashboard'
$ref: '#/definitions/database.Dashboard'
type: array
type: object
docs.ResponseError:
@ -239,92 +239,92 @@ definitions:
docs.ResponseFile:
properties:
file:
$ref: '#/definitions/common.File'
$ref: '#/definitions/database.File'
type: object
type: object
docs.ResponseFiles:
properties:
files:
items:
$ref: '#/definitions/common.File'
$ref: '#/definitions/database.File'
type: array
type: object
docs.ResponseScenario:
properties:
scenario:
$ref: '#/definitions/common.Scenario'
$ref: '#/definitions/database.Scenario'
type: object
type: object
docs.ResponseScenarios:
properties:
scenarios:
items:
$ref: '#/definitions/common.Scenario'
$ref: '#/definitions/database.Scenario'
type: array
type: object
docs.ResponseSignal:
properties:
signal:
$ref: '#/definitions/common.Signal'
$ref: '#/definitions/database.Signal'
type: object
type: object
docs.ResponseSignals:
properties:
signals:
items:
$ref: '#/definitions/common.Signal'
$ref: '#/definitions/database.Signal'
type: array
type: object
docs.ResponseSimulationModel:
properties:
model:
$ref: '#/definitions/common.SimulationModel'
$ref: '#/definitions/database.SimulationModel'
type: object
type: object
docs.ResponseSimulationModels:
properties:
models:
items:
$ref: '#/definitions/common.SimulationModel'
$ref: '#/definitions/database.SimulationModel'
type: array
type: object
docs.ResponseSimulator:
properties:
simulator:
$ref: '#/definitions/common.Simulator'
$ref: '#/definitions/database.Simulator'
type: object
type: object
docs.ResponseSimulators:
properties:
simulators:
items:
$ref: '#/definitions/common.Simulator'
$ref: '#/definitions/database.Simulator'
type: array
type: object
docs.ResponseUser:
properties:
user:
$ref: '#/definitions/common.User'
$ref: '#/definitions/database.User'
type: object
type: object
docs.ResponseUsers:
properties:
users:
items:
$ref: '#/definitions/common.User'
$ref: '#/definitions/database.User'
type: array
type: object
docs.ResponseWidget:
properties:
widget:
$ref: '#/definitions/common.Widget'
$ref: '#/definitions/database.Widget'
type: object
type: object
docs.ResponseWidgets:
properties:
widgets:
items:
$ref: '#/definitions/common.Widget'
$ref: '#/definitions/database.Widget'
type: array
type: object
scenario.validNewScenario:
@ -563,23 +563,13 @@ paths:
schema:
$ref: '#/definitions/docs.ResponseAuthenticate'
type: object
"400":
description: Bad request
schema:
$ref: '#/definitions/docs.ResponseError'
type: object
"401":
description: Unauthorized
schema:
$ref: '#/definitions/docs.ResponseError'
type: object
"404":
description: Not found
schema:
$ref: '#/definitions/docs.ResponseError'
type: object
"422":
description: Unprocessable entity.
"500":
description: Internal server error.
schema:
$ref: '#/definitions/docs.ResponseError'
type: object
@ -1983,7 +1973,7 @@ paths:
summary: Send an action to simulator (only available if backend server is started
with -amqp parameter)
tags:
- simulators
- AMQP
/simulators/{simulatorID}/models:
get:
operationId: getModelsOfSimulator

22
go.mod
View file

@ -4,22 +4,26 @@ require (
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc
github.com/dgrijalva/jwt-go v3.2.0+incompatible
github.com/gin-gonic/gin v1.4.0
github.com/go-openapi/spec v0.19.2 // indirect
github.com/go-openapi/swag v0.19.3 // indirect
github.com/go-openapi/jsonreference v0.19.3 // indirect
github.com/go-openapi/spec v0.19.3 // indirect
github.com/go-playground/locales v0.12.1 // indirect
github.com/go-playground/universal-translator v0.16.0 // indirect
github.com/jinzhu/gorm v1.9.10
github.com/kr/pty v1.1.8 // indirect
github.com/leodido/go-urn v1.1.0 // indirect
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e // indirect
github.com/mailru/easyjson v0.7.0 // indirect
github.com/nsf/jsondiff v0.0.0-20190712045011-8443391ee9b6
github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94
github.com/stretchr/testify v1.3.0
github.com/stretchr/testify v1.4.0
github.com/swaggo/gin-swagger v1.2.0
github.com/swaggo/swag v1.6.0
github.com/swaggo/swag v1.6.2
github.com/tidwall/gjson v1.3.0
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4
golang.org/x/net v0.0.0-20190628185345-da137c7871d7 // indirect
golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb // indirect
golang.org/x/tools v0.0.0-20190703212419-2214986f1668 // indirect
github.com/urfave/cli v1.22.1 // indirect
golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7
golang.org/x/net v0.0.0-20190912160710-24e19bdeb0f2 // indirect
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e // indirect
golang.org/x/sys v0.0.0-20190913121621-c3b328c6e5a7 // indirect
golang.org/x/tools v0.0.0-20190916034716-92af9d69eff2 // indirect
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
gopkg.in/go-playground/validator.v9 v9.29.0
)

35
go.sum
View file

@ -19,6 +19,9 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF
github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@ -49,20 +52,28 @@ github.com/go-openapi/jsonpointer v0.17.0 h1:nH6xp8XdXHx8dqveo0ZuJBluCO2qGrPbDNZ
github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0=
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
github.com/go-openapi/jsonreference v0.19.0 h1:BqWKpV1dFd+AuiKlgtddwVIFQsuMpxfBDBHGfM2yNpk=
github.com/go-openapi/jsonreference v0.19.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w=
github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=
github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
github.com/go-openapi/spec v0.19.0 h1:A4SZ6IWh3lnjH0rG0Z5lkxazMGBECtrZcbyYQi+64k4=
github.com/go-openapi/spec v0.19.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
github.com/go-openapi/spec v0.19.2 h1:SStNd1jRcYtfKCN7R0laGNs80WYYvn5CbBjM2sOmCrE=
github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc=
github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
github.com/go-openapi/swag v0.17.0 h1:iqrgMg7Q7SvtbWLlltPrkMs0UBJI6oTSs79JFRUi880=
github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
github.com/go-openapi/swag v0.19.3 h1:FKTmP0GPWwRqRP2WIYltgctgYTN+gr8iZ7zSKdZtbz0=
github.com/go-openapi/swag v0.19.3/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
github.com/go-playground/locales v0.12.1 h1:2FITxuFt/xuCNP1Acdhv62OzaCiviiE4kotfhkmOqEc=
github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM=
github.com/go-playground/universal-translator v0.16.0 h1:X++omBR/4cE2MNg91AoC3rmGrCjJ8eAeUP/K/EKx4DM=
@ -107,6 +118,7 @@ github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/leodido/go-urn v1.1.0 h1:Sm1gr51B1kKyfD2BlRcLSiEkffoG96g6TPv6eRoEiB8=
@ -118,6 +130,8 @@ github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.7.0 h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM=
github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE=
@ -150,6 +164,10 @@ github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94 h1:0ngsPmuP6XIjiFRNFYlvKwSr5zff2v+uPHaffZ6/M4k=
github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
@ -159,11 +177,14 @@ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoH
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/swaggo/gin-swagger v1.2.0 h1:YskZXEiv51fjOMTsXrOetAjrMDfFaXD79PEoQBOe2W0=
github.com/swaggo/gin-swagger v1.2.0/go.mod h1:qlH2+W7zXGZkczuL+r2nEBR2JTT+/lX05Nn6vPhc7OI=
github.com/swaggo/swag v1.5.1/go.mod h1:1Bl9F/ZBpVWh22nY0zmYyASPO1lI/zIwRDrpZU+tv8Y=
github.com/swaggo/swag v1.6.0 h1:d6Z3kNGQmM2Z6DZtOyK138eFTkpi2JwSwNVOV4wnlLk=
github.com/swaggo/swag v1.6.0/go.mod h1:YyZstMc22WYm6GEDx/CYWxq+faBbjQ5EqwQcrjREDBo=
github.com/swaggo/swag v1.6.2 h1:WQMAtT/FmMBb7g0rAuHDhG3vvdtHKJ3WZ+Ssb0p4Y6E=
github.com/swaggo/swag v1.6.2/go.mod h1:YyZstMc22WYm6GEDx/CYWxq+faBbjQ5EqwQcrjREDBo=
github.com/tidwall/gjson v1.3.0 h1:kfpsw1W3trbg4Xm6doUtqSl9+LhLB6qJ9PkltVAQZYs=
github.com/tidwall/gjson v1.3.0/go.mod h1:P256ACg0Mn+j1RXIDXoss50DeIABTYK1PULOJHhxOls=
github.com/tidwall/match v1.0.1 h1:PnKP62LPNxHKTwvHHZZzdOAOCtsJTjo6dZLCwpKm5xc=
@ -178,6 +199,8 @@ github.com/ugorji/go/codec v1.1.5-pre h1:5YV9PsFAN+ndcCtTM7s60no7nY7eTG3LPtxhSwu
github.com/ugorji/go/codec v1.1.5-pre/go.mod h1:tULtS6Gy1AE1yCENaw4Vb//HLH5njI2tfCQDUqRd8fI=
github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw=
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
@ -185,6 +208,8 @@ golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACk
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 h1:HuIa8hRrWRSrqYzx1qI49NNxhdi2PrY7gxVSq1JjLDc=
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7 h1:0hQKqeLdqlt5iIwVOBErRisrHJAN57yOiPRQItI20fU=
golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
@ -207,6 +232,9 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190628185345-da137c7871d7 h1:rTIdg5QFRR7XCaK4LCjBiPbx8j4DQRpdYMnGn/bJUEU=
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190912160710-24e19bdeb0f2 h1:4dVFTC832rPn4pomLSz1vA+are2+dU19w1H8OngV7nc=
golang.org/x/net v0.0.0-20190912160710-24e19bdeb0f2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -214,6 +242,7 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@ -228,6 +257,8 @@ golang.org/x/sys v0.0.0-20190610200419-93c9922d18ae/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb h1:fgwFCsaw9buMuxNd6+DQfAuSFqbNiQZpcgJQAgJsK6k=
golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190913121621-c3b328c6e5a7 h1:wYqz/tQaWUgGKyx+B/rssSE6wkIKdY5Ee6ryOmzarIg=
golang.org/x/sys v0.0.0-20190913121621-c3b328c6e5a7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
@ -244,6 +275,9 @@ golang.org/x/tools v0.0.0-20190611222205-d73e1c7e250b/go.mod h1:/rFqwRUd4F7ZHNgw
golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190703212419-2214986f1668 h1:3LJOYcj2ObWSZJXX21oGIIPv5SaOoi5JkzQTWnCXRhg=
golang.org/x/tools v0.0.0-20190703212419-2214986f1668/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI=
golang.org/x/tools v0.0.0-20190916034716-92af9d69eff2 h1:cvSBP3q8DeS4up5q8ssbGdEtSGiDgRV7HBvOpr3g5RM=
golang.org/x/tools v0.0.0-20190916034716-92af9d69eff2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508=
@ -257,6 +291,7 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM=
gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=

View file

@ -10,7 +10,6 @@ import (
"github.com/gin-gonic/gin"
"git.rwth-aachen.de/acs/public/villas/villasweb-backend-go/database"
_ "git.rwth-aachen.de/acs/public/villas/villasweb-backend-go/doc/api"
)
// TODO: the signing secret must be environmental variable