clannad
Version:
data storage service with RESTful APIs.
60 lines (50 loc) • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _mongoose = require('mongoose');
var _mongoose2 = _interopRequireDefault(_mongoose);
var _tools = require('./../services/tools');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Schema = _mongoose2.default.Schema;
var ProjectSchema = new Schema({
name: {
type: String,
required: true,
unique: true
},
domains: {
type: [String],
validate: [function (val) {
var arr = val.slice().sort();
for (var i = 1; i < arr.length; ++i) {
if (arr[i] === arr[i - 1]) {
return false;
}
}
return val.length > 0;
}, '{PATH} is duplicate or empty'],
required: true
},
tables: [{
type: Schema.Types.ObjectId,
ref: 'admin.table'
}],
tokens: {
type: [String],
validate: [function (val) {
var arr = val.slice().sort();
for (var i = 1; i < arr.length; ++i) {
if (arr[i] === arr[i - 1]) {
return false;
}
}
return true;
}, '{PATH} is duplicate']
}
}, {
timestamps: true
});
(0, _tools.dealSchema)(ProjectSchema);
exports.default = _mongoose2.default.model('admin.project', ProjectSchema);
module.exports = exports['default'];