89 lines
2.4 KiB
JavaScript
89 lines
2.4 KiB
JavaScript
'use strict';
|
|
|
|
var mongoose = require('mongoose');
|
|
var Schema = mongoose.Schema;
|
|
|
|
module.exports.artifactSchema = mongoose.model('Artifact', {
|
|
mime: String,
|
|
thumbnail_uri: String,
|
|
space_id: Schema.Types.ObjectId,
|
|
user_id: {type: Schema.Types.ObjectId, ref: 'User' },
|
|
last_update_user_id: {type: Schema.Types.ObjectId, ref: 'User' },
|
|
editor_name: String,
|
|
last_update_editor_name: String,
|
|
description: String,
|
|
state: {type: String, default: "idle"},
|
|
meta: {
|
|
linked_to: [String],
|
|
title: String,
|
|
tags: [String],
|
|
search_text: String,
|
|
link_uri: String,
|
|
play_from: Number,
|
|
play_to: Number,
|
|
},
|
|
board: {
|
|
x: {type: Number, default: 0.0},
|
|
y: {type: Number, default: 0.0},
|
|
z: {type: Number, default: 0.0},
|
|
r: {type: Number, default: 0.0},
|
|
w: {type: Number, default: 100},
|
|
h: {type: Number, default: 100},
|
|
},
|
|
control_points: [{
|
|
dx: Number, dy: Number
|
|
}],
|
|
group:{type: String, default: ""},
|
|
locked: {type: Boolean, default: false},
|
|
payload_uri: String,
|
|
payload_thumbnail_web_uri: String,
|
|
payload_thumbnail_medium_uri: String,
|
|
payload_thumbnail_big_uri: String,
|
|
payload_size: Number, // file size in bytes
|
|
style: {
|
|
fill_color: {type: String, default: "transparent"},
|
|
stroke_color:{type: String, default: "#000000"},
|
|
text_color: String,
|
|
stroke: {type: Number, default: 0.0},
|
|
stroke_style: {type: String, default: "solid"},
|
|
alpha: {type: Number, default: 1.0},
|
|
order: {type: Number, default: 0},
|
|
crop: {
|
|
x: Number,
|
|
y: Number,
|
|
w: Number,
|
|
h: Number
|
|
},
|
|
shape: String,
|
|
shape_svg: String,
|
|
padding_left: Number,
|
|
padding_right: Number,
|
|
padding_top: Number,
|
|
padding_bottom: Number,
|
|
margin_left: Number,
|
|
margin_right: Number,
|
|
margin_top: Number,
|
|
margin_bottom: Number,
|
|
border_radius: Number,
|
|
align: {type: String, default: "left"},
|
|
valign: {type: String, default: "top"},
|
|
brightness: Number,
|
|
contrast: Number,
|
|
saturation: Number,
|
|
blur: Number,
|
|
hue: Number,
|
|
opacity: Number
|
|
},
|
|
payload_alternatives: [{
|
|
mime: String,
|
|
payload_uri: String,
|
|
payload_thumbnail_web_uri: String,
|
|
payload_thumbnail_medium_uri: String,
|
|
payload_thumbnail_big_uri: String,
|
|
payload_size: Number
|
|
}],
|
|
created_at: {type: Date, default: Date.now},
|
|
created_from_ip: {type: String},
|
|
updated_at: {type: Date, default: Date.now}
|
|
});
|