New eveal #32
+24
-16
@@ -233,6 +233,14 @@ paths:
|
||||
"400":
|
||||
description: Returned when a line carries a quantity that is not a positive
|
||||
whole number
|
||||
/market/history/refresh:
|
||||
post:
|
||||
tags:
|
||||
- market-history-admin-controller
|
||||
operationId: refresh_1
|
||||
responses:
|
||||
"202":
|
||||
description: Accepted
|
||||
/logout:
|
||||
post:
|
||||
tags:
|
||||
@@ -649,6 +657,22 @@ paths:
|
||||
Returned when:
|
||||
- the types parameter is missing
|
||||
- a types value is not a numeric id
|
||||
/market/orders:
|
||||
get:
|
||||
tags:
|
||||
- market
|
||||
summary: List the open market orders across all characters owned by the authenticated
|
||||
user
|
||||
operationId: findAllMarketOrders
|
||||
responses:
|
||||
"200":
|
||||
description: The authenticated user's open market orders
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/components/schemas/MarketOrderResponse"
|
||||
/market/history/quartiles:
|
||||
get:
|
||||
tags:
|
||||
@@ -691,22 +715,6 @@ paths:
|
||||
- the types parameter is missing
|
||||
- a types value is not a numeric id
|
||||
- the days parameter is not greater than 0
|
||||
/market-orders:
|
||||
get:
|
||||
tags:
|
||||
- market-order
|
||||
summary: List the open market orders across all characters owned by the authenticated
|
||||
user
|
||||
operationId: findAllMarketOrders
|
||||
responses:
|
||||
"200":
|
||||
description: The authenticated user's open market orders
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/components/schemas/MarketOrderResponse"
|
||||
/ledgers:
|
||||
get:
|
||||
tags:
|
||||
|
||||
+81
-25
@@ -1949,6 +1949,36 @@ export const MarketApiAxiosParamCreator = function (configuration?: Configuratio
|
||||
options: localVarRequestOptions,
|
||||
};
|
||||
},
|
||||
/**
|
||||
*
|
||||
* @summary List the open market orders across all characters owned by the authenticated user
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
findAllMarketOrders: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
||||
const localVarPath = `/market/orders`;
|
||||
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
||||
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
||||
let baseOptions;
|
||||
if (configuration) {
|
||||
baseOptions = configuration.baseOptions;
|
||||
}
|
||||
|
||||
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
|
||||
const localVarHeaderParameter = {} as any;
|
||||
const localVarQueryParameter = {} as any;
|
||||
|
||||
localVarHeaderParameter['Accept'] = '*/*';
|
||||
|
||||
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
||||
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
||||
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
||||
|
||||
return {
|
||||
url: toPathString(localVarUrlObj),
|
||||
options: localVarRequestOptions,
|
||||
};
|
||||
},
|
||||
/**
|
||||
*
|
||||
* @summary Compute volume-weighted price quartiles and the recent price trend for each requested market type
|
||||
@@ -2299,6 +2329,18 @@ export const MarketApiFp = function(configuration?: Configuration) {
|
||||
const localVarOperationServerBasePath = operationServerMap['MarketApi.currentPrices']?.[localVarOperationServerIndex]?.url;
|
||||
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
||||
},
|
||||
/**
|
||||
*
|
||||
* @summary List the open market orders across all characters owned by the authenticated user
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
async findAllMarketOrders(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<MarketOrderResponse>>> {
|
||||
const localVarAxiosArgs = await localVarAxiosParamCreator.findAllMarketOrders(options);
|
||||
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
||||
const localVarOperationServerBasePath = operationServerMap['MarketApi.findAllMarketOrders']?.[localVarOperationServerIndex]?.url;
|
||||
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
||||
},
|
||||
/**
|
||||
*
|
||||
* @summary Compute volume-weighted price quartiles and the recent price trend for each requested market type
|
||||
@@ -2431,6 +2473,15 @@ export const MarketApiFactory = function (configuration?: Configuration, basePat
|
||||
currentPrices(types: Array<number>, options?: RawAxiosRequestConfig): AxiosPromise<Array<MarketPriceResponse>> {
|
||||
return localVarFp.currentPrices(types, options).then((request) => request(axios, basePath));
|
||||
},
|
||||
/**
|
||||
*
|
||||
* @summary List the open market orders across all characters owned by the authenticated user
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
findAllMarketOrders(options?: RawAxiosRequestConfig): AxiosPromise<Array<MarketOrderResponse>> {
|
||||
return localVarFp.findAllMarketOrders(options).then((request) => request(axios, basePath));
|
||||
},
|
||||
/**
|
||||
*
|
||||
* @summary Compute volume-weighted price quartiles and the recent price trend for each requested market type
|
||||
@@ -2538,6 +2589,16 @@ export class MarketApi extends BaseAPI {
|
||||
return MarketApiFp(this.configuration).currentPrices(types, options).then((request) => request(this.axios, this.basePath));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @summary List the open market orders across all characters owned by the authenticated user
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
public findAllMarketOrders(options?: RawAxiosRequestConfig) {
|
||||
return MarketApiFp(this.configuration).findAllMarketOrders(options).then((request) => request(this.axios, this.basePath));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @summary Compute volume-weighted price quartiles and the recent price trend for each requested market type
|
||||
@@ -2639,18 +2700,17 @@ export class MarketApi extends BaseAPI {
|
||||
|
||||
|
||||
/**
|
||||
* MarketOrderApi - axios parameter creator
|
||||
* MarketHistoryAdminControllerApi - axios parameter creator
|
||||
*/
|
||||
export const MarketOrderApiAxiosParamCreator = function (configuration?: Configuration) {
|
||||
export const MarketHistoryAdminControllerApiAxiosParamCreator = function (configuration?: Configuration) {
|
||||
return {
|
||||
/**
|
||||
*
|
||||
* @summary List the open market orders across all characters owned by the authenticated user
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
findAllMarketOrders: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
||||
const localVarPath = `/market-orders`;
|
||||
refresh1: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
||||
const localVarPath = `/market/history/refresh`;
|
||||
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
||||
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
||||
let baseOptions;
|
||||
@@ -2658,11 +2718,10 @@ export const MarketOrderApiAxiosParamCreator = function (configuration?: Configu
|
||||
baseOptions = configuration.baseOptions;
|
||||
}
|
||||
|
||||
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
|
||||
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
|
||||
const localVarHeaderParameter = {} as any;
|
||||
const localVarQueryParameter = {} as any;
|
||||
|
||||
localVarHeaderParameter['Accept'] = '*/*';
|
||||
|
||||
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
||||
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
||||
@@ -2677,56 +2736,53 @@ export const MarketOrderApiAxiosParamCreator = function (configuration?: Configu
|
||||
};
|
||||
|
||||
/**
|
||||
* MarketOrderApi - functional programming interface
|
||||
* MarketHistoryAdminControllerApi - functional programming interface
|
||||
*/
|
||||
export const MarketOrderApiFp = function(configuration?: Configuration) {
|
||||
const localVarAxiosParamCreator = MarketOrderApiAxiosParamCreator(configuration)
|
||||
export const MarketHistoryAdminControllerApiFp = function(configuration?: Configuration) {
|
||||
const localVarAxiosParamCreator = MarketHistoryAdminControllerApiAxiosParamCreator(configuration)
|
||||
return {
|
||||
/**
|
||||
*
|
||||
* @summary List the open market orders across all characters owned by the authenticated user
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
async findAllMarketOrders(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<MarketOrderResponse>>> {
|
||||
const localVarAxiosArgs = await localVarAxiosParamCreator.findAllMarketOrders(options);
|
||||
async refresh1(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
|
||||
const localVarAxiosArgs = await localVarAxiosParamCreator.refresh1(options);
|
||||
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
||||
const localVarOperationServerBasePath = operationServerMap['MarketOrderApi.findAllMarketOrders']?.[localVarOperationServerIndex]?.url;
|
||||
const localVarOperationServerBasePath = operationServerMap['MarketHistoryAdminControllerApi.refresh1']?.[localVarOperationServerIndex]?.url;
|
||||
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* MarketOrderApi - factory interface
|
||||
* MarketHistoryAdminControllerApi - factory interface
|
||||
*/
|
||||
export const MarketOrderApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
|
||||
const localVarFp = MarketOrderApiFp(configuration)
|
||||
export const MarketHistoryAdminControllerApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
|
||||
const localVarFp = MarketHistoryAdminControllerApiFp(configuration)
|
||||
return {
|
||||
/**
|
||||
*
|
||||
* @summary List the open market orders across all characters owned by the authenticated user
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
findAllMarketOrders(options?: RawAxiosRequestConfig): AxiosPromise<Array<MarketOrderResponse>> {
|
||||
return localVarFp.findAllMarketOrders(options).then((request) => request(axios, basePath));
|
||||
refresh1(options?: RawAxiosRequestConfig): AxiosPromise<void> {
|
||||
return localVarFp.refresh1(options).then((request) => request(axios, basePath));
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* MarketOrderApi - object-oriented interface
|
||||
* MarketHistoryAdminControllerApi - object-oriented interface
|
||||
*/
|
||||
export class MarketOrderApi extends BaseAPI {
|
||||
export class MarketHistoryAdminControllerApi extends BaseAPI {
|
||||
/**
|
||||
*
|
||||
* @summary List the open market orders across all characters owned by the authenticated user
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
public findAllMarketOrders(options?: RawAxiosRequestConfig) {
|
||||
return MarketOrderApiFp(this.configuration).findAllMarketOrders(options).then((request) => request(this.axios, this.basePath));
|
||||
public refresh1(options?: RawAxiosRequestConfig) {
|
||||
return MarketHistoryAdminControllerApiFp(this.configuration).refresh1(options).then((request) => request(this.axios, this.basePath));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<script setup lang="ts">
|
||||
import {SliderCheckbox} from '@/components';
|
||||
import {SortableHeader, useSort, VirtualScrollTable} from '@/components/table';
|
||||
import {MarketType, MarketTypeLabel, TaxInput, useMarketTaxStore} from "@/market";
|
||||
import {MarketType, MarketTypeLabel, TaxInput, useMarketOrdersStore, useMarketTaxStore} from "@/market";
|
||||
import {MinusIcon, PlusIcon} from '@heroicons/vue/24/outline';
|
||||
import {useStorage} from '@vueuse/core';
|
||||
import {computed, ref} from 'vue';
|
||||
@@ -65,11 +66,16 @@ const columnsToIgnore = computed(() => {
|
||||
|
||||
const marketTaxStore = useMarketTaxStore();
|
||||
const ledgersStore = useLedgersStore();
|
||||
const marketOrdersStore = useMarketOrdersStore();
|
||||
|
||||
const threshold = useStorage('market-acquisition-threshold', 10);
|
||||
const filter = ref("");
|
||||
const unlistedOnly = ref(false);
|
||||
const matchesFilter = (r: AcquiredType) =>
|
||||
r.type.name.toLowerCase().includes(filter.value.toLowerCase())
|
||||
&& (!unlistedOnly.value || !marketOrdersStore.listedTypeIds.has(r.type.id));
|
||||
const { sortedArray, headerProps, showColumn } = useSort<Result>(computed(() => {
|
||||
const filteredItems = props.items.filter(r => r.type.name.toLowerCase().includes(filter.value.toLowerCase()));
|
||||
const filteredItems = props.items.filter(matchesFilter);
|
||||
|
||||
if (props.showAll) {
|
||||
return filteredItems.map(r => {
|
||||
@@ -172,6 +178,9 @@ const total = computed(() => {
|
||||
<div class="flex" v-if="!infoOnly">
|
||||
<div class="flex justify-self-end mb-2 mt-4 ms-auto">
|
||||
<TaxInput />
|
||||
<div class="end flex items-center" title="Show only acquisitions with no open sell order">
|
||||
<SliderCheckbox class="me-1" v-model="unlistedOnly" /> Unlisted only
|
||||
</div>
|
||||
<div class="end">
|
||||
<span>Profit Threshold: </span>
|
||||
<input type="number" min="0" max="1000" step="1" v-model="threshold" />
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
export * from './RegionalMarketCache';
|
||||
export * from './history';
|
||||
export * from './order';
|
||||
export * from './tax';
|
||||
export * from './type';
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
export * from './order';
|
||||
@@ -0,0 +1,21 @@
|
||||
import {defineStore} from "pinia";
|
||||
import {computed, ref} from "vue";
|
||||
import {marketApi} from "@/mammon";
|
||||
import {MarketOrderResponse, MarketOrderResponseDirectionEnum} from "@/generated/mammon";
|
||||
|
||||
export const useMarketOrdersStore = defineStore('market-orders', () => {
|
||||
const orders = ref<MarketOrderResponse[]>([]);
|
||||
|
||||
const listedTypeIds = computed(() => new Set(
|
||||
orders.value
|
||||
.filter(o => o.direction === MarketOrderResponseDirectionEnum.Sell)
|
||||
.map(o => o.marketTypeId)
|
||||
));
|
||||
|
||||
const refresh = () => marketApi.findAllMarketOrders()
|
||||
.then(response => orders.value = response.data);
|
||||
|
||||
refresh();
|
||||
|
||||
return {orders, listedTypeIds, refresh};
|
||||
});
|
||||
Reference in New Issue
Block a user