import os name = "Synapse User Registration" kind = "action" showstatus = True resolve = { "get": { "sender": ["messageheaders", "userCard", "id"], "username": ["messageheaders", "userCard", "username"], }, "construct": { "matrixreguser": [ "rmass_", {"resolved": "sender"}, #":loxthelion.com", ], }, } keys = [ { "keytitle": "type", "keyvalue": "m.login.application_service", }, { "keytitle": "username", "keyvalue": { "resolved": "matrixreguser", #"prefix": "rmass_" }, }, { "keytitle": "inhibitlogin", "keyvalue": True, }, ] isrequest = True method = "POST" path = "https://loxthelion.com/_matrix/client/v3/register" headers = { "Authorization": { "os": "AS_TOKEN", "prefix": "Bearer ", }, "Content-Type": "application/json", } outputs = { "user_id": "user_id", } readrow = { "table": "user_profiles", "columns": [ {"rmass_user_id": "INTEGER PRIMARY KEY"}, {"rmass_username": "TEXT NOT NULL UNIQUE"}, {"rmass_dm_room": "TEXT NOT NULL UNIQUE"}, {"rmass_avatar_hash": "TEXT"}, ], "searchcolumn": "rmass_user_id", "rowsearchvalue": [ {"resolved": "sender"}, ], "columnnumber": 0, "export": { 0: "db_sender_id", 1: "db_username", 2: "db_dm_room", 3: "db_avatar_hash", } } filters = [ { "filterkey": "sender", "operator": "==", "filtervalue": {"outputs": "db_sender_id"}, "print": "User already registered. Continuing...", }, ]