#routes/post.py
from bottle import Bottle, redirect
from controllers.login import checkLogged
import bottle
bottle.BaseRequest.MEMFILE_MAX = 1024 * 1024
app = Bottle()
@app.route('/', method='post')
def index():
if checkLogged.call():
from controllers.dashboard.post import create
return create.call()
else:
redirect('/')
@app.route('/edit/<id>')
def edit(id):
if checkLogged.call():
from controllers.dashboard.post import edit
return edit.call(id)
else:
redirect('/')
@app.route('/delete/<id>')
def delete(id):
if checkLogged.call():
from controllers.dashboard.post import delete
return delete.call(id)
else:
redirect('/')
@app.route('/paginate/<page>')
def paginate(page):
if checkLogged.call():
from controllers.dashboard.post import paginate
return paginate.call(int(page))
else:
redirect('/')
#controllers/dashboard/post/paginate.py
import config
from bottle import request
from copy import deepcopy
from models.postdb import paginatedb
def call(page):
kdict = deepcopy(config.kdict)
posts = paginatedb.call(page, kdict['maxItemList'])
return {'items':posts}
#models/postdb/paginatedb.py
import setConnection
def call(page, amount):
cursor, connection = setConnection.call()
sql = "SELECT * FROM post ORDER BY DATETIME(datetime) DESC, rowid DESC LIMIT ? OFFSET ?"
cursor.execute(sql, (amount, page*amount))
posts = cursor.fetchall()
cursor.close()
return posts
GitHub: https://github.com/Sokhavuth/REST-API
Vercel: https://rest-api-zeta.vercel.app