mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-21 15:42:35 +00:00
68 lines
1.8 KiB
Plaintext
68 lines
1.8 KiB
Plaintext
var/global/forumuser_api_key = null
|
|
|
|
/datum/forum_user
|
|
var/forum_member_id
|
|
var/forum_name
|
|
var/forum_primary_group
|
|
var/list/forum_secondary_groups = list()
|
|
var/discord_id
|
|
var/ckey
|
|
var/psync_game_disabled = FALSE
|
|
|
|
/datum/forum_user/New(data)
|
|
forum_member_id = data["forum_member_id"]
|
|
forum_name = data["forum_name"]
|
|
forum_primary_group = data["forum_primary_group"]
|
|
|
|
for (var/id in splittext(data["forum_secondary_groups"], ","))
|
|
forum_secondary_groups += text2num(id)
|
|
|
|
discord_id = data["discord_id"]
|
|
ckey = data["ckey"]
|
|
if(data["psync_game_disabled"] == 1) //This here is needed because the data can be null, 1 or 0
|
|
psync_game_disabled = TRUE
|
|
|
|
/datum/http_request/forumuser_api
|
|
|
|
/datum/http_request/forumuser_api/proc/prepare_roles_query(role_id)
|
|
var/url = "[config.forumuser_api_url]/staff/[role_id]"
|
|
|
|
var/list/headers = list("Authorization" = "Bearer [forumuser_api_key]")
|
|
|
|
prepare(RUSTG_HTTP_METHOD_GET, url, headers=headers)
|
|
|
|
/datum/http_request/forumuser_api/proc/prepare_user_discord(discord_id)
|
|
var/url = "[config.forumuser_api_url]/user/discord/[discord_id]"
|
|
|
|
var/list/headers = list("Authorization" = "Bearer [forumuser_api_key]")
|
|
|
|
prepare(RUSTG_HTTP_METHOD_GET, url, headers=headers)
|
|
|
|
/datum/http_request/forumuser_api/proc/prepare_user_ckey(ckey)
|
|
var/url = "[config.forumuser_api_url]/user/ckey/[ckey]"
|
|
|
|
var/list/headers = list("Authorization" = "Bearer [forumuser_api_key]")
|
|
|
|
prepare(RUSTG_HTTP_METHOD_GET, url, headers=headers)
|
|
|
|
/datum/http_request/forumuser_api/into_response()
|
|
var/datum/http_response/R = ..()
|
|
|
|
if (R.errored)
|
|
return R
|
|
|
|
try
|
|
R.body = json_decode(R.body)
|
|
catch
|
|
R.errored = TRUE
|
|
R.error = "Malformed JSON returned."
|
|
return R
|
|
|
|
var/list/users = list()
|
|
for (var/d in R.body)
|
|
users += new /datum/forum_user(d)
|
|
|
|
R.body = users
|
|
|
|
return R
|