Address embryo
This commit is contained in:
@@ -1,7 +1,19 @@
|
||||
import { SQLDataSource } from 'datasource-sql';
|
||||
import { Maybe } from './types';
|
||||
|
||||
const MINUTE = 60;
|
||||
|
||||
interface Address {
|
||||
id: number;
|
||||
firstname: string;
|
||||
}
|
||||
|
||||
interface ContactInformation {
|
||||
email: string;
|
||||
phone: string;
|
||||
addressId: number;
|
||||
}
|
||||
|
||||
interface Order {
|
||||
id: number;
|
||||
inserted: Date;
|
||||
@@ -44,11 +56,13 @@ interface Order {
|
||||
customerLastname: string;
|
||||
customerEmail: string;
|
||||
customerCellphone: string;
|
||||
billingAddressId: number;
|
||||
deliveryAddressId: number;
|
||||
flyerIds: string;
|
||||
market: string;
|
||||
locale: string;
|
||||
billingInformation: ContactInformation;
|
||||
deliveryInformation: ContactInformation;
|
||||
billingAddressId: number;
|
||||
deliveryAddressId: number;
|
||||
}
|
||||
|
||||
export class OrderAPI extends SQLDataSource {
|
||||
@@ -56,19 +70,70 @@ export class OrderAPI extends SQLDataSource {
|
||||
super(config);
|
||||
}
|
||||
|
||||
async getAddress(addressId: number): Promise<Maybe<Address>> {
|
||||
const row = await this.knex
|
||||
.select('*')
|
||||
.from('addresses')
|
||||
.where('id', addressId)
|
||||
.first()
|
||||
.cache(MINUTE);
|
||||
console.log('HERE', row);
|
||||
return row
|
||||
? {
|
||||
id: row.id,
|
||||
firstname: row.firstName,
|
||||
}
|
||||
: null;
|
||||
/**
|
||||
* address = cls()
|
||||
address.id = row["id"]
|
||||
address.firstname = row["first_name"]
|
||||
address.lastname = row["last_name"]
|
||||
address.companyname = row["company_name"]
|
||||
address.address1 = row["address1"]
|
||||
address.address2 = row["address2"]
|
||||
address.countryCode = row["country_code"]
|
||||
address.city = row["city"]
|
||||
address.zipcode = row["zipcode"]
|
||||
address.stateCountyOrRegion = row["state"]
|
||||
|
||||
return address
|
||||
|
||||
def resolve_recipientName(self, info):
|
||||
if self.firstname or self.lastname:
|
||||
return "{} {}".format(self.firstname, self.lastname).strip()
|
||||
*/
|
||||
}
|
||||
|
||||
getBillingInformation(row): ContactInformation {
|
||||
return {
|
||||
email: 'niklas.fondberg@photowall.se',
|
||||
phone: '+46761386397',
|
||||
addressId: row.billingAddressId,
|
||||
};
|
||||
}
|
||||
|
||||
getDeliveryInformation(row): ContactInformation {
|
||||
return {
|
||||
email: 'niklas.fondberg@photowall.se',
|
||||
phone: '+46761386397',
|
||||
addressId: row.deliveryAddressId,
|
||||
};
|
||||
}
|
||||
|
||||
async getOrders() {
|
||||
const data = await this.knex
|
||||
return await this.knex
|
||||
.select('*')
|
||||
.from('orders')
|
||||
.where('inserted', '>=', '2021-03-01T00:00:00Z')
|
||||
.cache(MINUTE);
|
||||
|
||||
console.log(data);
|
||||
|
||||
return [
|
||||
{ id: 1, countryCode: 'SE' },
|
||||
{ id: 2, countryCode: 'DK' },
|
||||
];
|
||||
.cache(MINUTE)
|
||||
.then((rows) =>
|
||||
rows.map((row) => {
|
||||
row.billingInformation = this.getBillingInformation(row);
|
||||
row.deliveryInformation = this.getDeliveryInformation(row);
|
||||
return row;
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
async getOrder(id: number): Promise<Order> {
|
||||
|
||||
Reference in New Issue
Block a user