start stubbing out endpoints

This commit is contained in:
2026-04-13 20:03:26 +03:00
parent ce9bca0a75
commit 4aa4e58c58
14 changed files with 304 additions and 48 deletions

11
app/routes/guides.py Normal file
View File

@@ -0,0 +1,11 @@
from flask import Blueprint
bp = Blueprint('guides', __name__, url_prefix = '/guides/')
@bp.get('/')
def index():
return 'stub'
@bp.get('/contact')
def contact():
return 'stub'

15
app/routes/mod.py Normal file
View File

@@ -0,0 +1,15 @@
from flask import Blueprint
bp = Blueprint('mod', __name__, url_prefix='/mod/')
@bp.get('/')
def index():
return 'stub'
@bp.get('/topics/new')
def new_topic():
return 'stub'
@bp.get('/topics/sort')
def sort_topics():
return 'stub'

11
app/routes/threads.py Normal file
View File

@@ -0,0 +1,11 @@
from flask import Blueprint
bp = Blueprint('threads', __name__, url_prefix='/threads/')
@bp.get('/<slug>')
def thread(slug):
return 'stub'
@bp.get('/new')
def new():
return 'stub'

View File

@@ -1,6 +1,7 @@
from flask import Blueprint, redirect, url_for, render_template
from flask import Blueprint, redirect, url_for, render_template, request, session
from ..models import Topics
from ..models import Topics, Threads
import math
bp = Blueprint('topics', __name__, url_prefix = '/topics/')
@@ -12,6 +13,15 @@ def all_topics():
@bp.get('/<slug>')
def topic(slug):
t = Topics.find({'slug': slug})
if t:
return 'yes'
return 'no'
if not t:
return 'stub'
sort_by = request.args.get('sort_by', default=session.get('sort_by', default='activity'))
PER_PAGE = 10
threads_count = Threads.count({'topic_id': t.id})
page_count = max(1, math.ceil(threads_count / PER_PAGE))
page = max(1, min(int(request.args.get('page', default=1)), page_count))
return render_template('topics/topic.html', topic=t, threads=t.get_threads(PER_PAGE, page, sort_by), sort_by=sort_by, page=page, page_count=page_count)
@bp.get('/<slug>/feed.atom')
def feed(slug):
return 'stub'

38
app/routes/users.py Normal file
View File

@@ -0,0 +1,38 @@
from flask import Blueprint, redirect, url_for, render_template, request, session
from ..auth import digest, verify, create_session
from ..models import Users
bp = Blueprint('users', __name__, url_prefix='/users/')
@bp.post('/log-in')
def log_in():
user = Users.find({'username': request.form['username']})
if not user:
return "no user"
if not verify(user.password_hash, request.form['password']):
return "no"
sess = create_session(user.id)
session['pyrom_session_key'] = sess.key
return redirect(request.form['return_to'])
@bp.get('/<username>')
def user_page(username):
return 'stub'
@bp.get('/<username>/settings')
def settings(username):
return 'stub'
@bp.get('/<username>/inbox')
def inbox(username):
return 'stub'
@bp.get('/<username>/bookmarks')
def bookmarks(username):
return 'stub'
@bp.get('/sign-up')
def sign_up():
return 'stub'