UNPKG

flowviz

Version:

A framework which provides seamless integration with other phylogenetic tools and frameworks, while allowing workflow scheduling and execution, through the Apache Airflow workflow system.

50 lines (44 loc) 1.15 kB
const mongoose = require("mongoose"); const Schema = mongoose.Schema; const DockerVolume = new Schema( { source: { type: String, maxlength: 256 }, target: { type: String, maxlength: 256 }, _type: { type: String, enum: ["bind"] }, }, { _id: false } ); const LibraryAccess = new Schema( { address: { type: String, maxlength: 60 }, port: { type: String, maxlength: 5 }, dockerUrl: { type: String, maxlength: 60 }, dockerImage: { type: String, maxlength: 60 }, dockerContainer: { type: String, maxlength: 60 }, dockerVolumes: [DockerVolume], dockerAutoRemove: { type: Boolean }, dockerNetworkMode: { type: String, enum: ["bridge", "None"] }, dockerApiVersion: { type: String, enum: ["auto"] }, }, { _id: false } ); const ApiAccess = new Schema( { url: { type: String, maxlength: 60 }, apiKey: { type: String, maxlength: 60 }, }, { _id: false } ); const Access = new Schema( { _type: { type: String, enum: ["library", "api"], required: true, }, api: ApiAccess, library: LibraryAccess, }, { _id: false } ); module.exports = Access;