Skip to content

Commit

Permalink
remove id and set time to number when not using official api
Browse files Browse the repository at this point in the history
  • Loading branch information
alanhamlett committed Oct 14, 2024
1 parent 77d0963 commit 1031ad0
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 2 deletions.
22 changes: 20 additions & 2 deletions src/core/WakaTimeCore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,12 @@ import { getSettings, Settings } from '../utils/settings';
import { getApiUrl } from '../utils/user';

import config, { ExtensionStatus } from '../config/config';
import { EntityType, Heartbeat, HeartbeatsBulkResponse } from '../types/heartbeats';
import {
EntityType,
Heartbeat,
HeartbeatsBulkResponse,
HeartbeatThirdParty,
} from '../types/heartbeats';

class WakaTimeCore {
tabsWithDevtoolsOpen: Tabs.Tab[];
Expand Down Expand Up @@ -179,11 +184,25 @@ class WakaTimeCore {
if (heartbeats.length === 0) return;

const userAgent = await this.getUserAgent();
const apiUrl = await getApiUrl();

try {
const request: RequestInit = {
body: JSON.stringify(
heartbeats.map((heartbeat) => {
if (!apiUrl.includes('wakatime.com')) {
const hb = {
branch: heartbeat.branch,
category: heartbeat.category,
entity: heartbeat.entity,
language: heartbeat.language,
plugin: heartbeat.plugin,
project: heartbeat.project,
time: parseFloat(heartbeat.time),
type: heartbeat.type,
} as HeartbeatThirdParty;
return { ...hb, userAgent };
}
return { ...heartbeat, userAgent };
}),
),
Expand All @@ -196,7 +215,6 @@ class WakaTimeCore {
};
}

const apiUrl = await getApiUrl();
const url = `${apiUrl}${settings.heartbeatApiEndPoint}?api_key=${settings.apiKey}`;
const response = await fetch(url, request);
if (response.status === 401) {
Expand Down
4 changes: 4 additions & 0 deletions src/types/heartbeats.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ export interface Heartbeat {
type: EntityType;
}

export interface HeartbeatThirdParty extends Omit<Heartbeat, 'id' | 'time'> {
time: number;
}

export enum Category {
browsing = 'browsing',
code_reviewing = 'code reviewing',
Expand Down

0 comments on commit 1031ad0

Please sign in to comment.