467 lines
11 KiB
Plaintext
467 lines
11 KiB
Plaintext
@startuml
|
|
hide circle
|
|
skinparam linetype ortho
|
|
|
|
entity "**accounts**" {
|
|
+ ""account_id"": //serial [PK]//
|
|
--
|
|
*""email"": //text //
|
|
*""verified"": //boolean //
|
|
*""user_id"": //text [FK]//
|
|
}
|
|
|
|
entity "**etsy_access_tokens**" {
|
|
+ ""user_id"": //integer [PK][FK]//
|
|
--
|
|
*""access_token"": //text //
|
|
*""refresh_token"": //text //
|
|
*""access_token_expiration"": //timestamp with time zone //
|
|
*""refresh_token_expiration"": //timestamp with time zone //
|
|
}
|
|
|
|
entity "**etsy_oauth_requests**" {
|
|
+ ""state"": //bytea [PK]//
|
|
--
|
|
*""code_verifier"": //bytea //
|
|
*""expiration"": //timestamp with time zone //
|
|
*""account_id"": //integer [FK]//
|
|
}
|
|
|
|
entity "**etsy_store_events**" {
|
|
+ ""store_id"": //text [PK][FK]//
|
|
+ ""event_timestamp"": //timestamp with time zone [PK][FK]//
|
|
+ ""event_id"": //text [PK][FK]//
|
|
--
|
|
*""platform"": //text [FK]//
|
|
}
|
|
|
|
entity "**etsy_users**" {
|
|
+ ""user_id"": //integer [PK]//
|
|
--
|
|
*""account_id"": //integer [FK]//
|
|
*""shop_id"": //integer //
|
|
}
|
|
|
|
entity "**mock_accounts**" {
|
|
+ ""account_id"": //serial [PK]//
|
|
--
|
|
*""user_id"": //text [FK]//
|
|
}
|
|
|
|
entity "**mock_store_amazon**" {
|
|
+ ""store_id"": //text [PK]//
|
|
--
|
|
*""user_id"": //text [FK]//
|
|
*""account_id"": //integer [FK]//
|
|
*""name"": //text //
|
|
}
|
|
|
|
entity "**mock_store_big_cartel**" {
|
|
+ ""store_id"": //text [PK]//
|
|
--
|
|
*""user_id"": //text [FK]//
|
|
*""account_id"": //integer [FK]//
|
|
*""name"": //text //
|
|
}
|
|
|
|
entity "**mock_store_ebay**" {
|
|
+ ""store_id"": //text [PK]//
|
|
--
|
|
*""user_id"": //text [FK]//
|
|
*""account_id"": //integer [FK]//
|
|
*""name"": //text //
|
|
}
|
|
|
|
entity "**mock_store_ecwid**" {
|
|
+ ""store_id"": //text [PK]//
|
|
--
|
|
*""user_id"": //text [FK]//
|
|
*""account_id"": //integer [FK]//
|
|
*""name"": //text //
|
|
}
|
|
|
|
entity "**mock_store_shopify**" {
|
|
+ ""store_id"": //text [PK]//
|
|
--
|
|
*""user_id"": //text [FK]//
|
|
*""account_id"": //integer [FK]//
|
|
*""name"": //text //
|
|
}
|
|
|
|
entity "**mock_store_square_online**" {
|
|
+ ""store_id"": //text [PK]//
|
|
--
|
|
*""user_id"": //text [FK]//
|
|
*""account_id"": //integer [FK]//
|
|
*""name"": //text //
|
|
}
|
|
|
|
entity "**mock_store_squarespace**" {
|
|
+ ""store_id"": //text [PK]//
|
|
--
|
|
*""user_id"": //text [FK]//
|
|
*""account_id"": //integer [FK]//
|
|
*""name"": //text //
|
|
}
|
|
|
|
entity "**mock_store_tiktok**" {
|
|
+ ""store_id"": //text [PK]//
|
|
--
|
|
*""user_id"": //text [FK]//
|
|
*""account_id"": //integer [FK]//
|
|
*""name"": //text //
|
|
}
|
|
|
|
entity "**mock_store_walmart_marketplace**" {
|
|
+ ""store_id"": //text [PK]//
|
|
--
|
|
*""user_id"": //text [FK]//
|
|
*""account_id"": //integer [FK]//
|
|
*""name"": //text //
|
|
}
|
|
|
|
entity "**mock_store_wix**" {
|
|
+ ""store_id"": //text [PK]//
|
|
--
|
|
*""user_id"": //text [FK]//
|
|
*""account_id"": //integer [FK]//
|
|
*""name"": //text //
|
|
}
|
|
|
|
entity "**mock_store_woo_commerce**" {
|
|
+ ""store_id"": //text [PK]//
|
|
--
|
|
*""user_id"": //text [FK]//
|
|
*""account_id"": //integer [FK]//
|
|
*""name"": //text //
|
|
}
|
|
|
|
entity "**mock_store_zoho**" {
|
|
+ ""store_id"": //text [PK]//
|
|
--
|
|
*""user_id"": //text [FK]//
|
|
*""account_id"": //integer [FK]//
|
|
*""name"": //text //
|
|
}
|
|
|
|
entity "**mock_sync_group_listings**" {
|
|
+ ""sync_group_id"": //integer [PK][FK]//
|
|
+ ""order_index"": //integer [PK]//
|
|
--
|
|
*""platform"": //platform //
|
|
*""shop_id"": //text //
|
|
*""listing_id"": //text //
|
|
}
|
|
|
|
entity "**mock_sync_groups**" {
|
|
+ ""sync_group_id"": //serial [PK]//
|
|
--
|
|
*""account_id"": //integer [FK]//
|
|
}
|
|
|
|
entity "**oauth_login_states**" {
|
|
+ ""state"": //bytea [PK]//
|
|
--
|
|
*""expiration"": //timestamp with time zone //
|
|
*""target_uri"": //text //
|
|
}
|
|
|
|
entity "**oauth_tokens**" {
|
|
+ ""access_token"": //text [PK]//
|
|
--
|
|
*""token_type"": //text //
|
|
*""refresh_token"": //text //
|
|
*""expiry"": //timestamp with time zone //
|
|
*""id_token_issuer"": //text //
|
|
*""id_token_audience"": //text[] //
|
|
*""id_token_subject"": //text [FK]//
|
|
*""id_token_expiry"": //timestamp with time zone //
|
|
*""id_token_issued_at"": //timestamp with time zone //
|
|
*""id_token_nonce"": //text //
|
|
*""id_token_access_token_hash"": //text //
|
|
*""claims"": //jsonb //
|
|
}
|
|
|
|
entity "**oauth_users**" {
|
|
+ ""user_id"": //text [PK]//
|
|
--
|
|
}
|
|
|
|
entity "**raw_store_events**" {
|
|
+ ""platform"": //text [PK]//
|
|
+ ""store_id"": //text [PK]//
|
|
+ ""event_timestamp"": //timestamp with time zone [PK]//
|
|
+ ""event_id"": //text [PK]//
|
|
--
|
|
*""raw_payload"": //jsonb //
|
|
}
|
|
|
|
entity "**schema_migrations**" {
|
|
+ ""version"": //bigint [PK]//
|
|
--
|
|
*""dirty"": //boolean //
|
|
}
|
|
|
|
entity "**sync_group_listing_drafts**" {
|
|
+ ""account_id"": //integer [PK][FK]//
|
|
+ ""order_index"": //integer [PK]//
|
|
--
|
|
""platform"": //platform //
|
|
""shop_id"": //text //
|
|
""listing_id"": //text //
|
|
}
|
|
|
|
entity "**sync_group_listings**" {
|
|
+ ""sync_group_id"": //integer [PK][FK]//
|
|
+ ""order_index"": //integer [PK]//
|
|
--
|
|
*""platform"": //platform //
|
|
*""shop_id"": //text //
|
|
*""listing_id"": //text //
|
|
}
|
|
|
|
entity "**sync_groups**" {
|
|
+ ""sync_group_id"": //serial [PK]//
|
|
--
|
|
*""account_id"": //integer [FK]//
|
|
}
|
|
|
|
entity "**tiktok_store_events**" {
|
|
+ ""store_id"": //text [PK][FK]//
|
|
+ ""event_timestamp"": //timestamp with time zone [PK][FK]//
|
|
+ ""event_id"": //text [PK][FK]//
|
|
--
|
|
*""platform"": //text [FK]//
|
|
}
|
|
|
|
entity "**wix_store_events**" {
|
|
+ ""store_id"": //text [PK][FK]//
|
|
+ ""event_timestamp"": //timestamp with time zone [PK][FK]//
|
|
+ ""event_id"": //text [PK][FK]//
|
|
--
|
|
*""platform"": //text [FK]//
|
|
}
|
|
|
|
"**accounts**" }-- "**oauth_users**"
|
|
|
|
"**etsy_access_tokens**" ||-|| "**etsy_users**"
|
|
|
|
"**etsy_oauth_requests**" }-- "**accounts**"
|
|
|
|
"**etsy_store_events**" }-- "**raw_store_events**"
|
|
|
|
"**etsy_store_events**" }-- "**raw_store_events**"
|
|
|
|
"**etsy_store_events**" }-- "**raw_store_events**"
|
|
|
|
"**etsy_store_events**" }-- "**raw_store_events**"
|
|
|
|
"**etsy_users**" }-- "**accounts**"
|
|
|
|
"**mock_accounts**" }-- "**oauth_users**"
|
|
|
|
"**mock_accounts**" }-- "**oauth_users**"
|
|
|
|
"**mock_store_amazon**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_amazon**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_amazon**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_amazon**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_amazon**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_amazon**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_amazon**" }-- "**oauth_users**"
|
|
|
|
"**mock_store_big_cartel**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_big_cartel**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_big_cartel**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_big_cartel**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_big_cartel**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_big_cartel**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_big_cartel**" }-- "**oauth_users**"
|
|
|
|
"**mock_store_ebay**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_ebay**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_ebay**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_ebay**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_ebay**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_ebay**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_ebay**" }-- "**oauth_users**"
|
|
|
|
"**mock_store_ecwid**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_ecwid**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_ecwid**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_ecwid**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_ecwid**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_ecwid**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_ecwid**" }-- "**oauth_users**"
|
|
|
|
"**mock_store_shopify**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_shopify**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_shopify**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_shopify**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_shopify**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_shopify**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_shopify**" }-- "**oauth_users**"
|
|
|
|
"**mock_store_square_online**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_square_online**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_square_online**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_square_online**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_square_online**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_square_online**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_square_online**" }-- "**oauth_users**"
|
|
|
|
"**mock_store_squarespace**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_squarespace**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_squarespace**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_squarespace**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_squarespace**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_squarespace**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_squarespace**" }-- "**oauth_users**"
|
|
|
|
"**mock_store_tiktok**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_tiktok**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_tiktok**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_tiktok**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_tiktok**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_tiktok**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_tiktok**" }-- "**oauth_users**"
|
|
|
|
"**mock_store_walmart_marketplace**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_walmart_marketplace**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_walmart_marketplace**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_walmart_marketplace**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_walmart_marketplace**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_walmart_marketplace**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_walmart_marketplace**" }-- "**oauth_users**"
|
|
|
|
"**mock_store_wix**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_wix**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_wix**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_wix**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_wix**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_wix**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_wix**" }-- "**oauth_users**"
|
|
|
|
"**mock_store_woo_commerce**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_woo_commerce**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_woo_commerce**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_woo_commerce**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_woo_commerce**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_woo_commerce**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_woo_commerce**" }-- "**oauth_users**"
|
|
|
|
"**mock_store_zoho**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_zoho**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_zoho**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_zoho**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_zoho**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_zoho**" }-- "**mock_accounts**"
|
|
|
|
"**mock_store_zoho**" }-- "**oauth_users**"
|
|
|
|
"**mock_sync_group_listings**" }-- "**mock_sync_groups**"
|
|
|
|
"**mock_sync_groups**" }-- "**mock_accounts**"
|
|
|
|
"**mock_sync_groups**" }-- "**mock_accounts**"
|
|
|
|
"**oauth_tokens**" }-- "**oauth_users**"
|
|
|
|
"**sync_group_listing_drafts**" }-- "**accounts**"
|
|
|
|
"**sync_group_listing_drafts**" }-- "**accounts**"
|
|
|
|
"**sync_group_listings**" }-- "**sync_groups**"
|
|
|
|
"**sync_group_listings**" }-- "**sync_groups**"
|
|
|
|
"**sync_groups**" }-- "**accounts**"
|
|
|
|
"**tiktok_store_events**" }-- "**raw_store_events**"
|
|
|
|
"**tiktok_store_events**" }-- "**raw_store_events**"
|
|
|
|
"**tiktok_store_events**" }-- "**raw_store_events**"
|
|
|
|
"**tiktok_store_events**" }-- "**raw_store_events**"
|
|
|
|
"**wix_store_events**" }-- "**raw_store_events**"
|
|
|
|
"**wix_store_events**" }-- "**raw_store_events**"
|
|
|
|
"**wix_store_events**" }-- "**raw_store_events**"
|
|
|
|
"**wix_store_events**" }-- "**raw_store_events**"
|
|
@enduml
|