24 lines
860 B
Nim
24 lines
860 B
Nim
# SPDX-License-Identifier: AGPL-3.0-only
|
|
import strutils, sequtils
|
|
import jester
|
|
import router_utils
|
|
import ".."/[types]
|
|
|
|
proc createFollowRouter*(cfg: Config) =
|
|
router follow:
|
|
post "/follow":
|
|
let user = @"user"
|
|
var prefs = cookiePrefs()
|
|
if user.len > 0 and user notin prefs.following:
|
|
prefs.following.add(user)
|
|
setCookie("nitter_following", prefs.following.join(","), daysForward(360), path="/", httpOnly=true, secure=cfg.useHttps, sameSite=None)
|
|
redirect(refPath())
|
|
|
|
post "/unfollow":
|
|
let user = @"user"
|
|
var prefs = cookiePrefs()
|
|
if user.len > 0 and user in prefs.following:
|
|
prefs.following.keepItIf(it != user)
|
|
setCookie("nitter_following", prefs.following.join(","), daysForward(360), path="/", httpOnly=true, secure=cfg.useHttps, sameSite=None)
|
|
redirect(refPath())
|