-
-
Notifications
You must be signed in to change notification settings - Fork 403
Apikeys #670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Apikeys #670
Conversation
# Conflicts: # backend/app/DomainObjects/ProductDomainObject.php # backend/app/Services/Handlers/Order/CompleteOrderHandler.php # frontend/src/components/routes/product-widget/SelectProducts/Prices/Tiered/index.tsx # frontend/src/components/routes/product-widget/SelectProducts/index.tsx # frontend/src/locales/de.js # frontend/src/locales/de.po # frontend/src/locales/en.js # frontend/src/locales/en.po # frontend/src/locales/es.js # frontend/src/locales/es.po # frontend/src/locales/fr.js # frontend/src/locales/fr.po # frontend/src/locales/pt-br.js # frontend/src/locales/pt-br.po # frontend/src/locales/pt.js # frontend/src/locales/pt.po # frontend/src/locales/ru.js # frontend/src/locales/ru.po # frontend/src/locales/zh-cn.js # frontend/src/locales/zh-cn.po
# Conflicts: # backend/app/DomainObjects/Generated/ProductDomainObjectAbstract.php # backend/app/Services/Domain/Ticket/CreateTicketService.php # backend/app/Services/Handlers/Ticket/CreateTicketHandler.php # backend/app/Services/Handlers/Ticket/DTO/UpsertTicketDTO.php # backend/app/Services/Handlers/Ticket/EditTicketHandler.php # frontend/src/components/forms/ProductForm/index.tsx # frontend/src/components/modals/CreateTicketModal/index.tsx # frontend/src/components/modals/EditProductModal/index.tsx # frontend/src/components/routes/product-widget/AttendeeProductAndInformation/index.tsx # frontend/src/components/routes/product-widget/PrintProduct/index.tsx # frontend/src/components/routes/product-widget/SelectProducts/index.tsx # frontend/src/locales/de.js # frontend/src/locales/de.po # frontend/src/locales/en.js # frontend/src/locales/en.po # frontend/src/locales/es.js # frontend/src/locales/es.po # frontend/src/locales/fr.js # frontend/src/locales/fr.po # frontend/src/locales/pt-br.js # frontend/src/locales/pt-br.po # frontend/src/locales/pt.js # frontend/src/locales/pt.po # frontend/src/locales/ru.js # frontend/src/locales/ru.po # frontend/src/locales/zh-cn.js # frontend/src/locales/zh-cn.po # frontend/src/styles/widget/default.scss
# Conflicts: # frontend/src/components/common/AttendeeCheckInTable/QrScanner.tsx # frontend/src/components/common/AttendeeCheckInTable/index.tsx
# Conflicts: # frontend/src/components/routes/product-widget/SelectProducts/index.tsx # frontend/src/styles/widget/default.scss
…flow-UX-improvements
# Conflicts: # backend/app/Services/Domain/Event/DuplicateEventService.php # frontend/src/components/routes/product-widget/SelectProducts/index.tsx
…notes Add ability to add notes to an attendee + Refactor Attendee modal
# Conflicts: # frontend/src/components/common/AttendeeList/index.tsx
# Conflicts: # backend/app/Exports/AttendeesExport.php # backend/app/Http/Actions/Attendees/GetAttendeeAction.php # backend/app/Http/Request/Attendee/CreateAttendeeRequest.php # backend/app/Resources/Attendee/AttendeeResource.php # backend/app/Services/Application/Handlers/Attendee/CreateAttendeeHandler.php # backend/app/Services/Domain/Order/OrderCancelService.php # backend/app/Services/Handlers/Attendee/EditAttendeeHandler.php # frontend/src/components/forms/CapaciyAssigmentForm/index.tsx # frontend/src/components/modals/CreateCapacityAssignmentModal/index.tsx # frontend/src/components/modals/EditAttendeeModal/index.tsx # frontend/src/components/modals/EditCapacityAssignmentModal/index.tsx # frontend/src/locales/de.js # frontend/src/locales/de.po # frontend/src/locales/en.js # frontend/src/locales/en.po # frontend/src/locales/es.js # frontend/src/locales/es.po # frontend/src/locales/fr.js # frontend/src/locales/fr.po # frontend/src/locales/pt-br.js # frontend/src/locales/pt-br.po # frontend/src/locales/pt.js # frontend/src/locales/pt.po # frontend/src/locales/ru.js # frontend/src/locales/ru.po # frontend/src/locales/zh-cn.js # frontend/src/locales/zh-cn.po
Co-authored-by: Dave Earley <[email protected]>
I have read the CLA Document and I hereby sign the CLA 1 out of 2 committers have signed the CLA. |
I have read the CLA Document and I hereby sign the CLA |
Hi @Mikefluff, Thanks for the effort on this. From a quick look at the first few files, it seems there are some unintended changes. This is probably because the branch isn't fully up to date with develop. I'm fully supportive of using AI to help with changes, but in this case, there are some files like the API docs that aren't essential to the feature and would be better left out. These kinds of files need constant updates and can easily fall out of sync. I also noticed endpoints for creating roles, but I didn't see where those roles are being enforced. What was your plan for handling that? |
Feature: Complete API Key Management System
Overview
This merge request introduces a comprehensive API key management system for Hi.Events, enabling users to create, manage, and revoke API keys for programmatic access to the platform. This feature includes both backend API endpoints and a complete frontend interface for managing API keys.
🎯 Key Features Added
1. API Key Management Backend
2. Frontend User Interface
3. Developer Experience
📋 Changes Made
Backend Changes (
backend/
)New API Endpoints
Action Classes Created
CreateApiKeyAction.php
- Handles API key creation with abilities and expirationGetApiKeysAction.php
- Retrieves user's API keysRevokeApiKeyAction.php
- Safely revokes API keysSecurity & Authorization
minimumAllowedRole(Role::ADMIN)
Frontend Changes (
frontend/
)New Components
ApiKeys/index.tsx
- Main API key management interfaceCreateApiKeyModal/index.tsx
- Modal for creating new API keysApiKeyForm/index.tsx
- Form component with permission selectionAPI Client Integration
api-keys.client.ts
- Frontend API client for key managementUser Experience Features
Type Definitions (
types.ts
)Documentation
New Documentation Files
API_DOCUMENTATION.md
- Complete API documentation with all endpointsAPI_ROUTES_SUMMARY.md
- Quick reference for all available routesFeatures Documented
🚀 API Key Capabilities
Permission Scopes Available
*
)Security Features
🌐 Internationalization
Translation support added for 12 languages:
🔧 Technical Implementation
Backend Architecture
Frontend Architecture
Bug Fixes Included
CreateApiKeyReques
→CreateApiKeyRequest
📊 API Statistics
🧪 Testing & Quality Assurance
💡 Benefits
🔮 Future Enhancements
Checklist