Files
speckle-server/packages/server/modules/core/services/objects.js
T
2024-10-21 17:49:02 +03:00

35 lines
834 B
JavaScript

const knex = require(`@/db/knex`)
const Objects = () => knex('objects')
module.exports = {
async getObjectsStream({ streamId, objectIds }) {
const res = Objects()
.whereIn('id', objectIds)
.andWhere('streamId', streamId)
.orderBy('id')
.select(
knex.raw(
'"id", "speckleType", "totalChildrenCount", "totalChildrenCountByDepth", "createdAt", data::text as "dataText"'
)
)
return res.stream({ highWaterMark: 500 })
},
async hasObjects({ streamId, objectIds }) {
const dbRes = await Objects()
.whereIn('id', objectIds)
.andWhere('streamId', streamId)
.select('id')
const res = {}
for (const i in objectIds) {
res[objectIds[i]] = false
}
for (const i in dbRes) {
res[dbRes[i].id] = true
}
return res
}
}