Dokumentacja
ForceKit to zbiór narzędzi typu Jamstack/SPA zbudowanych w Astro. Cała logika wykonuje się po stronie klienta — w architekturze Zero Trust żadne dane wejściowe nie są przesyłane na serwer.
Narzędzia
🔁 Konwerter ID (15 ↔ 18)
Natychmiastowa, dwukierunkowa konwersja 15- i 18-znakowych identyfikatorów Salesforce. Algorytm sumy kontrolnej działa w całości w przeglądarce.
Wejście: 15- lub 18-znakowy identyfikator rekordu
Wyjście: Identyfikator w obu formatach (15 i 18 znaków)
📋 Formater klauzuli IN (SOQL)
Przekształca kolumnę wartości (np. wklejoną z Excela lub CSV) w sformatowaną listę rozdzieloną przecinkami w pojedynczych cudzysłowach, gotową do wklejenia do SOQL.
Wejście: Lista wartości (po jednej w wierszu lub rozdzielone przecinkami)
Wyjście: Klauzula IN, np. ('id1', 'id2', 'id3')
✨ SOQL Beautifier & Analyzer
Porządkuje długie i zagnieżdżone zapytania SOQL (wcięcia, nowe linie, wielkość słów kluczowych) oraz ostrzega o potencjalnych problemach z wydajnością (brak WHERE/LIMIT, wiodący wildcard, operatory negujące).
Wejście: Surowe zapytanie SOQL
Wyjście: Sformatowane zapytanie, Lista ostrzeżeń analizy
🏗️ JSON → Apex Wrapper
Tworzy silnie typowane klasy Apex (DTO) na podstawie wklejonego JSON-a — z klasami zagnieżdżonymi, listami i metodą parse(). Idealne do mapowania odpowiedzi z zewnętrznych API.
Wejście: Struktura JSON, Nazwa klasy głównej
Wyjście: Kod klasy Apex (wrapper z klasami zagnieżdżonymi)
⏰ Generator CRON (Apex)
Graficzny kreator poprawnych wyrażeń CRON dla metody System.schedule(), uwzględniający specyfikę składni Salesforce (m.in. wzajemne wykluczanie pól Day_of_month i Day_of_week).
Wejście: Częstotliwość, godzina, dni
Wyjście: Wyrażenie CRON Salesforce, Czytelny opis harmonogramu
🔍 Porównywarka uprawnień (XML)
Wizualne narzędzie typu diff dla plików .profile oraz .permissionset — wychwytuje różnice w uprawnieniach CRUD (obiekty) oraz FLS (pola).
Wejście: Dwa pliki/teksty XML (.profile / .permissionset)
Wyjście: Lista różnic: dodane, usunięte, zmienione uprawnienia
📊 Governor Limits — ściąga
Czytelna, filtrowalna tabela limitów Salesforce dla pojedynczej transakcji, z jasnym podziałem na kontekst synchroniczny i asynchroniczny.
Wejście: Filtr kategorii / fraza
Wyjście: Tabela limitów (sync vs async)
Statyczne API
Maszynowo czytelny katalog narzędzi jest dostępny jako statyczny zasób JSON. Ponieważ GitLab Pages serwuje wyłącznie pliki statyczne, „endpoint” jest generowany w czasie buildu i nie przetwarza danych użytkownika.
GET /api/tools.json
Przykład użycia: curl https://forcekit.org/api/tools.json
{
"name": "ForceKit API",
"version": "1.0",
"tools": [
{
"slug": "id-converter",
"name": "Konwerter ID (15 ↔ 18)",
"category": "Identyfikatory",
"url": "https://forcekit.org/tools/id-converter",
"inputs": ["15- lub 18-znakowy identyfikator rekordu"],
"outputs": ["Identyfikator w obu formatach (15 i 18 znaków)"]
}
// ...
]
}