|
|
@@ -0,0 +1,42 @@
|
|
|
+package link
|
|
|
+
|
|
|
+import (
|
|
|
+ "github.com/gin-gonic/gin"
|
|
|
+
|
|
|
+ "github.com/runningwater/gohub/pkg/app"
|
|
|
+ "github.com/runningwater/gohub/pkg/database"
|
|
|
+ "github.com/runningwater/gohub/pkg/paginator"
|
|
|
+)
|
|
|
+
|
|
|
+func Get(idStr string) (link Link) {
|
|
|
+ database.DB.Where("id", idStr).First(&link)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func GetBy(field, value string) (link Link) {
|
|
|
+ database.DB.Where("? = ?", field, value).First(&link)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func All() (links []Link) {
|
|
|
+ database.DB.Find(&links)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func IsExist(field, value string) bool {
|
|
|
+ var count int64
|
|
|
+ database.DB.Model(Link{}).Where("? = ?", field, value).Count(&count)
|
|
|
+ return count > 0
|
|
|
+}
|
|
|
+
|
|
|
+// Paginate 分页内容
|
|
|
+func Paginate(c *gin.Context, pageSize int) (links []Link, paging paginator.Paging) {
|
|
|
+ paging = paginator.Paginate(
|
|
|
+ c,
|
|
|
+ database.DB.Model(Link{}),
|
|
|
+ &links,
|
|
|
+ app.V1URL(database.TableName(&Link{})),
|
|
|
+ pageSize,
|
|
|
+ )
|
|
|
+ return
|
|
|
+}
|