Improvements to order, product, checkout & added shipping (#2)

* planet_id variable casing consistent with database field

Renames all clientId variables to planet_id

* Store stripe json response from latest payment & charge webhook

Also added db seed file for stripe payments

* Image support! Can now add, update & delete images from products

Images moved away from product schema to it's own table.
Accepts a images string and relates it to a product. Does not store the
images or verify the existance.

* Instead of deleting a product set field unlisted to true

Endpoints with current inventory checks for unlisted = false

* order_id & customer_no gets enhanced base64 function for generating id

* Implemented shipping for orders using Post tracking api

Added CRUD for making changes to a order's shippment.
Split shipping table into shipment_courier, shipment & shipment_event.

* Updated and add product & product_sku functions updated

* Cart increment funciton checks stock before updating

* Endpoint for getting product audit log using 91pluss trigger

Read more about usage here: https://wiki.postgresql.org/wiki/Audit_trigger_91plus

* On stripe charge successfull send email to user with planetposen-mail

* More product seed data, linting & formatting

* Log file at /var/log/planetposen_logs & rotate max 3 files 100MB each

This will prob throw a error if folder does not exist, run: `(sudo)
mkdir -p /var/log/planetposen_logs`.

* All endpoints now prefixed with /api/v1

* Linting
This commit is contained in:
2022-12-29 19:25:39 +01:00
committed by GitHub
parent 66bd6af861
commit a28b47413a
44 changed files with 1719 additions and 386 deletions

View File

@@ -37,14 +37,14 @@ interface ICartPayload {
class WSCart {
ws: WebSocket;
clientId: string | null;
planet_id: string | null;
cart: Cart;
cartSession: CartSession;
constructor(ws, clientId) {
constructor(ws, planet_id) {
this.ws = ws;
this.clientId = clientId;
this.cart = new Cart(clientId);
this.planet_id = planet_id;
this.cart = new Cart(planet_id);
this.cartSession;
}
@@ -127,6 +127,7 @@ class WSCart {
} catch (error) {
// ????
if (error.message) this.message(error?.message, false);
this.cartSession.emitChangeToClients(this);
}
}