mock events saved to db

This commit is contained in:
2026-08-20 00:23:41 -06:00
parent e4e2bd992b
commit 0e0422545b
13 changed files with 970 additions and 366 deletions
+68 -69
View File
@@ -1,17 +1,16 @@
BEGIN;
-- raw store events
-- raw shop events
CREATE TABLE mock.raw_shop_events (
platform TEXT NOT NULL,
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
raw_payload JSONB NOT NULL,
parsed BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (platform, store_id, event_id, event_timestamp)
PRIMARY KEY (platform, shop_id, event_id, event_timestamp)
);
@@ -19,132 +18,132 @@ CREATE TABLE mock.raw_shop_events (
CREATE TABLE mock.shop_amazon_events (
platform TEXT NOT NULL DEFAULT 'amazon' CHECK (platform = 'amazon'),
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
PRIMARY KEY (store_id, event_id, event_timestamp),
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
PRIMARY KEY (shop_id, event_id, event_timestamp),
FOREIGN KEY (platform, shop_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
);
CREATE TABLE mock.shop_big_cartel_events (
platform TEXT NOT NULL DEFAULT 'big_cartel' CHECK (platform = 'big_cartel'),
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
PRIMARY KEY (store_id, event_id, event_timestamp),
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
PRIMARY KEY (shop_id, event_id, event_timestamp),
FOREIGN KEY (platform, shop_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
);
CREATE TABLE mock.shop_ebay_events (
platform TEXT NOT NULL DEFAULT 'ebay' CHECK (platform = 'ebay'),
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
PRIMARY KEY (store_id, event_id, event_timestamp),
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
PRIMARY KEY (shop_id, event_id, event_timestamp),
FOREIGN KEY (platform, shop_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
);
CREATE TABLE mock.shop_ecwid_events (
platform TEXT NOT NULL DEFAULT 'ecwid' CHECK (platform = 'ecwid'),
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
PRIMARY KEY (store_id, event_id, event_timestamp),
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
PRIMARY KEY (shop_id, event_id, event_timestamp),
FOREIGN KEY (platform, shop_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
);
CREATE TABLE mock.shop_etsy_events (
platform TEXT NOT NULL DEFAULT 'etsy' CHECK (platform = 'etsy'),
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
PRIMARY KEY (store_id, event_id, event_timestamp),
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
PRIMARY KEY (shop_id, event_id, event_timestamp),
FOREIGN KEY (platform, shop_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
);
CREATE TABLE mock.shop_shopify_events (
platform TEXT NOT NULL DEFAULT 'shopify' CHECK (platform = 'shopify'),
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
PRIMARY KEY (store_id, event_id, event_timestamp),
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
PRIMARY KEY (shop_id, event_id, event_timestamp),
FOREIGN KEY (platform, shop_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
);
CREATE TABLE mock.shop_square_online_events (
platform TEXT NOT NULL DEFAULT 'square_online' CHECK (platform = 'square_online'),
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
PRIMARY KEY (store_id, event_id, event_timestamp),
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
PRIMARY KEY (shop_id, event_id, event_timestamp),
FOREIGN KEY (platform, shop_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
);
CREATE TABLE mock.shop_squarespace_events (
platform TEXT NOT NULL DEFAULT 'squarespace' CHECK (platform = 'squarespace'),
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
PRIMARY KEY (store_id, event_id, event_timestamp),
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
PRIMARY KEY (shop_id, event_id, event_timestamp),
FOREIGN KEY (platform, shop_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
);
CREATE TABLE mock.shop_tiktok_events (
platform TEXT NOT NULL DEFAULT 'tiktok' CHECK (platform = 'tiktok'),
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
PRIMARY KEY (store_id, event_id, event_timestamp),
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
PRIMARY KEY (shop_id, event_id, event_timestamp),
FOREIGN KEY (platform, shop_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
);
CREATE TABLE mock.shop_walmart_marketplace_events (
platform TEXT NOT NULL DEFAULT 'walmart_marketplace' CHECK (platform = 'walmart_marketplace'),
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
PRIMARY KEY (store_id, event_id, event_timestamp),
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
PRIMARY KEY (shop_id, event_id, event_timestamp),
FOREIGN KEY (platform, shop_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
);
CREATE TABLE mock.shop_wix_events (
platform TEXT NOT NULL DEFAULT 'wix' CHECK (platform = 'wix'),
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
PRIMARY KEY (store_id, event_id, event_timestamp),
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
PRIMARY KEY (shop_id, event_id, event_timestamp),
FOREIGN KEY (platform, shop_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
);
CREATE TABLE mock.shop_woo_commerce_events (
platform TEXT NOT NULL DEFAULT 'woo_commerce' CHECK (platform = 'woo_commerce'),
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
PRIMARY KEY (store_id, event_id, event_timestamp),
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
PRIMARY KEY (shop_id, event_id, event_timestamp),
FOREIGN KEY (platform, shop_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
);
CREATE TABLE mock.shop_zoho_events (
platform TEXT NOT NULL DEFAULT 'zoho' CHECK (platform = 'zoho'),
store_id TEXT NOT NULL,
shop_id TEXT NOT NULL,
event_timestamp TIMESTAMPTZ NOT NULL,
event_id TEXT NOT NULL,
PRIMARY KEY (store_id, event_id, event_timestamp),
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
PRIMARY KEY (shop_id, event_id, event_timestamp),
FOREIGN KEY (platform, shop_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
);
@@ -154,13 +153,13 @@ CREATE OR REPLACE FUNCTION mock.process_raw_amazon_event() RETURNS TRIGGER AS $p
BEGIN
INSERT INTO mock.shop_amazon_events (
platform,
store_id,
shop_id,
event_timestamp,
event_id
)
SELECT
NEW.platform,
NEW.store_id,
NEW.shop_id,
NEW.event_timestamp,
NEW.event_id;
RETURN NULL;
@@ -178,13 +177,13 @@ CREATE OR REPLACE FUNCTION mock.process_raw_big_cartel_event() RETURNS TRIGGER A
BEGIN
INSERT INTO mock.shop_big_cartel_events (
platform,
store_id,
shop_id,
event_timestamp,
event_id
)
SELECT
NEW.platform,
NEW.store_id,
NEW.shop_id,
NEW.event_timestamp,
NEW.event_id;
RETURN NULL;
@@ -202,13 +201,13 @@ CREATE OR REPLACE FUNCTION mock.process_raw_ebay_event() RETURNS TRIGGER AS $pro
BEGIN
INSERT INTO mock.shop_ebay_events (
platform,
store_id,
shop_id,
event_timestamp,
event_id
)
SELECT
NEW.platform,
NEW.store_id,
NEW.shop_id,
NEW.event_timestamp,
NEW.event_id;
RETURN NULL;
@@ -226,13 +225,13 @@ CREATE OR REPLACE FUNCTION mock.process_raw_ecwid_event() RETURNS TRIGGER AS $pr
BEGIN
INSERT INTO mock.shop_ecwid_events (
platform,
store_id,
shop_id,
event_timestamp,
event_id
)
SELECT
NEW.platform,
NEW.store_id,
NEW.shop_id,
NEW.event_timestamp,
NEW.event_id;
RETURN NULL;
@@ -250,13 +249,13 @@ CREATE OR REPLACE FUNCTION mock.process_raw_etsy_event() RETURNS TRIGGER AS $pro
BEGIN
INSERT INTO mock.shop_etsy_events (
platform,
store_id,
shop_id,
event_timestamp,
event_id
)
SELECT
NEW.platform,
NEW.store_id,
NEW.shop_id,
NEW.event_timestamp,
NEW.event_id;
RETURN NULL;
@@ -274,13 +273,13 @@ CREATE OR REPLACE FUNCTION mock.process_raw_shopify_event() RETURNS TRIGGER AS $
BEGIN
INSERT INTO mock.shop_shopify_events (
platform,
store_id,
shop_id,
event_timestamp,
event_id
)
SELECT
NEW.platform,
NEW.store_id,
NEW.shop_id,
NEW.event_timestamp,
NEW.event_id;
RETURN NULL;
@@ -298,13 +297,13 @@ CREATE OR REPLACE FUNCTION mock.process_raw_square_online_event() RETURNS TRIGGE
BEGIN
INSERT INTO mock.shop_square_online_events (
platform,
store_id,
shop_id,
event_timestamp,
event_id
)
SELECT
NEW.platform,
NEW.store_id,
NEW.shop_id,
NEW.event_timestamp,
NEW.event_id;
RETURN NULL;
@@ -322,13 +321,13 @@ CREATE OR REPLACE FUNCTION mock.process_raw_squarespace_event() RETURNS TRIGGER
BEGIN
INSERT INTO mock.shop_squarespace_events (
platform,
store_id,
shop_id,
event_timestamp,
event_id
)
SELECT
NEW.platform,
NEW.store_id,
NEW.shop_id,
NEW.event_timestamp,
NEW.event_id;
RETURN NULL;
@@ -346,13 +345,13 @@ CREATE OR REPLACE FUNCTION mock.process_raw_tiktok_event() RETURNS TRIGGER AS $p
BEGIN
INSERT INTO mock.shop_tiktok_events (
platform,
store_id,
shop_id,
event_timestamp,
event_id
)
SELECT
NEW.platform,
NEW.store_id,
NEW.shop_id,
NEW.event_timestamp,
NEW.event_id;
RETURN NULL;
@@ -370,13 +369,13 @@ CREATE OR REPLACE FUNCTION mock.process_raw_walmart_marketplace_event() RETURNS
BEGIN
INSERT INTO mock.shop_walmart_marketplace_events (
platform,
store_id,
shop_id,
event_timestamp,
event_id
)
SELECT
NEW.platform,
NEW.store_id,
NEW.shop_id,
NEW.event_timestamp,
NEW.event_id;
RETURN NULL;
@@ -394,13 +393,13 @@ CREATE OR REPLACE FUNCTION mock.process_raw_wix_event() RETURNS TRIGGER AS $proc
BEGIN
INSERT INTO mock.shop_wix_events (
platform,
store_id,
shop_id,
event_timestamp,
event_id
)
SELECT
NEW.platform,
NEW.store_id,
NEW.shop_id,
NEW.event_timestamp,
NEW.event_id;
RETURN NULL;
@@ -418,13 +417,13 @@ CREATE OR REPLACE FUNCTION mock.process_raw_woo_commerce_event() RETURNS TRIGGER
BEGIN
INSERT INTO mock.shop_woo_commerce_events (
platform,
store_id,
shop_id,
event_timestamp,
event_id
)
SELECT
NEW.platform,
NEW.store_id,
NEW.shop_id,
NEW.event_timestamp,
NEW.event_id;
RETURN NULL;
@@ -442,13 +441,13 @@ CREATE OR REPLACE FUNCTION mock.process_raw_zoho_event() RETURNS TRIGGER AS $pro
BEGIN
INSERT INTO mock.shop_zoho_events (
platform,
store_id,
shop_id,
event_timestamp,
event_id
)
SELECT
NEW.platform,
NEW.store_id,
NEW.shop_id,
NEW.event_timestamp,
NEW.event_id;
RETURN NULL;