initial commit. Cloned timetracker repository

This commit is contained in:
Daniel Goc
2026-03-10 09:02:57 +01:00
commit f2952bcef0
189 changed files with 21334 additions and 0 deletions

View File

@@ -0,0 +1,87 @@
import { useFetchJson } from './useFetchJson'
import type { Resp } from '@/types/response'
const API_PREFIX = '/api/v1/repo'
export interface QuarterData {
quarter: string
time: number
}
export interface IssueTimeSummary {
IssueID: number
IssueName: string
UserId: number
Initials: string
CreatedDate: string
TotalHoursSpent: number
}
export interface IssueResponse {
items: IssueTimeSummary[]
count: number
}
export interface PagingParams {
page?: number
pageSize?: number
}
export async function getRepos(): Promise<any> {
const result = await useFetchJson<number[]>(`${API_PREFIX}/get-repos`)
return result
}
// export async function getYears(repoID: number): Promise<any> {
// return useFetchJson<number[]>(`${API_PREFIX}/get-years?repoID=${repoID}`)
// }
// console.log(getYears(), 'leraaaaaa')
export async function getYears(repoID: number): Promise<any> {
return useFetchJson<number[]>(`${API_PREFIX}/get-years?repoID=${repoID}`);
}
// Correct way to log the data
export async function getQuarters(repoID: number, year: number): Promise<any> {
return useFetchJson<QuarterData[]>(`${API_PREFIX}/get-quarters?repoID=${repoID}&year=${year}`)
}
// export async function getIssues(
// repoID: number,
// year: number,
// quarter: number,
// page: number = 1,
// pageSize: number = 10
// ): Promise<any> {
// // The get-issues endpoint uses GET with pagination in query params
// return useFetchJson<IssueResponse>(
// `${API_PREFIX}/get-issues?repoID=${repoID}&year=${year}&quarter=${quarter}&page_number=${page}&elements_per_page=${pageSize}`
// )
// }
// async function logYears() {
// const years = await getIssues(7); // pass a repoID
// console.log(years, 'leraaaaaa');
// }
export async function getIssues(
repoID: number,
year: number,
quarter: number,
page: number = 1,
pageSize: number = 10
): Promise<any> {
return useFetchJson<IssueResponse>(
`${API_PREFIX}/get-issues?repoID=${repoID}&year=${year}&quarter=${quarter}&page_number=${page}&elements_per_page=${pageSize}`
);
}
// Correct logging function
async function logIssues() {
const repoID = 7;
const year = 2026; // example year
const quarter = 1; // example quarter
const issues = await getIssues(repoID, year, quarter);
console.log(issues, 'leraaaaaa');
}
logIssues();