Conversation
- Create API client builder with public and authed endpoint configurations. - Define authentication endpoints (register, login, refresh token, logout). - Define user management endpoints (list, get, create) with Zod schemas.
- Replaced NuxtWelcome/RouteAnnouncer in app.vue with NuxtLayout. - Created auth and default layout components for application shell. - Added index.vue page with permission-based card grid.
- Exclude `/login` from protected route checks. - Redirect unauthenticated users to login page for protected routes. - Prevent logged-in users from accessing `/login` page.
- Added `locale.ts` endpoint definitions for CRUD and default locale operations. - Created `CommonSchema.ts` with pagination request and response schemas. - Updated `app/lib/api/index.ts` to register the new locale endpoints.
- Define DefinitionSchema with full CRUD operations - Define EntrySchema with full CRUD operations - Add Locale, Localization, Permission, Role, Terminology, User schemas - Update common.ts with shared pagination logic - Export all schemas in index.ts
… Roles, Terminologies, and Users - Added definitions endpoint with CRUD operations - Added entries endpoint with CRUD operations - Added localizations endpoint with CRUD operations - Added roles endpoint with CRUD operations - Added terminologies endpoint with CRUD operations - Added users endpoint with CRUD operations - Updated index.ts to export new endpoints
…lizations, Roles, Terminology, and Users - Added useDefinitionStore with pagination support - Added useEntryStore with pagination support - Added useLocaleStore with pagination support - Added useLocalizationStore with pagination support - Added useRoleStore with pagination support - Added useTerminologyStore with pagination support - Added useUserStore with pagination support
…ology schemas - Extend `EntrySchema` with a `localizations` array. - Extend `TerminologySchema` with a `definitions` array.
- Add Permission type imports to usePermission.ts and can.ts - Filter out null permissions in permission checks across composable and directive - Update RoleSchema to allow nullable arrays for permissions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a comprehensive API layer with REST endpoints, request/response schemas, and global authentication middleware. It establishes state management for core entities (Definitions, Entries, Users) and implements a permission system using the
v-candirective.Changes
auth.global.ts) and an Auth Store for session management.v-candirective for permission-based rendering, application layouts (default and auth), and a dashboard page.useApiandusePermissioncomposable functions for easy access to API instances and permission checks.app.vueto use NuxtLayout for proper routing structure.Test Plan
v-candirective by ensuring elements are hidden or removed when the user lacks specific permissions.