Merge remote-tracking branch 'refs/remotes/gh/dev' into dev

This commit is contained in:
dDogge 2024-03-14 14:31:01 +01:00
commit 0bd1fc5397
5 changed files with 31 additions and 0 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

@ -71,6 +71,7 @@ func main() {
server.Post("/api/loginrenew", gs.LoginRenew)
server.Delete("/api/userdelete", gs.UserDelete) // Perhaps just use POST to avoid headaches
server.Post("/api/project", gs.CreateProject)
// Announce the port we are listening on and start the server
err = server.Listen(fmt.Sprintf(":%d", conf.Port))

View file

@ -1,3 +1,4 @@
import { NewProject, Project } from "../Types/Project";
import { NewUser, User } from "../Types/Users";
// Defines all the methods that an instance of the API must implement
@ -6,6 +7,8 @@ interface API {
registerUser(user: NewUser): Promise<User>;
/** Remove a user */
removeUser(username: string): Promise<User>;
/** Create a project */
createProject(project: NewProject): Promise<Project>;
}
// Export an instance of the API
@ -29,4 +32,14 @@ export const api: API = {
body: JSON.stringify(username),
}).then((res) => res.json() as Promise<User>);
},
async createProject(project: NewProject): Promise<Project> {
return fetch("/api/project", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(project),
}).then((res) => res.json() as Promise<Project>);
},
};

View file

@ -0,0 +1,13 @@
export interface Project {
id: number;
name: string;
description: string;
owner: string;
created: string; // This is a date
}
export interface NewProject {
name: string;
description: string;
owner: string;
}