diff --git a/resonitepy/client.py b/resonitepy/client.py index fd1dedb..b50232e 100644 --- a/resonitepy/client.py +++ b/resonitepy/client.py @@ -716,16 +716,31 @@ def resolveLink(self, link: ResoniteLink) -> ResoniteDirectory: match = re.search(pattern, link.assetUri.path) if not match: - raise resonite_exceptions.ResoniteException(f'Not supported link type {link}') + pattern2 = r'\/(G-.*)\/(R-.*)' + match2 = re.search(pattern2, link.assetUri.path) + if not match2: + raise resonite_exceptions.ResoniteException(f'Not supported link type {link}') - user = match.group(1) - record = match.group(2) + group = match2.group(1) + record = match2.group(2) - response = self.request( - 'get', - f"/users/{user}/records/{record}", - ) - return to_class(ResoniteDirectory, response, DACITE_CONFIG) + response = self.request( + 'get', + f"/groups/{group}/records/{record}", + ) + + return to_class(ResoniteDirectory, response, DACITE_CONFIG) + + else: + user = match.group(1) + record = match.group(2) + + response = self.request( + 'get', + f"/users/{user}/records/{record}", + ) + + return to_class(ResoniteDirectory, response, DACITE_CONFIG) def getMessageLegacy( @@ -973,4 +988,4 @@ def platform(self) -> Platform: """ Return information about the platform. """ response = self.request('get', '/platform') - return to_class(Platform, response, DACITE_CONFIG) \ No newline at end of file + return to_class(Platform, response, DACITE_CONFIG)