diff options
Diffstat (limited to 'src/guff/models')
-rw-r--r-- | src/guff/models/post.cr | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/guff/models/post.cr b/src/guff/models/post.cr index 580a9b7..3c4212b 100644 --- a/src/guff/models/post.cr +++ b/src/guff/models/post.cr @@ -96,6 +96,12 @@ module Guff clause: "a.post_id", }, + "slug": { + default: true, + sortable: true, + clause: "a.slug", + }, + "name": { default: true, sortable: true, @@ -103,7 +109,7 @@ module Guff }, "body": { - default: false, + default: true, sortable: true, clause: "a.body", }, @@ -215,6 +221,10 @@ module Guff strftime('%s', a.posted_at) + 0 = %d )" + SLUG_FILTER_CLAUSE = "( + a.slug = '%s' + )" + private def get_filter_clause( filters : Hash(Symbol, String) ) : String @@ -236,6 +246,11 @@ module Guff # TODO end + # add slug filter + if filters.has_key?(:slug) + r << SLUG_FILTER_CLAUSE % [@db.quote(filters[:slug])] + end + # return result r.join(" AND ") end |