[ATTACHMENTS] Further refactoring

Some key points:
- Components and Plugins shouldn't extend Module directly
- Avatars should be fetched via GSActor ID, not by nickname as that isn't unique
- Avatar now is a separate Component
- Common file utilities are now to be placed in Core\GSFile, this will
  handle storage and trigger validation
- Some bug fixes
This commit is contained in:
2021-04-18 02:17:57 +01:00
committed by Hugo Sales
parent cdef6858ce
commit 0eaccc32fe
25 changed files with 408 additions and 378 deletions

View File

@@ -94,6 +94,11 @@ abstract class Common
return self::ensureLoggedIn()->getNickname();
}
public static function userId(): ?string
{
return self::ensureLoggedIn()->getId();
}
public static function ensureLoggedIn(): LocalUser
{
if (($user = self::user()) == null) {