namespace BookStack\Users;
+use BookStack\Access\UserInviteException;
use BookStack\Access\UserInviteService;
use BookStack\Activity\ActivityType;
use BookStack\Entities\EntityProvider;
class UserRepo
{
- protected UserAvatars $userAvatar;
- protected UserInviteService $inviteService;
-
- /**
- * UserRepo constructor.
- */
- public function __construct(UserAvatars $userAvatar, UserInviteService $inviteService)
- {
- $this->userAvatar = $userAvatar;
- $this->inviteService = $inviteService;
+ public function __construct(
+ protected UserAvatars $userAvatar,
+ protected UserInviteService $inviteService
+ ) {
}
+
/**
* Get a user by their email address.
*/
* As per "createWithoutActivity" but records a "create" activity.
*
* @param array{name: string, email: string, password: ?string, external_auth_id: ?string, language: ?string, roles: ?array} $data
+ * @throws UserInviteException
*/
public function create(array $data, bool $sendInvite = false): User
{
$user->apiTokens()->delete();
$user->favourites()->delete();
$user->mfaValues()->delete();
+ $user->watches()->delete();
$user->delete();
// Delete user profile images