Compare commits

..

7 commits

Author SHA1 Message Date
Imbus
555a3fa7ec Merge imbs again 2024-03-14 14:38:53 +01:00
Imbus
be04ba148d Merge imbs 2024-03-14 14:37:50 +01:00
dDogge
0bd1fc5397 Merge remote-tracking branch 'refs/remotes/gh/dev' into dev 2024-03-14 14:31:01 +01:00
dDogge
2b491ed798 Clean up 2024-03-14 14:29:37 +01:00
Imbus
0824a344e3 Target for dumping database content to file 2024-03-14 14:10:25 +01:00
Imbus
dd4809d631 Merge branch 'dev' of github.com:imbus64/TTime into dev 2024-03-14 14:08:27 +01:00
dDogge
f0745c5a75 Added ChangeUserRole and corresponding test, also GetProjectId should be fixed. 2024-03-14 13:27:57 +01:00
5 changed files with 8 additions and 3 deletions

1
.gitignore vendored
View file

@ -6,6 +6,7 @@
*.dylib *.dylib
bin bin
database.txt
db.sqlite3 db.sqlite3
*.png *.png

View file

@ -54,6 +54,9 @@ migrate:
db.sqlite3: db.sqlite3:
make migrate make migrate
dbdump:
sqlite3 $(DB_FILE) .dump > database.txt
backup: backup:
mkdir -p backups mkdir -p backups
sqlite3 $(DB_FILE) .dump | gzip -9 > ./backups/BACKUP_$(DB_FILE)_$(shell date +"%Y-%m-%d_%H:%M:%S").sql.gz sqlite3 $(DB_FILE) .dump | gzip -9 > ./backups/BACKUP_$(DB_FILE)_$(shell date +"%Y-%m-%d_%H:%M:%S").sql.gz

View file

@ -19,6 +19,7 @@ type Database interface {
GetUserId(username string) (int, error) GetUserId(username string) (int, error)
AddProject(name string, description string, username string) error AddProject(name string, description string, username string) error
Migrate(dirname string) error Migrate(dirname string) error
GetProjectId(projectname string) (int, error)
AddTimeReport(projectName string, userName string, start time.Time, end time.Time) error AddTimeReport(projectName string, userName string, start time.Time, end time.Time) error
AddUserToProject(username string, projectname string, role string) error AddUserToProject(username string, projectname string, role string) error
ChangeUserRole(username string, projectname string, role string) error ChangeUserRole(username string, projectname string, role string) error
@ -123,7 +124,7 @@ func (d *Db) GetUserId(username string) (int, error) {
return id, err return id, err
} }
func (d *Db) GetProjectId(projectname string) (int, error) { // WIP, denna kan vara goof func (d *Db) GetProjectId(projectname string) (int, error) {
var id int var id int
err := d.Get(&id, "SELECT id FROM projects WHERE name = ?", projectname) err := d.Get(&id, "SELECT id FROM projects WHERE name = ?", projectname)
return id, err return id, err

View file

@ -5,5 +5,5 @@ CREATE TABLE IF NOT EXISTS project_role (
); );
-- Insert the possible roles a user can have in a project. -- Insert the possible roles a user can have in a project.
INSERT OR IGNORE INTO project_role (p_role) VALUES ('admin'); INSERT OR IGNORE INTO project_role (p_role) VALUES ('project_manager');
INSERT OR IGNORE INTO project_role (p_role) VALUES ('member'); INSERT OR IGNORE INTO project_role (p_role) VALUES ('member');

View file

@ -1,7 +1,7 @@
CREATE TABLE IF NOT EXISTS user_roles ( CREATE TABLE IF NOT EXISTS user_roles (
user_id INTEGER NOT NULL, user_id INTEGER NOT NULL,
project_id INTEGER NOT NULL, project_id INTEGER NOT NULL,
p_role TEXT NOT NULL, -- 'admin' or 'member' p_role TEXT NOT NULL, -- 'project_manager' or 'member'
FOREIGN KEY (user_id) REFERENCES users (id) FOREIGN KEY (user_id) REFERENCES users (id)
FOREIGN KEY (project_id) REFERENCES projects (id) FOREIGN KEY (project_id) REFERENCES projects (id)
FOREIGN KEY (p_role) REFERENCES project_role (p_role) FOREIGN KEY (p_role) REFERENCES project_role (p_role)