mirror of
https://github.com/TitanEmbeds/Titan.git
synced 2025-06-17 20:05:23 +02:00
Add user cards and badges, Closes #25
This commit is contained in:
@ -4,6 +4,7 @@ from functools import wraps
|
||||
from titanembeds.database import db, get_administrators_list, Cosmetics, Guilds, UnauthenticatedUsers, UnauthenticatedBans, TitanTokens, TokenTransactions, get_titan_token, set_titan_token
|
||||
from titanembeds.oauth import generate_guild_icon_url
|
||||
import datetime
|
||||
import json
|
||||
|
||||
admin = Blueprint("admin", __name__)
|
||||
|
||||
@ -39,6 +40,7 @@ def cosmetics_post():
|
||||
css = request.form.get("css", None)
|
||||
css_limit = int(request.form.get("css_limit", 0))
|
||||
guest_icon = request.form.get("guest_icon", None)
|
||||
badges = request.form.get("badges", None)
|
||||
entry = db.session.query(Cosmetics).filter(Cosmetics.user_id == user_id).first()
|
||||
if entry:
|
||||
abort(409)
|
||||
@ -51,6 +53,11 @@ def cosmetics_post():
|
||||
if guest_icon is not None:
|
||||
guest_icon = guest_icon.lower() == "true"
|
||||
user.guest_icon = guest_icon
|
||||
if badges is not None:
|
||||
badges = badges.split(",")
|
||||
if badges == [""]:
|
||||
badges = []
|
||||
user.badges = json.dumps(badges)
|
||||
db.session.add(user)
|
||||
db.session.commit()
|
||||
return ('', 204)
|
||||
@ -77,6 +84,7 @@ def cosmetics_patch():
|
||||
css = request.form.get("css", None)
|
||||
css_limit = request.form.get("css_limit", None)
|
||||
guest_icon = request.form.get("guest_icon", None)
|
||||
badges = request.form.get("badges", None)
|
||||
entry = db.session.query(Cosmetics).filter(Cosmetics.user_id == user_id).first()
|
||||
if not entry:
|
||||
abort(409)
|
||||
@ -88,8 +96,14 @@ def cosmetics_patch():
|
||||
if guest_icon:
|
||||
guest_icon = guest_icon.lower() == "true"
|
||||
entry.guest_icon = guest_icon
|
||||
if badges is not None:
|
||||
badges = badges.split(",")
|
||||
if badges == [""]:
|
||||
badges = []
|
||||
entry.badges = json.dumps(badges)
|
||||
db.session.commit()
|
||||
return ('', 204)
|
||||
|
||||
def prepare_guild_members_list(members, bans):
|
||||
all_users = []
|
||||
ip_pool = []
|
||||
|
@ -1,4 +1,4 @@
|
||||
from titanembeds.database import db, Guilds, UnauthenticatedUsers, UnauthenticatedBans, AuthenticatedUsers, KeyValueProperties, GuildMembers, Messages, get_channel_messages, list_all_guild_members, get_guild_member, get_administrators_list
|
||||
from titanembeds.database import db, Guilds, UnauthenticatedUsers, UnauthenticatedBans, AuthenticatedUsers, KeyValueProperties, GuildMembers, Messages, get_channel_messages, list_all_guild_members, get_guild_member, get_administrators_list, get_badges
|
||||
from titanembeds.decorators import valid_session_required, discord_users_only
|
||||
from titanembeds.utils import check_guild_existance, guild_accepts_visitors, guild_query_unauth_users_bool, get_client_ipaddr, discord_api, rate_limiter, channel_ratelimit_key, guild_ratelimit_key, user_unauthenticated, checkUserRevoke, checkUserBanned, update_user_status, check_user_in_guild, get_guild_channels, guild_webhooks_enabled, guild_unauthcaptcha_enabled
|
||||
from titanembeds.oauth import user_has_permission, generate_avatar_url, check_user_can_administrate_guild
|
||||
@ -429,6 +429,10 @@ def create_authenticated_user():
|
||||
response.status_code = 403
|
||||
return response
|
||||
|
||||
@api.route("/badges/<user_id>")
|
||||
def badges(user_id):
|
||||
return jsonify(get_badges(user_id))
|
||||
|
||||
def canCleanupDB():
|
||||
canclean = False
|
||||
if request.form.get("secret", None) == config['app-secret']:
|
||||
@ -437,6 +441,7 @@ def canCleanupDB():
|
||||
if session['user_id'] in get_administrators_list():
|
||||
canclean = True
|
||||
return canclean
|
||||
|
||||
@api.route("/cleanup-db", methods=["DELETE"])
|
||||
def cleanup_keyval_db():
|
||||
if canCleanupDB():
|
||||
|
@ -3,7 +3,7 @@ from flask import current_app as app
|
||||
from flask_socketio import emit
|
||||
from config import config
|
||||
from titanembeds.decorators import discord_users_only
|
||||
from titanembeds.database import db, Guilds, UnauthenticatedUsers, UnauthenticatedBans, Cosmetics, UserCSS, Patreon, set_titan_token, get_titan_token
|
||||
from titanembeds.database import db, Guilds, UnauthenticatedUsers, UnauthenticatedBans, Cosmetics, UserCSS, Patreon, set_titan_token, get_titan_token, add_badge
|
||||
from titanembeds.oauth import authorize_url, token_url, make_authenticated_session, get_current_authenticated_user, get_user_managed_servers, check_user_can_administrate_guild, check_user_permission, generate_avatar_url, generate_guild_icon_url, generate_bot_invite_url
|
||||
import time
|
||||
import datetime
|
||||
@ -431,6 +431,7 @@ def donate_confirm():
|
||||
action = "PAYPAL {}".format(trans_id)
|
||||
set_titan_token(session["user_id"], tokens, action)
|
||||
session["tokens"] = get_titan_token(session["user_id"])
|
||||
add_badge(session["user_id"], "supporter")
|
||||
return redirect(url_for('user.donate_thanks', transaction=trans_id))
|
||||
else:
|
||||
return redirect(url_for('index'))
|
||||
@ -555,6 +556,7 @@ def patreon_sync_post():
|
||||
db.session.add(dbpatreon)
|
||||
db.session.commit()
|
||||
set_titan_token(session["user_id"], usr["titan"]["eligible_tokens"], "PATREON {} [{}]".format(usr["attributes"]["full_name"], usr["id"]))
|
||||
add_badge(session["user_id"], "supporter")
|
||||
session["tokens"] = get_titan_token(session["user_id"])
|
||||
return ('', 204)
|
||||
|
||||
|
Reference in New Issue
Block a user