Skip to content

Commit d07b4ed

Browse files
authored
Merge pull request #1713 from SynBioHub/addCountEndpoints
Add support for count endpoints
2 parents e003945 + 84f2373 commit d07b4ed

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

lib/app.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,16 +301,28 @@ function App () {
301301
app.get('/public/:collectionId/:displayId/:version/uses', requirePublicLogin, views.search)
302302
app.get('/public/:collectionId/:displayId/:version/similar', requirePublicLogin, views.search)
303303

304+
app.get('/public/:collectionId/:displayId/:version/twinsCount', requirePublicLogin, views.search)
305+
app.get('/public/:collectionId/:displayId/:version/usesCount', requirePublicLogin, views.search)
306+
app.get('/public/:collectionId/:displayId/:version/similarCount', requirePublicLogin, views.search)
307+
304308
app.get('/user/:userId/:collectionId/:displayId/:version/subCollections', requirePublicLogin, api.subCollections)
305309
app.get('/user/:userId/:collectionId/:displayId/:version/twins', requirePublicLogin, views.search)
306310
app.get('/user/:userId/:collectionId/:displayId/:version/uses', requirePublicLogin, views.search)
307311
app.get('/user/:userId/:collectionId/:displayId/:version/similar', requirePublicLogin, views.search)
308312

313+
app.get('/user/:userId/:collectionId/:displayId/:version/twinsCount', requirePublicLogin, views.search)
314+
app.get('/user/:userId/:collectionId/:displayId/:version/usesCount', requirePublicLogin, views.search)
315+
app.get('/user/:userId/:collectionId/:displayId/:version/similarCount', requirePublicLogin, views.search)
316+
309317
app.get('/user/:userId/:collectionId/:displayId/:version/:hash/share/subCollections', requirePublicLogin, api.subCollections)
310318
app.get('/user/:userId/:collectionId/:displayId/:version/:hash/share/twins', requirePublicLogin, views.search)
311319
app.get('/user/:userId/:collectionId/:displayId/:version/:hash/share/uses', requirePublicLogin, views.search)
312320
app.get('/user/:userId/:collectionId/:displayId/:version/:hash/share/similar', requirePublicLogin, views.search)
313321

322+
app.get('/user/:userId/:collectionId/:displayId/:version/:hash/share/twinsCount', requirePublicLogin, views.search)
323+
app.get('/user/:userId/:collectionId/:displayId/:version/:hash/share/usesCount', requirePublicLogin, views.search)
324+
app.get('/user/:userId/:collectionId/:displayId/:version/:hash/share/similarCount', requirePublicLogin, views.search)
325+
314326
app.get('/sparql', requirePublicLogin, sparql)
315327
app.post('/sparql', requirePublicLogin, bodyParser.urlencoded({ extended: true }), sparql)
316328

lib/views/search.js

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ module.exports = function (req, res) {
6868
var designId
6969
var uri
7070

71-
if (req.originalUrl.toString().endsWith('/uses') || req.originalUrl.toString().includes('/uses/?offset')) {
71+
if (req.originalUrl.toString().endsWith('/uses') || req.originalUrl.toString().endsWith('/usesCount') ||
72+
req.originalUrl.toString().includes('/uses/?offset')) {
7273
if (req.params.userId) {
7374
designId = req.params.collectionId + '/' + req.params.displayId + '/' + req.params.version
7475
uri = config.get('databasePrefix') + 'user/' + encodeURIComponent(req.params.userId) + '/' + designId
@@ -84,7 +85,8 @@ module.exports = function (req, res) {
8485
)
8586
}
8687

87-
if (req.originalUrl.toString().endsWith('/twins') || req.originalUrl.toString().includes('/twins/?offset')) {
88+
if (req.originalUrl.toString().endsWith('/twins') || req.originalUrl.toString().endsWith('/twinsCount') ||
89+
req.originalUrl.toString().includes('/twins/?offset')) {
8890
if (req.params.userId) {
8991
designId = req.params.collectionId + '/' + req.params.displayId + '/' + req.params.version
9092
uri = config.get('databasePrefix') + 'user/' + encodeURIComponent(req.params.userId) + '/' + designId
@@ -103,7 +105,8 @@ module.exports = function (req, res) {
103105
)
104106
}
105107

106-
if (req.originalUrl.toString().endsWith('/similar') || req.originalUrl.toString().includes('/similar/?offset')) {
108+
if (req.originalUrl.toString().endsWith('/similar') || req.originalUrl.toString().endsWith('/similarCount') ||
109+
req.originalUrl.toString().includes('/similar/?offset')) {
107110
if (config.get('useSBOLExplorer')) {
108111
if (req.params.userId) {
109112
designId = req.params.collectionId + '/' + req.params.displayId + '/' + req.params.version
@@ -143,7 +146,10 @@ module.exports = function (req, res) {
143146
user: req.user
144147
}
145148

146-
if (req.originalUrl.indexOf('/searchCount') !== -1) {
149+
if (req.originalUrl.indexOf('/searchCount') !== -1 ||
150+
req.originalUrl.endsWith('/usesCount') ||
151+
req.originalUrl.endsWith('/twinsCount') ||
152+
req.originalUrl.endsWith('/similarCount')) {
147153
res.header('content-type', 'text/plain').send(count.toString())
148154
} else if (req.forceNoHTML || !req.accepts('text/html')) {
149155
var jsonResults = results.map(function (result) {

0 commit comments

Comments
 (0)