comms: fix synapse seed booleans
This commit is contained in:
parent
28bcf716d0
commit
c05cb414aa
@ -2,7 +2,7 @@
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: synapse-user-seed-1
|
||||
name: synapse-user-seed-2
|
||||
namespace: comms
|
||||
spec:
|
||||
backoffLimit: 1
|
||||
@ -56,14 +56,18 @@ spec:
|
||||
def get_cols(cur):
|
||||
cur.execute(
|
||||
"""
|
||||
SELECT column_name, is_nullable, column_default
|
||||
SELECT column_name, is_nullable, column_default, data_type
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = 'public' AND table_name = 'users'
|
||||
"""
|
||||
)
|
||||
cols = {}
|
||||
for name, is_nullable, default in cur.fetchall():
|
||||
cols[name] = {"nullable": is_nullable == "YES", "default": default}
|
||||
for name, is_nullable, default, data_type in cur.fetchall():
|
||||
cols[name] = {
|
||||
"nullable": is_nullable == "YES",
|
||||
"default": default,
|
||||
"type": data_type,
|
||||
}
|
||||
return cols
|
||||
|
||||
def upsert_user(cur, cols, user_id, password, admin):
|
||||
@ -73,14 +77,18 @@ spec:
|
||||
"password_hash": bcrypt.hashpw(password.encode(), bcrypt.gensalt()).decode(),
|
||||
"creation_ts": now_ms,
|
||||
}
|
||||
if "admin" in cols:
|
||||
values["admin"] = admin
|
||||
if "deactivated" in cols:
|
||||
values["deactivated"] = False
|
||||
if "shadow_banned" in cols:
|
||||
values["shadow_banned"] = False
|
||||
if "is_guest" in cols:
|
||||
values["is_guest"] = False
|
||||
def add_flag(name, flag):
|
||||
if name not in cols:
|
||||
return
|
||||
if cols[name]["type"] in ("smallint", "integer"):
|
||||
values[name] = int(flag)
|
||||
else:
|
||||
values[name] = bool(flag)
|
||||
|
||||
add_flag("admin", admin)
|
||||
add_flag("deactivated", False)
|
||||
add_flag("shadow_banned", False)
|
||||
add_flag("is_guest", False)
|
||||
|
||||
columns = list(values.keys())
|
||||
placeholders = ", ".join(["%s"] * len(columns))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user