import { checkScopesAndGetCharacterId, esiFetch, type EsiOptions } from './util/fetch'; import { ESI_SCOPE } from '../oauth'; export interface Location { solar_system_id: number; station_id: number; structure_id: number; } // required scope: esi-location.read_location.v1 export function getCharacterLocation(options: EsiOptions): Promise> { const character_id = checkScopesAndGetCharacterId(options, ESI_SCOPE['esi-location.read_location.v1']); return esiFetch>(`/characters/${character_id}/location/`, options); } export interface Online { last_login: string; last_logout: string; logins: number; online: boolean; } // required scope: esi-location.read_online.v1 export function getCharacterOnline(options: EsiOptions): Promise> { const character_id = checkScopesAndGetCharacterId(options, ESI_SCOPE['esi-location.read_online.v1']); return esiFetch>(`/characters/${character_id}/online/`, options); } export interface CurrentShip { ship_item_id: number; ship_type_id: number; ship_name: string; } // required scope: esi-location.read_ship_type.v1 export function getCharacterCurrentShip(options: EsiOptions): Promise> { const character_id = checkScopesAndGetCharacterId(options, ESI_SCOPE['esi-location.read_ship_type.v1']); return esiFetch>(`/characters/${character_id}/ship/`, options); }