import { ITGitRequestConfig } from '..'; import { ProjectId } from '../base'; export type DailyCount = ( params: { id: ProjectId; begin_date: string; end_date: string; branch_name?: string; tag_name?: string; timezone?: number; commit_limit?: number; }, requestOptions?: ITGitRequestConfig, ) => Promise; export interface DailyCounts { day: string; commit_user_count: number; commit_count: number; } export type DailyDiff = ( params: { id: ProjectId; begin_date: string; end_date: string; branch_name?: string; tag_name?: string; timezone?: number; commit_limit?: number; }, requestOptions?: ITGitRequestConfig, ) => Promise; export interface DailyDiffs { day: string; total_work: number; total_add: number; total_mod: number; total_del: number; source_add: number; source_mod: number; source_del: number; comment_add: number; comment_mod: number; comment_del: number; blank_add: number; blank_mod: number; blank_del: number; } export interface Daily { count: DailyCount; diff: DailyDiff; } export type UserDiff = ( params: { id: ProjectId; begin_date: string; end_date: string; branch_name?: string; tag_name?: string; commit_limit?: number; }, requestOptions?: ITGitRequestConfig, ) => Promise; export interface UserDiffs { username: string; total_work: number; total_add: number; total_mod: number; total_del: number; source_add: number; source_mod: number; source_del: number; comment_add: number; comment_mod: number; comment_del: number; blank_add: number; blank_mod: number; blank_del: number; commit_count: number; commit_file_count: number; } export interface User { diff: UserDiff; } export interface Users { diff: UsersDiff; lang: UsersLang; } export type UsersDiff = ( params: { id: ProjectId; uid: number; begin_date?: string; end_date?: string; commit_limit?: number; }, requestOptions?: ITGitRequestConfig, ) => Promise; export type UsersLang = ( params: { id: ProjectId; uid: number; begin_date?: string; end_date?: string; commit_limit?: number; }, requestOptions?: ITGitRequestConfig, ) => Promise; export interface LangDiffs { lang: string; total_work: number; total_add: number; total_mod: number; total_del: number; source_add: number; source_mod: number; source_del: number; comment_add: number; comment_mod: number; comment_del: number; blank_add: number; blank_mod: number; blank_del: number; commit_file_count: number; } export interface Commit { diff: CommitDiff; list: CommitList; } export type CommitDiff = ( params: { id: ProjectId; sha: string; branch_name?: string; tag_name?: string; apply_ignore_rules?: boolean; with_fork?: boolean; }, requestOptions?: ITGitRequestConfig, ) => Promise; export type CommitList = ( params: { id: ProjectId; begin_date: string; end_date: string; branch_name?: string; tag_name?: string; commit_limit?: number; apply_ignore_rules?: boolean; page?: number; per_page?: number; }, requestOptions?: ITGitRequestConfig, ) => Promise; export interface CommitDiffs { commit: string; username: string; time: string; lang: string; is_merge: number; total_work: number; // work=add+mod total_add: number; total_mod: number; total_del: number; source_add: number; source_mod: number; source_del: number; comment_add: number; comment_mod: number; comment_del: number; blank_add: number; blank_mod: number; blank_del: number; commit_file_count: number; } export interface Lang { diff: LangDiff; } export type LangDiff = ( params: { id: ProjectId; begin_date: string; end_date: string; branch_name?: string; tag_name?: string; commit_limit?: number; }, requestOptions?: ITGitRequestConfig, ) => Promise; export interface File { diff: FileDiff; } export type FileDiff = ( params: { id: ProjectId; begin_date: string; end_date: string; branch_name?: string; tag_name?: string; commit_limit?: number; lang?: string; author?: string; white_paths?: string; page?: number; per_page?: number; }, requestOptions?: ITGitRequestConfig, ) => Promise; export interface FileDiffs { username: string; lang: string; path: string; commit: string; time: string; total_work: number; total_add: number; total_mod: number; total_del: number; source_add: number; source_mod: number; source_del: number; comment_add: number; comment_mod: number; comment_del: number; blank_add: number; blank_mod: number; blank_del: number; } export interface ITloc { daily: Daily; user: User; users: Users; commit: Commit; lang: Lang; file: File; }