feat: Complete AI Chat Agent, Admin Settings (MCP/AI), and Translations
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -18,6 +18,7 @@ export const users = pgTable("users", {
|
||||
isSearchable: boolean("is_searchable").notNull().default(false), // Privacy setting
|
||||
apiKey: text("api_key"), // For MCP Server access
|
||||
aiEnabled: boolean("ai_enabled").notNull().default(true), // Feature flag per user
|
||||
routineConfig: json("routine_config").$type<{ morningTime: string, eveningTime: string, enabled: boolean }>().default({ morningTime: "09:00", eveningTime: "17:00", enabled: true }),
|
||||
});
|
||||
|
||||
export const systemSettings = pgTable("system_settings", {
|
||||
@@ -61,6 +62,13 @@ export const tasks = pgTable("tasks", {
|
||||
startDate: timestamp("start_date"), // For multi-day tasks
|
||||
dependencies: text("dependencies").array(), // Array of task IDs
|
||||
userId: varchar("user_id").references(() => users.id), // Added for ownership
|
||||
|
||||
// Recurrence
|
||||
isRecurring: boolean("is_recurring").notNull().default(false),
|
||||
recurrenceInterval: text("recurrence_interval"), // 'daily', 'weekly', 'monthly', 'yearly'
|
||||
recurrenceIntervalValue: integer("recurrence_interval_value").default(1),
|
||||
recurrenceDays: integer("recurrence_days").array(), // 0=Sunday, 1=Monday etc.
|
||||
recurrenceEnd: timestamp("recurrence_end"),
|
||||
});
|
||||
|
||||
// Single Task Sharing
|
||||
|
||||
Reference in New Issue
Block a user