feat: bulk XML upload, period selector, and session persistence
- Add bulk XML CFDI upload support (up to 300MB) - Add period selector component for month/year navigation - Fix session persistence on page refresh (Zustand hydration) - Fix income/expense classification based on tenant RFC - Fix IVA calculation from XML (correct Impuestos element) - Add error handling to reportes page - Support multiple CORS origins - Update reportes service with proper Decimal/BigInt handling - Add RFC to tenant view store for proper CFDI classification - Update README with changelog and new features Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -32,5 +32,5 @@ export function getPlanLimits(plan: Plan) {
|
||||
}
|
||||
|
||||
export function hasFeature(plan: Plan, feature: string): boolean {
|
||||
return PLANS[plan].features.includes(feature);
|
||||
return (PLANS[plan].features as readonly string[]).includes(feature);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import type { Role } from '../types/auth';
|
||||
|
||||
export const ROLES = {
|
||||
admin: {
|
||||
name: 'Administrador',
|
||||
@@ -13,8 +15,6 @@ export const ROLES = {
|
||||
},
|
||||
} as const;
|
||||
|
||||
export type Role = keyof typeof ROLES;
|
||||
|
||||
export function hasPermission(role: Role, permission: string): boolean {
|
||||
return ROLES[role].permissions.includes(permission as any);
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ export interface UserInfo {
|
||||
role: Role;
|
||||
tenantId: string;
|
||||
tenantName: string;
|
||||
tenantRfc: string;
|
||||
}
|
||||
|
||||
export interface JWTPayload {
|
||||
|
||||
Reference in New Issue
Block a user