parent
b73672f469
commit
17c5fd07f4
1 changed files with 104 additions and 0 deletions
@ -0,0 +1,104 @@ |
||||
// Copyright © 2023 Entreprise SkamKraft
|
||||
"use strict"; |
||||
|
||||
import { SpaceTraders } from "./config.js"; |
||||
import { My } from "./agent.js"; |
||||
|
||||
export class Ship { |
||||
constructor(data) { |
||||
this.symbol = data.symbol; |
||||
this.registration = data.registration; |
||||
this.nav = data.nav; |
||||
this.crew = data.crew; |
||||
this.frame = data.frame; |
||||
this.reactor = data.reactor; |
||||
this.engine = data.engine; |
||||
this.cooldown = data.cooldown; |
||||
this.modules = data.modules; |
||||
this.mounts = data.mounts; |
||||
this.cargo = data.cargo; |
||||
this.fuel = data.fuel; |
||||
} |
||||
|
||||
static get(shipSymbol, callback, error_handler) { |
||||
const url = `${SpaceTraders.host}/my/ships/${shipSymbol}`; |
||||
$.ajax({ |
||||
url: url, |
||||
method: "GET", |
||||
headers: { |
||||
Accept: "application/json", |
||||
Authorization: `Bearer ${My.agent.token}`, |
||||
}, |
||||
success: (response) => { |
||||
callback(new Ship(response.data)); |
||||
}, |
||||
error: (err) => { |
||||
error_handler(err); |
||||
}, |
||||
}); |
||||
} |
||||
|
||||
static list(callback, error_handler) { |
||||
const url = `${SpaceTraders.host}/my/ships`; |
||||
$.ajax({ |
||||
url: url, |
||||
method: "GET", |
||||
headers: { |
||||
Accept: "application/json", |
||||
Authorization: `Bearer ${My.agent.token}`, |
||||
}, |
||||
success: (response) => { |
||||
const ships = []; |
||||
const meta = response.meta; |
||||
response.data.forEach((ship) => { |
||||
ships.push(new Ship(ship)); |
||||
}); |
||||
callback(ships, meta); |
||||
}, |
||||
error: (err) => { |
||||
error_handler(err); |
||||
}, |
||||
}); |
||||
} |
||||
|
||||
static purchase(shipType, waypointSymbol, callback, error_handler) { |
||||
const url = `${SpaceTraders.host}/my/ships`; |
||||
$.ajax({ |
||||
url: url, |
||||
method: "POST", |
||||
headers: { |
||||
"Content-Type": "application/json", |
||||
Accept: "application/json", |
||||
Authorization: `Bearer ${My.agent.token}`, |
||||
}, |
||||
data: `{\n "shipType": "${shipType}",\n "waypointSymbol": "${waypointSymbol}"\n}`, |
||||
success: (response) => { |
||||
callback(new Ship(response.data.ship)); |
||||
}, |
||||
error: (err) => { |
||||
error_handler(err); |
||||
}, |
||||
}); |
||||
} |
||||
|
||||
// get_cargo(callback, error_handler) {
|
||||
// const url = `${SpaceTraders.host}/my/ships/${this.symbol}/cargo`;
|
||||
// $.ajax({
|
||||
// url: url,
|
||||
// method: "GET",
|
||||
// headers: {
|
||||
// Accept: "application/json",
|
||||
// Authorization: `Bearer ${My.agent.token}`,
|
||||
// },
|
||||
// success: (response) => {
|
||||
// this.cargo = response.data;
|
||||
// callback(this.cargo);
|
||||
// },
|
||||
// error: (err) => {
|
||||
// error_handler(err);
|
||||
// },
|
||||
// });
|
||||
// }
|
||||
|
||||
chart(callback, error_handler) {} |
||||
} |
Loading…
Reference in New Issue