diff --git a/Deps/Bindaas/Dockerfile b/Deps/Bindaas/Dockerfile
deleted file mode 100644
index f8b93918..00000000
--- a/Deps/Bindaas/Dockerfile
+++ /dev/null
@@ -1,34 +0,0 @@
-FROM alpine:3.9
-LABEL maintainer="ashish@dbmi.emory.edu"
-
-### update and include Shadow to manage users and groups
-RUN apk update
-RUN apk --no-cache add wget
-RUN apk --no-cache add shadow
-
-# Add group Bindaas and user Bindaas
-RUN groupadd -g 9999 bindaas && \
- useradd -r -u 9999 -g bindaas bindaas
-
-WORKDIR /root/src
-
-RUN apk --no-cache add openjdk8-jre
-WORKDIR /root/bindaas/
-RUN wget https://github.com/sharmalab/bindaas/releases/download/v3.3.8/bindaas-dist-3.3.8.tar.gz
-RUN tar -xvf bindaas-dist-3.3.8.tar.gz && rm bindaas-dist-3.3.8.tar.gz
-COPY bindaas.config.json /root/bindaas/bin/
-COPY run.sh /root/bindaas/bin/
-
-# Add java to path
-ENV PATH /root/src/jre1.8.0_171/bin:$PATH
-
-RUN chown -R bindaas:bindaas /root/
-
-WORKDIR /root/bindaas/bin
-
-USER bindaas
-
-EXPOSE 9099
-EXPOSE 8080
-
-CMD ["sh", "run.sh"]
diff --git a/Deps/Bindaas/bindaas.config.json b/Deps/Bindaas/bindaas.config.json
deleted file mode 100644
index 665dc086..00000000
--- a/Deps/Bindaas/bindaas.config.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "host": "0.0.0.0",
- "port": 9099,
- "protocol": "http",
- "enableAuthentication": false,
- "enableAuthorization": false,
- "enableAudit": true,
- "authenticationProviderClass": "edu.emory.cci.bindaas.security.impl.DBAuthenticationProvider",
- "authorizationProviderClass": "edu.emory.cci.bindaas.security_dashboard.service.AuthorizationProviderImpl",
- "auditProviderClass": "edu.emory.cci.bindaas.security.impl.DBAuditProvider",
- "proxyUrl": "http://localhost:9099",
- "instanceName": "bindaas"
-}
diff --git a/Deps/Bindaas/run.sh b/Deps/Bindaas/run.sh
deleted file mode 100644
index ed8ba61a..00000000
--- a/Deps/Bindaas/run.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-java -jar -Dpid=BINDAAS_INSTANCE org.eclipse.osgi_3.10.100.v20150529-1857.jar
-
-while true; do sleep 1000; done
diff --git a/Deps/auth_service/.gitignore b/Deps/auth_service/.gitignore
deleted file mode 100644
index c2658d7d..00000000
--- a/Deps/auth_service/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules/
diff --git a/Deps/auth_service/Dockerfile b/Deps/auth_service/Dockerfile
deleted file mode 100644
index d4fabe64..00000000
--- a/Deps/auth_service/Dockerfile
+++ /dev/null
@@ -1,10 +0,0 @@
-FROM node:8-alpine
-RUN mkdir /root/src
-COPY . /root/src
-WORKDIR /root/src
-
-RUN npm config set unsafe-perm true
-RUN npm install
-RUN npm install -g forever
-EXPOSE 8010
-CMD forever app.js
diff --git a/Deps/auth_service/about.md b/Deps/auth_service/about.md
deleted file mode 100644
index a0048a05..00000000
--- a/Deps/auth_service/about.md
+++ /dev/null
@@ -1 +0,0 @@
-This is a pre-pathdb service to answer auth questions.
diff --git a/Deps/auth_service/app.js b/Deps/auth_service/app.js
deleted file mode 100644
index c733e8c2..00000000
--- a/Deps/auth_service/app.js
+++ /dev/null
@@ -1,165 +0,0 @@
-const express = require('express')
-const rp = require('request-promise');
-const app = express();
-const fs = require("fs");
-var atob = require('atob');
-var jwt = require('jsonwebtoken');
-var jwkToPem = require('jwk-to-pem');
-var cookieParser = require('cookie-parser');
-const jwksClient = require('jwks-rsa');
-var PORT = process.env.PORT || 8010
-var BASE_USER_URL = "http://ca-data:9099/services/caMicroscope/Authorization/query/getAuth?name="
-var SECRET = process.env.SECRET
-var EXPIRY = process.env.EXPIRY || "1d"
-var JWK_URL = process.env.JWKS
-var KEY_FIELD = process.env.KEY_FIELD || "accessCollection"
-var AUD = process.env.AUD || false
-var ISS = process.env.ISS || false
-
-var jwks_client = false
-console.log(JWK_URL)
-if (JWK_URL){
- jwks_client = jwksClient({
- jwksUri: JWK_URL
-});
-}
-
-// get cookies
-app.use(cookieParser())
-
-try {
- let prikey_path = "/keys/key"
- if(fs.existsSync(prikey_path)){
- var PRIKEY = fs.readFileSync(prikey_path, 'utf8')
- }
-} catch (err){
- console.error(err)
-}
-
-try {
- let pubkey_path = "/keys/key.pub"
- if(fs.existsSync(pubkey_path)){
- var PUBKEY = fs.readFileSync(pubkey_path, 'utf8')
- }
-} catch (err){
- console.error(err)
-}
-
-try {
- let cert_path = "/keys/certificate"
- if(fs.existsSync(cert_path)){
- var SECRET = fs.readFileSync(cert_path, 'utf8')
- }
-} catch (err){
- console.error(err)
-}
-// jwks
-try {
- let jwk_path = "/keys/jwk.json"
- if(fs.existsSync(jwk_path)){
- var SECRET = jwkToPem(JSON.parse(fs.readFileSync(jwk_path, 'utf8')))
- }
-} catch (err){
- console.error(err)
-}
-
-const getToken = function(req) {
- if (req.headers.authorization && req.headers.authorization.split(' ')[0] === 'Bearer') { // Authorization: Bearer g1jipjgi1ifjioj
- // Handle token presented as a Bearer token in the Authorization header
- return req.headers.authorization.split(' ')[1];
- } else if (req.query && req.query.token) {
- // Handle token presented as URI param
- return req.query.token;
- } else if (req.cookies && req.cookies.token) {
- // Handle token presented as a cookie parameter
- return req.cookies.token;
- }
-}
-
-function getJwtKid(token) {
- var base64Url = token.split('.')[0];
- var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
- var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {
- return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
- }).join(''));
-
- return JSON.parse(jsonPayload).kid;
-};
-
-function jwk_token_trade(check_key, sign_key){
- return function(req,res){
- var THISTOKEN = getToken(req)
- if(!jwks_client){
- console.log("something wrong...")
- token_trade(check_key, sign_key)(req,res)
- }
- jwks_client.getSigningKey(getJwtKid(THISTOKEN), (err,key)=>{
- console.log(key)
- let use_key = key.publicKey || key.rsaPublicKey
- if(err){
- res.status(401).send(err)
- } else {
- token_trade(use_key, sign_key)(req,res)
- }
- })
- }
-}
-
-
-// curry these calls
-function token_trade(check_key, sign_key){
- return function(req,res){
- var THISTOKEN = getToken(req)
- let jwt_options = {}
- if (AUD){
- jwt_options.audience = AUD
- }
- if (ISS){
- jwt_options.issuer = ISS
- }
- jwt.verify(THISTOKEN, check_key, jwt_options, function(err, token){
- if (err){
- res.status(401).send(err)
- } else {
- if (!(token && (token.email || token.sub))){
- // jwt doesn't say who you are, so bye
- res.send(401).send({err:"email and sub are unset from source token"})
- } else {
- var name = token.email || token.sub
- user_detail = rp({
- uri: BASE_USER_URL + name,
- json: true
- })
- user_detail.then(x=>{
- console.log(x)
- if (x.length >= 1 && x[0].hasOwnProperty('name')){
- let attrs = x[0].attrs || []
- data = {
- 'sub':name,
- 'name':x[0].name,
- 'attrs':attrs,
- }
- data[KEY_FIELD] = x[0][KEY_FIELD] || []
- // sign using the mounted key
- var token = jwt.sign(data, sign_key, {algorithm:"RS256", expiresIn: EXPIRY})
- res.send({'token':token})
- } else {
- res.status(401).send({"err":"User Unauthorized"})
- }
- })
- user_detail.catch(e=>{
- console.log(e)
- res.status(401).send(e)
- })
- }
- }
- })
- }
-}
-
-// convert or "check" a token
-app.get("/check", jwk_token_trade(SECRET, PRIKEY))
-// renew a token
-app.get("/renew", token_trade(PUBKEY, PRIKEY))
-
-app.listen(PORT, () => console.log('listening on ' + PORT))
diff --git a/Deps/auth_service/package-lock.json b/Deps/auth_service/package-lock.json
deleted file mode 100644
index a6858630..00000000
--- a/Deps/auth_service/package-lock.json
+++ /dev/null
@@ -1,1063 +0,0 @@
-{
- "name": "auth_service",
- "version": "1.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@types/body-parser": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz",
- "integrity": "sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w==",
- "requires": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "@types/connect": {
- "version": "3.4.32",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz",
- "integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/express": {
- "version": "4.17.0",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.0.tgz",
- "integrity": "sha512-CjaMu57cjgjuZbh9DpkloeGxV45CnMGlVd+XpG7Gm9QgVrd7KFq+X4HY0vM+2v0bczS48Wg7bvnMY5TN+Xmcfw==",
- "requires": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
- "@types/serve-static": "*"
- }
- },
- "@types/express-jwt": {
- "version": "0.0.42",
- "resolved": "https://registry.npmjs.org/@types/express-jwt/-/express-jwt-0.0.42.tgz",
- "integrity": "sha512-WszgUddvM1t5dPpJ3LhWNH8kfNN8GPIBrAGxgIYXVCEGx6Bx4A036aAuf/r5WH9DIEdlmp7gHOYvSM6U87B0ag==",
- "requires": {
- "@types/express": "*",
- "@types/express-unless": "*"
- }
- },
- "@types/express-serve-static-core": {
- "version": "4.16.7",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.7.tgz",
- "integrity": "sha512-847KvL8Q1y3TtFLRTXcVakErLJQgdpFSaq+k043xefz9raEf0C7HalpSY7OW5PyjCnY8P7bPW5t/Co9qqp+USg==",
- "requires": {
- "@types/node": "*",
- "@types/range-parser": "*"
- }
- },
- "@types/express-unless": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/@types/express-unless/-/express-unless-0.5.1.tgz",
- "integrity": "sha512-5fuvg7C69lemNgl0+v+CUxDYWVPSfXHhJPst4yTLcqi4zKJpORCxnDrnnilk3k0DTq/WrAUdvXFs01+vUqUZHw==",
- "requires": {
- "@types/express": "*"
- }
- },
- "@types/mime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz",
- "integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw=="
- },
- "@types/node": {
- "version": "12.7.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.1.tgz",
- "integrity": "sha512-aK9jxMypeSrhiYofWWBf/T7O+KwaiAHzM4sveCdWPn71lzUSMimRnKzhXDKfKwV1kWoBo2P1aGgaIYGLf9/ljw=="
- },
- "@types/range-parser": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz",
- "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA=="
- },
- "@types/serve-static": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.2.tgz",
- "integrity": "sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q==",
- "requires": {
- "@types/express-serve-static-core": "*",
- "@types/mime": "*"
- }
- },
- "accepts": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
- "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
- "requires": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
- }
- },
- "ajv": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
- "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
- "requires": {
- "fast-deep-equal": "^2.0.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
- },
- "asn1": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "asn1.js": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
- "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
- "requires": {
- "bn.js": "^4.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
- },
- "atob": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
- },
- "aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
- "bluebird": {
- "version": "3.5.5",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
- "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w=="
- },
- "bn.js": {
- "version": "4.11.8",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA=="
- },
- "body-parser": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
- "requires": {
- "bytes": "3.1.0",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "on-finished": "~2.3.0",
- "qs": "6.7.0",
- "raw-body": "2.4.0",
- "type-is": "~1.6.17"
- }
- },
- "brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
- },
- "buffer-equal-constant-time": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
- "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
- },
- "bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
- },
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "content-disposition": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
- "requires": {
- "safe-buffer": "5.1.2"
- }
- },
- "content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
- },
- "cookie": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
- "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
- },
- "cookie-parser": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.4.tgz",
- "integrity": "sha512-lo13tqF3JEtFO7FyA49CqbhaFkskRJ0u/UAiINgrIXeRCY41c88/zxtrECl8AKH3B0hj9q10+h3Kt8I7KlW4tw==",
- "requires": {
- "cookie": "0.3.1",
- "cookie-signature": "1.0.6"
- }
- },
- "cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
- },
- "depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
- },
- "destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
- },
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "ecdsa-sig-formatter": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
- "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
- },
- "elliptic": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz",
- "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==",
- "requires": {
- "bn.js": "^4.4.0",
- "brorand": "^1.0.1",
- "hash.js": "^1.0.0",
- "hmac-drbg": "^1.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.0"
- }
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
- },
- "express": {
- "version": "4.17.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
- "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
- "requires": {
- "accepts": "~1.3.7",
- "array-flatten": "1.1.1",
- "body-parser": "1.19.0",
- "content-disposition": "0.5.3",
- "content-type": "~1.0.4",
- "cookie": "0.4.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.1.2",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.5",
- "qs": "6.7.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.1.2",
- "send": "0.17.1",
- "serve-static": "1.14.1",
- "setprototypeof": "1.1.1",
- "statuses": "~1.5.0",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "dependencies": {
- "cookie": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
- }
- }
- },
- "express-promise": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/express-promise/-/express-promise-0.4.0.tgz",
- "integrity": "sha1-BDw8t3iND/KZsGUG30RXIv360eQ="
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
- },
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
- },
- "fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
- },
- "fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
- },
- "finalhandler": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
- "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.0.0"
- }
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
- },
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "forwarded": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
- "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
- },
- "har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
- "requires": {
- "ajv": "^6.5.5",
- "har-schema": "^2.0.0"
- }
- },
- "hash.js": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
- "requires": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.1"
- }
- },
- "hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
- "requires": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
- "http-errors": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.1",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
- },
- "ipaddr.js": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
- "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA=="
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
- },
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
- },
- "json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
- },
- "jsonwebtoken": {
- "version": "8.5.1",
- "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
- "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
- "requires": {
- "jws": "^3.2.2",
- "lodash.includes": "^4.3.0",
- "lodash.isboolean": "^3.0.3",
- "lodash.isinteger": "^4.0.4",
- "lodash.isnumber": "^3.0.3",
- "lodash.isplainobject": "^4.0.6",
- "lodash.isstring": "^4.0.1",
- "lodash.once": "^4.0.0",
- "ms": "^2.1.1",
- "semver": "^5.6.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- }
- }
- },
- "jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "jwa": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
- "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
- "requires": {
- "buffer-equal-constant-time": "1.0.1",
- "ecdsa-sig-formatter": "1.0.11",
- "safe-buffer": "^5.0.1"
- }
- },
- "jwk-to-pem": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/jwk-to-pem/-/jwk-to-pem-2.0.1.tgz",
- "integrity": "sha512-KKu0WuDDjqw2FlRFp9/vk9TMO/KvgpZVKzdhhYcNyy5OwE8dw9lOK5OQTQHIJ7m+HioI/4P44sAtVuDrQ8KQfw==",
- "requires": {
- "asn1.js": "^4.5.2",
- "elliptic": "^6.2.3",
- "safe-buffer": "^5.0.1"
- }
- },
- "jwks-rsa": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-1.6.0.tgz",
- "integrity": "sha512-gLhpd7Ka7Jy8ofm9OVj0PFPtSdx3+W2dncF3UCA1wDTAbvfiB1GhHbbyQlz8bqLF5+rge7pgD/DALRfgZi8Fgg==",
- "requires": {
- "@types/express-jwt": "0.0.42",
- "debug": "^2.6.9",
- "jsonwebtoken": "^8.5.1",
- "limiter": "^1.1.4",
- "lru-memoizer": "^1.12.0",
- "ms": "^2.1.1",
- "request": "^2.88.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- }
- }
- },
- "jws": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
- "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
- "requires": {
- "jwa": "^1.4.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "limiter": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.4.tgz",
- "integrity": "sha512-XCpr5bElgDI65vVgstP8TWjv6/QKWm9GU5UG0Pr5sLQ3QLo8NVKsioe+Jed5/3vFOe3IQuqE7DKwTvKQkjTHvg=="
- },
- "lock": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/lock/-/lock-0.1.4.tgz",
- "integrity": "sha1-/sfervF+fDoKVeHaBCgD4l2RdF0="
- },
- "lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
- },
- "lodash.includes": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
- "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8="
- },
- "lodash.isboolean": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
- "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY="
- },
- "lodash.isinteger": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
- "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M="
- },
- "lodash.isnumber": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
- "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w="
- },
- "lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs="
- },
- "lodash.isstring": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
- "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
- },
- "lodash.once": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
- "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
- },
- "lru-cache": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz",
- "integrity": "sha1-HRdnnAac2l0ECZGgnbwsDbN35V4=",
- "requires": {
- "pseudomap": "^1.0.1",
- "yallist": "^2.0.0"
- }
- },
- "lru-memoizer": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/lru-memoizer/-/lru-memoizer-1.13.0.tgz",
- "integrity": "sha512-q0wMolfI7yimhZ36kBAfMLOIuDBpRkieN9do0YPjSzCaiy6r73s8wOEq7Ue/B95VSRbXzfnOr1O1QdJc5UIqaw==",
- "requires": {
- "lock": "~0.1.2",
- "lodash": "^4.17.4",
- "lru-cache": "~4.0.0",
- "very-fast-args": "^1.1.0"
- }
- },
- "media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
- },
- "merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
- },
- "mime-db": {
- "version": "1.40.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
- "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="
- },
- "mime-types": {
- "version": "2.1.24",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
- "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
- "requires": {
- "mime-db": "1.40.0"
- }
- },
- "minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
- },
- "minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "negotiator": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
- "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
- },
- "on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
- },
- "path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
- },
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
- },
- "proxy-addr": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz",
- "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==",
- "requires": {
- "forwarded": "~0.1.2",
- "ipaddr.js": "1.9.0"
- }
- },
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
- },
- "psl": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz",
- "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag=="
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
- },
- "qs": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
- },
- "range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
- },
- "raw-body": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
- "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
- "requires": {
- "bytes": "3.1.0",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- }
- },
- "request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.0",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "dependencies": {
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
- }
- }
- },
- "request-promise": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz",
- "integrity": "sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==",
- "requires": {
- "bluebird": "^3.5.0",
- "request-promise-core": "1.1.2",
- "stealthy-require": "^1.1.1",
- "tough-cookie": "^2.3.3"
- }
- },
- "request-promise-core": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz",
- "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==",
- "requires": {
- "lodash": "^4.17.11"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "semver": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
- "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA=="
- },
- "send": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
- "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
- "requires": {
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "~1.7.2",
- "mime": "1.6.0",
- "ms": "2.1.1",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.1",
- "statuses": "~1.5.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
- }
- }
- },
- "serve-static": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
- "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
- "requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.17.1"
- }
- },
- "setprototypeof": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
- },
- "sshpk": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
- "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
- },
- "stealthy-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
- "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks="
- },
- "toidentifier": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
- },
- "tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
- },
- "dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
- }
- }
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
- },
- "type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "requires": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- }
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
- },
- "uri-js": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
- "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
- },
- "uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
- },
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
- },
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "very-fast-args": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/very-fast-args/-/very-fast-args-1.1.0.tgz",
- "integrity": "sha1-4W0dH6+KbllqJGQh/ZCneWPQs5Y="
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
- }
- }
-}
diff --git a/Deps/auth_service/package.json b/Deps/auth_service/package.json
deleted file mode 100644
index 61b6d79f..00000000
--- a/Deps/auth_service/package.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "name": "auth_service",
- "version": "1.0.0",
- "description": "",
- "main": "app.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "author": "birm",
- "license": "UNLICENSED",
- "dependencies": {
- "atob": "^2.1.2",
- "cookie-parser": "^1.4.4",
- "express": "^4.16.4",
- "express-promise": "^0.4.0",
- "jsonwebtoken": "^8.4.0",
- "jwk-to-pem": "^2.0.1",
- "jwks-rsa": "^1.6.0",
- "request": "^2.88.0",
- "request-promise": "^4.2.4"
- }
-}
diff --git a/Deps/auth_service/readme.md b/Deps/auth_service/readme.md
deleted file mode 100644
index 111be3a9..00000000
--- a/Deps/auth_service/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Auth Service for Elevate
-
-
-Uses bindaas endpoint to determine users and their permissions.
-
-Set SECRET to the jwt secret, or use /keys/certificate with a certificate, or /keys/jwk.json with a jwk.
-
-Use EXPIRY to set a token expiration other than the default one hour.
-
-This tool needs key and key.pub mounted to /keys to sign JWTs to elevate. In this distribution, run jwt_keys/make_keys.sh to do so.
diff --git a/README.md b/README.md
index 6dfef799..3b5261e9 100644
--- a/README.md
+++ b/README.md
@@ -22,26 +22,38 @@ mongo - vanilla mongo container
idxMongo - ephemeral container to index mongo (that is, this container is *expected* to exit once it's done its job)
-bindaas - api service for mongo (see https://github.com/sharmalab/bindaas)
-
iip - slide tile server (see https://github.com/camicroscope/iipImage)
-viewer - hosts the viewer files and builds packages ( see https://github.com/camicroscope/caMicroscope)
-
loader - extracts metadata needed for image loading (see https://github.com/camicroscope/SlideLoader)
-security - security proxy (see https://github.com/camicroscope/Security)
+back - security, data, and routing (see https://github.com/camicroscope/caracal)
+
+back/viewer - within back, viewer files ( see https://github.com/camicroscope/caMicroscope)
## Configuration
Logging - Container Logging is, for HIPAA reasons, disabled. Feel free to use a different logging engine if desired, especially for development.
-Security and Routes - This is handled by the security container. By default routes go the viewer, unless a specific pattern in routes.json is matched. If security is enabled, supply the SECRET (pub key or secret of JWT) for verification, otherwise set DISABLE_SEC to true.
+See backend and security config notes (here)[https://github.com/camicroscope/caracal]
Image Volume - This is, by default, the images directory in this directory. If this is changed, please make the same change across all impacted services.
+## Securing caMicroscope
+
+### Getting an Identity Provider and Setting up Login
+
+When selecting, an identity provider, note that we expect it to provide a JWT, and to have a certificate/public key/secret which can be used to verify such JWTs.
+
+The example given in the Distro within config/login.html is set up to use google as an identity provider. See [this guide from google](https://developers.google.com/identity/sign-in/web/sign-in) to set up your own project, which is necessary to enable login on your instance.
+
+### Adding Users to Database
+
+Add users as in ./config/add\_mongo\_users.js. Attributes can be added to deny access to routes (e.g. allow only some users to post and delete)
+
+The email field is the email field (or failing that, sub field) in that priority from the identity provider.
+
## PathDB
-To use PathDB, use quip-pathdb.yml instead of caMicroscope.yml. This deployment does not include the auth and loader as separate services, as this PathDB provides that functionality.
+To use PathDB, use quip-pathdb.yml instead of caMicroscope.yml.
Running QuIP with PathDB (https://github.com/SBU-BMI/PathDB):
diff --git a/auth0_login.html b/auth0_login.html
deleted file mode 100644
index 6015938c..00000000
--- a/auth0_login.html
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
Redirecting...
-
-
diff --git a/caMicroscope.yml b/caMicroscope.yml
index e3ebd906..a55340e0 100644
--- a/caMicroscope.yml
+++ b/caMicroscope.yml
@@ -4,11 +4,10 @@ services:
mongo:
image: mongo:3.4.19-jessie
container_name: ca-mongo
- restart: unless-stopped
- volumes:
- - ./db:/data/db
logging:
driver: none
+ volumes:
+ - ./db:/data/db
idxMongo:
image: mongo:3.4.19-jessie
container_name: ca-idx
@@ -22,57 +21,31 @@ services:
- /config/run_idx.sh
depends_on:
- mongo
- bindaas:
- build: "./Deps/Bindaas/"
+ back:
+ build:
+ context: "https://github.com/camicroscope/caracal.git#v3.7.0"
+ args:
+ viewer: "v3.7.0"
depends_on:
- "mongo"
- container_name: ca-data
- restart: unless-stopped
- logging:
- driver: none
+ ports:
+ - "4010:4010"
+ container_name: ca-back
volumes:
- - ./config/bindaas_projects/:/root/bindaas/bin/projects/
- - ./config/bindaas.config.json:/root/bindaas/bin/bindaas.config.json
+ - ./config/login.html:/root/src/static/login.html
+ - ./jwt_keys/:/root/src/keys/
+ environment:
+ JWK_URL: "https://www.googleapis.com/oauth2/v3/certs"
+ IIP_PATH: "http://ca-iip/fcgi-bin/iipsrv.fcgi"
+ MONGO_URI: "mongodb://ca-mongo"
iip:
- build: "https://github.com/caMicroscope/iipImage.git#v3.2.0"
+ image: camicroscope/iipimage:latest
container_name: ca-iip
restart: unless-stopped
volumes:
- ./images/:/images/
- viewer:
- build: "https://github.com/caMicroscope/caMicroscope.git#v3.6.2"
- container_name: ca-front
- restart: unless-stopped
- volumes:
- - ./config/login.html:/usr/local/apache2/htdocs/login.html
- logging:
- driver: none
loader:
- build: "https://github.com/caMicroscope/SlideLoader.git#v3.6.2"
+ build: "https://github.com/camicroscope/SlideLoader.git#v3.7.0"
container_name: ca-load
- restart: unless-stopped
- logging:
- driver: none
volumes:
- ./images/:/images/
- security:
- build: "https://github.com/caMicroscope/Security.git#v3.6.2"
- container_name: ca-security
- restart: unless-stopped
- ports:
- - "4010:4010"
- volumes:
- - ./config/non-pathdb-routes.json:/root/src/routes.json
- - ./jwt_keys/:/keys/
- environment:
- - DISABLE_SEC=true
- auth:
- build: "./Deps/auth_service/"
- volumes:
- - ./jwt_keys/:/keys/
- container_name: ca-auth
- environment:
- JWKS: "https://www.googleapis.com/oauth2/v3/certs"
- restart: unless-stopped
- logging:
- driver: none
diff --git a/config/add_mongo_users.js b/config/add_mongo_users.js
deleted file mode 100644
index f0cfbfa8..00000000
--- a/config/add_mongo_users.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// these roles are customizable, and should match the routes.json attrs
-
-// lists
-let admin_list = ["admin@camicroscope.org"];
-let editor_list = ["editor@camicroscope.org"];
-let viewer_list = ["viewer@camicroscope.org"];
-// admin users
-let admin_attrs = ['admin', 'write']
-// edit users
-let editor_attrs = ['write']
-// normal users
-let viewer_attrs = []
-// prep for mongo
-var users = []
-
-admin_list.forEach(x=>{
- users.push({name:x, attrs: admin_attrs})
-})
-
-editor_list.forEach(x=>{
- users.push({name:x, attrs: editor_attrs})
-})
-
-viewer_list.forEach(x=>{
- users.push({name:x, attrs: viewer_attrs})
-})
-
-db.authorization.insertMany(users)
diff --git a/config/add_users.js b/config/add_users.js
new file mode 100644
index 00000000..d701571f
--- /dev/null
+++ b/config/add_users.js
@@ -0,0 +1,7 @@
+// For use with caracal, this is really just a demo.
+
+let admin = {'email':'viewer@camicroscope.org', 'userFilter':["Public"], 'userType':'Null'}
+// users not added would have been represented by the below
+let randomPerson = {'email':'randomperson@camicroscope.org', 'userFilter':["Public"], 'userType':'Null'}
+users = [admin, randomPerson]
+db.user.insertMany(users)
diff --git a/config/bindaas.config.json b/config/bindaas.config.json
deleted file mode 100644
index 665dc086..00000000
--- a/config/bindaas.config.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "host": "0.0.0.0",
- "port": 9099,
- "protocol": "http",
- "enableAuthentication": false,
- "enableAuthorization": false,
- "enableAudit": true,
- "authenticationProviderClass": "edu.emory.cci.bindaas.security.impl.DBAuthenticationProvider",
- "authorizationProviderClass": "edu.emory.cci.bindaas.security_dashboard.service.AuthorizationProviderImpl",
- "auditProviderClass": "edu.emory.cci.bindaas.security.impl.DBAuditProvider",
- "proxyUrl": "http://localhost:9099",
- "instanceName": "bindaas"
-}
diff --git a/config/bindaas_projects/caMicroscope.project b/config/bindaas_projects/caMicroscope.project
deleted file mode 100644
index d957e136..00000000
--- a/config/bindaas_projects/caMicroscope.project
+++ /dev/null
@@ -1,1431 +0,0 @@
-{
- "profiles": {
- "Mark": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic",
- "collection": "mark",
- "initialize": true
- },
- "queryEndpoints": {
- "get": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}} ,\n\t\t\t\t\t\t\t\"limit\" : 1\n\t\t\t\t\t\t}\n}\n ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "get",
- "timeCreated": "Wed Aug 29 18:40:50 UTC 2018",
- "createdBy": "admin",
- "description": " "
- },
- "findTypesExec": {
- "queryTemplate": "{ \"_operation\" : \"distinct\" , \"_operation_args\" : { \"field\" : \"provenance.analysis\", \"query\" : {\u0027provenance.image.slide\u0027: \"$slide$\",\u0027provenance.analysis.execution_id\u0027: $name$ } } } ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "findTypesExec",
- "timeCreated": "Thu May 09 15:09:53 GMT 2019",
- "createdBy": "admin",
- "description": " "
- },
- "multiFind": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" :{$and: [\n{\"provenance.analysis.execution_id\": {$in: $name$},\n \"provenance.image.slide\" : \"$slide$\",\n \"footprint\": { $not: {$lt: $footprint$}},\n \"provenance.analysis.source\" : {$regex: \"$source$\", $options: \"i\"}},\n{\"x\": { $not: {$lt: $x0$}}},\n{\"x\": { $not: {$gt: $x1$}}},\n{\"y\": { $not: {$lt: $y0$}}},\n{\"y\": { $not: {$gt: $y1$}}}\n ]}\n}\n}\n ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "footprint": {
- "name": "footprint",
- "required": false,
- "defaultValue": "0",
- "description": ""
- },
- "source": {
- "name": "source",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "x0": {
- "name": "x0",
- "required": false,
- "defaultValue": "0",
- "description": ""
- },
- "x1": {
- "name": "x1",
- "required": false,
- "defaultValue": "9",
- "description": ""
- },
- "y0": {
- "name": "y0",
- "required": false,
- "defaultValue": "0",
- "description": ""
- },
- "y1": {
- "name": "y1",
- "required": false,
- "defaultValue": "9",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "multiFind",
- "timeCreated": "Tue Jul 02 17:47:09 GMT 2019",
- "createdBy": "admin",
- "description": " "
- },
- "find": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" :{$and: [\n{\"provenance.analysis.execution_id\" : {$regex: \"$name$\", $options: \"i\"},\n \"provenance.image.slide\" : \"$slide$\",\n \"footprint\": { $not: {$lt: $footprint$}},\n \"provenance.analysis.source\" : {$regex: \"$source$\", $options: \"i\"}},\n{\"x\": { $not: {$lt: $x0$}}},\n{\"x\": { $not: {$gt: $x1$}}},\n{\"y\": { $not: {$lt: $y0$}}},\n{\"y\": { $not: {$gt: $y1$}}}\n ]}\n}\n}\n ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "source": {
- "name": "source",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "footprint": {
- "name": "footprint",
- "required": false,
- "defaultValue": "0",
- "description": ""
- },
- "x0": {
- "name": "x0",
- "required": false,
- "defaultValue": "0",
- "description": ""
- },
- "x1": {
- "name": "x1",
- "required": false,
- "defaultValue": "9",
- "description": ""
- },
- "y0": {
- "name": "y0",
- "required": false,
- "defaultValue": "0",
- "description": ""
- },
- "y1": {
- "name": "y1",
- "required": false,
- "defaultValue": "9",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "find",
- "timeCreated": "Tue Jul 02 17:48:26 GMT 2019",
- "createdBy": "admin",
- "description": " "
- },
- "findBound": {
- "queryTemplate": "{ \"_operation\" : \"find\" , \"_operation_args\" : { \"query\" : {\"provenance.analysis.execution_id\" : {$regex: \"$name$\", $options: \"i\"},\n \"provenance.image.slide\" : \"$slide$\",\n \"provenance.analysis.source\" : {$regex: \"$key$\", $options: \"i\"}, \"geometries.features.bound\": { $geoIntersects: { $geometry: { \"type\": \"Polygon\", \"coordinates\": [[[ $x0$, $y0$ ],[ $x0$, $y1$ ],[ $x1$, $y1$ ],[ $x1$, $y0$ ],[ $x0$, $y0$ ]]] } } } }, \"limit\" : 1000} } ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "key": {
- "name": "key",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "x0": {
- "name": "x0",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "y0": {
- "name": "y0",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "x1": {
- "name": "x1",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "y1": {
- "name": "y1",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "findBound",
- "timeCreated": "Tue Jul 02 17:49:32 GMT 2019",
- "createdBy": "admin",
- "description": "find where bound intersects given rect "
- },
- "findTypes": {
- "queryTemplate": "{ \"_operation\" : \"distinct\" , \"_operation_args\" : { \"field\" : \"provenance.analysis\", \"query\" : {\u0027provenance.image.slide\u0027: \"$slide$\" } } } ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "findTypes",
- "timeCreated": "Tue Jul 02 18:37:03 GMT 2019",
- "createdBy": "admin",
- "description": " "
- }
- },
- "deleteEndpoints": {
- "deleteMark": {
- "queryTemplate": "{\n\t\"_operation\" : \"delete\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}, \u0027provenance.image.slide\u0027: \"$slide$\" }\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "deleteMark",
- "timeCreated": "Tue Jul 02 18:20:50 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Wed Aug 01 17:23:41 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Wed Aug 01 17:23:41 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Wed Aug 01 17:23:41 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Wed Aug 01 17:23:41 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Mark",
- "timeCreated": "Wed Aug 01 17:23:41 UTC 2018",
- "createdBy": "admin",
- "description": "Geospatial Marking Objects"
- },
- "Overlay": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic",
- "collection": "overlay",
- "initialize": true
- },
- "queryEndpoints": {
- "get": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}} ,\n\t\t\t\t\t\t\t\"limit\" : 1\n\t\t\t\t\t\t}\n}\n ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "get",
- "timeCreated": "Wed Aug 29 18:41:00 UTC 2018",
- "createdBy": "admin",
- "description": " "
- },
- "find": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" : { \"name\" : {$regex: \"$name$\", $options: \"i\"},\n\"slide\" : \"$slide$\",\n\"location\" : {$regex: \"$location$\", $options: \"i\"}}\n}\n} ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "location": {
- "name": "location",
- "required": false,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "find",
- "timeCreated": "Mon Jul 08 16:18:19 GMT 2019",
- "createdBy": "admin",
- "description": " "
- }
- },
- "deleteEndpoints": {
- "updateOverlay": {
- "queryTemplate": "{\n\t\"_operation\" : \"update\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027slide\u0027 : \"$slide$\", \u0027_id\u0027 : {\"$oid\":\"$id$\"}} ,\n\t\t\t\t\t\t\t\"update\": {$set: { \u0027$field$\u0027 : \u0027$value$\u0027 }},\n\t\t\t\t\t\t\t\"upsert\": \u0027true\u0027,\n\t\t\t\t\t\t\t\"multi\" : \u0027false\u0027\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "field": {
- "name": "field",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "value": {
- "name": "value",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "updateOverlay",
- "timeCreated": "Tue Jul 02 18:21:53 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "deleteOverlay": {
- "queryTemplate": "{\n\t\"_operation\" : \"delete\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}, \u0027slide\u0027: \"$slide$\" }\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "deleteOverlay",
- "timeCreated": "Tue Jul 02 18:22:07 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Wed Aug 01 17:24:16 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Wed Aug 01 17:24:16 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Wed Aug 01 17:24:16 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Wed Aug 01 17:24:16 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Overlay",
- "timeCreated": "Wed Aug 01 17:24:16 UTC 2018",
- "createdBy": "admin",
- "description": "Overlay Representation"
- },
- "Slide": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic",
- "collection": "slide",
- "initialize": true
- },
- "queryEndpoints": {
- "get": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}} ,\n\t\t\t\t\t\t\t\"limit\" : 1\n\t\t\t\t\t\t}\n}\n ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "get",
- "timeCreated": "Wed Aug 29 18:41:29 UTC 2018",
- "createdBy": "admin",
- "description": " "
- },
- "find": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" : {\u0027name\u0027: {$regex: \"$slide$\", $options: \"i\"},\n \u0027specimen\u0027: {$regex: \"$specimen$\", $options: \"i\"},\n \u0027study\u0027: {$regex: \"$study$\", $options: \"i\"},\n \u0027location\u0027: {$regex: \"$location$\", $options: \"i\"}}\n}\n} ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "location": {
- "name": "location",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "specimen": {
- "name": "specimen",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "study": {
- "name": "study",
- "required": false,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "find",
- "timeCreated": "Wed Nov 28 20:40:33 UTC 2018",
- "createdBy": "admin",
- "description": " "
- }
- },
- "deleteEndpoints": {
- "updateSlide": {
- "queryTemplate": "{\n\t\"_operation\" : \"update\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027name\u0027 : $slide$} ,\n\t\t\t\t\t\t\t\"update\": {$set: { \u0027$field$\u0027 : \u0027$value$\u0027 }},\n\t\t\t\t\t\t\t\"upsert\": \u0027true\u0027,\n\t\t\t\t\t\t\t\"multi\" : \u0027false\u0027\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "field": {
- "name": "field",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "value": {
- "name": "value",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "updateSlide",
- "timeCreated": "Tue Jul 02 18:21:13 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "deleteSlide": {
- "queryTemplate": "{\n\t\"_operation\" : \"delete\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027slide.name\u0027 : \"\"$slide$\"\" }\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "deleteSlide",
- "timeCreated": "Tue Jul 02 18:21:26 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Wed Aug 01 17:24:37 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Wed Aug 01 17:24:37 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Wed Aug 01 17:24:37 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Wed Aug 01 17:24:37 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Slide",
- "timeCreated": "Wed Aug 01 17:24:37 UTC 2018",
- "createdBy": "admin",
- "description": "Represents Slide Objects"
- },
- "Template": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic",
- "collection": "template",
- "initialize": true
- },
- "queryEndpoints": {
- "find": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" : {\"name\": {$regex: \"$name$\", $options: \"i\"},\n \"type\": {$regex: \"$type$\", $options: \"i\"}}\n}\n} ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "type": {
- "name": "type",
- "required": false,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "find",
- "timeCreated": "Mon Aug 27 15:46:51 UTC 2018",
- "createdBy": "admin",
- "description": " "
- },
- "get": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}} ,\n\t\t\t\t\t\t\t\"limit\" : 1\n\t\t\t\t\t\t}\n}\n ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "get",
- "timeCreated": "Wed Aug 29 18:41:36 UTC 2018",
- "createdBy": "admin",
- "description": " "
- }
- },
- "deleteEndpoints": {
- "deleteTemplate": {
- "queryTemplate": "{\n\t\"_operation\" : \"delete\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}}\n\t\t\t\t\t\t}\n} ",
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "deleteTemplate",
- "timeCreated": "Wed Aug 29 18:44:30 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Wed Aug 01 17:25:14 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Wed Aug 01 17:25:14 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Wed Aug 01 17:25:14 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Wed Aug 01 17:25:14 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Template",
- "timeCreated": "Wed Aug 01 17:25:14 UTC 2018",
- "createdBy": "admin",
- "description": "Templates for Forms, JSONFORM type"
- },
- "Authorization": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic",
- "collection": "authorization",
- "initialize": true
- },
- "queryEndpoints": {
- "getAuth": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027name\u0027 : \u0027$name$\u0027 }\n\t\t\t\t\t\t}\n}\n",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "getAuth",
- "timeCreated": "Fri Aug 10 19:27:36 UTC 2018",
- "createdBy": "admin",
- "description": "get auth for user"
- },
- "list": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : {} ,\n\t\t\t\t\t\t\t\"fields\" :{ \u0027_id\u0027 : 0 }\n\t\t\t\t\t\t}\n}\n",
- "metaData": {},
- "tags": [],
- "bindVariables": {},
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "list",
- "timeCreated": "Mon Dec 09 19:45:34 GMT 2019",
- "createdBy": "admin",
- "description": "list all auth with no queries"
- }
- },
- "deleteEndpoints": {},
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Fri Aug 10 19:26:51 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Fri Aug 10 19:26:51 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Fri Aug 10 19:26:51 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Fri Aug 10 19:26:51 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Authorization",
- "timeCreated": "Fri Aug 10 19:26:51 UTC 2018",
- "createdBy": "admin",
- "description": "authorization for slides and collections"
- },
- "Heatmap": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic",
- "collection": "heatmap",
- "initialize": true
- },
- "queryEndpoints": {
- "findTypes": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" : { \"provenance.analysis.execution_id\" : {$regex: \"$name$\", $options: \"i\"},\n\"provenance.image.slide\" : \"$slide$\"},\n\"fields\" :{ \u0027data\u0027 : 0 }\n}\n\n} ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "findTypes",
- "timeCreated": "Thu Jun 27 19:39:21 GMT 2019",
- "createdBy": "admin",
- "description": " "
- },
- "find": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" : { \"provenance.analysis.execution_id\" : {$regex: \"$name$\", $options: \"i\"},\n\"provenance.image.slide\" : \"$slide$\"\n}\n} ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "find",
- "timeCreated": "Thu Jun 27 19:40:22 GMT 2019",
- "createdBy": "admin",
- "description": " "
- },
- "get": {
- "queryTemplate": "{\n\t\u0027_operation\u0027: \u0027find\u0027,\n\t\u0027_operation_args\u0027: \n\t{\n\t\u0027query\u0027: {\n\t\t\"provenance.image.slide\": \"$slide$\",\n\t\t\"provenance.analysis.execution_id\":\"$name$\"\n\t},\n\t\t\u0027fields\u0027: {\n\t\t\t\u0027provenance\u0027:1,\n\u0027data\u0027:1,\n\t\t\t\u0027_id\u0027: 1\n\t\t}\n\t}\n} ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "get",
- "timeCreated": "Mon Jul 01 20:07:42 GMT 2019",
- "createdBy": "admin",
- "description": " "
- }
- },
- "deleteEndpoints": {
- "deleteHeatmap": {
- "queryTemplate": "{\n\t\"_operation\" : \"delete\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}, \u0027provenance.image.slide\u0027: \"$slide$\" }\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "deleteHeatmap",
- "timeCreated": "Wed Nov 14 16:24:04 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "updateThreshold": {
- "queryTemplate": "{\n\t\"_operation\" : \"update\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : {\u0027provenance.analysis.execution_id\u0027 : \u0027$name$\u0027,\u0027provenance.image.slide\u0027 : \"$slide$\"} ,\n\t\t\t\t\t\t\t\"update\": {$set: { \u0027provenance.analysis.fields\u0027 : $fields$,\u0027provenance.analysis.setting\u0027 : $setting$ }},\n\t\t\t\t\t\t\t\"upsert\": true,\n\t\t\t\t\t\t\t\"multi\" : true\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "fields": {
- "name": "fields",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "setting": {
- "name": "setting",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "updateThreshold",
- "timeCreated": "Tue Jul 02 17:06:06 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Wed Nov 14 15:49:26 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Wed Nov 14 15:49:26 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Wed Nov 14 15:49:26 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Wed Nov 14 15:49:26 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Heatmap",
- "timeCreated": "Wed Nov 14 15:49:26 UTC 2018",
- "createdBy": "admin",
- "description": "Point Marking Objects"
- },
- "HeatmapEdit": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic",
- "collection": "heatmapEdit",
- "initialize": true
- },
- "queryEndpoints": {
- "get": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}} ,\n\t\t\t\t\t\t\t\"limit\" : 1\n\t\t\t\t\t\t}\n}",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "get",
- "timeCreated": "Wed Apr 24 18:10:50 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "find": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" : {\u0027user_id\u0027: {$regex: \"$user$\", $options: \"i\"},\n \u0027provenance.image.slide\u0027: \"$slide$\",\n \u0027provenance.analysis.execution_id\u0027: {$regex: \"$name$\", $options: \"i\"}}\n}\n}",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "user": {
- "name": "user",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "find",
- "timeCreated": "Thu Jun 27 19:40:01 GMT 2019",
- "createdBy": "admin",
- "description": " "
- }
- },
- "deleteEndpoints": {
- "update": {
- "queryTemplate": "{\n\t\"_operation\" : \"update\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027user_id\u0027 : \u0027$user$\u0027, \u0027provenance.image.specimen\u0027:\u0027$specimen$\u0027, \n\u0027provenance.image.slide\u0027:\"$slide$\",\u0027provenance.analysis.execution_id\u0027:\u0027$name$\u0027 } ,\n\t\t\t\t\t\t\t\"update\": {$set: { \u0027data\u0027 : $data$}},\n\t\t\t\t\t\t\t\"upsert\": true,\n\t\t\t\t\t\t\t\"multi\" : true\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "user": {
- "name": "user",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "specimen": {
- "name": "specimen",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "data": {
- "name": "data",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "update",
- "timeCreated": "Tue Jul 02 17:50:23 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "delete": {
- "queryTemplate": "{\n\t\"_operation\" : \"delete\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027user_id\u0027 : \u0027$user$\u0027,\u0027provenance.image.slide\u0027: \"$slide$\", \u0027provenance.analysis.execution_id\u0027: \"$name$\" }\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "user": {
- "name": "user",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "delete",
- "timeCreated": "Tue Jul 02 18:24:29 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Wed Apr 24 18:02:23 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Wed Apr 24 18:02:23 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Wed Apr 24 18:02:23 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Wed Apr 24 18:02:23 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "HeatmapEdit",
- "timeCreated": "Wed Apr 24 18:02:21 GMT 2019",
- "createdBy": "admin",
- "description": "Edit Data for Heatmaps"
- },
- "Log": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic",
- "collection": "log",
- "initialize": true
- },
- "queryEndpoints": {},
- "deleteEndpoints": {},
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Tue Oct 29 20:54:11 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Tue Oct 29 20:54:11 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Tue Oct 29 20:54:11 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Tue Oct 29 20:54:11 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Log",
- "timeCreated": "Tue Oct 29 20:54:11 GMT 2019",
- "createdBy": "admin",
- "description": "log"
- },
- "Configuration": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic",
- "collection": "configuration",
- "initialize": true
- },
- "queryEndpoints": {
- "getConfigByName": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027config_name\u0027 : \"$name$\"} ,\n\t\t\t\t\t\t\t\"limit\" : 1\n\t\t\t\t\t\t}\n}\n ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "getConfigByName",
- "timeCreated": "Thu Nov 07 17:09:07 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "deleteEndpoints": {},
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Tue Oct 29 20:54:11 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Tue Oct 29 20:54:11 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Tue Oct 29 20:54:11 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Tue Oct 29 20:54:11 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Configuration",
- "timeCreated": "Tue Oct 29 20:54:11 GMT 2019",
- "createdBy": "admin",
- "description": "configuration"
- }
- },
- "params": {},
- "name": "caMicroscope",
- "timeCreated": "Wed Aug 01 17:17:55 UTC 2018",
- "createdBy": "admin",
- "description": "caMicroscope Data model"
-}
\ No newline at end of file
diff --git a/config/bindaas_projects/caMicroscopePrivate.project b/config/bindaas_projects/caMicroscopePrivate.project
deleted file mode 100644
index 356c8707..00000000
--- a/config/bindaas_projects/caMicroscopePrivate.project
+++ /dev/null
@@ -1,1283 +0,0 @@
-{
- "profiles": {
- "Mark": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic-pri",
- "collection": "mark",
- "initialize": true
- },
- "queryEndpoints": {
- "get": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}} ,\n\t\t\t\t\t\t\t\"limit\" : 1\n\t\t\t\t\t\t}\n}\n ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "get",
- "timeCreated": "Wed Aug 29 18:40:50 UTC 2018",
- "createdBy": "admin",
- "description": " "
- },
- "findTypesExec": {
- "queryTemplate": "{ \"_operation\" : \"distinct\" , \"_operation_args\" : { \"field\" : \"provenance.analysis\", \"query\" : {\u0027provenance.image.slide\u0027: \"$slide$\",\u0027provenance.analysis.execution_id\u0027: $name$ } } } ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "findTypesExec",
- "timeCreated": "Thu May 09 15:09:53 GMT 2019",
- "createdBy": "admin",
- "description": " "
- },
- "multiFind": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" :{$and: [\n{\"provenance.analysis.execution_id\": {$in: $name$},\n \"provenance.image.slide\" : \"$slide$\",\n \"footprint\": { $not: {$lt: $footprint$}},\n \"provenance.analysis.source\" : {$regex: \"$source$\", $options: \"i\"}},\n{\"x\": { $not: {$lt: $x0$}}},\n{\"x\": { $not: {$gt: $x1$}}},\n{\"y\": { $not: {$lt: $y0$}}},\n{\"y\": { $not: {$gt: $y1$}}}\n ]}\n}\n}\n ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "footprint": {
- "name": "footprint",
- "required": false,
- "defaultValue": "0",
- "description": ""
- },
- "source": {
- "name": "source",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "x0": {
- "name": "x0",
- "required": false,
- "defaultValue": "0",
- "description": ""
- },
- "x1": {
- "name": "x1",
- "required": false,
- "defaultValue": "9",
- "description": ""
- },
- "y0": {
- "name": "y0",
- "required": false,
- "defaultValue": "0",
- "description": ""
- },
- "y1": {
- "name": "y1",
- "required": false,
- "defaultValue": "9",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "multiFind",
- "timeCreated": "Tue Jul 02 17:47:09 GMT 2019",
- "createdBy": "admin",
- "description": " "
- },
- "find": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" :{$and: [\n{\"provenance.analysis.execution_id\" : {$regex: \"$name$\", $options: \"i\"},\n \"provenance.image.slide\" : \"$slide$\",\n \"footprint\": { $not: {$lt: $footprint$}},\n \"provenance.analysis.source\" : {$regex: \"$source$\", $options: \"i\"}},\n{\"x\": { $not: {$lt: $x0$}}},\n{\"x\": { $not: {$gt: $x1$}}},\n{\"y\": { $not: {$lt: $y0$}}},\n{\"y\": { $not: {$gt: $y1$}}}\n ]}\n}\n}\n ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "source": {
- "name": "source",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "footprint": {
- "name": "footprint",
- "required": false,
- "defaultValue": "0",
- "description": ""
- },
- "x0": {
- "name": "x0",
- "required": false,
- "defaultValue": "0",
- "description": ""
- },
- "x1": {
- "name": "x1",
- "required": false,
- "defaultValue": "9",
- "description": ""
- },
- "y0": {
- "name": "y0",
- "required": false,
- "defaultValue": "0",
- "description": ""
- },
- "y1": {
- "name": "y1",
- "required": false,
- "defaultValue": "9",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "find",
- "timeCreated": "Tue Jul 02 17:48:26 GMT 2019",
- "createdBy": "admin",
- "description": " "
- },
- "findBound": {
- "queryTemplate": "{ \"_operation\" : \"find\" , \"_operation_args\" : { \"query\" : {\"provenance.analysis.execution_id\" : {$regex: \"$name$\", $options: \"i\"},\n \"provenance.image.slide\" : \"$slide$\",\n \"provenance.analysis.source\" : {$regex: \"$key$\", $options: \"i\"}, \"geometries.features.bound\": { $geoIntersects: { $geometry: { \"type\": \"Polygon\", \"coordinates\": [[[ $x0$, $y0$ ],[ $x0$, $y1$ ],[ $x1$, $y1$ ],[ $x1$, $y0$ ],[ $x0$, $y0$ ]]] } } } }, \"limit\" : 1000} } ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "key": {
- "name": "key",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "x0": {
- "name": "x0",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "y0": {
- "name": "y0",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "x1": {
- "name": "x1",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "y1": {
- "name": "y1",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "findBound",
- "timeCreated": "Tue Jul 02 17:49:32 GMT 2019",
- "createdBy": "admin",
- "description": "find where bound intersects given rect "
- },
- "findTypes": {
- "queryTemplate": "{ \"_operation\" : \"distinct\" , \"_operation_args\" : { \"field\" : \"provenance.analysis\", \"query\" : {\u0027provenance.image.slide\u0027: \"$slide$\" } } } ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "findTypes",
- "timeCreated": "Tue Jul 02 18:37:03 GMT 2019",
- "createdBy": "admin",
- "description": " "
- }
- },
- "deleteEndpoints": {
- "deleteMark": {
- "queryTemplate": "{\n\t\"_operation\" : \"delete\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}, \u0027provenance.image.slide\u0027: \"$slide$\" }\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "deleteMark",
- "timeCreated": "Tue Jul 02 18:20:50 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Wed Aug 01 17:23:41 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Wed Aug 01 17:23:41 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Wed Aug 01 17:23:41 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Wed Aug 01 17:23:41 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Mark",
- "timeCreated": "Wed Aug 01 17:23:41 UTC 2018",
- "createdBy": "admin",
- "description": "Geospatial Marking Objects"
- },
- "Overlay": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic-pri",
- "collection": "overlay",
- "initialize": true
- },
- "queryEndpoints": {
- "get": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}} ,\n\t\t\t\t\t\t\t\"limit\" : 1\n\t\t\t\t\t\t}\n}\n ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "get",
- "timeCreated": "Wed Aug 29 18:41:00 UTC 2018",
- "createdBy": "admin",
- "description": " "
- },
- "find": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" : { \"name\" : {$regex: \"$name$\", $options: \"i\"},\n\"slide\" : \"$slide$\",\n\"location\" : {$regex: \"$location$\", $options: \"i\"}}\n}\n} ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "location": {
- "name": "location",
- "required": false,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "find",
- "timeCreated": "Mon Jul 08 16:18:19 GMT 2019",
- "createdBy": "admin",
- "description": " "
- }
- },
- "deleteEndpoints": {
- "updateOverlay": {
- "queryTemplate": "{\n\t\"_operation\" : \"update\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027slide\u0027 : \"$slide$\", \u0027_id\u0027 : {\"$oid\":\"$id$\"}} ,\n\t\t\t\t\t\t\t\"update\": {$set: { \u0027$field$\u0027 : \u0027$value$\u0027 }},\n\t\t\t\t\t\t\t\"upsert\": \u0027true\u0027,\n\t\t\t\t\t\t\t\"multi\" : \u0027false\u0027\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "field": {
- "name": "field",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "value": {
- "name": "value",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "updateOverlay",
- "timeCreated": "Tue Jul 02 18:21:53 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "deleteOverlay": {
- "queryTemplate": "{\n\t\"_operation\" : \"delete\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}, \u0027slide\u0027: \"$slide$\" }\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "deleteOverlay",
- "timeCreated": "Tue Jul 02 18:22:07 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Wed Aug 01 17:24:16 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Wed Aug 01 17:24:16 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Wed Aug 01 17:24:16 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Wed Aug 01 17:24:16 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Overlay",
- "timeCreated": "Wed Aug 01 17:24:16 UTC 2018",
- "createdBy": "admin",
- "description": "Overlay Representation"
- },
- "Slide": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic-pri",
- "collection": "slide",
- "initialize": true
- },
- "queryEndpoints": {
- "get": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}} ,\n\t\t\t\t\t\t\t\"limit\" : 1\n\t\t\t\t\t\t}\n}\n ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "get",
- "timeCreated": "Wed Aug 29 18:41:29 UTC 2018",
- "createdBy": "admin",
- "description": " "
- },
- "find": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" : {\u0027name\u0027: {$regex: \"$slide$\", $options: \"i\"},\n \u0027specimen\u0027: {$regex: \"$specimen$\", $options: \"i\"},\n \u0027study\u0027: {$regex: \"$study$\", $options: \"i\"},\n \u0027location\u0027: {$regex: \"$location$\", $options: \"i\"},\n \u0027collection: $collection$\"\n}\n}\n} ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "location": {
- "name": "location",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "specimen": {
- "name": "specimen",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "study": {
- "name": "study",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "collection": {
- "name": "collection",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "find",
- "timeCreated": "Mon Oct 28 19:07:35 GMT 2019",
- "createdBy": "admin",
- "description": " "
- }
- },
- "deleteEndpoints": {
- "updateSlide": {
- "queryTemplate": "{\n\t\"_operation\" : \"update\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027name\u0027 : $slide$} ,\n\t\t\t\t\t\t\t\"update\": {$set: { \u0027$field$\u0027 : \u0027$value$\u0027 }},\n\t\t\t\t\t\t\t\"upsert\": \u0027true\u0027,\n\t\t\t\t\t\t\t\"multi\" : \u0027false\u0027\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "field": {
- "name": "field",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "value": {
- "name": "value",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "updateSlide",
- "timeCreated": "Tue Jul 02 18:21:13 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "deleteSlide": {
- "queryTemplate": "{\n\t\"_operation\" : \"delete\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027slide.name\u0027 : \"\"$slide$\"\" }\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "deleteSlide",
- "timeCreated": "Tue Jul 02 18:21:26 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Wed Aug 01 17:24:37 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Wed Aug 01 17:24:37 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Wed Aug 01 17:24:37 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Wed Aug 01 17:24:37 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Slide",
- "timeCreated": "Wed Aug 01 17:24:37 UTC 2018",
- "createdBy": "admin",
- "description": "Represents Slide Objects"
- },
- "Template": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic-pri",
- "collection": "template",
- "initialize": true
- },
- "queryEndpoints": {
- "find": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" : {\"name\": {$regex: \"$name$\", $options: \"i\"},\n \"type\": {$regex: \"$type$\", $options: \"i\"}}\n}\n} ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "type": {
- "name": "type",
- "required": false,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "find",
- "timeCreated": "Mon Aug 27 15:46:51 UTC 2018",
- "createdBy": "admin",
- "description": " "
- },
- "get": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}} ,\n\t\t\t\t\t\t\t\"limit\" : 1\n\t\t\t\t\t\t}\n}\n ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "get",
- "timeCreated": "Wed Aug 29 18:41:36 UTC 2018",
- "createdBy": "admin",
- "description": " "
- }
- },
- "deleteEndpoints": {
- "deleteTemplate": {
- "queryTemplate": "{\n\t\"_operation\" : \"delete\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}}\n\t\t\t\t\t\t}\n} ",
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "deleteTemplate",
- "timeCreated": "Wed Aug 29 18:44:30 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Wed Aug 01 17:25:14 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Wed Aug 01 17:25:14 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Wed Aug 01 17:25:14 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Wed Aug 01 17:25:14 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Template",
- "timeCreated": "Wed Aug 01 17:25:14 UTC 2018",
- "createdBy": "admin",
- "description": "Templates for Forms, JSONFORM type"
- },
- "Authorization": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic-pri",
- "collection": "authorization",
- "initialize": true
- },
- "queryEndpoints": {
- "getAuth": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027name\u0027 : \u0027$name$\u0027 }\n\t\t\t\t\t\t}\n}\n",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "getAuth",
- "timeCreated": "Fri Aug 10 19:27:36 UTC 2018",
- "createdBy": "admin",
- "description": "get auth for user"
- }
- },
- "deleteEndpoints": {},
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Fri Aug 10 19:26:51 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Fri Aug 10 19:26:51 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Fri Aug 10 19:26:51 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Fri Aug 10 19:26:51 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Authorization",
- "timeCreated": "Fri Aug 10 19:26:51 UTC 2018",
- "createdBy": "admin",
- "description": "authorization for slides and collections"
- },
- "Heatmap": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic-pri",
- "collection": "heatmap",
- "initialize": true
- },
- "queryEndpoints": {
- "findTypes": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" : { \"provenance.analysis.execution_id\" : {$regex: \"$name$\", $options: \"i\"},\n\"provenance.image.slide\" : \"$slide$\"},\n\"fields\" :{ \u0027data\u0027 : 0 }\n}\n\n} ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "findTypes",
- "timeCreated": "Thu Jun 27 19:39:21 GMT 2019",
- "createdBy": "admin",
- "description": " "
- },
- "find": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" : { \"provenance.analysis.execution_id\" : {$regex: \"$name$\", $options: \"i\"},\n\"provenance.image.slide\" : \"$slide$\"\n}\n} ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "find",
- "timeCreated": "Thu Jun 27 19:40:22 GMT 2019",
- "createdBy": "admin",
- "description": " "
- },
- "get": {
- "queryTemplate": "{\n\t\u0027_operation\u0027: \u0027find\u0027,\n\t\u0027_operation_args\u0027: \n\t{\n\t\u0027query\u0027: {\n\t\t\"provenance.image.slide\": \"$slide$\",\n\t\t\"provenance.analysis.execution_id\":\"$name$\"\n\t},\n\t\t\u0027fields\u0027: {\n\t\t\t\u0027provenance\u0027:1,\n\u0027data\u0027:1,\n\t\t\t\u0027_id\u0027: 1\n\t\t}\n\t}\n} ",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "get",
- "timeCreated": "Mon Jul 01 20:07:42 GMT 2019",
- "createdBy": "admin",
- "description": " "
- }
- },
- "deleteEndpoints": {
- "deleteHeatmap": {
- "queryTemplate": "{\n\t\"_operation\" : \"delete\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}, \u0027provenance.image.slide\u0027: \"$slide$\" }\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "deleteHeatmap",
- "timeCreated": "Wed Nov 14 16:24:04 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "updateThreshold": {
- "queryTemplate": "{\n\t\"_operation\" : \"update\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : {\u0027provenance.analysis.execution_id\u0027 : \u0027$name$\u0027,\u0027provenance.image.slide\u0027 : \"$slide$\"} ,\n\t\t\t\t\t\t\t\"update\": {$set: { \u0027provenance.analysis.fields\u0027 : $fields$,\u0027provenance.analysis.setting\u0027 : $setting$ }},\n\t\t\t\t\t\t\t\"upsert\": true,\n\t\t\t\t\t\t\t\"multi\" : true\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "fields": {
- "name": "fields",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "setting": {
- "name": "setting",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "updateThreshold",
- "timeCreated": "Tue Jul 02 17:06:06 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Wed Nov 14 15:49:26 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Wed Nov 14 15:49:26 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Wed Nov 14 15:49:26 UTC 2018",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Wed Nov 14 15:49:26 UTC 2018",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "Heatmap",
- "timeCreated": "Wed Nov 14 15:49:26 UTC 2018",
- "createdBy": "admin",
- "description": "Point Marking Objects"
- },
- "HeatmapEdit": {
- "dataSource": {
- "host": "ca-mongo",
- "port": "27017",
- "db": "camic-pri",
- "collection": "heatmapEdit",
- "initialize": true
- },
- "queryEndpoints": {
- "get": {
- "queryTemplate": "{\n\t\"_operation\" : \"find\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027_id\u0027 : {\"$oid\":\"$id$\"}} ,\n\t\t\t\t\t\t\t\"limit\" : 1\n\t\t\t\t\t\t}\n}",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "id": {
- "name": "id",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "get",
- "timeCreated": "Wed Apr 24 18:10:50 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "find": {
- "queryTemplate": "{\n \"_operation\" : \"find\" ,\n \"_operation_args\" : {\n\"query\" : {\u0027user_id\u0027: {$regex: \"$user$\", $options: \"i\"},\n \u0027provenance.image.slide\u0027: \"$slide$\",\n \u0027provenance.analysis.execution_id\u0027: {$regex: \"$name$\", $options: \"i\"}}\n}\n}",
- "metaData": {},
- "tags": [],
- "bindVariables": {
- "user": {
- "name": "user",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": false,
- "defaultValue": "",
- "description": ""
- },
- "name": {
- "name": "name",
- "required": false,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "outputFormat": {
- "outputFormat": "JSON"
- },
- "name": "find",
- "timeCreated": "Thu Jun 27 19:40:01 GMT 2019",
- "createdBy": "admin",
- "description": " "
- }
- },
- "deleteEndpoints": {
- "update": {
- "queryTemplate": "{\n\t\"_operation\" : \"update\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027user_id\u0027 : \u0027$user$\u0027, \u0027provenance.image.specimen\u0027:\u0027$specimen$\u0027, \n\u0027provenance.image.slide\u0027:\"$slide$\",\u0027provenance.analysis.execution_id\u0027:\u0027$name$\u0027 } ,\n\t\t\t\t\t\t\t\"update\": {$set: { \u0027data\u0027 : $data$}},\n\t\t\t\t\t\t\t\"upsert\": true,\n\t\t\t\t\t\t\t\"multi\" : true\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "user": {
- "name": "user",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "specimen": {
- "name": "specimen",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "data": {
- "name": "data",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "update",
- "timeCreated": "Tue Jul 02 17:50:23 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "delete": {
- "queryTemplate": "{\n\t\"_operation\" : \"delete\" ,\n\t\"_operation_args\" : {\n\t\t\t\t\t\t\t\"query\" : { \u0027user_id\u0027 : \u0027$user$\u0027,\u0027provenance.image.slide\u0027: \"$slide$\", \u0027provenance.analysis.execution_id\u0027: \"$name$\" }\n\t\t\t\t\t\t}\n}\n ",
- "tags": [],
- "bindVariables": {
- "user": {
- "name": "user",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "slide": {
- "name": "slide",
- "required": true,
- "defaultValue": "",
- "description": ""
- },
- "name": {
- "name": "name",
- "required": true,
- "defaultValue": "",
- "description": ""
- }
- },
- "stage": "UNVERIFIED",
- "name": "delete",
- "timeCreated": "Tue Jul 02 18:24:29 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "submitEndpoints": {
- "csvFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "CSV_FILE"
- },
- "name": "csvFile",
- "timeCreated": "Wed Apr 24 18:02:23 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "jsonFile": {
- "type": "MULTIPART",
- "properties": {
- "inputType": "JSON_FILE"
- },
- "name": "jsonFile",
- "timeCreated": "Wed Apr 24 18:02:23 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "csv": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "CSV"
- },
- "name": "csv",
- "timeCreated": "Wed Apr 24 18:02:23 GMT 2019",
- "createdBy": "admin",
- "description": ""
- },
- "json": {
- "type": "FORM_DATA",
- "properties": {
- "inputType": "JSON"
- },
- "name": "json",
- "timeCreated": "Wed Apr 24 18:02:23 GMT 2019",
- "createdBy": "admin",
- "description": ""
- }
- },
- "providerId": "edu.emory.cci.bindaas.datasource.provider.mongodb.MongoDBProvider",
- "providerVersion": 1,
- "name": "HeatmapEdit",
- "timeCreated": "Wed Apr 24 18:02:21 GMT 2019",
- "createdBy": "admin",
- "description": "Edit Data for Heatmaps"
- }
- },
- "params": {},
- "name": "caMicroscopePrivate",
- "timeCreated": "Wed Aug 01 17:17:55 UTC 2018",
- "createdBy": "admin",
- "description": "caMicroscope using another db and some additional fields"
-}
\ No newline at end of file
diff --git a/config/mongo_idx.js b/config/mongo_idx.js
index a728c3b5..1b8ad988 100644
--- a/config/mongo_idx.js
+++ b/config/mongo_idx.js
@@ -1,4 +1,5 @@
db.authorization.createIndex( { "name": 1 }, { unique: true } )
+db.user.createIndex( { "email": 1 }, { unique: true } )
db.mark.createIndex({"provenance.image.slide": 1, "provenance.analysis.execution_id": 1, "footprint":1, "x":1, "y":1})
db.mark.createIndex({"provenance.image.slide":1,"provenance.analysis.execution_id":1,"provenance.analysis": 1})
db.mark.createIndex({"provenance.image.slide":1,"provenance.analysis": 1})
diff --git a/config/mongo_idx_pri.js b/config/mongo_idx_pri.js
deleted file mode 100644
index 2617db89..00000000
--- a/config/mongo_idx_pri.js
+++ /dev/null
@@ -1 +0,0 @@
-db.slide.createIndex({'study':1, 'specimen': 1, 'name': 1, 'collection': 1})
diff --git a/config/non-pathdb-routes.json b/config/non-pathdb-routes.json
deleted file mode 100644
index 6de515c2..00000000
--- a/config/non-pathdb-routes.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "root":"http://ca-front:80/",
- "_root_public": "true",
- "auth":{
- "permissions_field":"attrs",
- "key_field": "accessCollection"
- },
- "services":{
- "data":{
- "_base": "http://ca-data:9099/services/caMicroscope",
- "Mark": {
- "get":"/Mark/query/get",
- "find":"/Mark/query/find",
- "multi":"/Mark/query/multiFind",
- "findBound":"/Mark/query/findBound",
- "types":"/Mark/query/findTypes",
- "typesExec":"/Mark/query/findTypesExec",
- "post":{"path": "/Mark/submit/json", "attr": "write"},
- "delete":{"path": "/Mark/delete/deleteMark", "attr": "write"}
- },
- "Heatmap": {
- "get":"/Heatmap/query/get",
- "find":"/Heatmap/query/find",
- "types":"/Heatmap/query/findTypes",
- "post":{"path": "/Heatmap/submit/json", "attr": "write"},
- "delete":{"path": "/Heatmap/delete/deleteHeatmap", "attr": "write"},
- "threshold":{"path": "/Heatmap/delete/updateThreshold", "attr": "write"}
- },
- "Overlay": {
- "get":"/Overlay/query/get",
- "find":"/Overlay/query/find",
- "post":{"path": "/Overlay/submit/json", "attr": "write"},
- "delete":{"path": "/Overlay/delete/deleteOverlay", "attr": "write"}
- },
- "Slide": {
- "get":"/Slide/query/get",
- "find":"/Slide/query/find",
- "post":{"path": "/Slide/submit/json", "attr": "write"},
- "delete":{"path": "/Slide/delete/deleteSlide", "attr": "write"},
- "update":{"path": "/Slide/delete/updateSlide", "attr": "write"},
- "test":{"path":"/Slide/query/find", "check_param": "collection"}
- },
- "Template": {
- "get":"/Template/query/get",
- "find":"/Template/query/find",
- "post":{"path": "/Template/submit/json", "attr": "write"},
- "delete":{"path": "/Template/delete/deleteTemplate", "attr": "write"}
- },
- "HeatmapEdit": {
- "get":"/HeatmapEdit/query/get",
- "find":"/HeatmapEdit/query/find",
- "post":{"path": "/HeatmapEdit/submit/json", "attr": "write"},
- "delete":{"path": "/HeatmapEdit/delete/delete", "attr": "write"},
- "update":{"path": "/HeatmapEdit/delete/update", "attr": "write"}
- },
- "Auth": {
- "get":{"path": "/Authorization/query/getAuth", "attr": "admin"},
- "post":{"path": "/Authorization/submit/json", "attr": "admin"}
- },
- "Log": {
- "post": "/Log/submit/json"
- }
- },
- "img": {
- "_base":"http://ca-iip/fcgi-bin/iipsrv.fcgi",
- "IIP": {
- "raw":""
- },
- "Slide":{
- "_resolver":{
- "destination":"?DeepZoom={OUT}",
- "url":"http://ca-data:9099/services/caMicroscope/Slide/query/get?id={IN}",
- "field":"location",
- "before":["_files", ".dzi"]
- }
- }
- },
- "load": {
- "_base": "http://ca-load:4000",
- "Upload": {
- "start": {"path":"/upload/start", "attr": "write"},
- "continue":"/upload/continue",
- "finish":"/upload/finish"
- },
- "Slide":{
- "info":"/data/one",
- "thumb":"/data/thumbnail"
- }
- },
- "auth": {
- "_public": "true",
- "_base": "http://ca-auth:8010",
- "Token":{
- "check":"/check"
- }
- }
- }
-}
diff --git a/config/routes.json b/config/routes.json
deleted file mode 100644
index a34d9786..00000000
--- a/config/routes.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- "root":"http://ca-front:80/",
- "_root_public": "true",
- "auth":{
- "key_field": "accessCollection"
- },
- "services":{
- "data":{
- "_base": "http://ca-data:9099/services/caMicroscope",
- "Mark": {
- "get":"/Mark/query/get",
- "find":"/Mark/query/find",
- "multi":"/Mark/query/multiFind",
- "findBound":"/Mark/query/findBound",
- "types":"/Mark/query/findTypes",
- "typesExec":"/Mark/query/findTypesExec",
- "post":{"path": "/Mark/submit/json", "attr": "write"},
- "delete":{"path": "/Mark/delete/deleteMark", "attr": "write"}
- },
- "Heatmap": {
- "get":"/Heatmap/query/get",
- "find":"/Heatmap/query/find",
- "types":"/Heatmap/query/findTypes",
- "post":{"path": "/Heatmap/submit/json", "attr": "write"},
- "delete":{"path": "/Heatmap/delete/deleteHeatmap", "attr": "write"},
- "threshold":{"path": "/Heatmap/delete/updateThreshold", "attr": "write"}
- },
- "Overlay": {
- "get":"/Overlay/query/get",
- "find":"/Overlay/query/find",
- "post":{"path": "/Overlay/submit/json", "attr": "write"},
- "delete":{"path": "/Overlay/delete/deleteOverlay", "attr": "write"}
- },
- "Slide": {
- "get":"/Slide/query/get",
- "find":"/Slide/query/find",
- "post":{"path": "/Slide/submit/json", "attr": "write"},
- "delete":{"path": "/Slide/delete/deleteSlide", "attr": "write"},
- "update":{"path": "/Slide/delete/updateSlide", "attr": "write"},
- "test":{"path":"/Slide/query/find", "check_param": "collection"}
- },
- "Template": {
- "get":"/Template/query/get",
- "find":"/Template/query/find",
- "post":{"path": "/Template/submit/json", "attr": "write"},
- "delete":{"path": "/Template/delete/deleteTemplate", "attr": "write"}
- },
- "HeatmapEdit": {
- "get":"/HeatmapEdit/query/get",
- "find":"/HeatmapEdit/query/find",
- "post":{"path": "/HeatmapEdit/submit/json", "attr": "write"},
- "delete":{"path": "/HeatmapEdit/delete/delete", "attr": "write"},
- "update":{"path": "/HeatmapEdit/delete/update", "attr": "write"}
- },
- "Auth": {
- "list":"/Authorization/query/list",
- "get":{"path": "/Authorization/query/getAuth", "attr": "admin"},
- "post":{"path": "/Authorization/submit/json", "attr": "admin"}
- },
- "Log": {
- "post": "/Log/submit/json"
- },
- "Configuration": {
- "getConfigByName": "/Configuration/query/getConfigByName"
- }
- },
- "private":{
- "_base": "http://ca-data:9099/services/caMicroscopePrivate",
- "Slide": {
- "get":"/Slide/query/get",
- "find":{"path": "/Slide/query/find","check_param": "collection"},
- "post":{"path": "/Slide/submit/json", "attr": "write"},
- "delete":{"path": "/Slide/delete/deleteSlide", "attr": "write"},
- "update":{"path": "/Slide/delete/updateSlide", "attr": "write"}
- }
- },
- "img": {
- "_base":"http://ca-iip/fcgi-bin/iipsrv.fcgi",
- "IIP": {
- "raw":""
- },
- "Slide":{
- "_resolver":{
- "destination":"?DeepZoom={OUT}",
- "url":"http://ca-data:9099/services/caMicroscope/Slide/query/get?id={IN}",
- "field":"location",
- "before":["_files", ".dzi"]
- }
- }
- },
- "load": {
- "_base": "http://ca-load:4000",
- "Upload": {
- "start": {"path":"/upload/start", "attr": "write"},
- "continue":"/upload/continue",
- "finish":"/upload/finish"
- },
- "Slide":{
- "info":"/data/one",
- "thumb":"/data/thumbnail"
- }
- },
- "auth": {
- "_public": "true",
- "_base": "http://ca-auth:8010",
- "Token":{
- "check":"/check"
- }
- }
- }
-}
diff --git a/config/run_idx.sh b/config/run_idx.sh
index 25b43aab..d6c8ba10 100755
--- a/config/run_idx.sh
+++ b/config/run_idx.sh
@@ -4,9 +4,9 @@ do
done
mongo --host ca-mongo camic /config/mongo_idx.js
-mongo --host ca-mongo camic-pri /config/mongo_idx_pri.js
echo "indexes created"
mongo --host ca-mongo camic /config/add_mongo_users.js
+mongo --host ca-mongo camic /config/add_users.js
echo "users created"
mongo --host ca-mongo camic /config/default_data.js
echo "defaults added"
diff --git a/develop.yml b/develop.yml
index f0b7c270..31c81abd 100644
--- a/develop.yml
+++ b/develop.yml
@@ -1,14 +1,18 @@
-version: '3'
+version: '2'
services:
mongo:
image: mongo:3.4.19-jessie
container_name: ca-mongo
+ logging:
+ driver: none
volumes:
- ./db:/data/db
idxMongo:
image: mongo:3.4.19-jessie
container_name: ca-idx
+ logging:
+ driver: none
links:
- mongo
volumes:
@@ -17,48 +21,33 @@ services:
- /config/run_idx.sh
depends_on:
- mongo
- bindaas:
- build: "./Deps/Bindaas/"
+ back:
+ build:
+ context: "https://github.com/camicroscope/caracal.git#develop"
+ args:
+ viewer: "develop"
depends_on:
- "mongo"
ports:
- - "8080:8080"
- - "9099:9099"
- container_name: ca-data
+ - "4010:4010"
+ container_name: ca-back
volumes:
- - ./config/bindaas_projects/:/root/bindaas/bin/projects/
- - ./config/bindaas.config.json:/root/bindaas/bin/bindaas.config.json
+ - ./config/login.html:/root/src/static/login.html
+ - ./jwt_keys/:/root/src/keys/
+ environment:
+ JWK_URL: "https://www.googleapis.com/oauth2/v3/certs"
+ IIP_PATH: "http://ca-iip/fcgi-bin/iipsrv.fcgi"
+ MONGO_URI: "mongodb://ca-mongo"
+ DISABLE_SEC: "true"
+ ALLOW_PUBLIC: "true"
iip:
- build: "https://github.com/caMicroscope/iipImage.git#develop"
+ image: camicroscope/iipimage:latest
container_name: ca-iip
+ restart: unless-stopped
volumes:
- ./images/:/images/
- viewer:
- build: "https://github.com/caMicroscope/caMicroscope.git#develop"
- container_name: ca-front
- environment:
- - cacheoff=true
- volumes:
- - ./config/login.html:/usr/local/apache2/htdocs/login.html
loader:
- build: "https://github.com/caMicroscope/SlideLoader.git#develop"
+ build: "https://github.com/camicroscope/SlideLoader.git#develop"
container_name: ca-load
volumes:
- ./images/:/images/
- security:
- build: "https://github.com/caMicroscope/Security.git#develop"
- container_name: ca-security
- ports:
- - "4010:4010"
- environment:
- - DISABLE_SEC=true
- volumes:
- - ./config/non-pathdb-routes.json:/root/src/routes.json
- - ./jwt_keys/:/keys/
- auth:
- build: "./Deps/auth_service/"
- volumes:
- - ./jwt_keys/:/keys/
- container_name: ca-auth
- environment:
- JWKS: "https://www.googleapis.com/oauth2/v3/certs"
diff --git a/dh_caMicroscope.yml b/dh_caMicroscope.yml
index 3f107059..ff1bbf50 100644
--- a/dh_caMicroscope.yml
+++ b/dh_caMicroscope.yml
@@ -22,31 +22,22 @@ services:
- /config/run_idx.sh
depends_on:
- mongo
- bindaas:
- image: camicroscope/bindaas:latest
+ back:
+ image: camicroscope/caracal:latest
depends_on:
- "mongo"
- container_name: ca-data
- restart: unless-stopped
- logging:
- driver: none
+ ports:
+ - "4010:8010"
+ container_name: ca-back
volumes:
- - ./config/bindaas_projects/:/root/bindaas/bin/projects/
- - ./config/bindaas.config.json:/root/bindaas/bin/bindaas.config.json
+ - ./config/login.html:/root/src/static/login.html
+ - ./jwt_keys/:/root/src/keys/
iip:
image: camicroscope/iipimage:latest
container_name: ca-iip
restart: unless-stopped
volumes:
- ./images/:/images/
- viewer:
- image: camicroscope/viewer:latest
- container_name: ca-front
- restart: unless-stopped
- volumes:
- - ./config/login.html:/usr/local/apache2/htdocs/login.html
- logging:
- driver: none
loader:
image: camicroscope/slideloader:latest
container_name: ca-load
@@ -55,24 +46,3 @@ services:
driver: none
volumes:
- ./images/:/images/
- security:
- image: camicroscope/security:latest
- container_name: ca-security
- restart: unless-stopped
- ports:
- - "4010:4010"
- volumes:
- - ./config/non-pathdb-routes.json:/root/src/routes.json
- - ./jwt_keys/:/keys/
- environment:
- - DISABLE_SEC=true
- auth:
- image: camicroscope/auth_service:latest
- volumes:
- - ./jwt_keys/:/keys/
- container_name: ca-auth
- environment:
- JWKS: "https://www.googleapis.com/oauth2/v3/certs"
- restart: unless-stopped
- logging:
- driver: none
diff --git a/dh_quip-pathdb.yml b/dh_quip-pathdb.yml
deleted file mode 100644
index 243a9eb1..00000000
--- a/dh_quip-pathdb.yml
+++ /dev/null
@@ -1,84 +0,0 @@
-version: '3'
-
-services:
- mongo:
- image: mongo
- container_name: ca-mongo
- restart: unless-stopped
- volumes:
- - ./db:/data/db
- logging:
- driver: none
- idxMongo:
- image: mongo
- container_name: ca-idx
- links:
- - mongo
- volumes:
- - ./config:/config
- command:
- - /config/run_idx.sh
- depends_on:
- - mongo
- bindaas:
- image: camicroscope/bindaas:latest
- depends_on:
- - "mongo"
- container_name: ca-data
- restart: unless-stopped
- logging:
- driver: none
- ports: ["8080:8080", "9099:9099"]
- volumes:
- - ./config/bindaas_projects/:/root/bindaas/bin/projects/
- - ./config/bindaas.config.json:/root/bindaas/bin/bindaas.config.json
- iip:
- image: camicroscope/iipimage:latest
- container_name: ca-iip
- restart: unless-stopped
- volumes:
- - ./images/:/data/images/
- security:
- image: camicroscope/security:latest
- container_name: ca-security
- restart: unless-stopped
- ports: ["4010:4010"]
- volumes:
- - ./config/pathdb_routes.json:/root/src/routes.json
- environment:
- - DISABLE_SEC=true
- auth:
- image: camicroscope/auth_service:latest
- container_name: ca-auth
- logging:
- driver: none
- pathdb:
- image: camicroscope/pathdb:latest
- container_name: quip-pathdb
- restart: unless-stopped
- ports: ["443:443","80:80"]
- volumes:
- - ./data:/data/
- - ./images/:/data/pathdb/files/wsi
- - ./config/pathdb:/quip/web/sites/default
- - ./jwt_keys/:/keys/
- - ./config:/config
- command:
- - /config/pathdb_pre.sh
- imageloader:
- image: camicroscope/pathdb-imageloader:latest
- container_name: quip-imageloader
- volumes:
- - ./data:/data/
- - ./images:/data/images
- segloader:
- image: camicroscope/pathdb-segloader:latest
- container_name: quip-segloader
- volumes:
- - ./data:/data
- heatmaploader:
- image: camicroscope/pathdb-heatmaploader:latest
- container_name: quip-hmloader
- ports: ["27017:27017"]
- volumes:
- - ./data:/mnt/data/
diff --git a/expiremental.yml b/expiremental.yml
deleted file mode 100644
index a9474030..00000000
--- a/expiremental.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-version: '3'
-
-services:
- mongo:
- image: mongo:3.4.19-jessie
- container_name: ca-mongo
- logging:
- driver: none
- volumes:
- - ./db:/data/db
- idxMongo:
- image: mongo:3.4.19-jessie
- container_name: ca-idx
- logging:
- driver: none
- links:
- - mongo
- volumes:
- - ./config:/config
- command:
- - /config/run_idx.sh
- depends_on:
- - mongo
- back:
- build:
- context: "https://github.com/camicroscope/caboodle.git"
- args:
- viewer: "exp"
- depends_on:
- - "mongo"
- ports:
- - "8010:8010"
- container_name: ca-back
- volumes:
- - ./config/login.html:/root/src/static/login.html
- - ./jwt_keys/:/root/src/keys/
-
- environment:
- JWK_URL: "https://www.googleapis.com/oauth2/v3/certs"
- IIP_PATH: "http://ca-iip/fcgi-bin/iipsrv.fcgi"
- MONGO_URI: "mongodb://ca-mongo"
- iip:
- build: "https://github.com/camicroscope/iipImage.git#develop"
- container_name: ca-iip
- volumes:
- - ./images/:/images/
- loader:
- build: "https://github.com/camicroscope/SlideLoader.git#develop"
- container_name: ca-load
- volumes:
- - ./images/:/images/
diff --git a/jwt_keys/make_keys.sh b/jwt_keys/make_keys.sh
old mode 100644
new mode 100755
diff --git a/keys/make_keys.sh b/keys/make_keys.sh
old mode 100644
new mode 100755
diff --git a/quip-pathdb.yml b/quip-pathdb.yml
index 8a411df5..71abd36b 100644
--- a/quip-pathdb.yml
+++ b/quip-pathdb.yml
@@ -20,43 +20,34 @@ services:
- /config/run_idx.sh
depends_on:
- mongo
- bindaas:
- build: "./Deps/Bindaas/"
- depends_on:
- - "mongo"
- container_name: ca-data
- restart: unless-stopped
- logging:
- driver: none
- ports: ["8080:8080", "9099:9099"]
- volumes:
- - ./config/bindaas_projects/:/root/bindaas/bin/projects/
- - ./config/bindaas.config.json:/root/bindaas/bin/bindaas.config.json
iip:
build: "https://github.com/camicroscope/iipImage.git#v3.2.0"
container_name: ca-iip
restart: unless-stopped
volumes:
- ./images/:/data/images/
- security:
- build: "https://github.com/camicroscope/Security.git#v3.6.2"
- container_name: ca-security
- restart: unless-stopped
- ports: ["4010:4010"]
+ back:
+ build:
+ context: "https://github.com/camicroscope/caracal.git#develop"
+ args:
+ viewer: "develop"
+ depends_on:
+ - "mongo"
+ ports:
+ - "4010:8010"
+ container_name: ca-back
volumes:
- - ./config/pathdb_routes.json:/root/src/routes.json
+ - ./keys/:/root/src/keys/
environment:
- - DISABLE_SEC=true
- auth:
- build: "./Deps/auth_service/"
- container_name: ca-auth
- logging:
- driver: none
+ JWK_URL: "https://www.googleapis.com/oauth2/v3/certs"
+ IIP_PATH: "http://ca-iip/fcgi-bin/iipsrv.fcgi"
+ MONGO_URI: "mongodb://ca-mongo"
+ DEFAULT_USER_TYPE: "Editor"
pathdb:
build:
context: "https://github.com/SBU-BMI/PathDB.git#1.3.5"
args:
- viewer: "v3.6.2"
+ viewer: "develop"
container_name: quip-pathdb
restart: unless-stopped
ports: ["443:443","80:80"]
diff --git a/test/test_add_slide.js b/test/test_add_slide.js
index 9c31e750..2baf4657 100644
--- a/test/test_add_slide.js
+++ b/test/test_add_slide.js
@@ -5,7 +5,7 @@ const fetch = require("node-fetch")
// jsdom instance
const posturl = "http://localhost:4010/data/Slide/post"
-const findurl = "http://localhost:4010/data/Slide/find?slide=TEST"
+const findurl = "http://localhost:4010/data/Slide/find?name=TEST"
describe('Slide Loading Step 1', function () {
@@ -23,7 +23,7 @@ describe('Slide Loading Step 1', function () {
body:JSON.stringify(slideData)})
postProcess.then(x=>x.json()).then(x=>{
console.log(x)
- assert.equal(x.count,1, "Post Reported Successful")
+ assert.equal(x.result.ok,1, "Post Reported Successful")
done()
}).catch(e=>{
console.log("err")
diff --git a/test/test_loader.js b/test/test_loader.js
index ae50e467..5e71d5c7 100644
--- a/test/test_loader.js
+++ b/test/test_loader.js
@@ -6,7 +6,7 @@ const assert = require('assert');
const fetch = require("node-fetch")
-const checkurl = "http://localhost:4010/load/Slide/info/sample.svs"
+const checkurl = "http://localhost:4010/loader/data/one/sample.svs"
describe('Sample Slide Metadata Check', function () {
diff --git a/update_dockerhub.sh b/update_dockerhub.sh
index b1686284..09eea39e 100644
--- a/update_dockerhub.sh
+++ b/update_dockerhub.sh
@@ -6,12 +6,6 @@ docker login
docker-compose -f quip-pathdb.yml build
docker-compose -f caMicroscope.yml build
# tag and push images
-docker tag distro_bindaas:latest camicroscope/bindaas:latest
-docker push camicroscope/bindaas:latest
-docker tag distro_security:latest camicroscope/security:latest
-docker push camicroscope/security:latest
-docker tag distro_auth:latest camicroscope/auth_service:latest
-docker push camicroscope/auth_service:latest
docker tag distro_imageloader:latest camicroscope/pathdb-imageloader:latest
docker push camicroscope/pathdb-imageloader:latest
docker tag distro_heatmaploader:latest camicroscope/pathdb-heatmaploader:latest
@@ -20,4 +14,4 @@ docker tag distro_segloader:latest camicroscope/pathdb-segloader:latest
docker push camicroscope/pathdb-segloader:latest
docker tag distro_pathdb:latest camicroscope/pathdb:latest
docker push camicroscope/pathdb:latest
-# iip and slideloader are done on commit and tag
+# iip, caracal, and slideloader are done on commit and tag
diff --git a/user_docs.md b/user_docs.md
deleted file mode 100644
index 940468aa..00000000
--- a/user_docs.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# Using caMicroscope
-caMicroscope is a tool to view, annotate, and analyze whole-slide, biomedical images. It manages digital pathology images, associated clinical and imaging metadata, and human/machine generated annotations and markups.
-
-## Selecing an Image
-Depending on what is providing the image metadata, differnet login tecniques may be necessary. For public instances, no log in is necesary, and you can proceed to view slides. Use of other tools, such as annotations may or may not require login in this case.
-For slim instances, login should be done through a redirect directly. For pathDB instances, login should be done on the login link on the main page.
-At this point, select a collection, if applicable, and proceed to open or "view" the image of your choice.
-
-## Viewing an Image
-Once an image is open, you can pan around the image by either clicking and dragging (when no conflicting tool, such as the pen, is open), or by moving the red bounding box in the viewport in the bottom right.
-Zooming can be accomplished through the scroll wheel, pinch events on a touch screen, by using the zoom slider or its associated buttons, or by clicking on the zoom number and inputing a different number.
-
-## Using Tools
-The toolbar is in the top-left of the main content window. Use the toolbar buttons to manipulate the slide. To close any toolbar button, click the same button again or a new button.
-
-| Tool | Name | Function |
-| ----- |-------------| -----|
-| | Annotations | Opens the Annotation panel, where you can select which annotation set to view, name that annotation set, add optional notes about the annotation set, save the annotation set, and reset the panel to its original state. |
-| | Layer Manager | Opens the Layers Manager panel, where you can select which layers to view. |
-| | Home | Return to the data table so that you can open another slide.|
-| | Draw | Draw thin lines, thick lines, or polygons on the image. To maintain the integrity of measurements, avoid drawing shapes that overlap or intersect one another. |
-| | Magnifier |The Magnifier works like a magnifying glass and allows you to see the slide at normal magnification (1.0), low magnification (0.5), or high magnification (2.0). Click a magnification level and place the bounding box on the area of the slide you want to magnify. |
-| | Measurement | Drag this tool on the slide to learn the measurement in micrometers. |
-| | Share View |Opens a window with a URL to the current presentation state of the slide including the magnification level, layers that are currently open, and your position on the image.|
-| | Side by Side Viewer |Shows the Layer Manager panel, the left and right layers, and inset window. For the right and left layer, select which layer you want to view. |
-| | Heatmap | For a slide with heatmap data, opens the choices of heatmaps available, as well as ways of displaying the heatmaps. The gradient shows all of the values on the selected spectrum for the field you selected. Contains a heatmap edit pen function.|
-| | Labeling |Use this tool to draw a circle or rectangle around a tumor region, measure an area on the slide, download labels, and submit a bug report. The Labeling tool has its own toolbar with tools in the following order from left to right: return to the previous slide, place a square on the slide, place a circle on the slide, measure an area, download labels, and submit a bug report. Click the left arrow at the far right of the toolbar to hide it, then click the right arrow to show it. |
-| | Segment | This tool allows you to display, count, and export nuclear segmentations on the image. Clicking this tool opens the following custom toolbar. |
-| | Model | Show results from a pre-trained tensorflow compatible model on a ROI of the slide. |
-| | Bug Report | Report a bug or give feedback. |
-
-## Credits
-This guide has been adapted from the guide created for the SEER project by Carolyn Klinger.