Files
speckle-server/packages/server/modules/core/services/commits.js
T
2024-10-17 14:22:10 +03:00

35 lines
1.3 KiB
JavaScript

'use strict'
const knex = require('@/db/knex')
const { getStreamBranchByNameFactory } = require('@/modules/core/repositories/branches')
const {
getBranchCommitsTotalCountFactory,
getPaginatedBranchCommitsItemsFactory
} = require('@/modules/core/repositories/commits')
module.exports = {
async getCommitsTotalCountByBranchName({ streamId, branchName }) {
branchName = branchName.toLowerCase()
const getStreamBranchByName = getStreamBranchByNameFactory({ db: knex })
const myBranch = await getStreamBranchByName(streamId, branchName)
if (!myBranch) throw new Error(`Failed to find branch with name ${branchName}.`)
const getBranchCommitsTotalCount = getBranchCommitsTotalCountFactory({ db: knex })
return getBranchCommitsTotalCount({ branchId: myBranch.id })
},
async getCommitsByBranchName({ streamId, branchName, limit, cursor }) {
branchName = branchName.toLowerCase()
const getStreamBranchByName = getStreamBranchByNameFactory({ db: knex })
const myBranch = await getStreamBranchByName(streamId, branchName)
if (!myBranch) throw new Error(`Failed to find branch with name ${branchName}.`)
const getPaginatedBranchCommits = getPaginatedBranchCommitsItemsFactory({
db: knex
})
return getPaginatedBranchCommits({ branchId: myBranch.id, limit, cursor })
}
}