feat(app): implement character login and destination setting for multiple characters

This commit introduces several key features:

- **Multiple Character Support**: The application can now handle multiple logged-in EVE Online characters.
- **List Characters**: A new function `ListCharacters` allows retrieving a list of all authenticated characters.
- **Set Destination for All**: The `SetDestinationForAll` function enables setting a destination for all logged-in characters simultaneously.
- **UI Updates**: The frontend has been updated to display logged-in characters and to allow setting destinations for all characters.
- **Backend Refinements**: The ESI SSO logic has been improved to support refreshing tokens for multiple characters and to handle the new multi-character functionality.
- **Dependency Updates**: Dependencies have been updated to their latest versions.

chore: update go module dependencies
This commit is contained in:
2025-08-09 19:30:51 +02:00
parent 3f9d315978
commit 13da1c8340
9 changed files with 378 additions and 262 deletions

View File

@@ -1,5 +1,6 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
import {main} from '../models';
export function ESILoggedIn():Promise<boolean>;
@@ -7,8 +8,12 @@ export function ESILoginStatus():Promise<string>;
export function Greet(arg1:string):Promise<string>;
export function ListCharacters():Promise<Array<main.CharacterInfo>>;
export function SetDestination(arg1:number,arg2:boolean,arg3:boolean):Promise<void>;
export function SetDestinationByName(arg1:string,arg2:boolean,arg3:boolean):Promise<void>;
export function SetDestinationForAll(arg1:string,arg2:boolean,arg3:boolean):Promise<void>;
export function StartESILogin():Promise<string>;

View File

@@ -14,6 +14,10 @@ export function Greet(arg1) {
return window['go']['main']['App']['Greet'](arg1);
}
export function ListCharacters() {
return window['go']['main']['App']['ListCharacters']();
}
export function SetDestination(arg1, arg2, arg3) {
return window['go']['main']['App']['SetDestination'](arg1, arg2, arg3);
}
@@ -22,6 +26,10 @@ export function SetDestinationByName(arg1, arg2, arg3) {
return window['go']['main']['App']['SetDestinationByName'](arg1, arg2, arg3);
}
export function SetDestinationForAll(arg1, arg2, arg3) {
return window['go']['main']['App']['SetDestinationForAll'](arg1, arg2, arg3);
}
export function StartESILogin() {
return window['go']['main']['App']['StartESILogin']();
}

View File

@@ -0,0 +1,19 @@
export namespace main {
export class CharacterInfo {
character_id: number;
character_name: string;
static createFrom(source: any = {}) {
return new CharacterInfo(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.character_id = source["character_id"];
this.character_name = source["character_name"];
}
}
}