-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.d.ts
More file actions
35 lines (32 loc) · 5.21 KB
/
types.d.ts
File metadata and controls
35 lines (32 loc) · 5.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
* Automatically generated types for motia
* Do NOT edit this file manually.
*
* Consider adding this file to .prettierignore and eslint ignore.
*/
import { EventHandler, ApiRouteHandler, ApiResponse, MotiaStream, CronHandler } from 'motia'
declare module 'motia' {
interface FlowContextStateStreams {
}
interface Handlers {
'SendMorningReminder': EventHandler<{ templateId: string; email: string; templateData: Record<string, unknown> }, never>
'MonthlyExpenseReportJob': CronHandler<never>
'DailyMorningReminderJob': CronHandler<{ topic: 'sendMorningReminder'; data: { templateId: string; email: string; templateData: Record<string, unknown> } }>
'DailyReminderJob': CronHandler<{ topic: 'sendReminder'; data: { templateId: string; email: string; templateData: Record<string, unknown> } }>
'SendReminder': EventHandler<{ templateId: string; email: string; templateData: Record<string, unknown> }, never>
'verifyOtp': ApiRouteHandler<{ email: string; otp: string }, unknown, { topic: 'notification'; data: { templateId: string; email: string; templateData: Record<string, unknown> } }>
'signup': ApiRouteHandler<{ name: string; email: string; password: string; monthly_budget?: number }, ApiResponse<200, { user: { id: number; name: string; email: string } }> | ApiResponse<400, { message: string }> | ApiResponse<500, { message: string; error: string }>, { topic: 'send_otp'; data: { templateId: string; email: string; templateData: Record<string, unknown> } }>
'monthly-budget-update': ApiRouteHandler<{ userId: number; amount: number; action?: 'POST' | 'GET' }, ApiResponse<200, { message: string; overallBudget: { amount: number } }> | ApiResponse<400, { message: string }> | ApiResponse<500, { message: string; error: string }>, never>
'category-budget-update': ApiRouteHandler<{ userId: number; category: 'food' | 'travel' | 'transport' | 'entertainment' | 'shopping' | 'bills' | 'other'; limit: number }, ApiResponse<200, { message: string; category: { name: 'food' | 'travel' | 'transport' | 'entertainment' | 'shopping' | 'bills' | 'other'; limit: number; spent: number } }> | ApiResponse<400, { message: string }> | ApiResponse<500, { message: string; error: string }>, never>
'SendOtp': EventHandler<{ templateId: string; email: string; templateData: Record<string, unknown> }, never>
'reports-export': ApiRouteHandler<Record<string, unknown>, ApiResponse<200, { summary: { generatedOn: string; totalExpenses: number; budget: number; remaining: number }; categoryBreakdown: { category: string; spent: number; budget: number; usage: string }[]; transactions: { date: string; category: string; description: string; amount: number }[]; recurringExpenses: { category: string; description: string; amount: number; frequency: string; status: string }[] }> | ApiResponse<400, { error: string }> | ApiResponse<401, { error: string }> | ApiResponse<500, { error: string }>, never>
'recurring-expense': ApiRouteHandler<{ action: 'add' | 'update' | 'delete' | 'list'; userId: number; id?: number; title?: string; amount?: number; frequency?: 'daily' | 'weekly' | 'monthly' | 'yearly'; startDate?: string; endDate?: unknown; status?: 'active' | 'inactive' }, ApiResponse<200, { message: string; data?: unknown }> | ApiResponse<400, { message: string }> | ApiResponse<404, { message: string }> | ApiResponse<500, { message: string; error: string }>, never>
'Notification': EventHandler<{ templateId: string; email: string; templateData: Record<string, unknown> }, never>
'login': ApiRouteHandler<{ email: string; password: string }, ApiResponse<200, { token: string; user: { id: number; name: string; email: string } }> | ApiResponse<400, { message: string }> | ApiResponse<500, { message: string; error: string }>, never>
'reports-analytics': ApiRouteHandler<Record<string, unknown>, ApiResponse<200, { spendingByCategory: { category: string; amount: number }[]; dailySpendingTrend: { date: string; amount: number }[]; insights: { highestExpense: number; averageDaily: number; totalTransactions: number; recurringTotal: number } }> | ApiResponse<400, { error: string }> | ApiResponse<404, { error: string }> | ApiResponse<500, { error: string }>, never>
'expense-get': ApiRouteHandler<Record<string, unknown>, ApiResponse<200, { totals: Record<string, number>; recentExpenses: { id: number; amount: number; category: string; description: unknown; createdAt: string }[] }> | ApiResponse<400, { message: string }> | ApiResponse<500, { message: string; error: string }>, never>
'expense-history': ApiRouteHandler<Record<string, unknown>, ApiResponse<200, { expenses: { id: number; date: string; category: 'food' | 'travel' | 'transport' | 'entertainment' | 'shopping' | 'bills' | 'other'; description: unknown; amount: number }[] }> | ApiResponse<400, { message: string }> | ApiResponse<500, { message: string; error: string }>, never>
'expense-add': ApiRouteHandler<{ userId: number; amount: number; category: string; description?: string; date?: string }, ApiResponse<200, { id: number; amount: number; category: string; description?: string; date: string }> | ApiResponse<400, { message: string }> | ApiResponse<500, { message: string; error: string }>, never>
'db-test': ApiRouteHandler<Record<string, unknown>, unknown, never>
}
}