feat:add conds

This commit is contained in:
Rogee
2025-05-06 10:01:48 +08:00
parent 12e1a18d89
commit 35fdca71e5
6 changed files with 97 additions and 71 deletions

View File

@@ -0,0 +1,11 @@
package conds
import (
. "github.com/go-jet/jet/v2/postgres"
)
type Cond func(BoolExpression) BoolExpression
func Default() BoolExpression {
return BoolExp(Bool(true))
}

View File

@@ -0,0 +1,41 @@
package conds
import (
"quyun/database/fields"
"quyun/database/schemas/public/table"
. "github.com/go-jet/jet/v2/postgres"
)
func Post_NotDeleted() Cond {
return func(cond BoolExpression) BoolExpression {
return cond.AND(table.Posts.DeletedAt.IS_NULL())
}
}
func Post_Status(s fields.PostStatus) Cond {
return func(cond BoolExpression) BoolExpression {
return cond.AND(table.Posts.Status.EQ(Int(int64(s))))
}
}
func Post_Like(key *string) Cond {
return func(cond BoolExpression) BoolExpression {
tbl := table.Posts
if key == nil || *key == "" {
return cond
}
cond = cond.AND(
tbl.Title.LIKE(String("%" + *key + "%")).
OR(
tbl.Content.LIKE(String("%" + *key + "%")),
).
OR(
tbl.Description.LIKE(String("%" + *key + "%")),
),
)
return cond
}
}