redAi Developers

Do czego moduł ma dostęp i zasady

Kod modułu działa w tym samym procesie co portal. Technicznie mógłby więcej, niż mu wolno, dlatego poniższe zasady sprawdzamy przy każdym akcepcie. Złamanie którejkolwiek = odrzucenie wydania, a w poważnym przypadku blokada modułu i konta.

Moduł może:

  • czytać i zapisywać własne tabele (prefiks = klucz modułu),
  • czytać i zapisywać własne ustawienia w App\Models\Setting (klucz zaczyna się od klucza modułu),
  • czytać zalogowaną osobę ($request->user()) oraz listę osób i grup (App\Models\User, App\Models\UserGroup), żeby przypisywać rekordy i ustawiać widoczność,
  • czytać projekty, ich członków i powiązanie czatu z projektem przez App\Narzedzia\Projekty oraz zakładać czaty z pierwszą wiadomością przez App\Narzedzia\Rozmowy::zaloz() (sekcja Projekty i czaty),
  • zapisywać pliki w storage/app/<klucz>/ i czytać pliki z własnego folderu,
  • używać wspólnych elementów portalu z tabeli w sekcji Widoki, kolejki (dispatch), maila portalu (Mail) i klienta HTTP Laravela (Http) w granicach zasad niżej,
  • dodawać haki, skille czatu, zadania cykliczne i krótkie adresy.

Moduł nie może:

  1. Zapisywać do tabel, których nie założył. Tabele portalu (czaty, projekty, pliki, użytkownicy, ustawienia innych modułów) są tylko do odczytu, i to tylko w zakresie z listy wyżej. Jeśli potrzebujecie więcej, napiszcie do nas.
  2. Ruszać plików portalu ani innych modułów: bez zapisu do app/, routes/, config/, resources/, public/, .env, bootstrap/, vendor/, narzedzia/<inny klucz>/.
  3. Łączyć się z siecią poza tym, co zadeklarowaliście. Każdy zewnętrzny adres, z którym moduł rozmawia, wpisujecie w opis_pozycji.szczegoly (np. „Moduł pobiera kursy walut z api.nbp.pl”) i w polu uwagi przy wysyłce. Niezadeklarowane połączenie = odrzucenie.
  4. Mieć sekretów w paczce: haseł, tokenów, kluczy API, plików .env, danych dostępowych do czegokolwiek. Sekrety wpisuje administrator instancji w ustawieniach modułu.
  5. Uruchamiać programów systemu: bez exec, shell_exec, system, passthru, proc_open, popen, odwrotnych apostrofów, eval i ładowania kodu z sieci.
  6. Wysyłać danych klienta poza instancję bez jego zgody. Dane firmy zostają na instancji. Wyjątek: wysyłka jest celem modułu, jest opisana w opis_pozycji i administrator świadomie włącza moduł (np. wysyłka faktur do systemu księgowego).
  7. Zmieniać zachowania portalu poza hakami: bez podmiany widoków portalu, globalnych middleware, nadpisywania tras portalu i własnych tras /{cos} w przestrzeni krótkich adresów.
  8. Ukrywać działania: kod ma być czytelny, bez zaciemniania, bez plików binarnych z kodem i bez minifikowanego PHP.

Ostatnia zmiana dokumentacji: 29.09.2026. Pytania: m@redai.pl.