Compare commits
No commits in common. "cf868a92e946a75d3bbf944df5d430047e2a36dc" and "5d795107808b02afc810fa743e74502b5c9b1aca" have entirely different histories.
cf868a92e9
...
5d79510780
5 changed files with 5 additions and 79 deletions
18
demo/demo.ts
18
demo/demo.ts
|
@ -11,7 +11,6 @@ import {
|
||||||
Producto,
|
Producto,
|
||||||
Precio,
|
Precio,
|
||||||
getPublications,
|
getPublications,
|
||||||
getPriceLists,
|
|
||||||
} from "../index.js";
|
} from "../index.js";
|
||||||
|
|
||||||
// TODO: hacerlo input
|
// TODO: hacerlo input
|
||||||
|
@ -54,22 +53,18 @@ function objectToDom(object: any) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function showResponse(statusEl: Element | null, promise: Promise<any>) {
|
async function showResponse(statusEl: Element | null, promise: Promise<any>) {
|
||||||
|
if (statusEl) clear(statusEl);
|
||||||
try {
|
try {
|
||||||
const response = await promise;
|
const response = await promise;
|
||||||
if (statusEl) {
|
if (statusEl) {
|
||||||
clear(statusEl);
|
|
||||||
statusEl.append("¡Funcionó!");
|
statusEl.append("¡Funcionó!");
|
||||||
if (response) {
|
if (response) {
|
||||||
statusEl.append(" Respuesta:", objectToDom(response));
|
statusEl.append(" Respuesta:", objectToDom(response));
|
||||||
}
|
}
|
||||||
} else alert(`¡Funcionó!${response ? ` Respuesta: ${response}` : ""}`);
|
} else alert(`¡Funcionó!${response ? ` Respuesta: ${response}` : ""}`);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (statusEl) {
|
if (statusEl) statusEl.append("Hubo un error :(", objectToDom(error));
|
||||||
clear(statusEl);
|
else alert(`Hubo un error: ${error}`);
|
||||||
statusEl.append("Hubo un error :(", objectToDom(error));
|
|
||||||
} else {
|
|
||||||
alert(`Hubo un error: ${error}`);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,11 +94,6 @@ setupForm("#price-by-customer", (event) =>
|
||||||
filter: (event.target! as any).filter.value,
|
filter: (event.target! as any).filter.value,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
setupForm("#price-list", (event) =>
|
|
||||||
getPriceLists(HOST, token(), {
|
|
||||||
filter: (event.target! as any).filter.value,
|
|
||||||
})
|
|
||||||
);
|
|
||||||
setupForm("#customers", () => getCustomers(HOST, token(), {}));
|
setupForm("#customers", () => getCustomers(HOST, token(), {}));
|
||||||
|
|
||||||
let customer: Customer | null = null;
|
let customer: Customer | null = null;
|
||||||
|
@ -196,7 +186,7 @@ setupForm("#pedido", async () => {
|
||||||
})),
|
})),
|
||||||
Customer: {
|
Customer: {
|
||||||
CustomerID: 1,
|
CustomerID: 1,
|
||||||
User: customer.BusinessName,
|
User: "ADMIN",
|
||||||
IVACategoryCode: customer.IvaCategoryCode,
|
IVACategoryCode: customer.IvaCategoryCode,
|
||||||
Email: "api@axoft.com", // En prod: customer.Email, tenemos que usar esto porque el usuario de prueba no tiene Email
|
Email: "api@axoft.com", // En prod: customer.Email, tenemos que usar esto porque el usuario de prueba no tiene Email
|
||||||
ProvinceCode: customer.ProvinceCode,
|
ProvinceCode: customer.ProvinceCode,
|
||||||
|
|
|
@ -23,12 +23,6 @@
|
||||||
pre {
|
pre {
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
summary {
|
|
||||||
position: sticky;
|
|
||||||
top: 0px;
|
|
||||||
background: white;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<label for="token-input">Access token: </label>
|
<label for="token-input">Access token: </label>
|
||||||
|
@ -65,15 +59,9 @@
|
||||||
<p class="status"></p>
|
<p class="status"></p>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<form id="price-list">
|
|
||||||
<button>Conseguir listas de precios</button>
|
|
||||||
<input name="filter" type="text" placeholder="Filtro por ID (opcional)" />
|
|
||||||
<p class="status"></p>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<form id="customers">
|
<form id="customers">
|
||||||
<button>Conseguir clientes</button>
|
|
||||||
<p class="status"></p>
|
<p class="status"></p>
|
||||||
|
<button>Conseguir clientes</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
|
|
1
index.ts
1
index.ts
|
@ -4,7 +4,6 @@ export * from "./dummy.js";
|
||||||
export * from "./product.js";
|
export * from "./product.js";
|
||||||
export * from "./price.js";
|
export * from "./price.js";
|
||||||
export * from "./priceByCustomer.js";
|
export * from "./priceByCustomer.js";
|
||||||
export * from "./priceList.js";
|
|
||||||
export * from "./customer.js";
|
export * from "./customer.js";
|
||||||
export * from "./order.js";
|
export * from "./order.js";
|
||||||
export * from "./publications.js";
|
export * from "./publications.js";
|
||||||
|
|
3
price.ts
3
price.ts
|
@ -2,9 +2,6 @@ import { Paginacion, paginacionToSearchParams, Paging } from "./common.js";
|
||||||
|
|
||||||
export interface PriceQuery {
|
export interface PriceQuery {
|
||||||
paginacion?: Paginacion;
|
paginacion?: Paginacion;
|
||||||
/**
|
|
||||||
* Filtrar por PriceListNumber
|
|
||||||
*/
|
|
||||||
filter?: string;
|
filter?: string;
|
||||||
SKUCode?: string;
|
SKUCode?: string;
|
||||||
}
|
}
|
||||||
|
|
48
priceList.ts
48
priceList.ts
|
@ -1,48 +0,0 @@
|
||||||
import { Paginacion, paginacionToSearchParams, Paging } from "./common.js";
|
|
||||||
|
|
||||||
export interface PriceListQuery {
|
|
||||||
paginacion?: Paginacion;
|
|
||||||
filter?: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface PriceList {
|
|
||||||
PriceListNumber: number;
|
|
||||||
Description: string;
|
|
||||||
CommonCurrency: boolean;
|
|
||||||
IvaIncluded: boolean;
|
|
||||||
InternalTaxIncluded: boolean;
|
|
||||||
ValidityDateSince: string;
|
|
||||||
ValidityDateUntil: string;
|
|
||||||
Disabled: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface PriceListResponse {
|
|
||||||
Paging: Paging;
|
|
||||||
Data: PriceList[];
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function getPriceLists(
|
|
||||||
host: string,
|
|
||||||
token: string,
|
|
||||||
options: PriceListQuery
|
|
||||||
): Promise<PriceListResponse> {
|
|
||||||
let searchParams = new URLSearchParams();
|
|
||||||
paginacionToSearchParams(options.paginacion, searchParams);
|
|
||||||
if (options.filter) {
|
|
||||||
searchParams.set("filter", options.filter);
|
|
||||||
}
|
|
||||||
const res = await fetch(
|
|
||||||
`${host}/api/Aperture/PriceList?${searchParams.toString()}`,
|
|
||||||
{
|
|
||||||
headers: {
|
|
||||||
accesstoken: token,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
);
|
|
||||||
const json = await res.json();
|
|
||||||
console.debug(json);
|
|
||||||
if (json.Message) {
|
|
||||||
throw new Error(`Tango: ${json.Message}`);
|
|
||||||
}
|
|
||||||
return json;
|
|
||||||
}
|
|
Loading…
Reference in a new issue