function requireAccessToList(
listID: string,
accessingUserID: string,
) {
const shareListIdSubquery = db
.select({ listID: share.listID })
.from(share)
.where(eq(share.userID, accessingUserID))
.as('shareListIdSubquery')
const listRowStatementQuery = db
.select({ count: sql<number>`count(*)` })
.from(list)
.where(
and(
eq(list.id, listID),
or(
eq(list.ownerID, accessingUserID),
inArray(list.id, shareListIdSubquery),
),
),
)
.prepare()
const numberOfRows = listRowStatementQuery.all()
if (numberOfRows.length === 0) {
throw new Error("Authorization error, can't access list")
}
}
function requireAccessToList(
listID: string,
accessingUserID: string,
) {
const shareListIdSubquery = db
.select({ listID: share.listID })
.from(share)
.where(eq(share.userID, accessingUserID))
.as('shareListIdSubquery')
const listRowStatementQuery = db
.select({ count: sql<number>`count(*)` })
.from(list)
.where(
and(
eq(list.id, listID),
or(
eq(list.ownerID, accessingUserID),
inArray(list.id, shareListIdSubquery),
),
),
)
.prepare()
const numberOfRows = listRowStatementQuery.all()
if (numberOfRows.length === 0) {
throw new Error("Authorization error, can't access list")
}
}