begin converting WakatimeCore

This commit is contained in:
Vu Nguyen
2021-01-16 20:04:53 -06:00
parent d194bcfe60
commit 0c39fbbc79
25 changed files with 1205 additions and 55 deletions

35
src/core/WakaTimeCore.ts Normal file
View File

@@ -0,0 +1,35 @@
import axios, { AxiosResponse } from 'axios';
import moment from 'moment';
import { Tabs } from 'webextension-polyfill-ts';
import { User } from '../types/user';
import config from '../config';
import { SummariesPayload, GrandTotal } from '../types/summaries';
class WakaTimeCore {
tabsWithDevtoolsOpen: Tabs.Tab[];
constructor() {
this.tabsWithDevtoolsOpen = [];
}
setTabsWithDevtoolsOpen(tabs: Tabs.Tab[]): void {
this.tabsWithDevtoolsOpen = tabs;
}
async getTotalTimeLoggedToday(): Promise<GrandTotal> {
const today = moment().format('YYYY-MM-DD');
const summariesAxiosPayload: AxiosResponse<SummariesPayload> = await axios.get(
config.summariesApiUrl,
{
data: {
end: today,
start: today,
},
},
);
return summariesAxiosPayload.data.data[0].grand_total;
}
async checkAuth(): Promise<User> {
const userPayload: AxiosResponse<User> = await axios.get(config.currentUserApiUrl);
return userPayload.data;
}
}
export default new WakaTimeCore();