diff options
| author | Xe Iaso <me@christine.website> | 2022-07-10 20:29:07 +0000 |
|---|---|---|
| committer | Xe Iaso <me@christine.website> | 2022-07-10 20:29:07 +0000 |
| commit | 55bf7e4cb403566d7172ef69b8f2f7393ac8627d (patch) | |
| tree | 7b3682e19c97672245cbb97e6c1d1069e812fd8b /docs | |
| parent | b32f5a25afb7b9901476164663c1b7099dcec7a8 (diff) | |
| download | xesite-55bf7e4cb403566d7172ef69b8f2f7393ac8627d.tar.xz xesite-55bf7e4cb403566d7172ef69b8f2f7393ac8627d.zip | |
basic notes support
Signed-off-by: Xe Iaso <me@christine.website>
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/notes.markdown | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/docs/notes.markdown b/docs/notes.markdown new file mode 100644 index 0000000..8ab83f5 --- /dev/null +++ b/docs/notes.markdown @@ -0,0 +1,38 @@ +# Notes + +## Goals + +- Have somewhere other than Twitter or Mastodon to host short-form content or + list articles I "like". +- Authenticate over Tailscale +- Simple API to automate posting with iOS Shortcuts +- Have a JSONFeed for people to subscribe +- Send WebMentions when I reply to things +- Store things in SQLite + +## Schema + +```sql +CREATE TABLE IF NOT EXISTS notes + ( id INTEGER PRIMARY KEY + , content TEXT NOT NULL + , content_html TEXT NOT NULL + , created_at INTEGER NOT NULL -- Unix epoch timestamp + , updated_at INTEGER -- Unix epoch timestamp + , deleted_at INTEGER -- Unix epoch timestamp + , reply_to TEXT + ); +``` + +```rust +#[derive(Clone, Debug, Serialize, Deserialize)] +pub struct Note { + pub id: u64, + pub content: String, + pub content_html: String, + pub created_at: DateTime<Utc>, + pub updated_at: Option<DateTime<Utc>>, + pub deleted_at: Option<DateTime<Utc>>, + pub reply_to: Option<String>, +} +``` |
