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
bin
database.txt
db.sqlite3
*.png

View file

@ -54,6 +54,9 @@ migrate:
db.sqlite3:
make migrate
dbdump:
sqlite3 $(DB_FILE) .dump > database.txt
backup:
mkdir -p backups
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)
AddProject(name string, description string, username string) error
Migrate(dirname string) error
GetProjectId(projectname string) (int, error)
AddTimeReport(projectName string, userName string, start time.Time, end time.Time) error
AddUserToProject(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
}
func (d *Db) GetProjectId(projectname string) (int, error) { // WIP, denna kan vara goof
func (d *Db) GetProjectId(projectname string) (int, error) {
var id int
err := d.Get(&id, "SELECT id FROM projects WHERE name = ?", projectname)
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 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');

View file

@ -1,7 +1,7 @@
CREATE TABLE IF NOT EXISTS user_roles (
user_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 (project_id) REFERENCES projects (id)
FOREIGN KEY (p_role) REFERENCES project_role (p_role)