feat(Nextcloud sync & optimize)
All checks were successful
Deploy Roxane to Preprod / deploy (push) Successful in 1m18s

This commit is contained in:
2026-01-30 15:27:23 +01:00
parent b8de637b23
commit 9649d99e15
11 changed files with 307 additions and 245 deletions

View File

@@ -9,6 +9,11 @@ use App\Models\Package;
class MemberService
{
/**
* Register a new member.
* @param array $data
* @return Member
*/
public function registerNewMember(array $data): Member
{
// Check if the member already exists
@@ -52,4 +57,15 @@ class MemberService
return $member;
}
/**
* Disable a member and his subscriptions
*/
public function deactivateMember(Member $member): void
{
// todo: send email to member + admin
$member->update(['status' => 'excluded']);
$member->memberships()->update(['status' => 'expired']);
}
}

View File

@@ -26,7 +26,7 @@ class NextcloudService
}
/**
* Désactive un utilisateur Nextcloud à partir de son email
* Disable user by email
* @throws ConnectionException
*/
public function disableUserByEmail(string $email): void
@@ -46,7 +46,16 @@ class NextcloudService
}
/**
* Trouve le userId Nextcloud à partir de lemail
* Desable user by id
* @throws ConnectionException
*/
public function disableUserById(string $userId): void
{
$response = $this->http->put("/cloud/users/{$userId}/disable");
}
/**
* Find user id by email
*/
protected function findUserIdByEmail(string $email): ?string
{