summaryrefslogtreecommitdiffstats
path: root/did-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'did-model.lua')
-rw-r--r--did-model.lua22
1 files changed, 22 insertions, 0 deletions
diff --git a/did-model.lua b/did-model.lua
index 0e2fb81..9a03bfb 100644
--- a/did-model.lua
+++ b/did-model.lua
@@ -1354,3 +1354,25 @@ function setrolepermissions(self, rolepermissions)
end
return rolepermissions
end
+
+function requestdid(self, userid)
+ local errtxt
+ local result = ""
+ local res, err = pcall(function()
+ local connected = databaseconnect(DatabaseUser)
+ local defs = listdefinitions(nil, nil, "Available")
+ if #defs == 0 then
+ errtxt = "No DIDs available"
+ else
+ adduserpermission(self, userid, defs[1].did)
+ defs[1].description = "Reserved for "..userid
+ updatedefinitionentry(defs[1])
+ result = "Assigned new DID "..defs[1].did
+ end
+ if connected then databasedisconnect() end
+ end)
+ if not res and err then
+ errtxt = err
+ end
+ return cfe({ value=result, errtxt=errtxt, label="Result of Request DID" })
+end