- Added AccessControl to ComboHandler for role-based access management. - Implemented gas estimation for plan execution and improved gas limit checks. - Updated execution and preparation methods to enforce step count limits and role restrictions. - Enhanced error handling in orchestrator API endpoints with AppError for better validation feedback. - Integrated request timeout middleware for improved request management. - Updated Swagger documentation to reflect new API structure and parameters.
34 lines
746 B
TypeScript
34 lines
746 B
TypeScript
import { query } from "../db/postgres";
|
|
|
|
/**
|
|
* API quota management
|
|
*/
|
|
export interface Quota {
|
|
userId: string;
|
|
planCreations: number;
|
|
planExecutions: number;
|
|
dailyLimit: number;
|
|
monthlyLimit: number;
|
|
}
|
|
|
|
/**
|
|
* Check if user has quota remaining
|
|
*/
|
|
export async function checkQuota(userId: string, type: "creation" | "execution"): Promise<boolean> {
|
|
// In production, query quota table
|
|
// For now, return true (unlimited)
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Increment quota usage
|
|
*/
|
|
export async function incrementQuota(userId: string, type: "creation" | "execution"): Promise<void> {
|
|
// In production, update quota table
|
|
// await query(
|
|
// `UPDATE quotas SET ${type}s = ${type}s + 1 WHERE user_id = $1`,
|
|
// [userId]
|
|
// );
|
|
}
|
|
|