export const testString = sessionQuery({
args: { id: v.id('dataPool') },
handler: async (ctx, args) => {
const dataPool = await ctx.table('dataPool').get(args.id)
const test = await queryIdString(ctx, dataPool.idUnionFieldOrString as string)
return test
},
})
async function queryIdString(ctx: SessionQueryCtx, idString: string) {
const tableNames = ['users', 'members', 'events']
const tableResults = await Promise.all(
tableNames.map(async (tableName) => {
const test = ctx.table(tableName as any).normalizeId(idString)
return test ? { tableName, test } : null
})
)
const result = tableResults.filter((result) => result !== null)
if (result.length === 0) {
return null
}
return ctx.table(result[0].tableName as any).get(result[0].test)
}
export const testString = sessionQuery({
args: { id: v.id('dataPool') },
handler: async (ctx, args) => {
const dataPool = await ctx.table('dataPool').get(args.id)
const test = await queryIdString(ctx, dataPool.idUnionFieldOrString as string)
return test
},
})
async function queryIdString(ctx: SessionQueryCtx, idString: string) {
const tableNames = ['users', 'members', 'events']
const tableResults = await Promise.all(
tableNames.map(async (tableName) => {
const test = ctx.table(tableName as any).normalizeId(idString)
return test ? { tableName, test } : null
})
)
const result = tableResults.filter((result) => result !== null)
if (result.length === 0) {
return null
}
return ctx.table(result[0].tableName as any).get(result[0].test)
}