Tiago Yamamoto
722e72cdbd
Implement FCM Token Management (DB, Backend, Frontend, Backoffice)
2025-12-26 10:41:50 -03:00
Tiago Yamamoto
f1fc45b5ce
Add company edit section to profile page for Admin users
2025-12-26 10:12:56 -03:00
Tiago Yamamoto
d52a83f94b
Redirect /profile to /dashboard/profile for dashboard layout
2025-12-26 10:09:41 -03:00
Tiago Yamamoto
78857b7afe
Show Backoffice menu only for Superadmin users
2025-12-26 10:08:22 -03:00
Tiago Yamamoto
e0b16e5b29
Fix profile 404/500 and user deletion 403
2025-12-26 09:55:19 -03:00
Tiago Yamamoto
f51a8dd99c
fix: resolved user profile 500 error, fixed frontend build types, enhanced logging, increases test coverage
2025-12-26 01:35:34 -03:00
Tiago Yamamoto
3fa875ed98
feat: implemented delete application endpoint and dashboard action
2025-12-26 01:29:31 -03:00
Tiago Yamamoto
7b76b62490
feat(backoffice): implemented edit and delete company functionality
2025-12-26 01:23:01 -03:00
Tiago Yamamoto
43c0719664
feat(users): add company selection and status to create user modal
2025-12-26 01:18:14 -03:00
Tiago Yamamoto
6ab7e357fb
fix(users): resolve 403 on update and enable role/status editing
2025-12-26 01:14:18 -03:00
Tiago Yamamoto
e47c25fac8
fix(companies): format JSON description in modal
...
- Added formatDescription helper to parse JSON and display as formatted list
- Shows tagline, stores, employees, motto etc as labeled fields
- Falls back to plain text if not JSON
2025-12-26 01:02:16 -03:00
Tiago Yamamoto
16012b701a
fix(companies): remove Slug column from table
2025-12-26 01:01:10 -03:00
Tiago Yamamoto
aa97d86d0e
feat(jobs): add public job posting page
...
- Created /register/job page with same layout as company registration
- Split panel design: info panel on left, form on right
- Two-step form: job details, then salary & company selection
- Uses same styling and animations as company registration
2025-12-26 00:54:33 -03:00
Tiago Yamamoto
546e253a5f
feat(companies): add view modal and fix createdAt field
...
- Added modal dialog to view company details when clicking eye icon
- Fixed createdAt field name (was created_at, Go returns camelCase)
- Expanded AdminCompany type to include all company fields
- Modal shows: status badges, contact info, description, timestamps
2025-12-26 00:47:04 -03:00
Tiago Yamamoto
cb6afe9583
fix(frontend): enable job delete/update API calls and add logging
...
- Added update() and delete() methods to jobsApi in api.ts
- Fixed handleDeleteJob to call jobsApi.delete() instead of just local state
- Fixed handleSaveEdit to call jobsApi.update() instead of being commented out
- Added console logging to all CRUD operations for debugging
2025-12-25 22:41:38 -03:00
Tiago Yamamoto
362b569c8d
refactor(frontend): consolidate job creation into single page form
...
- Replaced 6-step wizard (673 lines) with single-page form (290 lines)
- Removed billing/payment steps for now
- All fields visible with clear section headers
- Save as Draft and Publish buttons
2025-12-25 22:11:16 -03:00
Tiago Yamamoto
39d1eff80f
fix(frontend): fix string/number ID comparison in jobs page
...
- handleDeleteJob: compare string IDs directly instead of parseInt
- handleSaveEdit: use string ID for future update logic
- IDs are now UUIDs (strings) after migration
2025-12-25 21:49:09 -03:00
Tiago Yamamoto
39fde338b4
fix(frontend): pass string ID to adminCompaniesApi.updateStatus
2025-12-25 21:00:01 -03:00
Tiago Yamamoto
48dad702d6
fix(frontend): adjust admin jobs pagination property access
2025-12-24 19:53:54 -03:00
Tiago Yamamoto
4eae018a25
fix(backoffice): use string IDs for companies/jobs/users, fix audit log, ensure real tags support
2025-12-24 19:43:49 -03:00
Tiago Yamamoto
cc5ac7c73c
feat: add profile page, dynamic dashboard, and fix candidate 500 error
2025-12-24 19:22:14 -03:00
Tiago Yamamoto
617bb5ab39
fix(rbac): add migration to fix seeded users roles and patch notifications store
2025-12-24 18:14:35 -03:00
Tiago Yamamoto
0aa93d0440
fix(ui): use LoadingScreen in RootLayout suspense fallback
2025-12-24 17:28:53 -03:00
Tiago Yamamoto
63f4511020
feat(ui): improve initial loading screen with spinner
2025-12-24 17:28:24 -03:00
Tiago Yamamoto
37512a7d1c
fix(frontend): save token to legacy 'token' key for backward compatibility
2025-12-24 17:22:46 -03:00
Tiago Yamamoto
c1650fd1a4
fix(frontend): check both 'auth_token' and 'token' in api client
...
Unblocks API calls by correctly reading the token saved by auth.ts
2025-12-24 17:16:54 -03:00
Tiago Yamamoto
d3c06f5564
feat: expand testing, add fast seeder options, hardcode superadmin
...
- start.sh: Add options 8 (Seed LITE - skip cities) and 9 (Run All Tests)
- seeder: Add seed:lite, seed:fast scripts and --skip-locations flag
- seeder: Remove superadmin creation (now via backend migration)
- backend: Update 010_seed_super_admin.sql with hardcoded hash (Admin@2025! + pepper)
- backend: Expand jwt_service_test.go with 5 new tests (+10% coverage)
- frontend: Fix api.test.ts URL duplication bug, add error handling tests
- seeder: Add SQL data files to .gitignore
2025-12-24 17:07:45 -03:00
Tiago Yamamoto
dec9dc4897
fix(frontend): fix TypeScript errors in auth.test.ts
...
- Add 'as const' to role literals for proper type inference
- Fixes build error: Type 'string' not assignable to 'candidate' | 'admin' | 'company'
2025-12-24 16:32:25 -03:00
Tiago Yamamoto
b72c63f947
chore(frontend): update jobs page
2025-12-24 16:23:16 -03:00
Tiago Yamamoto
3f89edd327
debug: add detailed logging for company options mapping
2025-12-24 15:09:25 -03:00
Tiago Yamamoto
7e0a58feb4
chore: add detailed debug logs for login flow
2025-12-24 14:26:09 -03:00
Tiago Yamamoto
c1078563df
refactor(roles): rename companyAdmin->admin and jobSeeker->candidate
2025-12-24 13:30:50 -03:00
Tiago Yamamoto
246c55b0f5
feat: add advanced filters UI to jobs page
...
Frontend:
- Add salaryMin, salaryMax, currencyFilter, visaSupport state
- Enable sortBy dropdown with 4 options (recent, salary_desc, salary_asc, relevance)
- Add currency filter (BRL, USD, EUR, JPY)
- Update api.ts jobsApi.list with new filter params
- Fix employmentType query param name (was 'type')
All filters now match backend API endpoints
2025-12-24 11:46:12 -03:00
Tiago Yamamoto
340911b4d1
feat(auth): add cookie parsing and JWT auth guard to backoffice
...
- Add JWT auth guard with Bearer token and cookie support
- Update .env.example files with PASSWORD_PEPPER documentation
- Update seeder to use PASSWORD_PEPPER for password hashing
- Update seeder README with hash verification examples
- Fix frontend auth and page components
- Update backend JWT service and seed migration
2025-12-24 10:27:04 -03:00
Tiago Yamamoto
02f35b46b6
feat: implement dynamic dashboard, auth hardening (pepper/httponly) and backend tests
2025-12-24 01:30:33 -03:00
Tiago Yamamoto
0f2aae3073
fix(backoffice): force 0.0.0.0 binding to resolve deployment crash
...
refactor(backend): consolidate admin routes and implement RBAC
feat(frontend): update api client to use consolidated routes
2025-12-24 00:59:33 -03:00
Tiago Yamamoto
7d4bc253d5
refactor: remove AI banner and change 'I'm a company' to 'Postar Vaga'
2025-12-24 00:39:53 -03:00
Tiago Yamamoto
bda4741c17
feat: add AI-powered company section with 'Postar uma Vaga' button on home page
2025-12-24 00:26:02 -03:00
Tiago Yamamoto
35d3032d52
feat: add backoffice API client with NEXT_PUBLIC_BACKOFFICE_URL env var
2025-12-23 23:56:12 -03:00
Tiago Yamamoto
b7987dead9
fix: use NEXT_PUBLIC_API_URL env var for API requests
2025-12-23 23:50:56 -03:00
Tiago Yamamoto
9f7d8e9ca5
feat: add 6-step job wizard with Preview, Billing, Payment steps and Stripe integration preparation
2025-12-23 23:00:17 -03:00
Tiago Yamamoto
42e9f81f48
feat: enhance job form with currency, salary periods, contract types, and add ER diagram docs
2025-12-23 22:49:33 -03:00
Tiago Yamamoto
80d38ee615
feat(frontend): add multi-step job posting wizard with API integration
2025-12-23 22:40:19 -03:00
Tiago Yamamoto
9bc924ab54
fix(frontend): add console.log debugging to job create form, load companies from API
2025-12-23 22:28:16 -03:00
Tiago Yamamoto
fdece70a8a
fix(frontend): renaming ApiCompany to AdminCompany to fix build error
2025-12-23 22:13:19 -03:00
Tiago Yamamoto
908ec41ca9
fix(frontend): Correctly handle paginated companies response in backoffice
2025-12-23 21:40:16 -03:00
Tiago Yamamoto
300c76a156
fix(frontend): Export missing APIs for dashboard and backoffice
2025-12-23 19:37:47 -03:00
Tiago Yamamoto
398f1904dd
fix(frontend): Use correct admin endpoint for company pagination
2025-12-23 19:27:22 -03:00
Tiago Yamamoto
78ce341370
feat: Implement Ticket System, Profile Page integration, and fix migrations
2025-12-23 19:22:55 -03:00
Tiago Yamamoto
fd59bfacb2
feat(frontend): implement view, edit and delete actions for admin jobs
2025-12-23 18:53:09 -03:00