Create Project struct
This commit is contained in:
parent
e8eab81957
commit
57f21e2634
3 changed files with 29 additions and 1 deletions
|
|
@ -1,3 +1,5 @@
|
|||
mod project;
|
||||
|
||||
fn main() {
|
||||
println!("Starting server on localhost:8080");
|
||||
|
||||
|
|
|
|||
26
src/project.rs
Normal file
26
src/project.rs
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
pub struct Project {
|
||||
pub id: i64,
|
||||
pub title: String,
|
||||
pub created_time: i64,
|
||||
pub last_modified_time: i64,
|
||||
pub percentage_completed: i32,
|
||||
pub archived: bool,
|
||||
}
|
||||
|
||||
impl Project {
|
||||
pub fn new(title: String) -> Self {
|
||||
let now = std::time::SystemTime::now()
|
||||
.duration_since(std::time::UNIX_EPOCH)
|
||||
.unwrap()
|
||||
.as_secs() as i64;
|
||||
|
||||
Self {
|
||||
id: 0,
|
||||
title,
|
||||
created_time: now,
|
||||
last_modified_time: now,
|
||||
percentage_completed: 0,
|
||||
archived: false,
|
||||
}
|
||||
}
|
||||
}
|
||||
2
todo.md
2
todo.md
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
[x] Template a Rouille server that always returns an empty 404.
|
||||
[x] Create a database schema. There should just be one table for now: `projects`. The Projects table contains info about each project in the board. The table should have columns for title, created time, last modified time, percentage completed (integer), and a flag for archived. Since this is a single-user server, there doesn't need to be an metadata about whose project it is.
|
||||
[ ] Create a `Project` struct that corresponds to the schema definition.
|
||||
[x] Create a `Project` struct that corresponds to the schema definition.
|
||||
[ ] Create a module or struct at your discretion for interfacing with the database. Create functions for the following: create a project, update a project's progress, archive a project, unarchive a project, and list of all projects.
|
||||
[ ] Create a `main.css` file in src. Use mvp.css as a starting point.
|
||||
[ ] Create a `project-card.js` file in src that creates a web component for displaying a project.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue