export const getCustomersSearch = query({
args: {
search: v.string(),
},
handler: async (ctx, args) => {
const currentOrganization = await getCurrentOrganization(ctx)
let customers: Doc<'customers'>[] = []
const byLegalName = await ctx.db
.query('customers')
.withSearchIndex('search_legal_name', (q) =>
q
.search('legalName', args.search)
.eq('organizationId', currentOrganization._id),
)
.take(10)
const byAlias = await ctx.db
.query('customers')
.withSearchIndex('search_alias', (q) =>
q
.search('alias', args.search)
.eq('organizationId', currentOrganization._id),
)
.take(10)
customers = [...byLegalName, ...byAlias]
return await Promise.all(
customers.map(async (customer) => transformCustomer(customer._id, ctx)),
)
},
})
export const getCustomersSearch = query({
args: {
search: v.string(),
},
handler: async (ctx, args) => {
const currentOrganization = await getCurrentOrganization(ctx)
let customers: Doc<'customers'>[] = []
const byLegalName = await ctx.db
.query('customers')
.withSearchIndex('search_legal_name', (q) =>
q
.search('legalName', args.search)
.eq('organizationId', currentOrganization._id),
)
.take(10)
const byAlias = await ctx.db
.query('customers')
.withSearchIndex('search_alias', (q) =>
q
.search('alias', args.search)
.eq('organizationId', currentOrganization._id),
)
.take(10)
customers = [...byLegalName, ...byAlias]
return await Promise.all(
customers.map(async (customer) => transformCustomer(customer._id, ctx)),
)
},
})