export const update = mutation({
args: {
id: v.id("vendors"),
name: v.optional(v.string()),
category: v.optional(v.string()),
contactPerson: v.optional(v.string()),
email: v.optional(v.string()),
phone: v.optional(v.string()),
address: v.optional(v.string()),
website: v.optional(v.string()),
description: v.optional(v.string()),
status: v.optional(v.string()),
riskScore: v.optional(v.number()),
totalSpend: v.optional(v.number()),
performance: v.optional(v.number()),
logoStorageId: v.optional(v.id("_storage")),
},
handler: async (ctx, args) => {
const { id, ...fields } = args
if (args.logoStorageId) {
const vendor = await ctx.db.get(args.id);
if (vendor?.logoStorageId) {
await ctx.storage.delete(vendor.logoStorageId)
}
}
await ctx.db.patch(id, {
...fields,
updatedAt: Date.now(),
})
},
})
export const update = mutation({
args: {
id: v.id("vendors"),
name: v.optional(v.string()),
category: v.optional(v.string()),
contactPerson: v.optional(v.string()),
email: v.optional(v.string()),
phone: v.optional(v.string()),
address: v.optional(v.string()),
website: v.optional(v.string()),
description: v.optional(v.string()),
status: v.optional(v.string()),
riskScore: v.optional(v.number()),
totalSpend: v.optional(v.number()),
performance: v.optional(v.number()),
logoStorageId: v.optional(v.id("_storage")),
},
handler: async (ctx, args) => {
const { id, ...fields } = args
if (args.logoStorageId) {
const vendor = await ctx.db.get(args.id);
if (vendor?.logoStorageId) {
await ctx.storage.delete(vendor.logoStorageId)
}
}
await ctx.db.patch(id, {
...fields,
updatedAt: Date.now(),
})
},
})