initial commit. Cloned timetracker repository
This commit is contained in:
87
bo/src/composable/useRepoApi.ts
Normal file
87
bo/src/composable/useRepoApi.ts
Normal 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();
|
||||
Reference in New Issue
Block a user