Compare commits

...

16 commits

Author SHA1 Message Date
Imbus
1a7bc9c73c Merge branch 'imbs' of git.silversoft.se:Imbus/TTime into imbs 2024-03-20 22:04:42 +01:00
Imbus
b00ce7a0ed Typescript type regeneration 2024-03-20 22:04:36 +01:00
Imbus
ec138163c6 Very large changes related to database and its interface 2024-03-20 22:04:36 +01:00
al8763be
a51d984229 Merge branch 'dev' of https://github.com/imbus64/TTime into dev 2024-03-20 22:03:25 +01:00
al8763be
70cf40feb5 fixed getWeeklyReport 2024-03-20 22:02:34 +01:00
Imbus
0dc7e3bf99 Deleted sqlite3-journal 2024-03-20 21:56:03 +01:00
al8763be
4288b064f3 fixade dålig stämmning igen 2024-03-20 21:53:08 +01:00
al8763be
49ca043157 ingen dålig stämmning 2024-03-20 21:51:02 +01:00
al8763be
69d07624ce Merge remote-tracking branch 'origin/dev' into BumBranch 2024-03-20 20:55:53 +01:00
al8763be
a9e515925e getWeeklyReportsForUser fixed 2024-03-20 20:24:56 +01:00
al8763be
91c9f50491 sampledata now has weeklyReports for user & user2 2024-03-20 20:08:00 +01:00
al8763be
e8c660705f sampledata now has weeklyReports for user & user2 2024-03-20 20:05:04 +01:00
al8763be
be3adb09ae Merge branch 'dev' into BumBranch 2024-03-20 19:39:05 +01:00
al8763be
8fbb4be0ad merge again 2024-03-20 19:38:52 +01:00
al8763be
eff14516b4 merge 2024-03-20 19:37:07 +01:00
al8763be
7b78767f50 restore 2024-03-20 01:14:30 +01:00
5 changed files with 29 additions and 13 deletions

1
.gitignore vendored
View file

@ -9,6 +9,7 @@ bin
database.txt database.txt
plantuml.jar plantuml.jar
db.sqlite3 db.sqlite3
db.sqlite3-journal
diagram.puml diagram.puml
backend/*.png backend/*.png
backend/*.jpg backend/*.jpg

View file

@ -1,5 +1,5 @@
CREATE TABLE IF NOT EXISTS weekly_reports ( CREATE TABLE IF NOT EXISTS weekly_reports (
report_id INTEGER PRIMARY KEY AUTOINCREMENT, report_id INTEGER AUTO_INCREMENT UNIQUE,
user_id INTEGER NOT NULL, user_id INTEGER NOT NULL,
project_id INTEGER NOT NULL, project_id INTEGER NOT NULL,
week INTEGER NOT NULL, week INTEGER NOT NULL,
@ -12,5 +12,6 @@ CREATE TABLE IF NOT EXISTS weekly_reports (
signed_by INTEGER, signed_by INTEGER,
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 (signed_by) REFERENCES users(id) FOREIGN KEY (signed_by) REFERENCES users(id),
PRIMARY KEY (user_id, project_id, week)
); );

View file

@ -33,3 +33,18 @@ VALUES (3,3,"member");
INSERT OR IGNORE INTO user_roles(user_id,project_id,p_role) INSERT OR IGNORE INTO user_roles(user_id,project_id,p_role)
VALUES (2,1,"project_manager"); VALUES (2,1,"project_manager");
INSERT OR IGNORE INTO weekly_reports (user_id, project_id, week, development_time, meeting_time, admin_time, own_work_time, study_time, testing_time, signed_by)
VALUES (2, 1, 12, 20, 10, 5, 30, 15, 10, NULL);
INSERT OR IGNORE INTO weekly_reports (user_id, project_id, week, development_time, meeting_time, admin_time, own_work_time, study_time, testing_time, signed_by)
VALUES (3, 1, 12, 20, 10, 5, 30, 15, 10, NULL);
INSERT OR IGNORE INTO weekly_reports (user_id, project_id, week, development_time, meeting_time, admin_time, own_work_time, study_time, testing_time, signed_by)
VALUES (3, 1, 14, 20, 10, 5, 30, 15, 10, NULL);
INSERT OR IGNORE INTO weekly_reports (user_id, project_id, week, development_time, meeting_time, admin_time, own_work_time, study_time, testing_time, signed_by)
VALUES (3, 2, 12, 20, 10, 5, 30, 15, 10, NULL);
INSERT OR IGNORE INTO weekly_reports (user_id, project_id, week, development_time, meeting_time, admin_time, own_work_time, study_time, testing_time, signed_by)
VALUES (3, 3, 12, 20, 10, 5, 30, 15, 10, NULL);

View file

@ -87,14 +87,12 @@ interface API {
): Promise<APIResponse<NewWeeklyReport>>; ): Promise<APIResponse<NewWeeklyReport>>;
/** Gets a weekly report for a specific user, project and week /** Gets a weekly report for a specific user, project and week
* @param {string} username The username of the user.
* @param {string} projectName The name of the project. * @param {string} projectName The name of the project.
* @param {string} week The week number. * @param {string} week The week number.
* @param {string} token The authentication token. * @param {string} token The authentication token.
* @returns {Promise<APIResponse<WeeklyReport>>} A promise resolving to an API response with the retrieved report. * @returns {Promise<APIResponse<WeeklyReport>>} A promise resolving to an API response with the retrieved report.
*/ */
getWeeklyReport( getWeeklyReport(
username: string,
projectName: string, projectName: string,
week: string, week: string,
token: string, token: string,
@ -319,20 +317,21 @@ export const api: API = {
}, },
async getWeeklyReport( async getWeeklyReport(
username: string,
projectName: string, projectName: string,
week: string, week: string,
token: string, token: string,
): Promise<APIResponse<WeeklyReport>> { ): Promise<APIResponse<WeeklyReport>> {
try { try {
const response = await fetch("/api/getWeeklyReport", { const response = await fetch(
`/api/getWeeklyReport?projectName=${projectName}&week=${week}`,
{
method: "GET", method: "GET",
headers: { headers: {
"Content-Type": "application/json", "Content-Type": "application/json",
Authorization: "Bearer " + token, Authorization: "Bearer " + token,
}, },
body: JSON.stringify({ username, projectName, week }), },
}); );
if (!response.ok) { if (!response.ok) {
return { success: false, message: "Failed to get weekly report" }; return { success: false, message: "Failed to get weekly report" };

View file

@ -16,8 +16,8 @@ function AllTimeReportsInProject(): JSX.Element {
const getWeeklyReports = async (): Promise<void> => { const getWeeklyReports = async (): Promise<void> => {
const token = localStorage.getItem("accessToken") ?? ""; const token = localStorage.getItem("accessToken") ?? "";
const response = await api.getWeeklyReportsForUser( const response = await api.getWeeklyReportsForUser(
token,
projectName ?? "", projectName ?? "",
token,
); );
console.log(response); console.log(response);
if (response.success) { if (response.success) {