Skip to content

Commit 18f2b4a

Browse files
committed
chore: rm unused functions in model.go
1 parent 38c9727 commit 18f2b4a

File tree

1 file changed

+66
-270
lines changed

1 file changed

+66
-270
lines changed

model/model.go

Lines changed: 66 additions & 270 deletions
Original file line numberDiff line numberDiff line change
@@ -1,307 +1,103 @@
11
package model
22

33
import (
4-
"fmt"
5-
"github.com/0xJacky/Nginx-UI/internal/logger"
6-
"github.com/0xJacky/Nginx-UI/settings"
7-
"github.com/gin-gonic/gin"
8-
"github.com/spf13/cast"
9-
"gorm.io/driver/sqlite"
10-
"gorm.io/gen"
11-
"gorm.io/gorm"
12-
gormlogger "gorm.io/gorm/logger"
13-
"gorm.io/gorm/schema"
14-
"path"
15-
"strings"
16-
"sync"
17-
"time"
4+
"fmt"
5+
"github.com/0xJacky/Nginx-UI/internal/logger"
6+
"github.com/0xJacky/Nginx-UI/settings"
7+
"github.com/gin-gonic/gin"
8+
"gorm.io/driver/sqlite"
9+
"gorm.io/gen"
10+
"gorm.io/gorm"
11+
gormlogger "gorm.io/gorm/logger"
12+
"path"
13+
"time"
1814
)
1915

2016
var db *gorm.DB
2117

2218
type Model struct {
23-
ID int `gorm:"primary_key" json:"id"`
24-
CreatedAt time.Time `json:"created_at"`
25-
UpdatedAt time.Time `json:"updated_at"`
26-
DeletedAt *gorm.DeletedAt `gorm:"index" json:"deleted_at"`
19+
ID int `gorm:"primary_key" json:"id"`
20+
CreatedAt time.Time `json:"created_at"`
21+
UpdatedAt time.Time `json:"updated_at"`
22+
DeletedAt *gorm.DeletedAt `gorm:"index" json:"deleted_at"`
2723
}
2824

2925
func GenerateAllModel() []any {
30-
return []any{
31-
ConfigBackup{},
32-
Auth{},
33-
AuthToken{},
34-
Cert{},
35-
ChatGPTLog{},
36-
Site{},
37-
Stream{},
38-
DnsCredential{},
39-
Environment{},
40-
Notification{},
41-
}
26+
return []any{
27+
ConfigBackup{},
28+
Auth{},
29+
AuthToken{},
30+
Cert{},
31+
ChatGPTLog{},
32+
Site{},
33+
Stream{},
34+
DnsCredential{},
35+
Environment{},
36+
Notification{},
37+
}
4238
}
4339

4440
func logMode() gormlogger.Interface {
45-
switch settings.ServerSettings.RunMode {
46-
case gin.ReleaseMode:
47-
return gormlogger.Default.LogMode(gormlogger.Warn)
48-
default:
49-
fallthrough
50-
case gin.DebugMode:
51-
return gormlogger.Default.LogMode(gormlogger.Info)
52-
}
41+
switch settings.ServerSettings.RunMode {
42+
case gin.ReleaseMode:
43+
return gormlogger.Default.LogMode(gormlogger.Warn)
44+
default:
45+
fallthrough
46+
case gin.DebugMode:
47+
return gormlogger.Default.LogMode(gormlogger.Info)
48+
}
5349
}
5450

5551
func UseDB() *gorm.DB {
56-
return db
52+
return db
5753
}
5854

5955
func Init() *gorm.DB {
60-
dbPath := path.Join(path.Dir(settings.ConfPath), fmt.Sprintf("%s.db", settings.ServerSettings.Database))
56+
dbPath := path.Join(path.Dir(settings.ConfPath), fmt.Sprintf("%s.db", settings.ServerSettings.Database))
6157

62-
var err error
63-
db, err = gorm.Open(sqlite.Open(dbPath), &gorm.Config{
64-
Logger: logMode(),
65-
PrepareStmt: true,
66-
DisableForeignKeyConstraintWhenMigrating: true,
67-
})
58+
var err error
59+
db, err = gorm.Open(sqlite.Open(dbPath), &gorm.Config{
60+
Logger: logMode(),
61+
PrepareStmt: true,
62+
DisableForeignKeyConstraintWhenMigrating: true,
63+
})
6864

69-
if err != nil {
70-
logger.Fatal(err.Error())
71-
}
65+
if err != nil {
66+
logger.Fatal(err.Error())
67+
}
7268

73-
// Migrate the schema
74-
err = db.AutoMigrate(GenerateAllModel()...)
75-
if err != nil {
76-
logger.Fatal(err.Error())
77-
}
69+
// Migrate the schema
70+
err = db.AutoMigrate(GenerateAllModel()...)
71+
if err != nil {
72+
logger.Fatal(err.Error())
73+
}
7874

79-
return db
75+
return db
8076
}
8177

