feat(*): add data injection
This commit is contained in:
@@ -22,6 +22,12 @@ export const getById = query({
|
||||
ragDatabaseId: v.id('ragDatabases'),
|
||||
activeSince: v.number()
|
||||
})
|
||||
),
|
||||
injectCollectionMode: v.optional(
|
||||
v.object({
|
||||
injectDatabaseId: v.id('injectDatabases'),
|
||||
activeSince: v.number()
|
||||
})
|
||||
)
|
||||
}),
|
||||
v.null()
|
||||
@@ -50,6 +56,12 @@ export const getByTelegramId = query({
|
||||
ragDatabaseId: v.id('ragDatabases'),
|
||||
activeSince: v.number()
|
||||
})
|
||||
),
|
||||
injectCollectionMode: v.optional(
|
||||
v.object({
|
||||
injectDatabaseId: v.id('injectDatabases'),
|
||||
activeSince: v.number()
|
||||
})
|
||||
)
|
||||
}),
|
||||
v.null()
|
||||
@@ -177,3 +189,41 @@ export const getRagCollectionMode = query({
|
||||
return user?.ragCollectionMode ?? null;
|
||||
}
|
||||
});
|
||||
|
||||
export const startInjectCollectionMode = mutation({
|
||||
args: { userId: v.id('users'), injectDatabaseId: v.id('injectDatabases') },
|
||||
returns: v.null(),
|
||||
handler: async (ctx, args) => {
|
||||
await ctx.db.patch(args.userId, {
|
||||
injectCollectionMode: {
|
||||
injectDatabaseId: args.injectDatabaseId,
|
||||
activeSince: Date.now()
|
||||
}
|
||||
});
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
export const stopInjectCollectionMode = mutation({
|
||||
args: { userId: v.id('users') },
|
||||
returns: v.null(),
|
||||
handler: async (ctx, args) => {
|
||||
await ctx.db.patch(args.userId, { injectCollectionMode: undefined });
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
export const getInjectCollectionMode = query({
|
||||
args: { userId: v.id('users') },
|
||||
returns: v.union(
|
||||
v.object({
|
||||
injectDatabaseId: v.id('injectDatabases'),
|
||||
activeSince: v.number()
|
||||
}),
|
||||
v.null()
|
||||
),
|
||||
handler: async (ctx, args) => {
|
||||
const user = await ctx.db.get(args.userId);
|
||||
return user?.injectCollectionMode ?? null;
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user