Felhasználók – rendszerleírás

Az alap felhasználók rendszer-nézete: végpontok, a létrehozás kvóta- és client-kötési lépései, a meghívó és a jelszó-visszaállítás, a törlés-védelem és a jogosultság.

Áttekintés

Az alap felhasználók nézete: lista, form, státusz, API-kulcs, portál-link, meghívó és jelszó-visszaállítás. A táblanevek a telepítés saját előtagjával állnak az adatbázisban. Érintett: az alap felhasználó- és csoport-tábla, user_api_key, portál-tárolók, person (kötés), user_feature, subscription_account, usage.

Csak rendszergazdai végpontok

user.list, user.form, user.status, user.token és user.tokendelete (API-kulcs a user_api_key táblában), user.portalinfo, user.portaldomain, user.portalsend (portál-link, bolt-választás, kiküldés Dlbtmail::dispatch-csel), user.delete. Mind isSuper()-t kér. A törlés saját magát nem törli; hivatkozások esetén (getUserLinks) felsorolja őket és tilt; különben deleteUser.

Létrehozás (add, SUBSCRIPTION)

  1. Jog: canSave($route, 0) → canAction(add).
  2. Validáció: felhasználónév legalább 3, e-mail, jelszó legalább 4 karakter.
  3. Kvóta: Dlbtquota::checkAction(creator, 'user/user', 'add', 1) – need_credit vagy need_plan esetén hiba és ajánló-adat a modalhoz.
  4. addUser() a beküldött csoporttal, fillUserRoleFromGroup().
  5. Ha a létrehozónak van házi clientje: attachUserToClient() és syncClientPlan(client, creator, new_user).
  6. consumeAction(); opcionális személy-összekötés (person_id); json.redirect a formra.

Módosítás és meghívó

  • edit: canSave($route, id) → canAction(edit); editUser(), csoportváltásnál fillUserRoleFromGroup().
  • invite (user.invite, user.passwordreset, user.inviterevoke): meghívó vagy jelszó-visszaállító link e-mailben (Dlbtmail::dispatch), naplóval (dlbtlog); a visszavonás a felhasználó nyitott meghívó-tokenjeit érvényteleníti. Jog: canAction(invite); e-mail és fiók megléte.

Jogosultság és korlátok

  • A seedben a list UNMAPPED, a statusdelete BASE – a vezérlő egyiket sem kérdezi. Az edit, invite, debug nincs besorolva.
  • A létrehozás nem korlátozza a választható felhasználói csoportot.
  • A módosítás nem ellenőrzi a cél-felhasználó tartalmi hatókörét.