35 lines
1.0 KiB
Python
35 lines
1.0 KiB
Python
import sqlalchemy as sa
|
|
import datetime #<- will be used to set default dates on models
|
|
|
|
from sqlalchemy import or_
|
|
from ..models.blog_record import BlogRecord
|
|
|
|
|
|
|
|
class BlogRecordService(object):
|
|
|
|
@classmethod
|
|
def all(cls, request):
|
|
query = request.dbsession.query(BlogRecord)
|
|
return query.order_by(sa.desc(BlogRecord.created))
|
|
|
|
@classmethod
|
|
def by_criteria(cls, request, criteria):
|
|
search = "%{}%".format(criteria)
|
|
query = request.dbsession.query(BlogRecord).filter(or_(BlogRecord.title.like(search),
|
|
BlogRecord.body.like(search))).all()
|
|
return query
|
|
|
|
@classmethod
|
|
def by_id(cls, request, _id):
|
|
query = request.dbsession.query(BlogRecord)
|
|
return query.get(_id)
|
|
|
|
@classmethod
|
|
def get_last_created(cls, request):
|
|
# gest the 10 last created posts
|
|
query = request.dbsession.query(BlogRecord)
|
|
query = query.order_by(sa.desc(BlogRecord.created)).limit(10).all()
|
|
return query
|
|
|