Všetky výnimky sú v RoundlyConsulting\Teams\Exceptions a rozširujú TeamsException, ktorá rozširuje RuntimeException. Zachyťte základný typ pre akúkoľvek chybu balíka, alebo konkrétny pre cielenú obsluhu:
| Výnimka | Vyhadzuje | Kedy |
|---|---|---|
InviteExpiredException | AcceptInviteAction | Platnosť pozvánky (expires_at) vypršala. |
InviteExhaustedException | AcceptInviteAction | uses dosiahlo max_uses — aj pri už spotrebovanej jednorazovej pozvánke. |
InviteEmailMismatchException | AcceptInviteAction | Pozvánka na konkrétny e-mail dostane iný alebo žiadny e-mail (bez ohľadu na veľkosť písmen). |
InviteNotFoundException | Teams::invites()->accept() | Kódu nezodpovedá žiadna pozvánka, pozvánka bola zrušená alebo jej tím zmazaný. |
InviteNotFoundException | for($t)->invites()->resend() / revoke() | Pozvánka patrí inému tímu. |
JoinRequestNotFoundException | for($t)->joinRequests()->approve() / deny() | Žiadosť patrí inému tímu. |
JoinRequestNotPendingException | for($t)->joinRequests()->approve() / deny() | Žiadosť už bola schválená, zamietnutá alebo vypršala — aj keď ju súčasne vybavil niekto iný. |
MemberNotFoundException | for($t)->members()->changeRole() | Model nie je členom tímu. |
TeamsException | joinRequests()->open(), members()->add(), transferOwnershipTo() | Základná trieda. Priamo ju vyhodí žiadosť do tímu len na pozvánky, žiadosť od aktívneho člena a dosiahnutý limit miest. |
use RoundlyConsulting\Teams\Exceptions\InviteEmailMismatchException;
use RoundlyConsulting\Teams\Exceptions\InviteExhaustedException;
use RoundlyConsulting\Teams\Exceptions\InviteExpiredException;
use RoundlyConsulting\Teams\Exceptions\InviteNotFoundException;
use RoundlyConsulting\Teams\Exceptions\TeamsException;
try {
Teams::invites()->accept($code, $user, email: $user->email);
} catch (InviteExpiredException) {
// the link has expired
} catch (InviteExhaustedException) {
// no seats left, or a single-use link already consumed
} catch (InviteEmailMismatchException) {
// the wrong recipient
} catch (InviteNotFoundException) {
// an unknown code, a revoked invite or a deleted team
} catch (TeamsException $e) {
// any other teams error — e.g. a seat limit
}Kontroly pozvánky idú v poradí vypršaná → vyčerpaná → zrušená → nezhodný e-mail → zmazaný tím, takže zachytíte prvú podmienku, ktorá zlyhá.
Preložené hlášky
Hlášky výnimiek pozvánok, žiadostí a členstiev pochádzajú z prekladov balíka (menný priestor teams::):
| Kľúč | Predvolená hláška |
|---|---|
teams::errors.already_member | The given model is already a member of team #:team. |
teams::errors.invite_expired | The invite ":code" has expired. |
teams::errors.invite_email_mismatch | This invite is addressed to ":email". |
teams::errors.invite_exhausted | The invite ":code" has reached its usage limit. |
teams::errors.invite_not_found | No invite was found for the code ":code". |
teams::errors.invite_team_missing | The team of invite #:id no longer exists. |
teams::errors.invite_unavailable | Invite #:id is no longer available. |
teams::errors.invite_not_in_team | Invite #:id does not belong to this team. |
teams::errors.join_request_not_pending | Join request #:id has already been resolved. |
teams::errors.join_request_not_in_team | Join request #:id does not belong to this team. |
teams::errors.member_not_found | The given model is not a member of team #:team. |
php artisan vendor:publish --tag="teams-translations"
# edit lang/vendor/teams/en/errors.php, or add other localesPrejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.