diff options
Diffstat (limited to 'did-model.lua')
-rw-r--r-- | did-model.lua | 22 |
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 |