Moving files and adding auth
This commit is contained in:
parent
728ac72dff
commit
1c16b54802
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
# main binary
|
||||
multitenantStack
|
||||
|
||||
# IDEs
|
||||
.vscode
|
||||
|
||||
# Go vendoring
|
||||
vendor/*
|
@ -1,6 +1,6 @@
|
||||
# MutlitenantStack
|
||||
|
||||
This is a project to demonstrate multi tenancy usage in beego using postgres and seperated databases
|
||||
This is a project to demonstrate multi tenancy usage in beego using postgres and separated databases
|
||||
|
||||
The api was scaffolded using:
|
||||
|
||||
@ -9,3 +9,8 @@ The api was scaffolded using:
|
||||
then `bee run -downdoc=true``
|
||||
|
||||
To regenerate docs simply run `bee generate docs`
|
||||
|
||||
## TODO
|
||||
|
||||
- company controller, create databases and so on
|
||||
- Update not found to json
|
||||
|
15
bee.json
Normal file
15
bee.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"version": 0,
|
||||
"go_install": false,
|
||||
"scripts": {
|
||||
"test": "go test -v tests/*.go",
|
||||
"convey": "goconvey tests/"
|
||||
},
|
||||
"cmd_args": [],
|
||||
"envs": [],
|
||||
"database": {
|
||||
"driver": "postgres",
|
||||
"conn": "postgres://postgres:postgre@127.0.0.1:5435/system?sslmode=disable"
|
||||
},
|
||||
"enable_reload": true
|
||||
}
|
127
controllers/auth.go
Normal file
127
controllers/auth.go
Normal file
@ -0,0 +1,127 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
auth "multitenantStack/services/authentication"
|
||||
"time"
|
||||
|
||||
jwt "github.com/dgrijalva/jwt-go"
|
||||
)
|
||||
|
||||
// AuthController operations for Auth
|
||||
type AuthController struct {
|
||||
BaseController
|
||||
}
|
||||
|
||||
// URLMapping ...
|
||||
func (c *AuthController) URLMapping() {
|
||||
// This block is used to drastically speed up the annotation -> lookup process
|
||||
c.Mapping("Login", c.Login)
|
||||
c.Mapping("GetOne", c.GetOne)
|
||||
c.Mapping("GetAll", c.GetAll)
|
||||
c.Mapping("Put", c.Put)
|
||||
c.Mapping("Delete", c.Delete)
|
||||
}
|
||||
|
||||
// Login Get a JWT token for the user
|
||||
// @Title Create
|
||||
// @Description create Auth
|
||||
// @Param body body models.Auth true "body for Auth content"
|
||||
// @Success 201 {object} models.Auth
|
||||
// @Failure 403 body is empty
|
||||
// @router /login [post]
|
||||
func (c *AuthController) Login() {
|
||||
|
||||
type AuthResponse struct {
|
||||
Status int
|
||||
Jwt string
|
||||
}
|
||||
|
||||
if c.Ctx.Input.Method() != "POST" {
|
||||
c.ServeJsonError("Method not allowed")
|
||||
return
|
||||
}
|
||||
|
||||
//TODO: did the user send us a token? then just validate and tell him he is logged in
|
||||
|
||||
email := c.GetString("email")
|
||||
password := c.GetString("password")
|
||||
|
||||
//TODO: check against main database, get company id and veryfy password
|
||||
companyName := ""
|
||||
companyUserId := 5
|
||||
//TODO: if found query the company database to get roleid, and name
|
||||
|
||||
name := "Lukas"
|
||||
roleId := 5
|
||||
|
||||
tokenString := ""
|
||||
if email == "admin@admin.at" && password == "my password" {
|
||||
// The jwtClaims are our trusted clientside session
|
||||
tokenString = auth.CreateToken(jwt.MapClaims{
|
||||
"email": email,
|
||||
"companyName": companyName,
|
||||
"companyUserId": companyUserId,
|
||||
"name": name,
|
||||
"roleId": roleId,
|
||||
"expires": time.Now().Unix() + 3600,
|
||||
})
|
||||
} else {
|
||||
c.ServeJsonError("Invalid user/password")
|
||||
return
|
||||
}
|
||||
|
||||
json := AuthResponse{200, tokenString}
|
||||
c.Data["json"] = &json
|
||||
|
||||
c.ServeJSON()
|
||||
}
|
||||
|
||||
// GetOne ...
|
||||
// @Title GetOne
|
||||
// @Description get Auth by id
|
||||
// @Param id path string true "The key for staticblock"
|
||||
// @Success 200 {object} models.Auth
|
||||
// @Failure 403 :id is empty
|
||||
// @router /:id [get]
|
||||
func (c *AuthController) GetOne() {
|
||||
|
||||
}
|
||||
|
||||
// GetAll ...
|
||||
// @Title GetAll
|
||||
// @Description get Auth
|
||||
// @Param query query string false "Filter. e.g. col1:v1,col2:v2 ..."
|
||||
// @Param fields query string false "Fields returned. e.g. col1,col2 ..."
|
||||
// @Param sortby query string false "Sorted-by fields. e.g. col1,col2 ..."
|
||||
// @Param order query string false "Order corresponding to each sortby field, if single value, apply to all sortby fields. e.g. desc,asc ..."
|
||||
// @Param limit query string false "Limit the size of result set. Must be an integer"
|
||||
// @Param offset query string false "Start position of result set. Must be an integer"
|
||||
// @Success 200 {object} models.Auth
|
||||
// @Failure 403
|
||||
// @router / [get]
|
||||
func (c *AuthController) GetAll() {
|
||||
|
||||
}
|
||||
|
||||
// Put ...
|
||||
// @Title Put
|
||||
// @Description update the Auth
|
||||
// @Param id path string true "The id you want to update"
|
||||
// @Param body body models.Auth true "body for Auth content"
|
||||
// @Success 200 {object} models.Auth
|
||||
// @Failure 403 :id is not int
|
||||
// @router /:id [put]
|
||||
func (c *AuthController) Put() {
|
||||
|
||||
}
|
||||
|
||||
// Delete ...
|
||||
// @Title Delete
|
||||
// @Description delete the Auth
|
||||
// @Param id path string true "The id you want to delete"
|
||||
// @Success 200 {string} delete success!
|
||||
// @Failure 403 id is empty
|
||||
// @router /:id [delete]
|
||||
func (c *AuthController) Delete() {
|
||||
|
||||
}
|
30
controllers/base.go
Normal file
30
controllers/base.go
Normal file
@ -0,0 +1,30 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"github.com/astaxie/beego"
|
||||
)
|
||||
|
||||
type JsonBasicResponse struct {
|
||||
Status int
|
||||
Message string
|
||||
}
|
||||
|
||||
const JSON_ERROR int = 500
|
||||
const JSON_SUCCESS int = 200
|
||||
|
||||
// BaseController operations for BaseController
|
||||
type BaseController struct {
|
||||
beego.Controller
|
||||
}
|
||||
|
||||
func (this *BaseController) ServeJsonError(message string) {
|
||||
json := JsonBasicResponse{JSON_ERROR, message}
|
||||
this.Data["json"] = &json
|
||||
this.ServeJSON()
|
||||
}
|
||||
|
||||
func (this *BaseController) ServeJsonSuccess(message string) {
|
||||
json := JsonBasicResponse{JSON_SUCCESS, message}
|
||||
this.Data["json"] = &json
|
||||
this.ServeJSON()
|
||||
}
|
36
controllers/baseAPI.go
Normal file
36
controllers/baseAPI.go
Normal file
@ -0,0 +1,36 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
//"fmt"
|
||||
"github.com/juusechec/jwt-beego"
|
||||
)
|
||||
|
||||
// BaseController operations for APIs
|
||||
type BaseAPIController struct {
|
||||
BaseController
|
||||
}
|
||||
|
||||
func (this *BaseAPIController) Prepare() {
|
||||
if this.Ctx.Input.Method() != "POST" {
|
||||
this.ServeJsonError("Method not allowed")
|
||||
}
|
||||
|
||||
//Lo que quieras hacer en todos los controladores
|
||||
// O puede ser leído de una cabecera HEADER!!
|
||||
tokenString := this.Ctx.Request.Header.Get("X-JWTtoken")
|
||||
et := jwtbeego.EasyToken{}
|
||||
valid, issuer, _ := et.ValidateToken(tokenString)
|
||||
if !valid {
|
||||
this.Ctx.Output.SetStatus(401)
|
||||
this.ServeJsonError("Invalid Token")
|
||||
}
|
||||
|
||||
userSession := this.GetSession("username")
|
||||
|
||||
if userSession == nil || userSession != issuer {
|
||||
this.Ctx.Output.SetStatus(401)
|
||||
this.ServeJsonError("Invalid Session")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
1
lastupdate.tmp
Executable file
1
lastupdate.tmp
Executable file
@ -0,0 +1 @@
|
||||
{"/Users/LB/go/src/multitenantStack/controllers":1541579833440000000}
|
210
routers/commentsRouter_controllers.go
Normal file
210
routers/commentsRouter_controllers.go
Normal file
@ -0,0 +1,210 @@
|
||||
package routers
|
||||
|
||||
import (
|
||||
"github.com/astaxie/beego"
|
||||
"github.com/astaxie/beego/context/param"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:AuthController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:AuthController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetAll",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:AuthController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:AuthController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetOne",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:AuthController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:AuthController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Put",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"put"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:AuthController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:AuthController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Delete",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"delete"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:AuthController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:AuthController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Login",
|
||||
Router: `/login`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:CompanyDataController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:CompanyDataController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Post",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:CompanyDataController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:CompanyDataController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetAll",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:CompanyDataController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:CompanyDataController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetOne",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:CompanyDataController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:CompanyDataController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Put",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"put"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:CompanyDataController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:CompanyDataController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Delete",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"delete"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:CompanyUserController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:CompanyUserController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Post",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:CompanyUserController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:CompanyUserController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetAll",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:CompanyUserController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:CompanyUserController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetOne",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:CompanyUserController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:CompanyUserController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Put",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"put"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:CompanyUserController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:CompanyUserController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Delete",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"delete"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:ContactController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:ContactController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Post",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:ContactController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:ContactController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetAll",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:ContactController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:ContactController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetOne",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:ContactController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:ContactController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Put",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"put"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:ContactController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:ContactController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Delete",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"delete"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:PostController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:PostController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Post",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:PostController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:PostController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetAll",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:PostController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:PostController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetOne",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:PostController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:PostController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Put",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"put"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["multitenantStack/controllers:PostController"] = append(beego.GlobalControllerRouter["multitenantStack/controllers:PostController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Delete",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"delete"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
}
|
@ -22,7 +22,7 @@ func init() {
|
||||
),
|
||||
),
|
||||
|
||||
beego.NSNamespace("/company_data",
|
||||
beego.NSNamespace("/companydata",
|
||||
beego.NSInclude(
|
||||
&controllers.CompanyDataController{},
|
||||
),
|
||||
@ -34,11 +34,17 @@ func init() {
|
||||
),
|
||||
),
|
||||
|
||||
beego.NSNamespace("/company_user",
|
||||
beego.NSNamespace("/user",
|
||||
beego.NSInclude(
|
||||
&controllers.CompanyUserController{},
|
||||
),
|
||||
),
|
||||
|
||||
beego.NSNamespace("/auth",
|
||||
beego.NSInclude(
|
||||
&controllers.AuthController{},
|
||||
),
|
||||
),
|
||||
)
|
||||
beego.AddNamespace(ns)
|
||||
}
|
||||
|
56
services/authentication/authentication.go
Normal file
56
services/authentication/authentication.go
Normal file
@ -0,0 +1,56 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"fmt"
|
||||
|
||||
jwt "github.com/dgrijalva/jwt-go"
|
||||
)
|
||||
|
||||
var hmacSecret []byte
|
||||
|
||||
func GenerateSecret() []byte {
|
||||
b := make([]byte, 32)
|
||||
rand.Read(b)
|
||||
return b
|
||||
}
|
||||
|
||||
func InitAuthService() {
|
||||
hmacSecret = GenerateSecret()
|
||||
// TODO: This needs to be replaced with reading rsa keys, there needs to be a automatic generation of these if they do not exist
|
||||
|
||||
}
|
||||
|
||||
func Validate(Token string) (bool, jwt.Token) {
|
||||
token, err := jwt.Parse(Token, func(token *jwt.Token) (interface{}, error) {
|
||||
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
|
||||
return nil, fmt.Errorf("Unexpected signing method: %v", token.Header["alg"])
|
||||
}
|
||||
|
||||
return hmacSecret, nil
|
||||
})
|
||||
|
||||
if err == nil && token.Valid {
|
||||
fmt.Println("Token is valid")
|
||||
return true, *token
|
||||
}
|
||||
|
||||
fmt.Println("Token Validation failed")
|
||||
return false, *token
|
||||
}
|
||||
|
||||
func CreateToken(Claims jwt.MapClaims) string {
|
||||
|
||||
// Create a new token object, specifying signing method and the claims
|
||||
// you would like it to contain.
|
||||
|
||||
token := jwt.NewWithClaims(jwt.SigningMethodHS256, Claims)
|
||||
|
||||
// Sign and get the complete encoded token as a string using the secret
|
||||
tokenString, err := token.SignedString(hmacSecret)
|
||||
if err != nil {
|
||||
fmt.Println(err.Error())
|
||||
}
|
||||
|
||||
return tokenString
|
||||
}
|
64
services/companydb/companydb.go
Normal file
64
services/companydb/companydb.go
Normal file
@ -0,0 +1,64 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/astaxie/beego/orm"
|
||||
)
|
||||
|
||||
var dbs map[string]*sql.DB
|
||||
|
||||
// InitCompanyService Init companydb service and open system db connection
|
||||
func InitCompanyService() {
|
||||
fmt.Println("Hello from init") // test if init gets called from each orm
|
||||
dbs := make(map[string]*sql.DB)
|
||||
|
||||
orm.RegisterDataBase("default", "postgres", "host=127.0.0.1 port=5435 user=postgres password=postgre sslmode=disable")
|
||||
|
||||
systemDB, err := sql.Open("postgres", "host=127.0.0.1 port=5435 user=postgres password=postgre dbname=company5 sslmode=disable")
|
||||
if err != nil {
|
||||
fmt.Println("Fatal: could not connect to db, exiting... Error:", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
dbs["system"] = systemDB
|
||||
|
||||
}
|
||||
|
||||
// GetDatabase Get orm and user information
|
||||
func GetDatabase(token string) {
|
||||
// validate token
|
||||
// retrieve correct user/database
|
||||
// check if open first
|
||||
// try to open second
|
||||
// return error otherwise
|
||||
// return db with orm or error
|
||||
}
|
||||
|
||||
// CreateDatabase Create a database by copying the template
|
||||
func CreateDatabase(token string) {
|
||||
/*
|
||||
db, err = sql.Open("postgres", "host=127.0.0.1 port=5435 user=postgres password=postgre dbname=company5 sslmode=disable")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
or, err := orm.NewOrmWithDB("postgres", "temp", db)
|
||||
*/
|
||||
}
|
||||
|
||||
// DeleteDatabase Delete an entire database, this is very very dangerous :-)
|
||||
func DeleteDatabase(token string) {
|
||||
/*
|
||||
db.Close()
|
||||
fmt.Println("Closed company5")
|
||||
//}
|
||||
|
||||
res, err := o.Raw("DROP DATABASE company5;").Exec()
|
||||
if err == nil {
|
||||
num, _ := res.RowsAffected()
|
||||
fmt.Println("mysql row affected number: ", num)
|
||||
}
|
||||
*/
|
||||
}
|
@ -15,10 +15,188 @@
|
||||
},
|
||||
"basePath": "/v1",
|
||||
"paths": {
|
||||
"/company_data/": {
|
||||
"/auth/": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"company_data"
|
||||
"auth"
|
||||
],
|
||||
"description": "get Auth",
|
||||
"operationId": "AuthController.GetAll",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "query",
|
||||
"name": "query",
|
||||
"description": "Filter. e.g. col1:v1,col2:v2 ...",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "fields",
|
||||
"description": "Fields returned. e.g. col1,col2 ...",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "sortby",
|
||||
"description": "Sorted-by fields. e.g. col1,col2 ...",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "order",
|
||||
"description": "Order corresponding to each sortby field, if single value, apply to all sortby fields. e.g. desc,asc ...",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "limit",
|
||||
"description": "Limit the size of result set. Must be an integer",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "offset",
|
||||
"description": "Start position of result set. Must be an integer",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/.Auth"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/auth/login": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"auth"
|
||||
],
|
||||
"description": "create Auth",
|
||||
"operationId": "AuthController.Create",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "body",
|
||||
"name": "body",
|
||||
"description": "body for Auth content",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/.Auth"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/.Auth"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": "body is empty"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/auth/{id}": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"auth"
|
||||
],
|
||||
"description": "get Auth by id",
|
||||
"operationId": "AuthController.GetOne",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "id",
|
||||
"description": "The key for staticblock",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/.Auth"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": ":id is empty"
|
||||
}
|
||||
}
|
||||
},
|
||||
"put": {
|
||||
"tags": [
|
||||
"auth"
|
||||
],
|
||||
"description": "update the Auth",
|
||||
"operationId": "AuthController.Put",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "id",
|
||||
"description": "The id you want to update",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "body",
|
||||
"name": "body",
|
||||
"description": "body for Auth content",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/.Auth"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/.Auth"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": ":id is not int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"tags": [
|
||||
"auth"
|
||||
],
|
||||
"description": "delete the Auth",
|
||||
"operationId": "AuthController.Delete",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "id",
|
||||
"description": "The id you want to delete",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "{string} delete success!"
|
||||
},
|
||||
"403": {
|
||||
"description": "id is empty"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/companydata/": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"companydata"
|
||||
],
|
||||
"description": "get CompanyData",
|
||||
"operationId": "CompanyDataController.Get All",
|
||||
@ -74,7 +252,7 @@
|
||||
},
|
||||
"post": {
|
||||
"tags": [
|
||||
"company_data"
|
||||
"companydata"
|
||||
],
|
||||
"description": "create CompanyData",
|
||||
"operationId": "CompanyDataController.Post",
|
||||
@ -99,10 +277,10 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/company_data/{id}": {
|
||||
"/companydata/{id}": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"company_data"
|
||||
"companydata"
|
||||
],
|
||||
"description": "get CompanyData by id",
|
||||
"operationId": "CompanyDataController.Get One",
|
||||
@ -129,7 +307,7 @@
|
||||
},
|
||||
"put": {
|
||||
"tags": [
|
||||
"company_data"
|
||||
"companydata"
|
||||
],
|
||||
"description": "update the CompanyData",
|
||||
"operationId": "CompanyDataController.Put",
|
||||
@ -165,7 +343,7 @@
|
||||
},
|
||||
"delete": {
|
||||
"tags": [
|
||||
"company_data"
|
||||
"companydata"
|
||||
],
|
||||
"description": "delete the CompanyData",
|
||||
"operationId": "CompanyDataController.Delete",
|
||||
@ -188,179 +366,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/company_user/": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"company_user"
|
||||
],
|
||||
"description": "get CompanyUser",
|
||||
"operationId": "CompanyUserController.Get All",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "query",
|
||||
"name": "query",
|
||||
"description": "Filter. e.g. col1:v1,col2:v2 ...",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "fields",
|
||||
"description": "Fields returned. e.g. col1,col2 ...",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "sortby",
|
||||
"description": "Sorted-by fields. e.g. col1,col2 ...",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "order",
|
||||
"description": "Order corresponding to each sortby field, if single value, apply to all sortby fields. e.g. desc,asc ...",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "limit",
|
||||
"description": "Limit the size of result set. Must be an integer",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "offset",
|
||||
"description": "Start position of result set. Must be an integer",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/models.CompanyUser"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"post": {
|
||||
"tags": [
|
||||
"company_user"
|
||||
],
|
||||
"description": "create CompanyUser",
|
||||
"operationId": "CompanyUserController.Post",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "body",
|
||||
"name": "body",
|
||||
"description": "body for CompanyUser content",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/models.CompanyUser"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "{int} models.CompanyUser"
|
||||
},
|
||||
"403": {
|
||||
"description": "body is empty"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/company_user/{id}": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"company_user"
|
||||
],
|
||||
"description": "get CompanyUser by id",
|
||||
"operationId": "CompanyUserController.Get One",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "id",
|
||||
"description": "The key for staticblock",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/models.CompanyUser"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": ":id is empty"
|
||||
}
|
||||
}
|
||||
},
|
||||
"put": {
|
||||
"tags": [
|
||||
"company_user"
|
||||
],
|
||||
"description": "update the CompanyUser",
|
||||
"operationId": "CompanyUserController.Put",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "id",
|
||||
"description": "The id you want to update",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "body",
|
||||
"name": "body",
|
||||
"description": "body for CompanyUser content",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/models.CompanyUser"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/models.CompanyUser"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": ":id is not int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"tags": [
|
||||
"company_user"
|
||||
],
|
||||
"description": "delete the CompanyUser",
|
||||
"operationId": "CompanyUserController.Delete",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "id",
|
||||
"description": "The id you want to delete",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "{string} delete success!"
|
||||
},
|
||||
"403": {
|
||||
"description": "id is empty"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/contact/": {
|
||||
"get": {
|
||||
"tags": [
|
||||
@ -706,9 +711,185 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/user/": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"user"
|
||||
],
|
||||
"description": "get CompanyUser",
|
||||
"operationId": "CompanyUserController.Get All",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "query",
|
||||
"name": "query",
|
||||
"description": "Filter. e.g. col1:v1,col2:v2 ...",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "fields",
|
||||
"description": "Fields returned. e.g. col1,col2 ...",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "sortby",
|
||||
"description": "Sorted-by fields. e.g. col1,col2 ...",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "order",
|
||||
"description": "Order corresponding to each sortby field, if single value, apply to all sortby fields. e.g. desc,asc ...",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "limit",
|
||||
"description": "Limit the size of result set. Must be an integer",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "offset",
|
||||
"description": "Start position of result set. Must be an integer",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/models.CompanyUser"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"post": {
|
||||
"tags": [
|
||||
"user"
|
||||
],
|
||||
"description": "create CompanyUser",
|
||||
"operationId": "CompanyUserController.Post",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "body",
|
||||
"name": "body",
|
||||
"description": "body for CompanyUser content",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/models.CompanyUser"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "{int} models.CompanyUser"
|
||||
},
|
||||
"403": {
|
||||
"description": "body is empty"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/user/{id}": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"user"
|
||||
],
|
||||
"description": "get CompanyUser by id",
|
||||
"operationId": "CompanyUserController.Get One",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "id",
|
||||
"description": "The key for staticblock",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/models.CompanyUser"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": ":id is empty"
|
||||
}
|
||||
}
|
||||
},
|
||||
"put": {
|
||||
"tags": [
|
||||
"user"
|
||||
],
|
||||
"description": "update the CompanyUser",
|
||||
"operationId": "CompanyUserController.Put",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "id",
|
||||
"description": "The id you want to update",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "body",
|
||||
"name": "body",
|
||||
"description": "body for CompanyUser content",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/models.CompanyUser"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/models.CompanyUser"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": ":id is not int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"tags": [
|
||||
"user"
|
||||
],
|
||||
"description": "delete the CompanyUser",
|
||||
"operationId": "CompanyUserController.Delete",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "id",
|
||||
"description": "The id you want to delete",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "{string} delete success!"
|
||||
},
|
||||
"403": {
|
||||
"description": "id is empty"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
".Auth": {
|
||||
"type": "object"
|
||||
},
|
||||
"models.CompanyData": {
|
||||
"title": "CompanyData",
|
||||
"type": "object",
|
||||
@ -835,7 +1016,7 @@
|
||||
"description": "ContactController operations for Contact\n"
|
||||
},
|
||||
{
|
||||
"name": "company_data",
|
||||
"name": "companydata",
|
||||
"description": "CompanyDataController operations for CompanyData\n"
|
||||
},
|
||||
{
|
||||
@ -843,8 +1024,12 @@
|
||||
"description": "PostController operations for Post\n"
|
||||
},
|
||||
{
|
||||
"name": "company_user",
|
||||
"name": "user",
|
||||
"description": "CompanyUserController operations for CompanyUser\n"
|
||||
},
|
||||
{
|
||||
"name": "auth",
|
||||
"description": "AuthController operations for Auth\n"
|
||||
}
|
||||
]
|
||||
}
|
@ -11,10 +11,128 @@ info:
|
||||
url: http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
basePath: /v1
|
||||
paths:
|
||||
/company_data/:
|
||||
/auth/:
|
||||
get:
|
||||
tags:
|
||||
- company_data
|
||||
- auth
|
||||
description: get Auth
|
||||
operationId: AuthController.GetAll
|
||||
parameters:
|
||||
- in: query
|
||||
name: query
|
||||
description: Filter. e.g. col1:v1,col2:v2 ...
|
||||
type: string
|
||||
- in: query
|
||||
name: fields
|
||||
description: Fields returned. e.g. col1,col2 ...
|
||||
type: string
|
||||
- in: query
|
||||
name: sortby
|
||||
description: Sorted-by fields. e.g. col1,col2 ...
|
||||
type: string
|
||||
- in: query
|
||||
name: order
|
||||
description: Order corresponding to each sortby field, if single value, apply
|
||||
to all sortby fields. e.g. desc,asc ...
|
||||
type: string
|
||||
- in: query
|
||||
name: limit
|
||||
description: Limit the size of result set. Must be an integer
|
||||
type: string
|
||||
- in: query
|
||||
name: offset
|
||||
description: Start position of result set. Must be an integer
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: ""
|
||||
schema:
|
||||
$ref: '#/definitions/.Auth'
|
||||
"403":
|
||||
description: ""
|
||||
/auth/{id}:
|
||||
get:
|
||||
tags:
|
||||
- auth
|
||||
description: get Auth by id
|
||||
operationId: AuthController.GetOne
|
||||
parameters:
|
||||
- in: path
|
||||
name: id
|
||||
description: The key for staticblock
|
||||
required: true
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: ""
|
||||
schema:
|
||||
$ref: '#/definitions/.Auth'
|
||||
"403":
|
||||
description: :id is empty
|
||||
put:
|
||||
tags:
|
||||
- auth
|
||||
description: update the Auth
|
||||
operationId: AuthController.Put
|
||||
parameters:
|
||||
- in: path
|
||||
name: id
|
||||
description: The id you want to update
|
||||
required: true
|
||||
type: string
|
||||
- in: body
|
||||
name: body
|
||||
description: body for Auth content
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/.Auth'
|
||||
responses:
|
||||
"200":
|
||||
description: ""
|
||||
schema:
|
||||
$ref: '#/definitions/.Auth'
|
||||
"403":
|
||||
description: :id is not int
|
||||
delete:
|
||||
tags:
|
||||
- auth
|
||||
description: delete the Auth
|
||||
operationId: AuthController.Delete
|
||||
parameters:
|
||||
- in: path
|
||||
name: id
|
||||
description: The id you want to delete
|
||||
required: true
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: '{string} delete success!'
|
||||
"403":
|
||||
description: id is empty
|
||||
/auth/login:
|
||||
post:
|
||||
tags:
|
||||
- auth
|
||||
description: create Auth
|
||||
operationId: AuthController.Create
|
||||
parameters:
|
||||
- in: body
|
||||
name: body
|
||||
description: body for Auth content
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/.Auth'
|
||||
responses:
|
||||
"201":
|
||||
description: ""
|
||||
schema:
|
||||
$ref: '#/definitions/.Auth'
|
||||
"403":
|
||||
description: body is empty
|
||||
/companydata/:
|
||||
get:
|
||||
tags:
|
||||
- companydata
|
||||
description: get CompanyData
|
||||
operationId: CompanyDataController.Get All
|
||||
parameters:
|
||||
@ -52,7 +170,7 @@ paths:
|
||||
description: ""
|
||||
post:
|
||||
tags:
|
||||
- company_data
|
||||
- companydata
|
||||
description: create CompanyData
|
||||
operationId: CompanyDataController.Post
|
||||
parameters:
|
||||
@ -67,10 +185,10 @@ paths:
|
||||
description: '{int} models.CompanyData'
|
||||
"403":
|
||||
description: body is empty
|
||||
/company_data/{id}:
|
||||
/companydata/{id}:
|
||||
get:
|
||||
tags:
|
||||
- company_data
|
||||
- companydata
|
||||
description: get CompanyData by id
|
||||
operationId: CompanyDataController.Get One
|
||||
parameters:
|
||||
@ -88,7 +206,7 @@ paths:
|
||||
description: :id is empty
|
||||
put:
|
||||
tags:
|
||||
- company_data
|
||||
- companydata
|
||||
description: update the CompanyData
|
||||
operationId: CompanyDataController.Put
|
||||
parameters:
|
||||
@ -112,7 +230,7 @@ paths:
|
||||
description: :id is not int
|
||||
delete:
|
||||
tags:
|
||||
- company_data
|
||||
- companydata
|
||||
description: delete the CompanyData
|
||||
operationId: CompanyDataController.Delete
|
||||
parameters:
|
||||
@ -126,121 +244,6 @@ paths:
|
||||
description: '{string} delete success!'
|
||||
"403":
|
||||
description: id is empty
|
||||
/company_user/:
|
||||
get:
|
||||
tags:
|
||||
- company_user
|
||||
description: get CompanyUser
|
||||
operationId: CompanyUserController.Get All
|
||||
parameters:
|
||||
- in: query
|
||||
name: query
|
||||
description: Filter. e.g. col1:v1,col2:v2 ...
|
||||
type: string
|
||||
- in: query
|
||||
name: fields
|
||||
description: Fields returned. e.g. col1,col2 ...
|
||||
type: string
|
||||
- in: query
|
||||
name: sortby
|
||||
description: Sorted-by fields. e.g. col1,col2 ...
|
||||
type: string
|
||||
- in: query
|
||||
name: order
|
||||
description: Order corresponding to each sortby field, if single value, apply
|
||||
to all sortby fields. e.g. desc,asc ...
|
||||
type: string
|
||||
- in: query
|
||||
name: limit
|
||||
description: Limit the size of result set. Must be an integer
|
||||
type: string
|
||||
- in: query
|
||||
name: offset
|
||||
description: Start position of result set. Must be an integer
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: ""
|
||||
schema:
|
||||
$ref: '#/definitions/models.CompanyUser'
|
||||
"403":
|
||||
description: ""
|
||||
post:
|
||||
tags:
|
||||
- company_user
|
||||
description: create CompanyUser
|
||||
operationId: CompanyUserController.Post
|
||||
parameters:
|
||||
- in: body
|
||||
name: body
|
||||
description: body for CompanyUser content
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/models.CompanyUser'
|
||||
responses:
|
||||
"201":
|
||||
description: '{int} models.CompanyUser'
|
||||
"403":
|
||||
description: body is empty
|
||||
/company_user/{id}:
|
||||
get:
|
||||
tags:
|
||||
- company_user
|
||||
description: get CompanyUser by id
|
||||
operationId: CompanyUserController.Get One
|
||||
parameters:
|
||||
- in: path
|
||||
name: id
|
||||
description: The key for staticblock
|
||||
required: true
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: ""
|
||||
schema:
|
||||
$ref: '#/definitions/models.CompanyUser'
|
||||
"403":
|
||||
description: :id is empty
|
||||
put:
|
||||
tags:
|
||||
- company_user
|
||||
description: update the CompanyUser
|
||||
operationId: CompanyUserController.Put
|
||||
parameters:
|
||||
- in: path
|
||||
name: id
|
||||
description: The id you want to update
|
||||
required: true
|
||||
type: string
|
||||
- in: body
|
||||
name: body
|
||||
description: body for CompanyUser content
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/models.CompanyUser'
|
||||
responses:
|
||||
"200":
|
||||
description: ""
|
||||
schema:
|
||||
$ref: '#/definitions/models.CompanyUser'
|
||||
"403":
|
||||
description: :id is not int
|
||||
delete:
|
||||
tags:
|
||||
- company_user
|
||||
description: delete the CompanyUser
|
||||
operationId: CompanyUserController.Delete
|
||||
parameters:
|
||||
- in: path
|
||||
name: id
|
||||
description: The id you want to delete
|
||||
required: true
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: '{string} delete success!'
|
||||
"403":
|
||||
description: id is empty
|
||||
/contact/:
|
||||
get:
|
||||
tags:
|
||||
@ -471,7 +474,124 @@ paths:
|
||||
description: '{string} delete success!'
|
||||
"403":
|
||||
description: id is empty
|
||||
/user/:
|
||||
get:
|
||||
tags:
|
||||
- user
|
||||
description: get CompanyUser
|
||||
operationId: CompanyUserController.Get All
|
||||
parameters:
|
||||
- in: query
|
||||
name: query
|
||||
description: Filter. e.g. col1:v1,col2:v2 ...
|
||||
type: string
|
||||
- in: query
|
||||
name: fields
|
||||
description: Fields returned. e.g. col1,col2 ...
|
||||
type: string
|
||||
- in: query
|
||||
name: sortby
|
||||
description: Sorted-by fields. e.g. col1,col2 ...
|
||||
type: string
|
||||
- in: query
|
||||
name: order
|
||||
description: Order corresponding to each sortby field, if single value, apply
|
||||
to all sortby fields. e.g. desc,asc ...
|
||||
type: string
|
||||
- in: query
|
||||
name: limit
|
||||
description: Limit the size of result set. Must be an integer
|
||||
type: string
|
||||
- in: query
|
||||
name: offset
|
||||
description: Start position of result set. Must be an integer
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: ""
|
||||
schema:
|
||||
$ref: '#/definitions/models.CompanyUser'
|
||||
"403":
|
||||
description: ""
|
||||
post:
|
||||
tags:
|
||||
- user
|
||||
description: create CompanyUser
|
||||
operationId: CompanyUserController.Post
|
||||
parameters:
|
||||
- in: body
|
||||
name: body
|
||||
description: body for CompanyUser content
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/models.CompanyUser'
|
||||
responses:
|
||||
"201":
|
||||
description: '{int} models.CompanyUser'
|
||||
"403":
|
||||
description: body is empty
|
||||
/user/{id}:
|
||||
get:
|
||||
tags:
|
||||
- user
|
||||
description: get CompanyUser by id
|
||||
operationId: CompanyUserController.Get One
|
||||
parameters:
|
||||
- in: path
|
||||
name: id
|
||||
description: The key for staticblock
|
||||
required: true
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: ""
|
||||
schema:
|
||||
$ref: '#/definitions/models.CompanyUser'
|
||||
"403":
|
||||
description: :id is empty
|
||||
put:
|
||||
tags:
|
||||
- user
|
||||
description: update the CompanyUser
|
||||
operationId: CompanyUserController.Put
|
||||
parameters:
|
||||
- in: path
|
||||
name: id
|
||||
description: The id you want to update
|
||||
required: true
|
||||
type: string
|
||||
- in: body
|
||||
name: body
|
||||
description: body for CompanyUser content
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/models.CompanyUser'
|
||||
responses:
|
||||
"200":
|
||||
description: ""
|
||||
schema:
|
||||
$ref: '#/definitions/models.CompanyUser'
|
||||
"403":
|
||||
description: :id is not int
|
||||
delete:
|
||||
tags:
|
||||
- user
|
||||
description: delete the CompanyUser
|
||||
operationId: CompanyUserController.Delete
|
||||
parameters:
|
||||
- in: path
|
||||
name: id
|
||||
description: The id you want to delete
|
||||
required: true
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: '{string} delete success!'
|
||||
"403":
|
||||
description: id is empty
|
||||
definitions:
|
||||
.Auth:
|
||||
type: object
|
||||
models.CompanyData:
|
||||
title: CompanyData
|
||||
type: object
|
||||
@ -560,12 +680,15 @@ tags:
|
||||
- name: contact
|
||||
description: |
|
||||
ContactController operations for Contact
|
||||
- name: company_data
|
||||
- name: companydata
|
||||
description: |
|
||||
CompanyDataController operations for CompanyData
|
||||
- name: post
|
||||
description: |
|
||||
PostController operations for Post
|
||||
- name: company_user
|
||||
- name: user
|
||||
description: |
|
||||
CompanyUserController operations for CompanyUser
|
||||
- name: auth
|
||||
description: |
|
||||
AuthController operations for Auth
|
||||
|
Loading…
Reference in New Issue
Block a user