Browse Source

database 模块

kobe6258 8 months ago
parent
commit
7a3845917f

+ 1 - 1
common/component/cache/redis.go

@@ -2,7 +2,7 @@ package cache
 
 import (
 	"context"
-	config "eta_mini_ht_api/common/component/config"
+	"eta_mini_ht_api/common/component/config"
 	logger "eta_mini_ht_api/common/component/log"
 	"github.com/go-redis/redis/v8"
 	"log"

+ 2 - 0
common/component/component.go

@@ -2,5 +2,7 @@ package component
 
 import (
 	_ "eta_mini_ht_api/common/component/cache"
+	_ "eta_mini_ht_api/common/component/config"
+	_ "eta_mini_ht_api/common/component/database"
 	_ "eta_mini_ht_api/common/component/log"
 )

+ 1 - 1
common/component/config/config.go

@@ -35,7 +35,7 @@ var configs = make(map[string]Instance)
 func GetConfig(name string) (config Config) {
 	instanceFunc, ok := configs[name]
 	if !ok {
-		logs.Error("cache: unknown adapter name %q (forgot to import?)", name)
+		logs.Error("配置信息不存在", name)
 		return nil
 	}
 	config = instanceFunc()

+ 46 - 0
common/component/config/db_config.go

@@ -0,0 +1,46 @@
+package config
+
+import (
+	"eta_mini_ht_api/common/contants"
+	"sync"
+)
+
+var (
+	once   sync.Once
+	config *DBConfig
+)
+
+type DBOpts struct {
+	Url    string
+	Driver string
+}
+type DBConfig struct {
+	BaseConfig
+	opts DBOpts
+}
+
+func (r *DBConfig) GetConfig() interface{} {
+	return r.opts
+}
+func (r *DBConfig) InitConfig() {
+	opts := DBOpts{
+		Url:    r.GetString("url"),
+		Driver: r.GetString("driver"),
+	}
+	r.opts = opts
+}
+func NewDBConfig() Config {
+	if config == nil {
+		once.Do(func() {
+			config = &DBConfig{
+				BaseConfig: BaseConfig{prefix: contants.DATABASE},
+				opts:       DBOpts{},
+			}
+		})
+	}
+	return config
+}
+
+func init() {
+	Register(contants.DATABASE, NewDBConfig)
+}

+ 1 - 0
common/component/config/redis_config.go

@@ -12,6 +12,7 @@ type RedisOpts struct {
 	DB          int
 	MaxRetries  int
 }
+
 type RedisConfig struct {
 	BaseConfig
 	opts RedisOpts

+ 0 - 39
common/component/database/data_base.go

@@ -1,39 +0,0 @@
-package database
-
-import (
-	"database/sql"
-	"github.com/beego/beego/v2/core/logs"
-)
-
-type DataBase interface {
-	Exec(query string, args ...interface{}) (sql.Result, error)
-}
-type Tx interface {
-	Commit() error
-	Rollback() error
-	Exec(query string, args ...interface{}) (sql.Result, error)
-	Query(query string, args ...interface{}) (*sql.Rows, error)
-}
-
-var dbs = make(map[string]DBInstance)
-
-type DBInstance func() DataBase
-
-func GetDBInstance(name string) (db DataBase) {
-	instanceFunc, ok := dbs[name]
-	if !ok {
-		logs.Error("db: 未知数据源类型 %q ", name)
-		return nil
-	}
-	db = instanceFunc()
-	return
-}
-func Register(name string, adapter DBInstance) {
-	if adapter == nil {
-		panic("不支持的数据源格式")
-	}
-	if _, ok := dbs[name]; ok {
-		panic("数据源已注册" + name)
-	}
-	dbs[name] = adapter
-}

+ 39 - 0
common/component/database/db_connector.go

@@ -0,0 +1,39 @@
+package database
+
+import (
+	dbConfig "eta_mini_ht_api/common/component/config"
+	"eta_mini_ht_api/common/component/database/dialector"
+	logger "eta_mini_ht_api/common/component/log"
+	"eta_mini_ht_api/common/contants"
+	"gorm.io/gorm"
+	"sync"
+)
+
+var (
+	db     *gorm.DB
+	dbOnce sync.Once
+)
+
+func GetInstance() *gorm.DB {
+	return db
+}
+
+func init() {
+	if db == nil {
+		dbOnce.Do(func() {
+			config, ok := dbConfig.GetConfig(contants.DATABASE).(*dbConfig.DBConfig)
+			if !ok {
+				panic("初始化数据库失败,配置文件格式不正确")
+			}
+			driver := config.GetString("driver")
+			dns := config.GetString("url")
+			open, err := gorm.Open(dialector.GetGormDial(driver).GetDial(dns), &gorm.Config{})
+			if err != nil {
+				logger.Error("初始化数据库失败:%v", err.Error())
+				panic("初始化数据库失败")
+			}
+			db = open
+			logger.Info("初始化数据库成功")
+		})
+	}
+}

+ 32 - 0
common/component/database/dialector/data_dialector.go

@@ -0,0 +1,32 @@
+package dialector
+
+import (
+	logger "eta_mini_ht_api/common/component/log"
+	"gorm.io/gorm"
+)
+
+type DBDial interface {
+	GetDBName() string
+	GetDial(dns string) gorm.Dialector
+}
+type Instance func() DBDial
+
+var dbs = make(map[string]Instance)
+
+func GetGormDial(driver string) (dial DBDial) {
+	instanceFunc, ok := dbs[driver]
+	if !ok {
+		logger.Error("cache: unknown adapter name %q (forgot to import?)")
+		return nil
+	}
+	return instanceFunc()
+}
+func Register(name string, adapter Instance) {
+	if adapter == nil {
+		panic("当前数据库类型不支持")
+	}
+	if _, ok := dbs[name]; ok {
+		panic("请勿重复注册数据源" + name)
+	}
+	dbs[name] = adapter
+}

+ 29 - 0
common/component/database/dialector/mysql.go

@@ -0,0 +1,29 @@
+package dialector
+
+import (
+	"eta_mini_ht_api/common/component/config"
+	"gorm.io/driver/mysql"
+	"gorm.io/gorm"
+)
+
+const (
+	DriverName = "mysql"
+)
+
+type Mysql struct {
+	mysqlConf *config.DBConfig
+}
+
+func (m *Mysql) GetDBName() string {
+	return DriverName
+}
+func (m *Mysql) GetDial(dns string) gorm.Dialector {
+	return mysql.Open(dns)
+}
+
+func getMysql() DBDial {
+	return &Mysql{}
+}
+func init() {
+	Register("mysql", getMysql)
+}

+ 0 - 80
common/component/database/mysql.go

@@ -1,80 +0,0 @@
-package database
-
-import (
-	"database/sql"
-	"gorm.io/gorm"
-)
-
-type MysqlDataBase struct {
-	db *gorm.DB
-}
-
-func NewGORMAdapter(db *gorm.DB) *MysqlDataBase {
-	return &MysqlDataBase{db: db}
-}
-
-func (a *MysqlDataBase) Begin() (Tx, error) {
-	return &GORMTxAdapter{tx: a.db.Begin()}, nil
-}
-
-func (a *MysqlDataBase) Commit() error {
-	return a.db.Commit().Error
-}
-
-func (a *MysqlDataBase) Rollback() error {
-	return a.db.Rollback().Error
-}
-
-func (a *MysqlDataBase) Exec(query string, args ...interface{}) (sql.Result, error) {
-	res := a.db.Exec(query, args...)
-	return &gormResultAdapter{res}, res.Error
-}
-
-func (a *MysqlDataBase) Query(query string, args ...interface{}) (*sql.Rows, error) {
-	rows, err := a.db.Raw(query, args...).Rows()
-	if err != nil {
-		return nil, err
-	}
-	return rows, nil
-}
-
-type GORMTxAdapter struct {
-	tx *gorm.DB
-}
-
-func (t *GORMTxAdapter) Commit() error {
-	return t.tx.Commit().Error
-}
-
-func (t *GORMTxAdapter) Rollback() error {
-	return t.tx.Rollback().Error
-}
-
-func (t *GORMTxAdapter) Exec(query string, args ...interface{}) (sql.Result, error) {
-	res := t.tx.Exec(query, args...)
-	return &gormResultAdapter{res}, res.Error
-}
-
-func (t *GORMTxAdapter) Query(query string, args ...interface{}) (*sql.Rows, error) {
-	rows, err := t.tx.Raw(query, args...).Rows()
-	if err != nil {
-		return nil, err
-	}
-	return rows, nil
-}
-
-type gormResultAdapter struct {
-	res *gorm.DB
-}
-
-func (r *gormResultAdapter) LastInsertId() (int64, error) {
-	return r.res.RowsAffected, nil
-}
-
-func (r *gormResultAdapter) RowsAffected() (int64, error) {
-	return r.res.RowsAffected, nil
-}
-
-func init() {
-	Register("mysql", MY)
-}

+ 0 - 55
common/component/database/oracle.go

@@ -1,55 +0,0 @@
-package database
-
-import "database/sql"
-
-type OracleDataBase struct {
-	dbConn *sql.DB
-}
-
-func (a *OracleDataBase) Begin() (Tx, error) {
-	tx, err := a.dbConn.Begin()
-	if err != nil {
-		return nil, err
-	}
-	return &SQLTxAdapter{tx: tx}, nil
-}
-
-func (a *OracleDataBase) Commit() error {
-	// This is not applicable for sql.DB as it doesn't have a Commit method on the DB itself.
-	// This method is here for interface consistency.
-	return nil
-}
-
-func (a *OracleDataBase) Rollback() error {
-	// This is not applicable for sql.DB as it doesn't have a Rollback method on the DB itself.
-	// This method is here for interface consistency.
-	return nil
-}
-
-func (a *OracleDataBase) Exec(query string, args ...interface{}) (sql.Result, error) {
-	return a.dbConn.Exec(query, args...)
-}
-
-func (a *OracleDataBase) Query(query string, args ...interface{}) (*sql.Rows, error) {
-	return a.dbConn.Query(query, args...)
-}
-
-type SQLTxAdapter struct {
-	tx *sql.Tx
-}
-
-func (t *SQLTxAdapter) Commit() error {
-	return t.tx.Commit()
-}
-
-func (t *SQLTxAdapter) Rollback() error {
-	return t.tx.Rollback()
-}
-
-func (t *SQLTxAdapter) Exec(query string, args ...interface{}) (sql.Result, error) {
-	return t.tx.Exec(query, args...)
-}
-
-func (t *SQLTxAdapter) Query(query string, args ...interface{}) (*sql.Rows, error) {
-	return t.tx.Query(query, args...)
-}

+ 15 - 15
common/component/log/log_plugin.go

@@ -30,43 +30,43 @@ type CustomLogger struct {
 
 // Logger interface
 type Logger interface {
-	Info(msg string)
-	Warn(msg string)
-	Error(msg string)
+	Info(msg string, v ...interface{})
+	Warn(msg string, v ...interface{})
+	Error(msg string, v ...interface{})
 }
 
-func Info(msg string) {
-	loggerHandler.Info(msg)
+func Info(msg string, v ...interface{}) {
+	loggerHandler.Info(msg, v...)
 }
 
-func Error(msg string) {
-	loggerHandler.Error(msg)
+func Error(msg string, v ...interface{}) {
+	loggerHandler.Error(msg, v...)
 }
 
-func Warn(msg string) {
-	loggerHandler.Warn(msg)
+func Warn(msg string, v ...interface{}) {
+	loggerHandler.Warn(msg, v...)
 }
-func (c *CustomLogger) Info(msg string) {
+func (c *CustomLogger) Info(msg string, v ...interface{}) {
 	for _, appender := range c.logs {
 		if appender.GetLevel() >= logs.LevelInfo {
-			appender.Info(msg)
+			appender.Info(msg, v...)
 		}
 
 	}
 }
 
-func (c *CustomLogger) Error(msg string) {
+func (c *CustomLogger) Error(msg string, v ...interface{}) {
 	for _, logger := range c.logs {
 		if logger.GetLevel() >= logs.LevelError {
-			logger.Error(msg)
+			logger.Error(msg, v...)
 		}
 	}
 }
 
-func (c *CustomLogger) Warn(msg string) {
+func (c *CustomLogger) Warn(msg string, v ...interface{}) {
 	for _, logger := range c.logs {
 		if logger.GetLevel() >= logs.LevelWarning {
-			logger.Error(msg)
+			logger.Warn(msg, v...)
 		}
 	}
 }

+ 3 - 3
common/component/wechat/http/request.go

@@ -6,7 +6,7 @@ import (
 	"encoding/json"
 	"encoding/xml"
 	"errors"
-	"eta_mini_ht_api/common/client"
+	"eta_mini_ht_api/common/utils/client"
 	"github.com/medivhzhan/weapp/v3/logger"
 	"net/http"
 )
@@ -23,9 +23,9 @@ const (
 func (ctp ContentType) String() string {
 	switch ctp {
 	case ContentTypeXML:
-		return "application/xml"
+		return "service/xml"
 	case ContentTypeJSON:
-		return "application/json"
+		return "service/json"
 	default:
 		return "text/plain"
 	}

+ 5 - 0
common/contants/constants.go

@@ -0,0 +1,5 @@
+package contants
+
+const (
+	DATABASE = "database"
+)

+ 1 - 0
common/exception/controller_advice.go

@@ -0,0 +1 @@
+package exception

+ 1 - 1
common/exception/panic_recover/panic_advice.go → common/exception/panic_advice.go

@@ -1,4 +1,4 @@
-package panic_recover
+package exception
 
 import (
 	"fmt"

+ 0 - 0
common/client/http_client.go → common/utils/client/http_client.go


+ 0 - 0
common/redis/redis_client.go → common/utils/redis/redis_client.go


+ 5 - 4
controllers/user.go → controllers/user/user_controller.go

@@ -1,8 +1,8 @@
-package controllers
+package user
 
 import (
-	"eta_mini_ht_api/models"
-
+	"eta_mini_ht_api/domian/user"
+	"fmt"
 	beego "github.com/beego/beego/v2/server/web"
 )
 
@@ -16,7 +16,8 @@ type UserController struct {
 // @Success 200 {object} models.User
 // @router / [get]
 func (u *UserController) GetAll() {
-	users := models.GetAllUsers()
+	fmt.Print("查询用户列表")
+	users := user.GetUsers()
 	u.Data["json"] = users
 	u.ServeJSON()
 }

+ 7 - 0
domian/user/user_serivce.go

@@ -0,0 +1,7 @@
+package user
+
+import "eta_mini_ht_api/models"
+
+func GetUsers() *[]models.User {
+	return models.GetAllUsers()
+}

BIN
eta_mini_ht_api.exe~


+ 3 - 2
go.mod

@@ -30,8 +30,9 @@ require (
 	golang.org/x/crypto v0.23.0 // indirect
 	golang.org/x/net v0.23.0 // indirect
 	golang.org/x/sys v0.20.0 // indirect
-	golang.org/x/text v0.15.0 // indirect
+	golang.org/x/text v0.16.0 // indirect
 	google.golang.org/protobuf v1.34.1 // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
-	gorm.io/gorm v1.25.10 // indirect
+	gorm.io/driver/mysql v1.5.7 // indirect
+	gorm.io/gorm v1.25.11 // indirect
 )

+ 8 - 0
go.sum

@@ -19,6 +19,7 @@ github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWo
 github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
 github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
 github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
+github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
 github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
 github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
 github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
@@ -74,6 +75,8 @@ golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
 golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
 golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
+golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
 google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
 google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -85,5 +88,10 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
 gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gorm.io/driver/mysql v1.5.7 h1:MndhOPYOfEp2rHKgkZIhJ16eVUIRf2HmzgoPmh7FCWo=
+gorm.io/driver/mysql v1.5.7/go.mod h1:sEtPWMiqiN1N1cMXoXmBbd8C6/l+TESwriotuRRpkDM=
+gorm.io/gorm v1.25.7/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
 gorm.io/gorm v1.25.10 h1:dQpO+33KalOA+aFYGlK+EfxcI5MbO7EP2yYygwh9h+s=
 gorm.io/gorm v1.25.10/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
+gorm.io/gorm v1.25.11 h1:/Wfyg1B/je1hnDx3sMkX+gAlxrlZpn6X0BXRlwXlvHg=
+gorm.io/gorm v1.25.11/go.mod h1:xh7N7RHfYlNc5EmcI/El95gXusucDrQnHXe0+CgWcLQ=

+ 4 - 5
main.go

@@ -3,8 +3,7 @@ package main
 import (
 	_ "eta_mini_ht_api/common/component"
 	logger "eta_mini_ht_api/common/component/log"
-	"eta_mini_ht_api/common/exception/panic_recover"
-	"eta_mini_ht_api/middleware"
+	"eta_mini_ht_api/common/exception"
 	_ "eta_mini_ht_api/routers"
 	"github.com/beego/beego/v2/server/web"
 	"github.com/beego/beego/v2/server/web/filter/cors"
@@ -27,8 +26,8 @@ func main() {
 		MaxAge:           12 * time.Hour,
 	}))
 	//增加授权拦截
-	web.InsertFilter("*", web.BeforeRouter, middleware.AuthMiddleware())
-	//web.ErrorHandler("*", panic_recover.PanicAdvice)
-	web.BConfig.RecoverFunc = panic_recover.PanicAdvice
+	//web.InsertFilter("*", web.BeforeRouter, middleware.AuthMiddleware())
+	//web.ErrorHandler("*", exception.ControllerAdvice())
+	web.BConfig.RecoverFunc = exception.PanicAdvice
 	web.Run()
 }

+ 12 - 76
models/user.go

@@ -1,86 +1,22 @@
 package models
 
 import (
-	"errors"
-	"strconv"
-	"time"
+	"eta_mini_ht_api/common/component/database"
+	"gorm.io/gorm"
 )
 
-var (
-	UserList map[string]*User
-)
-
-func init() {
-	UserList = make(map[string]*User)
-	u := User{"user_11111", "astaxie", "11111", Profile{"male", 20, "Singapore", "astaxie@gmail.com"}}
-	UserList["user_11111"] = &u
-}
-
 type User struct {
-	Id       string
-	Username string
+	gorm.Model
+	Gender   string `gorm:"column:gender;type:varchar(10);comment:性别"`
+	Username string `gorm:"column:username;type:varchar(20);comment:用户名"`
 	Password string
-	Profile  Profile
-}
-
-type Profile struct {
-	Gender  string
-	Age     int
-	Address string
-	Email   string
-}
-
-func AddUser(u User) string {
-	u.Id = "user_" + strconv.FormatInt(time.Now().UnixNano(), 10)
-	UserList[u.Id] = &u
-	return u.Id
-}
-
-func GetUser(uid string) (u *User, err error) {
-	if u, ok := UserList[uid]; ok {
-		return u, nil
-	}
-	return nil, errors.New("User not exists")
-}
-
-func GetAllUsers() map[string]*User {
-	return UserList
-}
-
-func UpdateUser(uid string, uu *User) (a *User, err error) {
-	if u, ok := UserList[uid]; ok {
-		if uu.Username != "" {
-			u.Username = uu.Username
-		}
-		if uu.Password != "" {
-			u.Password = uu.Password
-		}
-		if uu.Profile.Age != 0 {
-			u.Profile.Age = uu.Profile.Age
-		}
-		if uu.Profile.Address != "" {
-			u.Profile.Address = uu.Profile.Address
-		}
-		if uu.Profile.Gender != "" {
-			u.Profile.Gender = uu.Profile.Gender
-		}
-		if uu.Profile.Email != "" {
-			u.Profile.Email = uu.Profile.Email
-		}
-		return u, nil
-	}
-	return nil, errors.New("User Not Exist")
-}
-
-func Login(username, password string) bool {
-	for _, u := range UserList {
-		if u.Username == username && u.Password == password {
-			return true
-		}
-	}
-	return false
+	Mobile   string
+	OpenId   string
+	NickName string
 }
 
-func DeleteUser(uid string) {
-	delete(UserList, uid)
+func GetAllUsers() *[]User {
+	var users []User
+	database.GetInstance().Unscoped().Find(&users)
+	return &users
 }

+ 1 - 1
routers/commentsRouter.go

@@ -7,7 +7,7 @@ import (
 
 func init() {
 
-    beego.GlobalControllerRouter["eta_mini_ht_api/controllers:UserController"] = append(beego.GlobalControllerRouter["eta_mini_ht_api/controllers:UserController"],
+    beego.GlobalControllerRouter["eta_mini_ht_api/controllers/user:UserController"] = append(beego.GlobalControllerRouter["eta_mini_ht_api/controllers/user:UserController"],
         beego.ControllerComments{
             Method: "GetAll",
             Router: `/`,

+ 2 - 2
routers/router.go

@@ -1,7 +1,7 @@
 package routers
 
 import (
-	"eta_mini_ht_api/controllers"
+	"eta_mini_ht_api/controllers/user"
 	beego "github.com/beego/beego/v2/server/web"
 )
 
@@ -9,7 +9,7 @@ func init() {
 	ns := beego.NewNamespace("/v1",
 		beego.NSNamespace("/user",
 			beego.NSInclude(
-				&controllers.UserController{},
+				&user.UserController{},
 			),
 		),
 	)

File diff suppressed because it is too large
+ 0 - 0
swagger/swagger-ui-bundle.js


File diff suppressed because it is too large
+ 0 - 0
swagger/swagger-ui-es-bundle-core.js


File diff suppressed because it is too large
+ 0 - 0
swagger/swagger-ui-es-bundle.js


File diff suppressed because it is too large
+ 0 - 0
swagger/swagger-ui.js


Some files were not shown because too many files changed in this diff