diff Plugin/IAuthorizationService.h @ 72:e381ba725669

new PUT auth/tokens/{token-type} API route + updated interface with WebService
author Alain Mazy <am@osimis.io>
date Fri, 24 Feb 2023 18:13:36 +0100
parents 30fb3ce960d9
children 512247750f0a
line wrap: on
line diff
--- a/Plugin/IAuthorizationService.h	Wed Feb 22 13:13:38 2023 +0100
+++ b/Plugin/IAuthorizationService.h	Fri Feb 24 18:13:36 2023 +0100
@@ -31,6 +31,20 @@
   class IAuthorizationService : public boost::noncopyable
   {
   public:
+    struct OrthancResource
+    {
+      std::string dicomUid;
+      std::string orthancId;
+      std::string url;
+      std::string level;
+    };
+
+    struct CreatedToken
+    {
+      std::string url;
+      std::string token;
+    };
+
     virtual ~IAuthorizationService()
     {
     }
@@ -60,5 +74,15 @@
 
     virtual bool HasAnonymousUserPermission(unsigned int& validity /* out */,
                                             const std::set<std::string>& anyOfPermissions) = 0;
+
+    virtual bool CreateToken(CreatedToken& response,
+                             const std::string& tokenType, 
+                             const std::string& id, 
+                             const std::vector<OrthancResource>& resources,
+                             const std::string& expirationDateString) = 0;
+
+    virtual bool HasUserProfile() const = 0;
+    virtual bool HasCreateToken() const = 0;
+    virtual bool HasTokenValidation() const = 0;
   };
 }