From 5751463942cc91f1f1ffaf6e2ac633d7a0085f25 Mon Sep 17 00:00:00 2001
From: Ellie Huxtable <e@elm.sh>
Date: Tue, 13 Apr 2021 19:14:07 +0100
Subject: Add history sync, resolves #13 (#31)

* Add encryption

* Add login and register command

* Add count endpoint

* Write initial sync push

* Add single sync command

Confirmed working for one client only

* Automatically sync on a configurable frequency

* Add key command, key arg to login

* Only load session if it exists

* Use sync and history timestamps for download

* Bind other key code

Seems like some systems have this code for up arrow? I'm not sure why,
and it's not an easy one to google.

* Simplify upload

* Try and fix download sync loop

* Change sync order to avoid uploading what we just downloaded

* Multiline import fix

* Fix time parsing

* Fix importing history with no time

* Add hostname to sync

* Use hostname to filter sync

* Fixes

* Add binding

* Stuff from yesterday

* Set cursor modes

* Make clippy happy

* Bump version
---
 migrations/2021-03-20-151809_create_history/up.sql | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

(limited to 'migrations/2021-03-20-151809_create_history/up.sql')

diff --git a/migrations/2021-03-20-151809_create_history/up.sql b/migrations/2021-03-20-151809_create_history/up.sql
index 7cb19fc7..4192b04d 100644
--- a/migrations/2021-03-20-151809_create_history/up.sql
+++ b/migrations/2021-03-20-151809_create_history/up.sql
@@ -4,8 +4,10 @@ create table history (
 	id bigserial primary key,
 	client_id text not null unique, -- the client-generated ID
 	user_id bigserial not null,     -- allow multiple users
-	mac varchar(128) not null,      -- store a hashed mac address, to identify machines - more likely to be unique than hostname
+	hostname text not null,         -- a unique identifier from the client (can be hashed, random, whatever)
 	timestamp timestamp not null,   -- one of the few non-encrypted metadatas
 
-	data varchar(8192) not null     -- store the actual history data, encrypted. I don't wanna know!
+	data varchar(8192) not null,    -- store the actual history data, encrypted. I don't wanna know!
+
+	created_at timestamp not null default current_timestamp
 );
-- 
cgit v1.3.1

