thot_core/system/template.rs
1//! A template.
2use crate::types::ResourceId;
3use chrono::prelude::*;
4use std::path::PathBuf;
5
6#[cfg(feature = "serde")]
7use serde::{Deserialize, Serialize};
8
9// @todo: Separate template for Project, Container, Asset, and Script?
10#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
11#[derive(Debug)]
12pub struct Template {
13 pub rid: ResourceId,
14 pub parent: Option<ResourceId>,
15 pub template: PathBuf, // structure should be an abstract representation of the template
16 pub name: String,
17 pub description: String,
18 pub created: DateTime<Utc>,
19 pub creator: Option<ResourceId>,
20}