Commit Graph

4 Commits

Author SHA1 Message Date
Jakub Zych
c60ae6e5d1 feat(19.3-04): purge the host site's page cache after FAQ saves and deletes
- FormAfterCreate/FormAfterUpdate run the locale check, then register a
  purge of kind faq through cooler.PurgeSiteCacheAfterCommit
- new FormAfterDelete purges after the delete commits
- purgeSiteCache helper takes the save transaction from cabana.TxFromContext
  and the purger from cooler.SiteCacheFromApp (site_cache.* keys)
- TestFaqAdminPurgesSiteCache on Postgres
2026-10-15 18:22:45 +02:00
919cf06eca test(17-06): FAQ plugin unit tests
- TestFaqContentDecode, TestFaqModel and TestFaqSerialize (Docker-free):
  content as list, JSON text or row-keyed object, required export
  fields, the model contract, output sanitizing, null description,
  question text and the slug shape
- TestFaqAPI and TestFaqImport (Postgres): active duplicate behind an
  inactive lower id, default locale per is_default, a disabled default,
  malformed slugs, keyed content order, malformed rows aborting before
  any write
2026-10-12 19:42:42 +02:00
1585f06b3c feat(17-04): public FAQ API with output sanitizing, throttle bucket and README
- GET /_faq/api/v1/faqs/{slug}?locale=xx, anonymous, faq-public-api bucket (120/min per client IP)
- locale by enabled code or the default locale; active row, lowest id among duplicates
- description and answers passed through seaglass.Sanitize on output; 404 {"error":"FAQ not found"}
- TestFaqAPISmoke; README with API, CORS paths, import workflow and Winter adaptations
- go mod tidy records the test dependencies
2026-10-12 17:51:22 +02:00
1c5491232a feat(17-04): FAQ plugin tracer, admin FAQ with sanitized question repeater
- golem15.faq plugin (Requires golem15.translate), table golem15_faq_faqs with the PHP columns
- FAQ model with jsonable content and the translate Locale relation
- admin controller golem15.faq.faqs: name, slug, locale, active switch, richeditor description, question repeater
- navigation FAQ (order 500), permission golem15.faq.faqs, en and pl phrasebooks
- TestFaqAdminSmoke: answers stored sanitized with a notice under content.1.answer
2026-10-12 17:24:52 +02:00