8278
type Pagination struct {
83-
Total int64 `json:"total"`
84-
PerPage int `json:"per_page"`
85-
CurrentPage int `json:"current_page"`
86-
TotalPages int64 `json:"total_pages"`
79+
Total int64 `json:"total"`
80+
PerPage int `json:"per_page"`
81+
CurrentPage int `json:"current_page"`
82+
TotalPages int64 `json:"total_pages"`
8783
}
8884

8985
type DataList struct {
90-
Data interface{} `json:"data"`
91-
Pagination Pagination `json:"pagination,omitempty"`
92-
}
93-
94-
func SortOrder(c *gin.Context) func(db *gorm.DB) *gorm.DB {
95-
return func(db *gorm.DB) *gorm.DB {
96-
sort := c.DefaultQuery("order", "desc")
97-
order := fmt.Sprintf("`%s` %s", DefaultQuery(c, "sort_by", "id"), sort)
98-
return db.Order(order)
99-
}
100-
}
101-
102-
func OrderAndPaginate(c *gin.Context) func(db *gorm.DB) *gorm.DB {
103-
return func(db *gorm.DB) *gorm.DB {
104-
sort := c.DefaultQuery("order", "desc")
105-
if sort != "desc" && sort != "asc" {
106-
sort = "desc"
107-
}
108-
109-
// check if the order field is valid
110-
order := c.DefaultQuery("sort_by", "id")
111-
s, _ := schema.Parse(db.Model, &sync.Map{}, schema.NamingStrategy{})
112-
if _, ok := s.FieldsByName[order]; ok {
113-
order = fmt.Sprintf("%s %s", order, sort)
114-
db = db.Order(order)
115-
} else {
116-
logger.Error("invalid order field: ", order)
117-
}
118-
119-
page := cast.ToInt(c.Query("page"))
120-
if page == 0 {
121-
page = 1
122-
}
123-
pageSize := settings.ServerSettings.PageSize
124-
reqPageSize := c.Query("page_size")
125-
if reqPageSize != "" {
126-
pageSize = cast.ToInt(reqPageSize)
127-
}
128-
offset := (page - 1) * pageSize
129-
130-
return db.Offset(offset).Limit(pageSize)
131-
}
132-
}
133-
134-
func QueryToInSearch(c *gin.Context, db *gorm.DB, keys ...string) *gorm.DB {
135-
for _, v := range keys {
136-
queryArray := c.QueryArray(v + "[]")
137-
if len(queryArray) == 0 {
138-
queryArray = c.QueryArray(v)
139-
}
140-
if len(queryArray) > 0 {
141-
var sb strings.Builder
142-
143-
_, err := fmt.Fprintf(&sb, "`%s` IN ?", v)
144-
if err != nil {
145-
logger.Error(err)
146-
continue
147-
}
148-
149-
db = db.Where(sb.String(), queryArray)
150-
}
151-
}
152-
return db
153-
}
154-
155-
func QueryToEqualSearch(c *gin.Context, db *gorm.DB, keys ...string) *gorm.DB {
156-
for _, v := range keys {
157-
if c.Query(v) != "" {
158-
var sb strings.Builder
159-
160-
_, err := fmt.Fprintf(&sb, "`%s` = ?", v)
161-
if err != nil {
162-
logger.Error(err)
163-
continue
164-
}
165-
166-
db = db.Where(sb.String(), c.Query(v))
167-
}
168-
}
169-
return db
170-
}
171-
172-
func QueryToFussySearch(c *gin.Context, db *gorm.DB, keys ...string) *gorm.DB {
173-
for _, v := range keys {
174-
if c.Query(v) != "" {
175-
var sb strings.Builder
176-
177-
_, err := fmt.Fprintf(&sb, "`%s` LIKE ?", v)
178-
if err != nil {
179-
logger.Error(err)
180-
continue
181-
}
182-
183-
var sbValue strings.Builder
184-
185-
_, err = fmt.Fprintf(&sbValue, "%%%s%%", c.Query(v))
186-
187-
if err != nil {
188-
logger.Error(err)
189-
continue
190-
}
191-
192-
db = db.Where(sb.String(), sbValue.String())
193-
}
194-
}
195-
return db
196-
}
197-
198-
func QueryToFussyKeysSearch(c *gin.Context, db *gorm.DB, value string, keys ...string) *gorm.DB {
199-
if c.Query(value) == "" {
200-
return db
201-
}
202-
203-
var condition *gorm.DB
204-
for i, v := range keys {
205-
sb := v + " LIKE ?"
206-
sv := "%" + c.Query(value) + "%"
207-
208-
switch i {
209-
case 0:
210-
condition = db.Where(db.Where(sb, sv))
211-
default:
212-
condition = condition.Or(sb, sv)
213-
}
214-
}
215-
216-
return db.Where(condition)
217-
}
218-
219-
func QueryToOrInSearch(c *gin.Context, db *gorm.DB, keys ...string) *gorm.DB {
220-
for _, v := range keys {
221-
queryArray := c.QueryArray(v + "[]")
222-
if len(queryArray) == 0 {
223-
queryArray = c.QueryArray(v)
224-
}
225-
if len(queryArray) > 0 {
226-
var sb strings.Builder
227-
228-
_, err := fmt.Fprintf(&sb, "`%s` IN ?", v)
229-
if err != nil {
230-
logger.Error(err)
231-
continue
232-
}
233-
234-
db = db.Or(sb.String(), queryArray)
235-
}
236-
}
237-
return db
238-
}
239-
240-
func QueryToOrEqualSearch(c *gin.Context, db *gorm.DB, keys ...string) *gorm.DB {
241-
for _, v := range keys {
242-
if c.Query(v) != "" {
243-
var sb strings.Builder
244-
245-
_, err := fmt.Fprintf(&sb, "`%s` = ?", v)
246-
if err != nil {
247-
logger.Error(err)
248-
continue
249-
}
250-
251-
db = db.Or(sb.String(), c.Query(v))
252-
}
253-
}
254-
return db
255-
}
256-
257-
func QueryToOrFussySearch(c *gin.Context, db *gorm.DB, keys ...string) *gorm.DB {
258-
for _, v := range keys {
259-
if c.Query(v) != "" {
260-
var sb strings.Builder
261-
262-
_, err := fmt.Fprintf(&sb, "`%s` LIKE ?", v)
263-
if err != nil {
264-
logger.Error(err)
265-
continue
266-
}
267-
268-
var sbValue strings.Builder
269-
270-
_, err = fmt.Fprintf(&sbValue, "%%%s%%", c.Query(v))
271-
272-
if err != nil {
273-
logger.Error(err)
274-
continue
275-
}
276-
277-
db = db.Or(sb.String(), sbValue.String())
278-
}
279-
}
280-
return db
86+
Data interface{} `json:"data"`
87+
Pagination Pagination `json:"pagination,omitempty"`
28188
}
28289

28390
func TotalPage(total int64, pageSize int) int64 {
284-
n := total / int64(pageSize)
285-
if total%int64(pageSize) > 0 {
286-
n++
287-
}
288-
return n
289-
}
290-
291-
func DefaultValue(c *gin.Context, key string, defaultValue any) any {
292-
if value, ok := c.Get(key); ok {
293-
return value
294-
}
295-
return defaultValue
296-
}
297-
298-
func DefaultQuery(c *gin.Context, key string, defaultValue any) string {
299-
return c.DefaultQuery(key, DefaultValue(c, key, defaultValue).(string))
91+
n := total / int64(pageSize)
92+
if total%int64(pageSize) > 0 {
93+
n++
94+
}
95+
return n
30096
}
30197

30298
type Method interface {
303-
// FirstByID Where("id=@id")
304-
FirstByID(id int) (*gen.T, error)
305-
// DeleteByID update @@table set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=@id
306-
DeleteByID(id int) error
99+
// FirstByID Where("id=@id")
100+
FirstByID(id int) (*gen.T, error)
101+
// DeleteByID update @@table set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=@id
102+
DeleteByID(id int) error
307103
}

0 commit comments

Comments
 (0)