. */ declare(strict_types=1); namespace FireflyIII\Repositories\Webhook; use FireflyIII\Enums\UserRoleEnum; use FireflyIII\Models\UserGroup; use FireflyIII\Models\Webhook; use FireflyIII\Models\WebhookAttempt; use FireflyIII\Models\WebhookMessage; use FireflyIII\User; use Illuminate\Contracts\Auth\Authenticatable; use Illuminate\Support\Collection; /** * Interface WebhookRepositoryInterface * * @method setUserGroup(UserGroup $group) * @method getUserGroup() * @method getUser() * @method checkUserGroupAccess(UserRoleEnum $role) * @method setUser(null|Authenticatable|User $user) * @method setUserGroupById(int $userGroupId) */ interface WebhookRepositoryInterface { /** * Return all webhooks. */ public function all(): Collection; public function destroy(Webhook $webhook): void; public function destroyAttempt(WebhookAttempt $attempt): void; public function destroyMessage(WebhookMessage $message): void; public function getAttempts(WebhookMessage $webhookMessage): Collection; public function getMessages(Webhook $webhook): Collection; public function getReadyMessages(Webhook $webhook): Collection; public function store(array $data): Webhook; public function update(Webhook $webhook, array $data): Webhook; }