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}