1 Commits

Author SHA1 Message Date
4ffd2d45f3 substring stuff
All checks were successful
continuous-integration/drone/push Build is passing
2026-03-24 19:28:41 -07:00
4 changed files with 11 additions and 1 deletions

View File

@@ -121,6 +121,11 @@ paths:
schema:
type: string
maxLength: 128
- name: DisplayNameSubstring
in: query
schema:
type: string
maxLength: 128
- name: Creator
in: query
schema:

View File

@@ -85,7 +85,7 @@ func (env *Maps) GetAll(ctx context.Context) ([]model.Map, error) {
func (env *Maps) List(ctx context.Context, filters datastore.OptionalMap, page model.Page) ([]model.Map, error) {
var events []model.Map
tx := env.db.Model(&model.Map{})
if displayName, ok := filters.Pop("display_name"); ok {
if displayName, ok := filters.Pop("display_name_substring"); ok {
tx = tx.Where("display_name ILIKE ?", "%"+displayName.(string)+"%")
}
if err := tx.Where(filters.Map()).Offset(int((page.Number - 1) * page.Size)).Limit(int(page.Size)).Find(&events).Error; err != nil {

View File

@@ -67,6 +67,9 @@ func NewMapFilter(
func (update MapFilter) SetDisplayName(display_name string) {
datastore.OptionalMap(update).Add("display_name", display_name)
}
func (update MapFilter) SetDisplayNameSubstring(display_name string) {
datastore.OptionalMap(update).Add("display_name_substring", display_name)
}
func (update MapFilter) SetCreator(creator string) {
datastore.OptionalMap(update).Add("creator", creator)
}

View File

@@ -19,6 +19,8 @@ func (svc *Service) ListMaps(ctx context.Context, params api.ListMapsParams) ([]
if display_name, display_name_ok := params.DisplayName.Get(); display_name_ok{
filter.SetDisplayName(display_name)
}else if display_name_substring, display_name_substring_ok := params.DisplayNameSubstring.Get(); display_name_substring_ok{
filter.SetDisplayNameSubstring(display_name_substring)
}
if creator, creator_ok := params.Creator.Get(); creator_ok{
filter.SetCreator(creator)