Add SeaORM migration
This commit is contained in:
parent
aaf45f3954
commit
11681acbda
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,3 +6,4 @@ node_modules
|
||||
web/dist
|
||||
web/tmp
|
||||
adapters
|
||||
plugins
|
||||
|
651
Cargo.lock
generated
651
Cargo.lock
generated
@ -2,6 +2,12 @@
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "Inflector"
|
||||
version = "0.11.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
|
||||
|
||||
[[package]]
|
||||
name = "account_manager"
|
||||
version = "0.1.0"
|
||||
@ -291,6 +297,12 @@ dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "aliasable"
|
||||
version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
|
||||
|
||||
[[package]]
|
||||
name = "alloc-no-stdlib"
|
||||
version = "2.0.4"
|
||||
@ -372,6 +384,16 @@ version = "0.7.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
|
||||
|
||||
[[package]]
|
||||
name = "async-attributes"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-channel"
|
||||
version = "1.8.0"
|
||||
@ -383,6 +405,114 @@ dependencies = [
|
||||
"futures-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-executor"
|
||||
version = "1.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb"
|
||||
dependencies = [
|
||||
"async-lock",
|
||||
"async-task",
|
||||
"concurrent-queue",
|
||||
"fastrand",
|
||||
"futures-lite",
|
||||
"slab",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-global-executor"
|
||||
version = "2.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
|
||||
dependencies = [
|
||||
"async-channel",
|
||||
"async-executor",
|
||||
"async-io",
|
||||
"async-lock",
|
||||
"blocking",
|
||||
"futures-lite",
|
||||
"once_cell",
|
||||
"tokio 1.28.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-io"
|
||||
version = "1.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
|
||||
dependencies = [
|
||||
"async-lock",
|
||||
"autocfg 1.1.0",
|
||||
"cfg-if 1.0.0",
|
||||
"concurrent-queue",
|
||||
"futures-lite",
|
||||
"log",
|
||||
"parking",
|
||||
"polling",
|
||||
"rustix 0.37.19",
|
||||
"slab",
|
||||
"socket2 0.4.9",
|
||||
"waker-fn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-lock"
|
||||
version = "2.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
|
||||
dependencies = [
|
||||
"event-listener",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-std"
|
||||
version = "1.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
|
||||
dependencies = [
|
||||
"async-attributes",
|
||||
"async-channel",
|
||||
"async-global-executor",
|
||||
"async-io",
|
||||
"async-lock",
|
||||
"crossbeam-utils",
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-io",
|
||||
"futures-lite",
|
||||
"gloo-timers",
|
||||
"kv-log-macro",
|
||||
"log",
|
||||
"memchr",
|
||||
"once_cell",
|
||||
"pin-project-lite 0.2.9",
|
||||
"pin-utils",
|
||||
"slab",
|
||||
"wasm-bindgen-futures",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-stream"
|
||||
version = "0.3.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51"
|
||||
dependencies = [
|
||||
"async-stream-impl",
|
||||
"futures-core",
|
||||
"pin-project-lite 0.2.9",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-stream-impl"
|
||||
version = "0.3.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.15",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-stripe"
|
||||
version = "0.21.0"
|
||||
@ -408,6 +538,12 @@ dependencies = [
|
||||
"uuid 0.8.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-task"
|
||||
version = "4.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
|
||||
|
||||
[[package]]
|
||||
name = "async-trait"
|
||||
version = "0.1.68"
|
||||
@ -437,6 +573,26 @@ dependencies = [
|
||||
"autocfg 1.1.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "atomic-waker"
|
||||
version = "1.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3"
|
||||
|
||||
[[package]]
|
||||
name = "attohttpc"
|
||||
version = "0.22.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1fcf00bc6d5abb29b5f97e3c61a90b6d3caa12f3faf897d4a3e3607c050a35a7"
|
||||
dependencies = [
|
||||
"http",
|
||||
"log",
|
||||
"native-tls",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"url",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "atty"
|
||||
version = "0.2.14"
|
||||
@ -463,6 +619,45 @@ version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
||||
|
||||
[[package]]
|
||||
name = "aws-creds"
|
||||
version = "0.34.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3776743bb68d4ad02ba30ba8f64373f1be4e082fe47651767171ce75bb2f6cf5"
|
||||
dependencies = [
|
||||
"attohttpc",
|
||||
"dirs 4.0.0",
|
||||
"log",
|
||||
"quick-xml",
|
||||
"rust-ini",
|
||||
"serde",
|
||||
"thiserror",
|
||||
"time 0.3.20",
|
||||
"url",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "aws-region"
|
||||
version = "0.25.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "056557a61427d0e5ba29dd931031c8ffed4ee7a550e7cd55692a9d8deb0a9dba"
|
||||
dependencies = [
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bae"
|
||||
version = "0.1.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "33b8de67cc41132507eeece2584804efcb15f85ba516e34c944b7667f480397a"
|
||||
dependencies = [
|
||||
"heck 0.3.3",
|
||||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "base64"
|
||||
version = "0.13.1"
|
||||
@ -531,6 +726,21 @@ dependencies = [
|
||||
"generic-array",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "blocking"
|
||||
version = "1.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65"
|
||||
dependencies = [
|
||||
"async-channel",
|
||||
"async-lock",
|
||||
"async-task",
|
||||
"atomic-waker",
|
||||
"fastrand",
|
||||
"futures-lite",
|
||||
"log",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "borsh"
|
||||
version = "0.10.3"
|
||||
@ -676,10 +886,12 @@ name = "cache-adapter"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"bincode",
|
||||
"config",
|
||||
"serde",
|
||||
"thiserror",
|
||||
"toml 0.7.4",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -691,6 +903,7 @@ dependencies = [
|
||||
"cache-adapter",
|
||||
"chrono",
|
||||
"futures-executor",
|
||||
"plugin-api",
|
||||
"serde",
|
||||
"tokio 1.28.2",
|
||||
"tracing",
|
||||
@ -869,11 +1082,47 @@ dependencies = [
|
||||
"atty",
|
||||
"bitflags",
|
||||
"strsim 0.8.0",
|
||||
"textwrap",
|
||||
"textwrap 0.11.0",
|
||||
"unicode-width",
|
||||
"vec_map",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "3.2.25"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"clap_derive",
|
||||
"clap_lex",
|
||||
"indexmap",
|
||||
"once_cell",
|
||||
"textwrap 0.16.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_derive"
|
||||
version = "3.2.25"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
|
||||
dependencies = [
|
||||
"heck 0.4.1",
|
||||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_lex"
|
||||
version = "0.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
|
||||
dependencies = [
|
||||
"os_str_bytes",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cloudabi"
|
||||
version = "0.0.3"
|
||||
@ -1439,6 +1688,12 @@ dependencies = [
|
||||
"syn 2.0.15",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dlv-list"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257"
|
||||
|
||||
[[package]]
|
||||
name = "doc-comment"
|
||||
version = "0.3.3"
|
||||
@ -1588,13 +1843,16 @@ dependencies = [
|
||||
name = "event-bus-adapter"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"bincode",
|
||||
"config",
|
||||
"event-bus-messages",
|
||||
"futures 0.3.28",
|
||||
"serde",
|
||||
"thiserror",
|
||||
"tokio 1.28.2",
|
||||
"toml 0.7.4",
|
||||
"uuid 1.3.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1611,9 +1869,11 @@ dependencies = [
|
||||
name = "event-bus-redis"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"event-bus-adapter",
|
||||
"futures 0.3.28",
|
||||
"futures-util",
|
||||
"plugin-api",
|
||||
"redis-async",
|
||||
"serde",
|
||||
"thiserror",
|
||||
@ -1707,6 +1967,14 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "file-storage-s3"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"file-storage-adapter",
|
||||
"futures 0.3.28",
|
||||
"rust-s3",
|
||||
"serde",
|
||||
"tokio 1.28.2",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "filetime"
|
||||
@ -2072,6 +2340,18 @@ version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
|
||||
|
||||
[[package]]
|
||||
name = "gloo-timers"
|
||||
version = "0.2.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
|
||||
dependencies = [
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"js-sys",
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gumdrop"
|
||||
version = "0.8.1"
|
||||
@ -2709,6 +2989,15 @@ dependencies = [
|
||||
"winapi-build",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "kv-log-macro"
|
||||
version = "1.0.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
|
||||
dependencies = [
|
||||
"log",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "lang_provider"
|
||||
version = "0.1.0"
|
||||
@ -2869,6 +3158,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"value-bag",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2916,6 +3206,17 @@ version = "0.1.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
|
||||
|
||||
[[package]]
|
||||
name = "maybe-async"
|
||||
version = "0.2.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0f1b8c13cb1f814b634a96b2c725449fe7ed464a7b8781de8688be5ffbd3f305"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "maybe-owned"
|
||||
version = "0.3.4"
|
||||
@ -2931,6 +3232,12 @@ dependencies = [
|
||||
"digest",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "md5"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.5.0"
|
||||
@ -2964,6 +3271,14 @@ dependencies = [
|
||||
"autocfg 1.1.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "migration"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"async-std",
|
||||
"sea-orm-migration",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mime"
|
||||
version = "0.3.17"
|
||||
@ -2980,6 +3295,15 @@ dependencies = [
|
||||
"unicase",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "minidom"
|
||||
version = "0.15.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f45614075738ce1b77a1768912a60c0227525971b03e09122a05b8a34a2a6278"
|
||||
dependencies = [
|
||||
"rxml",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "minimal-lexical"
|
||||
version = "0.2.1"
|
||||
@ -3296,6 +3620,45 @@ dependencies = [
|
||||
"uuid 1.3.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ordered-multimap"
|
||||
version = "0.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a"
|
||||
dependencies = [
|
||||
"dlv-list",
|
||||
"hashbrown 0.12.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "os_str_bytes"
|
||||
version = "6.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267"
|
||||
|
||||
[[package]]
|
||||
name = "ouroboros"
|
||||
version = "0.15.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db"
|
||||
dependencies = [
|
||||
"aliasable",
|
||||
"ouroboros_macro",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ouroboros_macro"
|
||||
version = "0.15.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7"
|
||||
dependencies = [
|
||||
"Inflector",
|
||||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "overload"
|
||||
version = "0.1.1"
|
||||
@ -3392,7 +3755,7 @@ dependencies = [
|
||||
"async-trait",
|
||||
"chrono",
|
||||
"config",
|
||||
"futures 0.1.31",
|
||||
"futures 0.3.28",
|
||||
"model",
|
||||
"serde",
|
||||
"thiserror",
|
||||
@ -3428,6 +3791,7 @@ dependencies = [
|
||||
"derive_more",
|
||||
"fulfillment_adapter",
|
||||
"payment-adapter",
|
||||
"plugin-api",
|
||||
"serde",
|
||||
"thiserror",
|
||||
"tokio 1.28.2",
|
||||
@ -3566,11 +3930,35 @@ version = "0.1.0"
|
||||
dependencies = [
|
||||
"actix-web",
|
||||
"async-trait",
|
||||
"bincode",
|
||||
"cache-adapter",
|
||||
"config",
|
||||
"derive_more",
|
||||
"event-bus-adapter",
|
||||
"file-storage-adapter",
|
||||
"futures 0.3.28",
|
||||
"payment-adapter",
|
||||
"serde",
|
||||
"thiserror",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "polling"
|
||||
version = "2.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
|
||||
dependencies = [
|
||||
"autocfg 1.1.0",
|
||||
"bitflags",
|
||||
"cfg-if 1.0.0",
|
||||
"concurrent-queue",
|
||||
"libc",
|
||||
"log",
|
||||
"pin-project-lite 0.2.9",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ppv-lite86"
|
||||
version = "0.2.17"
|
||||
@ -3664,6 +4052,16 @@ dependencies = [
|
||||
"winapi 0.3.9",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quick-xml"
|
||||
version = "0.26.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.26"
|
||||
@ -4108,10 +4506,12 @@ dependencies = [
|
||||
"serde_urlencoded",
|
||||
"tokio 1.28.2",
|
||||
"tokio-native-tls",
|
||||
"tokio-util 0.7.8",
|
||||
"tower-service",
|
||||
"url",
|
||||
"wasm-bindgen",
|
||||
"wasm-bindgen-futures",
|
||||
"wasm-streams",
|
||||
"web-sys",
|
||||
"winreg 0.10.1",
|
||||
]
|
||||
@ -4201,6 +4601,49 @@ dependencies = [
|
||||
"tokio-rustls",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rust-ini"
|
||||
version = "0.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"ordered-multimap",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rust-s3"
|
||||
version = "0.33.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1b2ac5ff6acfbe74226fa701b5ef793aaa054055c13ebb7060ad36942956e027"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"aws-creds",
|
||||
"aws-region",
|
||||
"base64 0.13.1",
|
||||
"bytes 1.4.0",
|
||||
"cfg-if 1.0.0",
|
||||
"futures 0.3.28",
|
||||
"hex",
|
||||
"hmac",
|
||||
"http",
|
||||
"log",
|
||||
"maybe-async",
|
||||
"md5",
|
||||
"minidom",
|
||||
"percent-encoding",
|
||||
"quick-xml",
|
||||
"reqwest 0.11.17",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"sha2",
|
||||
"thiserror",
|
||||
"time 0.3.20",
|
||||
"tokio 1.28.2",
|
||||
"tokio-stream",
|
||||
"url",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rust_decimal"
|
||||
version = "1.29.1"
|
||||
@ -4322,6 +4765,23 @@ dependencies = [
|
||||
"num_cpus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rxml"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a98f186c7a2f3abbffb802984b7f1dfd65dac8be1aafdaabbca4137f53f0dff7"
|
||||
dependencies = [
|
||||
"bytes 1.4.0",
|
||||
"rxml_validation",
|
||||
"smartstring",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rxml_validation"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "22a197350ece202f19a166d1ad6d9d6de145e1d2a8ef47db299abe164dbd7530"
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.13"
|
||||
@ -4359,6 +4819,151 @@ dependencies = [
|
||||
"untrusted",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sea-orm"
|
||||
version = "0.11.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fade86e8d41fd1a4721f84cb834f4ca2783f973cc30e6212b7fafc134f169214"
|
||||
dependencies = [
|
||||
"async-stream",
|
||||
"async-trait",
|
||||
"futures 0.3.28",
|
||||
"log",
|
||||
"ouroboros",
|
||||
"sea-orm-macros",
|
||||
"sea-query",
|
||||
"sea-query-binder",
|
||||
"sea-strum",
|
||||
"serde",
|
||||
"sqlx",
|
||||
"thiserror",
|
||||
"tracing",
|
||||
"url",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sea-orm-cli"
|
||||
version = "0.11.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "efbf34a2caf70c2e3be9bb1e674e9540f6dfd7c8f40f6f05daf3b9740e476005"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"clap 3.2.25",
|
||||
"dotenvy",
|
||||
"regex",
|
||||
"sea-schema",
|
||||
"tracing",
|
||||
"tracing-subscriber",
|
||||
"url",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sea-orm-macros"
|
||||
version = "0.11.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "28936f26d62234ff0be16f80115dbdeb3237fe9c25cf18fbcd1e3b3592360f20"
|
||||
dependencies = [
|
||||
"bae",
|
||||
"heck 0.3.3",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sea-orm-migration"
|
||||
version = "0.11.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "278d3adfd0832b6ffc17d3cfbc574d3695a5c1b38814e0bc8ac238d33f3d87cf"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"clap 3.2.25",
|
||||
"dotenvy",
|
||||
"futures 0.3.28",
|
||||
"sea-orm",
|
||||
"sea-orm-cli",
|
||||
"sea-schema",
|
||||
"tracing",
|
||||
"tracing-subscriber",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sea-query"
|
||||
version = "0.28.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bbab99b8cd878ab7786157b7eb8df96333a6807cc6e45e8888c85b51534b401a"
|
||||
dependencies = [
|
||||
"sea-query-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sea-query-binder"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4cea85029985b40dfbf18318d85fe985c04db7c1b4e5e8e0a0a0cdff5f1e30f9"
|
||||
dependencies = [
|
||||
"sea-query",
|
||||
"sqlx",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sea-query-derive"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "63f62030c60f3a691f5fe251713b4e220b306e50a71e1d6f9cce1f24bb781978"
|
||||
dependencies = [
|
||||
"heck 0.4.1",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sea-schema"
|
||||
version = "0.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eeb2940bb5a10bc6cd05b450ce6cd3993e27fddd7eface2becb97fc5af3a040e"
|
||||
dependencies = [
|
||||
"futures 0.3.28",
|
||||
"sea-query",
|
||||
"sea-schema-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sea-schema-derive"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "56821b7076f5096b8f726e2791ad255a99c82498e08ec477a65a96c461ff1927"
|
||||
dependencies = [
|
||||
"heck 0.3.3",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sea-strum"
|
||||
version = "0.23.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "391d06a6007842cfe79ac6f7f53911b76dfd69fc9a6769f1cf6569d12ce20e1b"
|
||||
dependencies = [
|
||||
"sea-strum_macros",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sea-strum_macros"
|
||||
version = "0.23.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "69b4397b825df6ccf1e98bcdabef3bbcfc47ff5853983467850eeab878384f21"
|
||||
dependencies = [
|
||||
"heck 0.3.3",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"rustversion",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "seahash"
|
||||
version = "4.1.0"
|
||||
@ -4643,6 +5248,17 @@ dependencies = [
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "smartstring"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29"
|
||||
dependencies = [
|
||||
"autocfg 1.1.0",
|
||||
"static_assertions",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "smol_str"
|
||||
version = "0.1.24"
|
||||
@ -4880,7 +5496,7 @@ version = "0.3.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"clap 2.34.0",
|
||||
"lazy_static",
|
||||
"structopt-derive",
|
||||
]
|
||||
@ -5061,6 +5677,12 @@ dependencies = [
|
||||
"unicode-width",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "textwrap"
|
||||
version = "0.16.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.40"
|
||||
@ -5666,6 +6288,16 @@ version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
|
||||
|
||||
[[package]]
|
||||
name = "value-bag"
|
||||
version = "1.0.0-alpha.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55"
|
||||
dependencies = [
|
||||
"ctor",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "vcpkg"
|
||||
version = "0.2.15"
|
||||
@ -5873,6 +6505,19 @@ dependencies = [
|
||||
"leb128",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-streams"
|
||||
version = "0.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6bbae3363c08332cadccd13b67db371814cd214c2524020932f0804b8cf7c078"
|
||||
dependencies = [
|
||||
"futures-util",
|
||||
"js-sys",
|
||||
"wasm-bindgen",
|
||||
"wasm-bindgen-futures",
|
||||
"web-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasmparser"
|
||||
version = "0.93.0"
|
||||
|
23
Cargo.toml
23
Cargo.toml
@ -31,25 +31,34 @@ members = [
|
||||
"crates/plugin-api",
|
||||
# PAYMENT
|
||||
"crates/payment-adapter",
|
||||
"crates/payment-pay-u",
|
||||
"crates/payment-stripe",
|
||||
"crates/payment-pay-u-plugin",
|
||||
"crates/payment-stripe-plugin",
|
||||
# EVENT BUS
|
||||
"crates/event-bus-messages",
|
||||
"crates/event-bus-adapter",
|
||||
"crates/event-bus-redis",
|
||||
"crates/event-bus-redis-plugin",
|
||||
# CACHE
|
||||
"crates/cache-adapter",
|
||||
"crates/cache-adapter-redis",
|
||||
"crates/cache-adapter-embedded-memory",
|
||||
"crates/cache-redis-plugin",
|
||||
"crates/cache-embedded-memory-plugin",
|
||||
# FILE STORAGE
|
||||
"crates/file-storage-adapter",
|
||||
"crates/file-storage-local",
|
||||
"crates/file-storage-s3",
|
||||
"crates/file-storage-local-plugin",
|
||||
"crates/file-storage-s3-plugin",
|
||||
# database
|
||||
"migration",
|
||||
]
|
||||
exclude = [
|
||||
"crates/web"
|
||||
]
|
||||
|
||||
[workspace.dependencies]
|
||||
plugin-api = { path = "crates/plugin-api" }
|
||||
payment-adapter = { path = "crates/payment-adapter" }
|
||||
event-bus-adapter = { path = "crates/event-bus-adapter" }
|
||||
cache-adapter = { path = "crates/cache-adapter" }
|
||||
file-storage-adapter = { path = "crates/file-storage-adapter" }
|
||||
|
||||
[profile.release]
|
||||
lto = true
|
||||
opt-level = 's'
|
||||
|
5
build.rs
5
build.rs
@ -1,5 +0,0 @@
|
||||
// generated by `sqlx migrate build-script`
|
||||
fn main() {
|
||||
// trigger recompilation when a new migration is added
|
||||
println!("cargo:rerun-if-changed=migrations");
|
||||
}
|
@ -5,7 +5,9 @@ edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
async-trait = { version = "0.1.68" }
|
||||
serde = { version = "1.0.163", feeatures = ['derive'] }
|
||||
bincode = { version = "1" }
|
||||
config = { path = "../config" }
|
||||
serde = { version = "1.0.163", features = ['derive'] }
|
||||
thiserror = { version = "1.0.40" }
|
||||
toml = { version = "0.7.3" }
|
||||
config = { path = "../config" }
|
||||
tracing = { version = "0.1.37" }
|
||||
|
@ -1,7 +1,10 @@
|
||||
#![feature(box_into_inner)]
|
||||
|
||||
use std::borrow::Cow;
|
||||
|
||||
use async_trait::async_trait;
|
||||
pub use config::PluginConfig;
|
||||
use tracing::warn;
|
||||
|
||||
#[derive(Debug, thiserror::Error)]
|
||||
pub enum Error {
|
||||
@ -25,26 +28,41 @@ pub enum InvalidatePattern<'s> {
|
||||
Const(Cow<'s, str>),
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
pub trait CacheAdapter: Sized {
|
||||
async fn new(config: PluginConfig) -> CResult<Self>;
|
||||
pub struct CacheObject(pub Option<Vec<u8>>);
|
||||
|
||||
async fn read<T>(&mut self, key: &str) -> CResult<Option<T>>
|
||||
impl CacheObject {
|
||||
pub fn into_inner<T>(self) -> CResult<Option<T>>
|
||||
where
|
||||
T: serde::de::DeserializeOwned;
|
||||
T: serde::de::DeserializeOwned,
|
||||
{
|
||||
let Some(data) = self.0 else {
|
||||
return Ok(None)
|
||||
};
|
||||
bincode::deserialize(&data)
|
||||
.map_err(|e| {
|
||||
warn!("Malformed cache entry: {e}");
|
||||
Error::InvalidEntry
|
||||
})
|
||||
.map(Some)
|
||||
}
|
||||
}
|
||||
|
||||
async fn set<T>(
|
||||
#[async_trait]
|
||||
pub trait CacheAdapter {
|
||||
async fn new(config: PluginConfig) -> CResult<Self>
|
||||
where
|
||||
Self: Sized;
|
||||
|
||||
async fn read(&self, key: &str) -> CResult<CacheObject>;
|
||||
|
||||
async fn set(
|
||||
&mut self,
|
||||
key: &str,
|
||||
data: T,
|
||||
data: &[u8],
|
||||
expires_in: Option<std::time::Duration>,
|
||||
) -> CResult<()>
|
||||
where
|
||||
T: serde::Serialize + Send;
|
||||
) -> CResult<()>;
|
||||
|
||||
async fn invalidate(&mut self, pattern: InvalidatePattern<'_>) -> CResult<u64>;
|
||||
|
||||
async fn clear(&mut self) -> CResult<u64>;
|
||||
}
|
||||
|
||||
pub struct CacheStorage {}
|
||||
|
@ -3,12 +3,17 @@ name = "cache-adapter-embedded-memory"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
path = "src/lib.rs"
|
||||
|
||||
[dependencies]
|
||||
cache-adapter = { path = "../cache-adapter" }
|
||||
serde = { version = "1.0.163", features = ['derive'] }
|
||||
async-trait = { version = "0.1.68" }
|
||||
chrono = { version = "0.4.26" }
|
||||
bincode = { version = "1" }
|
||||
tracing = { version = "0" }
|
||||
cache-adapter = { path = "../cache-adapter" }
|
||||
chrono = { version = "0.4.26" }
|
||||
futures-executor = { version = "0.3.28", features = [] }
|
||||
plugin-api = { workspace = true }
|
||||
serde = { version = "1.0.163", features = ['derive'] }
|
||||
tokio = { version = "1.28.2", features = ['full'] }
|
||||
tracing = { version = "0" }
|
@ -3,10 +3,10 @@ use std::sync::{Arc, RwLock};
|
||||
use std::time::Duration;
|
||||
|
||||
use async_trait::async_trait;
|
||||
use cache_adapter::{CResult, CacheAdapter, Error, InvalidatePattern, PluginConfig};
|
||||
use serde::de::DeserializeOwned;
|
||||
use cache_adapter::{CResult, CacheAdapter, CacheObject, Error, InvalidatePattern, PluginConfig};
|
||||
use plugin_api::{AppConfig, Cache, PluginType};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use tracing::error;
|
||||
use tracing::{error, warn};
|
||||
|
||||
pub struct CacheEntry {
|
||||
pub expires_at: Option<chrono::NaiveDateTime>,
|
||||
@ -37,14 +37,11 @@ impl CacheAdapter for EmbeddedMemoryCacheAdapter {
|
||||
})
|
||||
}
|
||||
|
||||
async fn read<T>(&mut self, key: &str) -> CResult<Option<T>>
|
||||
where
|
||||
T: DeserializeOwned,
|
||||
{
|
||||
async fn read(&self, key: &str) -> CResult<CacheObject> {
|
||||
let (valid, data) = {
|
||||
let lock = self.storage.read().unwrap();
|
||||
let entry = match lock.get(key) {
|
||||
None => return Ok(None),
|
||||
None => return Ok(CacheObject(None)),
|
||||
Some(entry) => entry,
|
||||
};
|
||||
let valid = entry
|
||||
@ -52,30 +49,21 @@ impl CacheAdapter for EmbeddedMemoryCacheAdapter {
|
||||
.map(|exp| exp >= chrono::Utc::now().naive_utc())
|
||||
.unwrap_or(true);
|
||||
let data = if valid {
|
||||
match bincode::deserialize::<T>(&entry.payload) {
|
||||
Ok(t) => Some(t),
|
||||
Err(e) => {
|
||||
tracing::warn!("Malformed embedded cache entry {key:?}: {e}");
|
||||
return Err(Error::InvalidEntry);
|
||||
}
|
||||
}
|
||||
Some(entry.payload.clone())
|
||||
} else {
|
||||
None
|
||||
};
|
||||
(valid, data)
|
||||
};
|
||||
if valid {
|
||||
Ok(data)
|
||||
Ok(CacheObject(data))
|
||||
} else {
|
||||
self.storage.write().unwrap().remove(key);
|
||||
Ok(None)
|
||||
Ok(CacheObject(None))
|
||||
}
|
||||
}
|
||||
|
||||
async fn set<T>(&mut self, key: &str, data: T, expires_in: Option<Duration>) -> CResult<()>
|
||||
where
|
||||
T: Serialize + Send,
|
||||
{
|
||||
async fn set(&mut self, key: &str, data: &[u8], expires_in: Option<Duration>) -> CResult<()> {
|
||||
let expires_at = if let Some(duration) = expires_in.or(self.ttl) {
|
||||
let storage = self.storage.clone();
|
||||
let exp =
|
||||
@ -96,10 +84,7 @@ impl CacheAdapter for EmbeddedMemoryCacheAdapter {
|
||||
key.into(),
|
||||
CacheEntry {
|
||||
expires_at,
|
||||
payload: bincode::serialize(&data).map_err(|e| {
|
||||
tracing::warn!("Malformed embedded cache entry {key:?}: {e}");
|
||||
Error::InvalidEntry
|
||||
})?,
|
||||
payload: data.to_owned(),
|
||||
},
|
||||
);
|
||||
Ok(())
|
||||
@ -144,3 +129,47 @@ impl<'s> MatchesKey for InvalidatePattern<'s> {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub struct Plugin {
|
||||
config: Option<PluginConfig>,
|
||||
}
|
||||
|
||||
static PLUGIN_NAME: &str = "cache-embedded-memory";
|
||||
|
||||
#[async_trait]
|
||||
impl plugin_api::Plugin for Plugin {
|
||||
fn plugin_type() -> PluginType
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
PluginType::Cache
|
||||
}
|
||||
|
||||
fn name(&self) -> &'static str {
|
||||
PLUGIN_NAME
|
||||
}
|
||||
|
||||
async fn initialize(app_config: &AppConfig) -> Self
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
Self {
|
||||
config: app_config.plugin_config(PLUGIN_NAME),
|
||||
}
|
||||
}
|
||||
|
||||
async fn register_cache(&mut self, cache: &'static mut Cache) {
|
||||
let Some(config) = self.config.as_ref() else {
|
||||
warn!("Plugin {:?} does not have config", PLUGIN_NAME);
|
||||
return;
|
||||
};
|
||||
let adapter = match EmbeddedMemoryCacheAdapter::new(config.clone()).await {
|
||||
Ok(adapter) => adapter,
|
||||
Err(e) => {
|
||||
warn!("Failed to construct adapter: {e}");
|
||||
return;
|
||||
}
|
||||
};
|
||||
cache.register(Box::new(adapter));
|
||||
}
|
||||
}
|
@ -3,15 +3,19 @@ name = "cache-adapter-redis"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
path = "src/lib.rs"
|
||||
|
||||
[dependencies]
|
||||
redis-async-pool = { git = "https://github.com/Eraden/redis-async-pool.git", branch = "upgrade-dependencies" }
|
||||
cache-adapter = { path = "../cache-adapter" }
|
||||
serde = { version = "1.0.163", features = ['derive'] }
|
||||
async-trait = { version = "0.1.68" }
|
||||
chrono = { version = "0.4.26" }
|
||||
bincode = { version = "1" }
|
||||
tracing = { version = "0" }
|
||||
tokio = { version = "1.28.2", features = ['full'] }
|
||||
redis = { version = "0.23.0" }
|
||||
cache-adapter = { path = "../cache-adapter" }
|
||||
chrono = { version = "0.4.26" }
|
||||
deadpool = { version = "0.9.5" }
|
||||
futures = { version = "0.3.28" }
|
||||
redis = { version = "0.23.0" }
|
||||
redis-async-pool = { git = "https://github.com/Eraden/redis-async-pool.git", branch = "upgrade-dependencies" }
|
||||
serde = { version = "1.0.163", features = ['derive'] }
|
||||
tokio = { version = "1.28.2", features = ['full'] }
|
||||
tracing = { version = "0" }
|
@ -1,10 +1,9 @@
|
||||
use std::time::Duration;
|
||||
|
||||
use async_trait::async_trait;
|
||||
use cache_adapter::{CResult, CacheAdapter, Error, InvalidatePattern, PluginConfig};
|
||||
use cache_adapter::{CResult, CacheAdapter, CacheObject, Error, InvalidatePattern, PluginConfig};
|
||||
use redis::AsyncCommands;
|
||||
use redis_async_pool::*;
|
||||
use serde::de::DeserializeOwned;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use tracing::{error, warn};
|
||||
|
||||
@ -60,10 +59,7 @@ impl CacheAdapter for RedisCacheAdapter {
|
||||
.await
|
||||
}
|
||||
|
||||
async fn read<T>(&mut self, key: &str) -> CResult<Option<T>>
|
||||
where
|
||||
T: DeserializeOwned,
|
||||
{
|
||||
async fn read(&self, key: &str) -> CResult<CacheObject> {
|
||||
let mut conn = self.client.get().await.map_err(|e| {
|
||||
error!("Failed to use pool connection to redis: {e}");
|
||||
Error::Connect
|
||||
@ -74,31 +70,20 @@ impl CacheAdapter for RedisCacheAdapter {
|
||||
Error::Connect
|
||||
})?;
|
||||
if !exists {
|
||||
return Ok(None);
|
||||
return Ok(CacheObject(None));
|
||||
}
|
||||
let data: Vec<u8> = conn.get(&key).await.map_err(|e| {
|
||||
warn!("Failed to fetch {key:?} from redis: {e}");
|
||||
Error::Connect
|
||||
})?;
|
||||
let entry: T = bincode::deserialize(&data).map_err(|e| {
|
||||
warn!("Malformed redis cache entry {key:?}: {e}");
|
||||
Error::InvalidEntry
|
||||
})?;
|
||||
Ok(Some(entry))
|
||||
Ok(CacheObject(Some(data)))
|
||||
}
|
||||
|
||||
async fn set<T>(&mut self, key: &str, data: T, expires_in: Option<Duration>) -> CResult<()>
|
||||
where
|
||||
T: Serialize + Send,
|
||||
{
|
||||
async fn set(&mut self, key: &str, data: &[u8], expires_in: Option<Duration>) -> CResult<()> {
|
||||
let mut conn = self.client.get().await.map_err(|e| {
|
||||
error!("Failed to use pool connection to redis: {e}");
|
||||
Error::Connect
|
||||
})?;
|
||||
let data = bincode::serialize(&data).map_err(|e| {
|
||||
warn!("Malformed redis cache entry {key:?}: {e}");
|
||||
Error::InvalidEntry
|
||||
})?;
|
||||
let key = self.format_key(&*key);
|
||||
match expires_in {
|
||||
Some(duration) => {
|
@ -28,5 +28,5 @@ tarpc = { version = "0", features = ["tokio1", "serde-transport-bincode", "serde
|
||||
thiserror = { version = "1" }
|
||||
tokio = { version = "1", features = ['full'] }
|
||||
tracing = { version = "0" }
|
||||
whatlang = { version = "0" }
|
||||
uuid = { version = "1", features = ['v4'] }
|
||||
whatlang = { version = "0" }
|
||||
|
@ -686,6 +686,7 @@ pub struct AppConfig {
|
||||
tokens: TokensConfig,
|
||||
#[serde(default)]
|
||||
web: WebConfig,
|
||||
plugin: HashMap<String, toml::Value>,
|
||||
}
|
||||
|
||||
impl Example for AppConfig {
|
||||
@ -704,6 +705,7 @@ impl Example for AppConfig {
|
||||
order_manager: OrderConfig::example(),
|
||||
config_path: "".to_string(),
|
||||
tokens: TokensConfig::example(),
|
||||
plugin: Default::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -772,6 +774,10 @@ impl AppConfig {
|
||||
pub fn web_mut(&mut self) -> &mut WebConfig {
|
||||
&mut self.web
|
||||
}
|
||||
|
||||
pub fn plugin_config(&self, name: &str) -> Option<PluginConfig> {
|
||||
self.plugin.get(name).cloned().map(PluginConfig)
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for AppConfig {
|
||||
@ -790,6 +796,7 @@ impl Default for AppConfig {
|
||||
order_manager: OrderConfig::default(),
|
||||
config_path: "".to_string(),
|
||||
tokens: Default::default(),
|
||||
plugin: Default::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -876,12 +883,17 @@ pub fn init_tracing(_service_name: &str) {
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
pub struct PluginConfig(pub String);
|
||||
#[derive(Clone)]
|
||||
pub struct PluginConfig(pub toml::Value);
|
||||
|
||||
impl Default for PluginConfig {
|
||||
fn default() -> Self {
|
||||
Self(toml::Value::Table(toml::Table::default()))
|
||||
}
|
||||
}
|
||||
|
||||
impl PluginConfig {
|
||||
pub fn config<S: serde::de::DeserializeOwned>(
|
||||
&self,
|
||||
) -> std::result::Result<S, toml::de::Error> {
|
||||
toml::from_str(&self.0)
|
||||
pub fn config<S: serde::de::DeserializeOwned>(self) -> std::result::Result<S, toml::de::Error> {
|
||||
self.0.try_into::<S>()
|
||||
}
|
||||
}
|
||||
|
@ -4,10 +4,13 @@ version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
serde = { version = "1.0.162", features = ['derive'] }
|
||||
bincode = { version = "1.3.3" }
|
||||
thiserror = { version = "1.0.40" }
|
||||
config = { path = "../config" }
|
||||
event-bus-messages = { path = "../event-bus-messages" }
|
||||
futures = { version = "0.3.28" }
|
||||
serde = { version = "1.0.162", features = ['derive'] }
|
||||
thiserror = { version = "1.0.40" }
|
||||
toml = { version = "0.7.3" }
|
||||
config = { path = "../config" }
|
||||
uuid = { version = "1.3.3", features = ['v4'] }
|
||||
async-trait = { version = "0.1.68" }
|
||||
tokio = { version = "1.28.2", features = ['full'] }
|
||||
|
@ -1,7 +1,14 @@
|
||||
#![feature(async_fn_in_trait)]
|
||||
#![feature(box_into_inner)]
|
||||
|
||||
use std::collections::HashMap;
|
||||
use std::pin::Pin;
|
||||
use std::sync::{Arc, RwLock};
|
||||
|
||||
use async_trait::async_trait;
|
||||
pub use config::PluginConfig;
|
||||
pub use event_bus_messages::*;
|
||||
use uuid::Uuid;
|
||||
|
||||
#[derive(Debug, thiserror::Error)]
|
||||
pub enum EBError {
|
||||
@ -15,16 +22,86 @@ pub enum EBError {
|
||||
|
||||
pub type EBResult<T> = Result<T, EBError>;
|
||||
|
||||
pub trait MessageSend {
|
||||
#[async_trait]
|
||||
pub trait MessageSend: Send + Sync + 'static {
|
||||
async fn send(&mut self, topic: Topic, msg: Msg) -> EBResult<()>;
|
||||
}
|
||||
|
||||
pub trait EventBus<Stream, Sender>
|
||||
where
|
||||
Stream: futures::stream::Stream<Item = Message>,
|
||||
Sender: MessageSend,
|
||||
#[async_trait]
|
||||
pub trait Subscriber: Send {
|
||||
fn handle(&self, msg: &Message);
|
||||
|
||||
fn matches(&self, msg: &Message) -> bool;
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone)]
|
||||
pub struct UnSubscribe(Uuid);
|
||||
|
||||
pub struct EventBus {
|
||||
sender: Box<dyn MessageSend + Send + Sync + 'static>,
|
||||
subscribers: Arc<RwLock<HashMap<Uuid, Box<dyn Subscriber + Send + Sync + 'static>>>>,
|
||||
is_alive: Arc<RwLock<bool>>,
|
||||
}
|
||||
|
||||
impl EventBus {
|
||||
pub fn new(
|
||||
stream: Box<dyn futures::stream::Stream<Item = Message> + Send + Sync + Unpin + 'static>,
|
||||
sender: Box<dyn MessageSend + Send + Sync + 'static>,
|
||||
) -> Self {
|
||||
let subscribers: Arc<RwLock<HashMap<Uuid, Box<dyn Subscriber + Send + Sync + 'static>>>> =
|
||||
Arc::new(Default::default());
|
||||
let is_alive = Arc::new(RwLock::new(true));
|
||||
|
||||
{
|
||||
async fn connect(config: PluginConfig) -> Result<(Stream, Sender), ()>;
|
||||
let subscribers = subscribers.clone();
|
||||
let is_alive = is_alive.clone();
|
||||
tokio::spawn(async move {
|
||||
let mut stream = Pin::new(stream);
|
||||
let mut stream = stream.as_mut();
|
||||
loop {
|
||||
use futures::StreamExt;
|
||||
|
||||
if !*is_alive.read().unwrap() {
|
||||
break;
|
||||
}
|
||||
let Some(msg) = stream.next().await else {
|
||||
break;
|
||||
};
|
||||
for subscriber in subscribers.read().unwrap().values() {
|
||||
let subscriber = subscriber.as_ref();
|
||||
if !subscriber.matches(&msg) {
|
||||
continue;
|
||||
}
|
||||
subscriber.handle(&msg);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Self {
|
||||
sender,
|
||||
subscribers,
|
||||
is_alive,
|
||||
}
|
||||
}
|
||||
|
||||
async fn emit(&mut self, data: Msg) -> EBResult<()> {
|
||||
let sender = self.sender.as_mut();
|
||||
sender.send(Topic::Default, data).await
|
||||
}
|
||||
|
||||
async fn subscribe(
|
||||
&mut self,
|
||||
subscriber: Box<dyn Subscriber + Send + Sync + 'static>,
|
||||
) -> UnSubscribe {
|
||||
let id = Uuid::new_v4();
|
||||
self.subscribers.write().unwrap().insert(id, subscriber);
|
||||
UnSubscribe(id)
|
||||
}
|
||||
|
||||
async fn unsubscribe(&mut self, id: UnSubscribe) {
|
||||
self.subscribers.write().unwrap().remove(&id.0);
|
||||
}
|
||||
}
|
||||
|
||||
/// For client-server purpose only
|
||||
@ -43,3 +120,6 @@ impl ClientMsg {
|
||||
bincode::serialize(self)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {}
|
||||
|
@ -4,7 +4,7 @@ version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
thiserror = { version = "1.0.40" }
|
||||
serde = { version = "1.0.162", features = ['derive'] }
|
||||
bincode = { version = "1.3.3" }
|
||||
serde = { version = "1.0.162", features = ['derive'] }
|
||||
serde_json = { version = "1.0.96" }
|
||||
thiserror = { version = "1.0.40" }
|
||||
|
@ -3,12 +3,18 @@ name = "event-bus-redis"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
path = "src/lib.rs"
|
||||
|
||||
[dependencies]
|
||||
redis-async = { version = "0.16.0" }
|
||||
event-bus-adapter = { path = "../event-bus-adapter" }
|
||||
thiserror = { version = "1.0.40" }
|
||||
futures-util = { version = "0.3.28" }
|
||||
event-bus-adapter = { workspace = true }
|
||||
plugin-api = { workspace = true }
|
||||
futures = { version = "0.3.28" }
|
||||
tracing = { version = "0" }
|
||||
futures-util = { version = "0.3.28" }
|
||||
redis-async = { version = "0.16.0" }
|
||||
serde = { version = "1.0.162" }
|
||||
thiserror = { version = "1.0.40" }
|
||||
toml = { version = "0.7.4" }
|
||||
tracing = { version = "0" }
|
||||
async-trait = { version = "0.1.68" }
|
@ -3,11 +3,13 @@
|
||||
use std::pin::Pin;
|
||||
use std::task::{Context, Poll};
|
||||
|
||||
use async_trait::async_trait;
|
||||
use event_bus_adapter::{
|
||||
EBError, EBResult, EventBus, Message, MessageSend, Msg, PluginConfig, Topic,
|
||||
};
|
||||
use futures_util::stream::{SplitSink, SplitStream};
|
||||
use futures_util::{SinkExt, StreamExt};
|
||||
use plugin_api::{AppConfig, EventBusRegister, PluginType};
|
||||
use redis_async::client::connect::RespConnection;
|
||||
use redis_async::resp::RespValue;
|
||||
use redis_async::resp::RespValue::BulkString;
|
||||
@ -15,6 +17,7 @@ use tracing::warn;
|
||||
|
||||
pub struct MessageSender(SplitSink<RespConnection, RespValue>);
|
||||
|
||||
#[async_trait]
|
||||
impl MessageSend for MessageSender {
|
||||
async fn send(&mut self, topic: Topic, msg: Msg) -> EBResult<()> {
|
||||
match (Message {
|
||||
@ -84,14 +87,53 @@ pub struct RedisEventBusConfig {
|
||||
|
||||
pub struct RedisEventBus;
|
||||
|
||||
impl EventBus<MessageStream, MessageSender> for RedisEventBus {
|
||||
async fn connect(config: PluginConfig) -> Result<(MessageStream, MessageSender), ()> {
|
||||
impl RedisEventBus {
|
||||
async fn connect(config: PluginConfig) -> Result<(Box<MessageStream>, Box<MessageSender>), ()> {
|
||||
let RedisEventBusConfig { host, port } = config.config().expect("Invalid redis bus config");
|
||||
|
||||
let client = redis_async::client::connect(&host, port)
|
||||
.await
|
||||
.expect("Failed to connect to redis event bus");
|
||||
let (sink, stream) = client.split();
|
||||
Ok((MessageStream(stream), MessageSender(sink)))
|
||||
Ok((
|
||||
Box::new(MessageStream(stream)),
|
||||
Box::new(MessageSender(sink)),
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
pub static PLUGIN_NAME: &str = "event-bus-redis";
|
||||
|
||||
pub struct RedisEventBusPlugin {
|
||||
plugin_config: PluginConfig,
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
impl plugin_api::Plugin for RedisEventBusPlugin {
|
||||
fn plugin_type() -> PluginType
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
PluginType::EventBus
|
||||
}
|
||||
|
||||
fn name(&self) -> &'static str {
|
||||
PLUGIN_NAME
|
||||
}
|
||||
|
||||
async fn initialize(app_config: &AppConfig) -> Self
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
Self {
|
||||
plugin_config: app_config.plugin_config(PLUGIN_NAME).unwrap_or_default(),
|
||||
}
|
||||
}
|
||||
|
||||
async fn register_event_bus(&mut self, register: &'static mut EventBusRegister) {
|
||||
let Ok((stream, sender)) = RedisEventBus::connect(self.plugin_config.clone()).await else {
|
||||
return
|
||||
};
|
||||
register.register(PLUGIN_NAME, EventBus::new(stream, sender));
|
||||
}
|
||||
}
|
@ -4,9 +4,9 @@ version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
thiserror = { version = "1.0.40" }
|
||||
async-trait = { version = "0.1.68" }
|
||||
tracing = { version = "0.1.37" }
|
||||
config = { path = "../config" }
|
||||
futures = { version = "0.3.28", features = ["async-await", 'io-compat'] }
|
||||
futures-util = { version = "0.3.28" }
|
||||
thiserror = { version = "1.0.40" }
|
||||
tracing = { version = "0.1.37" }
|
||||
|
@ -33,12 +33,16 @@ impl Display for Url {
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
pub trait FileStorage: Sized {
|
||||
fn name() -> &'static str;
|
||||
pub trait FileStorage {
|
||||
fn name() -> &'static str
|
||||
where
|
||||
Self: Sized;
|
||||
|
||||
async fn new(config: &PluginConfig) -> SResult<Self>;
|
||||
async fn new(config: PluginConfig) -> SResult<Self>
|
||||
where
|
||||
Self: Sized;
|
||||
|
||||
async fn store(&mut self, file: impl futures::AsyncRead + Unpin + Send) -> SResult<Url>;
|
||||
async fn store(&mut self, file: Box<dyn futures::AsyncRead + Unpin + Send>) -> SResult<Url>;
|
||||
|
||||
async fn erase(&mut self, file_name: Url) -> SResult<usize>;
|
||||
}
|
||||
|
@ -3,11 +3,15 @@ name = "file-storage-local"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
path = "src/lib.rs"
|
||||
|
||||
[dependencies]
|
||||
file-storage-adapter = { path = "../file-storage-adapter" }
|
||||
tokio = { version = "1.28.2", features = ['full'] }
|
||||
futures = { version = "0.3.28" }
|
||||
async-trait = { version = "0.1.68" }
|
||||
file-storage-adapter = { path = "../file-storage-adapter" }
|
||||
futures = { version = "0.3.28" }
|
||||
serde = { version = "1.0.163", features = ['derive'] }
|
||||
uuid = { version = "1.3.3", features = ['v4'] }
|
||||
tokio = { version = "1.28.2", features = ['full'] }
|
||||
tracing = { version = "0.1" }
|
||||
uuid = { version = "1.3.3", features = ['v4'] }
|
@ -25,7 +25,7 @@ impl FileStorage for FileStorageLocal {
|
||||
"file-storage-local"
|
||||
}
|
||||
|
||||
async fn new(config: &PluginConfig) -> SResult<Self> {
|
||||
async fn new(config: PluginConfig) -> SResult<Self> {
|
||||
Ok(Self {
|
||||
config: Arc::new(RwLock::new(config.config().map_err(|e| {
|
||||
error!("Invalid config for local file storage: {e}");
|
||||
@ -34,7 +34,7 @@ impl FileStorage for FileStorageLocal {
|
||||
})
|
||||
}
|
||||
|
||||
async fn store(&mut self, mut input_stream: impl AsyncRead + Unpin + Send) -> SResult<Url> {
|
||||
async fn store(&mut self, mut input_stream: Box<dyn AsyncRead + Unpin + Send>) -> SResult<Url> {
|
||||
let (root, base_url) = {
|
||||
let config = self.config.read().unwrap();
|
||||
let root = config.root.clone();
|
16
crates/file-storage-s3-plugin/Cargo.toml
Normal file
16
crates/file-storage-s3-plugin/Cargo.toml
Normal file
@ -0,0 +1,16 @@
|
||||
[package]
|
||||
name = "file-storage-s3"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
path = "src/lib.rs"
|
||||
|
||||
[dependencies]
|
||||
file-storage-adapter = { workspace = true }
|
||||
futures = { version = "0.3.28" }
|
||||
rust-s3 = { version = "0.33.0", features = [] }
|
||||
serde = { version = "1.0.163", features = ['derive'] }
|
||||
tokio = { version = "1.28.2" }
|
||||
tracing = { version = "0.1.37" }
|
@ -1,6 +0,0 @@
|
||||
[package]
|
||||
name = "file-storage-s3"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
@ -4,6 +4,6 @@ version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
tracing = { version = "0" }
|
||||
thiserror = { version = "1.0.40" }
|
||||
async-trait = { version = "0.1.68" }
|
||||
thiserror = { version = "1.0.40" }
|
||||
tracing = { version = "0" }
|
||||
|
@ -28,6 +28,6 @@ serde = { version = "1" }
|
||||
sqlx = { version = "0", features = ["migrate", "runtime-actix-rustls", "all-types", "postgres"], optional = true }
|
||||
sqlx-core = { version = "0", features = [], optional = true }
|
||||
thiserror = { version = "1" }
|
||||
tracing = { version = "0.1.37" }
|
||||
uuid = { version = "1", features = ["serde"] }
|
||||
validator = { version = "0" }
|
||||
tracing = { version = "0.1.37" }
|
||||
|
@ -4,6 +4,7 @@ pub mod api;
|
||||
|
||||
pub mod encrypt;
|
||||
pub mod v3;
|
||||
pub mod v4;
|
||||
|
||||
use std::fmt::{Display, Formatter};
|
||||
use std::ops;
|
||||
|
140
crates/model/src/v4/addresses.rs
Normal file
140
crates/model/src/v4/addresses.rs
Normal file
@ -0,0 +1,140 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"addresses"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub customer_id: Option<String>,
|
||||
pub company: Option<String>,
|
||||
pub first_name: Option<String>,
|
||||
pub last_name: Option<String>,
|
||||
pub address_1: Option<String>,
|
||||
pub address_2: Option<String>,
|
||||
pub city: Option<String>,
|
||||
pub country_code: Option<String>,
|
||||
pub province: Option<String>,
|
||||
pub postal_code: Option<String>,
|
||||
pub phone: Option<String>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
CustomerId,
|
||||
Company,
|
||||
FirstName,
|
||||
LastName,
|
||||
Address1,
|
||||
Address2,
|
||||
City,
|
||||
CountryCode,
|
||||
Province,
|
||||
PostalCode,
|
||||
Phone,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
ClaimOrders,
|
||||
Countries,
|
||||
Customers,
|
||||
Swaps,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::CustomerId => ColumnType::String(None).def().null(),
|
||||
Self::Company => ColumnType::String(None).def().null(),
|
||||
Self::FirstName => ColumnType::String(None).def().null(),
|
||||
Self::LastName => ColumnType::String(None).def().null(),
|
||||
Self::Address1 => ColumnType::String(None).def().null(),
|
||||
Self::Address2 => ColumnType::String(None).def().null(),
|
||||
Self::City => ColumnType::String(None).def().null(),
|
||||
Self::CountryCode => ColumnType::String(None).def().null(),
|
||||
Self::Province => ColumnType::String(None).def().null(),
|
||||
Self::PostalCode => ColumnType::String(None).def().null(),
|
||||
Self::Phone => ColumnType::String(None).def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::ClaimOrders => Entity::has_many(super::claim_orders::Entity).into(),
|
||||
Self::Countries => Entity::belongs_to(super::countries::Entity)
|
||||
.from(Column::CountryCode)
|
||||
.to(super::countries::Column::Iso2)
|
||||
.into(),
|
||||
Self::Customers => Entity::belongs_to(super::customers::Entity)
|
||||
.from(Column::CustomerId)
|
||||
.to(super::customers::Column::Id)
|
||||
.into(),
|
||||
Self::Swaps => Entity::has_many(super::swaps::Entity).into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::claim_orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ClaimOrders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::countries::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Countries.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customers::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Customers.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::swaps::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Swaps.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
73
crates/model/src/v4/analytics_configs.rs
Normal file
73
crates/model/src/v4/analytics_configs.rs
Normal file
@ -0,0 +1,73 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"analytics_configs"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub user_id: String,
|
||||
pub opt_out: bool,
|
||||
pub anonymize: bool,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
UserId,
|
||||
OptOut,
|
||||
Anonymize,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::UserId => ColumnType::String(None).def(),
|
||||
Self::OptOut => ColumnType::Boolean.def(),
|
||||
Self::Anonymize => ColumnType::Boolean.def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
panic!("No RelationDef")
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
110
crates/model/src/v4/batch_jobs.rs
Normal file
110
crates/model/src/v4/batch_jobs.rs
Normal file
@ -0,0 +1,110 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"batch_jobs"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub r#type: String,
|
||||
pub created_by: Option<String>,
|
||||
pub context: Option<Json>,
|
||||
pub result: Option<Json>,
|
||||
pub dry_run: bool,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub pre_processed_at: Option<DateTimeWithTimeZone>,
|
||||
pub confirmed_at: Option<DateTimeWithTimeZone>,
|
||||
pub processing_at: Option<DateTimeWithTimeZone>,
|
||||
pub completed_at: Option<DateTimeWithTimeZone>,
|
||||
pub failed_at: Option<DateTimeWithTimeZone>,
|
||||
pub canceled_at: Option<DateTimeWithTimeZone>,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Type,
|
||||
CreatedBy,
|
||||
Context,
|
||||
Result,
|
||||
DryRun,
|
||||
CreatedAt,
|
||||
PreProcessedAt,
|
||||
ConfirmedAt,
|
||||
ProcessingAt,
|
||||
CompletedAt,
|
||||
FailedAt,
|
||||
CanceledAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Users,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Type => ColumnType::Text.def(),
|
||||
Self::CreatedBy => ColumnType::String(None).def().null(),
|
||||
Self::Context => ColumnType::JsonBinary.def().null(),
|
||||
Self::Result => ColumnType::JsonBinary.def().null(),
|
||||
Self::DryRun => ColumnType::Boolean.def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::PreProcessedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::ConfirmedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::ProcessingAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CompletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::FailedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CanceledAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Users => Entity::belongs_to(super::users::Entity)
|
||||
.from(Column::CreatedBy)
|
||||
.to(super::users::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::users::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Users.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
199
crates/model/src/v4/cart.rs
Normal file
199
crates/model/src/v4/cart.rs
Normal file
@ -0,0 +1,199 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::CartTypes;
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"cart"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub email: Option<String>,
|
||||
pub billing_address_id: Option<String>,
|
||||
pub shipping_address_id: Option<String>,
|
||||
pub region_id: String,
|
||||
pub customer_id: Option<String>,
|
||||
pub payment_id: Option<String>,
|
||||
pub r#type: CartTypes,
|
||||
pub completed_at: Option<DateTimeWithTimeZone>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
pub idempotency_key: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Email,
|
||||
BillingAddressId,
|
||||
ShippingAddressId,
|
||||
RegionId,
|
||||
CustomerId,
|
||||
PaymentId,
|
||||
Type,
|
||||
CompletedAt,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
IdempotencyKey,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Addresses2,
|
||||
Addresses1,
|
||||
Customers,
|
||||
LineItems,
|
||||
Order,
|
||||
PaymentSessions,
|
||||
Payments,
|
||||
Regions,
|
||||
ShippingMethods,
|
||||
Swap,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Email => ColumnType::String(None).def().null(),
|
||||
Self::BillingAddressId => ColumnType::String(None).def().null(),
|
||||
Self::ShippingAddressId => ColumnType::String(None).def().null(),
|
||||
Self::RegionId => ColumnType::String(None).def(),
|
||||
Self::CustomerId => ColumnType::String(None).def().null(),
|
||||
Self::PaymentId => ColumnType::String(None).def().null().unique(),
|
||||
Self::Type => CartTypes::db_type().def(),
|
||||
Self::CompletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::IdempotencyKey => ColumnType::String(None).def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Addresses2 => Entity::belongs_to(super::addresses::Entity)
|
||||
.from(Column::BillingAddressId)
|
||||
.to(super::addresses::Column::Id)
|
||||
.into(),
|
||||
Self::Addresses1 => Entity::belongs_to(super::addresses::Entity)
|
||||
.from(Column::ShippingAddressId)
|
||||
.to(super::addresses::Column::Id)
|
||||
.into(),
|
||||
Self::Customers => Entity::belongs_to(super::customers::Entity)
|
||||
.from(Column::CustomerId)
|
||||
.to(super::customers::Column::Id)
|
||||
.into(),
|
||||
Self::LineItems => Entity::has_many(super::line_items::Entity).into(),
|
||||
Self::Order => Entity::has_one(super::order::Entity).into(),
|
||||
Self::PaymentSessions => Entity::has_many(super::payment_sessions::Entity).into(),
|
||||
Self::Payments => Entity::belongs_to(super::payments::Entity)
|
||||
.from(Column::PaymentId)
|
||||
.to(super::payments::Column::Id)
|
||||
.into(),
|
||||
Self::Regions => Entity::belongs_to(super::regions::Entity)
|
||||
.from(Column::RegionId)
|
||||
.to(super::regions::Column::Id)
|
||||
.into(),
|
||||
Self::ShippingMethods => Entity::has_many(super::shipping_methods::Entity).into(),
|
||||
Self::Swap => Entity::has_one(super::swap::Entity).into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customers::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Customers.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::LineItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::order::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Order.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payment_sessions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::PaymentSessions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Payments.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::regions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Regions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::shipping_methods::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ShippingMethods.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::swap::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Swap.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discounts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::cart_discounts::Relation::Discounts.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::cart_discounts::Relation::Cart.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::gift_cards::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::cart_gift_cards::Relation::GiftCards.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::cart_gift_cards::Relation::Cart.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
83
crates/model/src/v4/cart_discounts.rs
Normal file
83
crates/model/src/v4/cart_discounts.rs
Normal file
@ -0,0 +1,83 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"cart_discounts"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub cart_id: String,
|
||||
pub discount_id: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
CartId,
|
||||
DiscountId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
CartId,
|
||||
DiscountId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Carts,
|
||||
Discounts,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::CartId => ColumnType::String(None).def(),
|
||||
Self::DiscountId => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Carts => Entity::belongs_to(super::carts::Entity)
|
||||
.from(Column::CartId)
|
||||
.to(super::carts::Column::Id)
|
||||
.into(),
|
||||
Self::Discounts => Entity::belongs_to(super::discounts::Entity)
|
||||
.from(Column::DiscountId)
|
||||
.to(super::discounts::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::carts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Carts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discounts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Discounts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
83
crates/model/src/v4/cart_gift_cards.rs
Normal file
83
crates/model/src/v4/cart_gift_cards.rs
Normal file
@ -0,0 +1,83 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"cart_gift_cards"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub cart_id: String,
|
||||
pub gift_card_id: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
CartId,
|
||||
GiftCardId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
CartId,
|
||||
GiftCardId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Carts,
|
||||
GiftCards,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::CartId => ColumnType::String(None).def(),
|
||||
Self::GiftCardId => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Carts => Entity::belongs_to(super::carts::Entity)
|
||||
.from(Column::CartId)
|
||||
.to(super::carts::Column::Id)
|
||||
.into(),
|
||||
Self::GiftCards => Entity::belongs_to(super::gift_cards::Entity)
|
||||
.from(Column::GiftCardId)
|
||||
.to(super::gift_cards::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::carts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Carts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::gift_cards::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::GiftCards.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
237
crates/model/src/v4/carts.rs
Normal file
237
crates/model/src/v4/carts.rs
Normal file
@ -0,0 +1,237 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::CartTypes;
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"carts"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub email: Option<String>,
|
||||
pub billing_address_id: Option<String>,
|
||||
pub shipping_address_id: Option<String>,
|
||||
pub region_id: String,
|
||||
pub customer_id: Option<String>,
|
||||
pub payment_id: Option<String>,
|
||||
pub r#type: CartTypes,
|
||||
pub completed_at: Option<DateTimeWithTimeZone>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
pub idempotency_key: Option<String>,
|
||||
pub context: Option<Json>,
|
||||
pub payment_authorized_at: Option<DateTimeWithTimeZone>,
|
||||
pub sales_channel_id: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Email,
|
||||
BillingAddressId,
|
||||
ShippingAddressId,
|
||||
RegionId,
|
||||
CustomerId,
|
||||
PaymentId,
|
||||
Type,
|
||||
CompletedAt,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
IdempotencyKey,
|
||||
Context,
|
||||
PaymentAuthorizedAt,
|
||||
SalesChannelId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Addresses2,
|
||||
Addresses1,
|
||||
CustomShippingOptions,
|
||||
Customers,
|
||||
DraftOrders,
|
||||
LineItems,
|
||||
Orders,
|
||||
PaymentSessions,
|
||||
Payments,
|
||||
Regions,
|
||||
SalesChannels,
|
||||
ShippingMethods,
|
||||
Swaps,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Email => ColumnType::String(None).def().null(),
|
||||
Self::BillingAddressId => ColumnType::String(None).def().null(),
|
||||
Self::ShippingAddressId => ColumnType::String(None).def().null(),
|
||||
Self::RegionId => ColumnType::String(None).def(),
|
||||
Self::CustomerId => ColumnType::String(None).def().null(),
|
||||
Self::PaymentId => ColumnType::String(None).def().null().unique(),
|
||||
Self::Type => CartTypes::db_type().def(),
|
||||
Self::CompletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::IdempotencyKey => ColumnType::String(None).def().null(),
|
||||
Self::Context => ColumnType::JsonBinary.def().null(),
|
||||
Self::PaymentAuthorizedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::SalesChannelId => ColumnType::String(None).def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Addresses2 => Entity::belongs_to(super::addresses::Entity)
|
||||
.from(Column::BillingAddressId)
|
||||
.to(super::addresses::Column::Id)
|
||||
.into(),
|
||||
Self::Addresses1 => Entity::belongs_to(super::addresses::Entity)
|
||||
.from(Column::ShippingAddressId)
|
||||
.to(super::addresses::Column::Id)
|
||||
.into(),
|
||||
Self::CustomShippingOptions => {
|
||||
Entity::has_many(super::custom_shipping_options::Entity).into()
|
||||
}
|
||||
Self::Customers => Entity::belongs_to(super::customers::Entity)
|
||||
.from(Column::CustomerId)
|
||||
.to(super::customers::Column::Id)
|
||||
.into(),
|
||||
Self::DraftOrders => Entity::has_one(super::draft_orders::Entity).into(),
|
||||
Self::LineItems => Entity::has_many(super::line_items::Entity).into(),
|
||||
Self::Orders => Entity::has_one(super::orders::Entity).into(),
|
||||
Self::PaymentSessions => Entity::has_many(super::payment_sessions::Entity).into(),
|
||||
Self::Payments => Entity::belongs_to(super::payments::Entity)
|
||||
.from(Column::PaymentId)
|
||||
.to(super::payments::Column::Id)
|
||||
.into(),
|
||||
Self::Regions => Entity::belongs_to(super::regions::Entity)
|
||||
.from(Column::RegionId)
|
||||
.to(super::regions::Column::Id)
|
||||
.into(),
|
||||
Self::SalesChannels => Entity::belongs_to(super::sales_channels::Entity)
|
||||
.from(Column::SalesChannelId)
|
||||
.to(super::sales_channels::Column::Id)
|
||||
.into(),
|
||||
Self::ShippingMethods => Entity::has_many(super::shipping_methods::Entity).into(),
|
||||
Self::Swaps => Entity::has_one(super::swaps::Entity).into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::custom_shipping_options::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::CustomShippingOptions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customers::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Customers.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::draft_orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::DraftOrders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::LineItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Orders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payment_sessions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::PaymentSessions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Payments.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::regions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Regions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::sales_channels::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::SalesChannels.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::shipping_methods::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ShippingMethods.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::swaps::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Swaps.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::gift_cards::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::cart_gift_cards::Relation::GiftCards.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::cart_gift_cards::Relation::Carts.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discounts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::cart_discounts::Relation::Discounts.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::cart_discounts::Relation::Carts.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
86
crates/model/src/v4/claim_images.rs
Normal file
86
crates/model/src/v4/claim_images.rs
Normal file
@ -0,0 +1,86 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"claim_images"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub claim_item_id: String,
|
||||
pub url: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
ClaimItemId,
|
||||
Url,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
ClaimItems,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::ClaimItemId => ColumnType::String(None).def(),
|
||||
Self::Url => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::ClaimItems => Entity::belongs_to(super::claim_items::Entity)
|
||||
.from(Column::ClaimItemId)
|
||||
.to(super::claim_items::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::claim_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ClaimItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
83
crates/model/src/v4/claim_item_tags.rs
Normal file
83
crates/model/src/v4/claim_item_tags.rs
Normal file
@ -0,0 +1,83 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"claim_item_tags"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub item_id: String,
|
||||
pub tag_id: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
ItemId,
|
||||
TagId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
ItemId,
|
||||
TagId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
ClaimItems,
|
||||
ClaimTags,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::ItemId => ColumnType::String(None).def(),
|
||||
Self::TagId => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::ClaimItems => Entity::belongs_to(super::claim_items::Entity)
|
||||
.from(Column::ItemId)
|
||||
.to(super::claim_items::Column::Id)
|
||||
.into(),
|
||||
Self::ClaimTags => Entity::belongs_to(super::claim_tags::Entity)
|
||||
.from(Column::TagId)
|
||||
.to(super::claim_tags::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::claim_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ClaimItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::claim_tags::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ClaimTags.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
139
crates/model/src/v4/claim_items.rs
Normal file
139
crates/model/src/v4/claim_items.rs
Normal file
@ -0,0 +1,139 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::ClaimItemReasons;
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"claim_items"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub claim_order_id: String,
|
||||
pub item_id: String,
|
||||
pub variant_id: String,
|
||||
pub reason: ClaimItemReasons,
|
||||
pub note: Option<String>,
|
||||
pub quantity: i32,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
ClaimOrderId,
|
||||
ItemId,
|
||||
VariantId,
|
||||
Reason,
|
||||
Note,
|
||||
Quantity,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
ClaimImages,
|
||||
ClaimOrders,
|
||||
LineItems,
|
||||
ProductVariants,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::ClaimOrderId => ColumnType::String(None).def(),
|
||||
Self::ItemId => ColumnType::String(None).def(),
|
||||
Self::VariantId => ColumnType::String(None).def(),
|
||||
Self::Reason => ClaimItemReasons::db_type().def(),
|
||||
Self::Note => ColumnType::String(None).def().null(),
|
||||
Self::Quantity => ColumnType::Integer.def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::ClaimImages => Entity::has_many(super::claim_images::Entity).into(),
|
||||
Self::ClaimOrders => Entity::belongs_to(super::claim_orders::Entity)
|
||||
.from(Column::ClaimOrderId)
|
||||
.to(super::claim_orders::Column::Id)
|
||||
.into(),
|
||||
Self::LineItems => Entity::belongs_to(super::line_items::Entity)
|
||||
.from(Column::ItemId)
|
||||
.to(super::line_items::Column::Id)
|
||||
.into(),
|
||||
Self::ProductVariants => Entity::belongs_to(super::product_variants::Entity)
|
||||
.from(Column::VariantId)
|
||||
.to(super::product_variants::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::claim_images::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ClaimImages.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::claim_orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ClaimOrders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::LineItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::product_variants::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ProductVariants.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::claim_tags::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::claim_item_tags::Relation::ClaimTags.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::claim_item_tags::Relation::ClaimItems.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
162
crates/model/src/v4/claim_orders.rs
Normal file
162
crates/model/src/v4/claim_orders.rs
Normal file
@ -0,0 +1,162 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::{
|
||||
ClaimOrderFulfillmentStatuses, ClaimOrderPaymentStatuses, ClaimOrderTypes,
|
||||
};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"claim_orders"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub payment_status: ClaimOrderPaymentStatuses,
|
||||
pub fulfillment_status: ClaimOrderFulfillmentStatuses,
|
||||
pub r#type: ClaimOrderTypes,
|
||||
pub order_id: String,
|
||||
pub shipping_address_id: Option<String>,
|
||||
pub refund_amount: Option<i32>,
|
||||
pub canceled_at: Option<DateTimeWithTimeZone>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
pub idempotency_key: Option<String>,
|
||||
pub no_notification: Option<bool>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
PaymentStatus,
|
||||
FulfillmentStatus,
|
||||
Type,
|
||||
OrderId,
|
||||
ShippingAddressId,
|
||||
RefundAmount,
|
||||
CanceledAt,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
IdempotencyKey,
|
||||
NoNotification,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Addresses,
|
||||
ClaimItems,
|
||||
Fulfillments,
|
||||
LineItems,
|
||||
Orders,
|
||||
Returns,
|
||||
ShippingMethods,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::PaymentStatus => ClaimOrderPaymentStatuses::db_type().def(),
|
||||
Self::FulfillmentStatus => ClaimOrderFulfillmentStatuses::db_type().def(),
|
||||
Self::Type => ClaimOrderTypes::db_type().def(),
|
||||
Self::OrderId => ColumnType::String(None).def(),
|
||||
Self::ShippingAddressId => ColumnType::String(None).def().null(),
|
||||
Self::RefundAmount => ColumnType::Integer.def().null(),
|
||||
Self::CanceledAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::IdempotencyKey => ColumnType::String(None).def().null(),
|
||||
Self::NoNotification => ColumnType::Boolean.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Addresses => Entity::belongs_to(super::addresses::Entity)
|
||||
.from(Column::ShippingAddressId)
|
||||
.to(super::addresses::Column::Id)
|
||||
.into(),
|
||||
Self::ClaimItems => Entity::has_many(super::claim_items::Entity).into(),
|
||||
Self::Fulfillments => Entity::has_many(super::fulfillments::Entity).into(),
|
||||
Self::LineItems => Entity::has_many(super::line_items::Entity).into(),
|
||||
Self::Orders => Entity::belongs_to(super::orders::Entity)
|
||||
.from(Column::OrderId)
|
||||
.to(super::orders::Column::Id)
|
||||
.into(),
|
||||
Self::Returns => Entity::has_one(super::returns::Entity).into(),
|
||||
Self::ShippingMethods => Entity::has_many(super::shipping_methods::Entity).into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::addresses::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Addresses.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::claim_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ClaimItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::fulfillments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Fulfillments.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::LineItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Orders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::returns::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Returns.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::shipping_methods::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ShippingMethods.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
79
crates/model/src/v4/claim_tags.rs
Normal file
79
crates/model/src/v4/claim_tags.rs
Normal file
@ -0,0 +1,79 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"claim_tags"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub value: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Value,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Value => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
panic!("No RelationDef")
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::claim_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::claim_item_tags::Relation::ClaimItems.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::claim_item_tags::Relation::ClaimTags.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
94
crates/model/src/v4/countries.rs
Normal file
94
crates/model/src/v4/countries.rs
Normal file
@ -0,0 +1,94 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"countries"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: i32,
|
||||
pub iso_2: String,
|
||||
pub iso_3: String,
|
||||
pub num_code: i32,
|
||||
pub name: String,
|
||||
pub display_name: String,
|
||||
pub region_id: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Iso2,
|
||||
Iso3,
|
||||
NumCode,
|
||||
Name,
|
||||
DisplayName,
|
||||
RegionId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = i32;
|
||||
fn auto_increment() -> bool {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Addresses,
|
||||
Regions,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::Integer.def(),
|
||||
Self::Iso2 => ColumnType::String(None).def(),
|
||||
Self::Iso3 => ColumnType::String(None).def(),
|
||||
Self::NumCode => ColumnType::Integer.def(),
|
||||
Self::Name => ColumnType::String(None).def(),
|
||||
Self::DisplayName => ColumnType::String(None).def(),
|
||||
Self::RegionId => ColumnType::String(None).def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Addresses => Entity::has_many(super::addresses::Entity).into(),
|
||||
Self::Regions => Entity::belongs_to(super::regions::Entity)
|
||||
.from(Column::RegionId)
|
||||
.to(super::regions::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::addresses::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Addresses.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::regions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Regions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
109
crates/model/src/v4/currencies.rs
Normal file
109
crates/model/src/v4/currencies.rs
Normal file
@ -0,0 +1,109 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"currencies"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub code: String,
|
||||
pub symbol: String,
|
||||
pub symbol_native: String,
|
||||
pub name: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Code,
|
||||
Symbol,
|
||||
SymbolNative,
|
||||
Name,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Code,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
MoneyAmounts,
|
||||
Orders,
|
||||
Payments,
|
||||
Regions,
|
||||
Stores,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Code => ColumnType::String(None).def(),
|
||||
Self::Symbol => ColumnType::String(None).def(),
|
||||
Self::SymbolNative => ColumnType::String(None).def(),
|
||||
Self::Name => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::MoneyAmounts => Entity::has_many(super::money_amounts::Entity).into(),
|
||||
Self::Orders => Entity::has_many(super::orders::Entity).into(),
|
||||
Self::Payments => Entity::has_many(super::payments::Entity).into(),
|
||||
Self::Regions => Entity::has_many(super::regions::Entity).into(),
|
||||
Self::Stores => Entity::has_many(super::stores::Entity).into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::money_amounts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::MoneyAmounts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Orders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Payments.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::regions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Regions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::stores::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::store_currencies::Relation::Stores.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::store_currencies::Relation::Currencies.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
100
crates/model/src/v4/custom_shipping_options.rs
Normal file
100
crates/model/src/v4/custom_shipping_options.rs
Normal file
@ -0,0 +1,100 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"custom_shipping_options"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub price: i32,
|
||||
pub shipping_option_id: String,
|
||||
pub cart_id: Option<String>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Price,
|
||||
ShippingOptionId,
|
||||
CartId,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Carts,
|
||||
ShippingOptions,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Price => ColumnType::Integer.def(),
|
||||
Self::ShippingOptionId => ColumnType::String(None).def(),
|
||||
Self::CartId => ColumnType::String(None).def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Carts => Entity::belongs_to(super::carts::Entity)
|
||||
.from(Column::CartId)
|
||||
.to(super::carts::Column::Id)
|
||||
.into(),
|
||||
Self::ShippingOptions => Entity::belongs_to(super::shipping_options::Entity)
|
||||
.from(Column::ShippingOptionId)
|
||||
.to(super::shipping_options::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::carts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Carts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::shipping_options::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ShippingOptions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
83
crates/model/src/v4/customer_group_customers.rs
Normal file
83
crates/model/src/v4/customer_group_customers.rs
Normal file
@ -0,0 +1,83 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"customer_group_customers"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub customer_group_id: String,
|
||||
pub customer_id: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
CustomerGroupId,
|
||||
CustomerId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
CustomerGroupId,
|
||||
CustomerId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
CustomerGroups,
|
||||
Customers,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::CustomerGroupId => ColumnType::String(None).def(),
|
||||
Self::CustomerId => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::CustomerGroups => Entity::belongs_to(super::customer_groups::Entity)
|
||||
.from(Column::CustomerGroupId)
|
||||
.to(super::customer_groups::Column::Id)
|
||||
.into(),
|
||||
Self::Customers => Entity::belongs_to(super::customers::Entity)
|
||||
.from(Column::CustomerId)
|
||||
.to(super::customers::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customer_groups::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::CustomerGroups.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customers::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Customers.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
109
crates/model/src/v4/customer_groups.rs
Normal file
109
crates/model/src/v4/customer_groups.rs
Normal file
@ -0,0 +1,109 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"customer_groups"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub name: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Name,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Name => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
panic!("No RelationDef")
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customers::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::customer_group_customers::Relation::Customers.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::customer_group_customers::Relation::CustomerGroups
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discount_conditions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::discount_condition_customer_groups::Relation::DiscountConditions.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::discount_condition_customer_groups::Relation::CustomerGroups
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::price_lists::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::price_list_customer_groups::Relation::PriceLists.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::price_list_customer_groups::Relation::CustomerGroups
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
138
crates/model/src/v4/customers.rs
Normal file
138
crates/model/src/v4/customers.rs
Normal file
@ -0,0 +1,138 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"customers"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub email: String,
|
||||
pub first_name: Option<String>,
|
||||
pub last_name: Option<String>,
|
||||
pub billing_address_id: Option<String>,
|
||||
pub password_hash: Option<String>,
|
||||
pub phone: Option<String>,
|
||||
pub has_account: bool,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Email,
|
||||
FirstName,
|
||||
LastName,
|
||||
BillingAddressId,
|
||||
PasswordHash,
|
||||
Phone,
|
||||
HasAccount,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Addresses,
|
||||
Carts,
|
||||
Notifications,
|
||||
Orders,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Email => ColumnType::String(None).def(),
|
||||
Self::FirstName => ColumnType::String(None).def().null(),
|
||||
Self::LastName => ColumnType::String(None).def().null(),
|
||||
Self::BillingAddressId => ColumnType::String(None).def().null().unique(),
|
||||
Self::PasswordHash => ColumnType::String(None).def().null(),
|
||||
Self::Phone => ColumnType::String(None).def().null(),
|
||||
Self::HasAccount => ColumnType::Boolean.def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Addresses => Entity::belongs_to(super::addresses::Entity)
|
||||
.from(Column::BillingAddressId)
|
||||
.to(super::addresses::Column::Id)
|
||||
.into(),
|
||||
Self::Carts => Entity::has_many(super::carts::Entity).into(),
|
||||
Self::Notifications => Entity::has_many(super::notifications::Entity).into(),
|
||||
Self::Orders => Entity::has_many(super::orders::Entity).into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::addresses::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Addresses.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::carts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Carts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::notifications::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Notifications.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Orders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customer_groups::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::customer_group_customers::Relation::CustomerGroups.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::customer_group_customers::Relation::Customers
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
92
crates/model/src/v4/discount_condition_customer_groups.rs
Normal file
92
crates/model/src/v4/discount_condition_customer_groups.rs
Normal file
@ -0,0 +1,92 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"discount_condition_customer_groups"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub customer_group_id: String,
|
||||
pub condition_id: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
CustomerGroupId,
|
||||
ConditionId,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
CustomerGroupId,
|
||||
ConditionId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
CustomerGroups,
|
||||
DiscountConditions,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::CustomerGroupId => ColumnType::String(None).def(),
|
||||
Self::ConditionId => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::CustomerGroups => Entity::belongs_to(super::customer_groups::Entity)
|
||||
.from(Column::CustomerGroupId)
|
||||
.to(super::customer_groups::Column::Id)
|
||||
.into(),
|
||||
Self::DiscountConditions => Entity::belongs_to(super::discount_conditions::Entity)
|
||||
.from(Column::ConditionId)
|
||||
.to(super::discount_conditions::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customer_groups::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::CustomerGroups.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discount_conditions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::DiscountConditions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
@ -0,0 +1,92 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"discount_condition_product_collections"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub product_collection_id: String,
|
||||
pub condition_id: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
ProductCollectionId,
|
||||
ConditionId,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
ProductCollectionId,
|
||||
ConditionId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
DiscountConditions,
|
||||
ProductCollections,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::ProductCollectionId => ColumnType::String(None).def(),
|
||||
Self::ConditionId => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::DiscountConditions => Entity::belongs_to(super::discount_conditions::Entity)
|
||||
.from(Column::ConditionId)
|
||||
.to(super::discount_conditions::Column::Id)
|
||||
.into(),
|
||||
Self::ProductCollections => Entity::belongs_to(super::product_collections::Entity)
|
||||
.from(Column::ProductCollectionId)
|
||||
.to(super::product_collections::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discount_conditions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::DiscountConditions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::product_collections::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ProductCollections.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
92
crates/model/src/v4/discount_condition_product_tags.rs
Normal file
92
crates/model/src/v4/discount_condition_product_tags.rs
Normal file
@ -0,0 +1,92 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"discount_condition_product_tags"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub product_tag_id: String,
|
||||
pub condition_id: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
ProductTagId,
|
||||
ConditionId,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
ProductTagId,
|
||||
ConditionId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
DiscountConditions,
|
||||
ProductTags,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::ProductTagId => ColumnType::String(None).def(),
|
||||
Self::ConditionId => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::DiscountConditions => Entity::belongs_to(super::discount_conditions::Entity)
|
||||
.from(Column::ConditionId)
|
||||
.to(super::discount_conditions::Column::Id)
|
||||
.into(),
|
||||
Self::ProductTags => Entity::belongs_to(super::product_tags::Entity)
|
||||
.from(Column::ProductTagId)
|
||||
.to(super::product_tags::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discount_conditions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::DiscountConditions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::product_tags::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ProductTags.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
92
crates/model/src/v4/discount_condition_product_types.rs
Normal file
92
crates/model/src/v4/discount_condition_product_types.rs
Normal file
@ -0,0 +1,92 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"discount_condition_product_types"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub product_type_id: String,
|
||||
pub condition_id: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
ProductTypeId,
|
||||
ConditionId,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
ProductTypeId,
|
||||
ConditionId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
DiscountConditions,
|
||||
ProductTypes,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::ProductTypeId => ColumnType::String(None).def(),
|
||||
Self::ConditionId => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::DiscountConditions => Entity::belongs_to(super::discount_conditions::Entity)
|
||||
.from(Column::ConditionId)
|
||||
.to(super::discount_conditions::Column::Id)
|
||||
.into(),
|
||||
Self::ProductTypes => Entity::belongs_to(super::product_types::Entity)
|
||||
.from(Column::ProductTypeId)
|
||||
.to(super::product_types::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discount_conditions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::DiscountConditions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::product_types::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ProductTypes.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
92
crates/model/src/v4/discount_condition_products.rs
Normal file
92
crates/model/src/v4/discount_condition_products.rs
Normal file
@ -0,0 +1,92 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"discount_condition_products"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub product_id: String,
|
||||
pub condition_id: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
ProductId,
|
||||
ConditionId,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
ProductId,
|
||||
ConditionId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
DiscountConditions,
|
||||
Products,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::ProductId => ColumnType::String(None).def(),
|
||||
Self::ConditionId => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::DiscountConditions => Entity::belongs_to(super::discount_conditions::Entity)
|
||||
.from(Column::ConditionId)
|
||||
.to(super::discount_conditions::Column::Id)
|
||||
.into(),
|
||||
Self::Products => Entity::belongs_to(super::products::Entity)
|
||||
.from(Column::ProductId)
|
||||
.to(super::products::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discount_conditions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::DiscountConditions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::products::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Products.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
156
crates/model/src/v4/discount_conditions.rs
Normal file
156
crates/model/src/v4/discount_conditions.rs
Normal file
@ -0,0 +1,156 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::{DiscountConditionOperators, DiscountConditionTypes};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"discount_conditions"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub r#type: DiscountConditionTypes,
|
||||
pub operator: DiscountConditionOperators,
|
||||
pub discount_rule_id: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Type,
|
||||
Operator,
|
||||
DiscountRuleId,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
DiscountRules,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Type => DiscountConditionTypes::db_type().def(),
|
||||
Self::Operator => DiscountConditionOperators::db_type().def(),
|
||||
Self::DiscountRuleId => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::DiscountRules => Entity::belongs_to(super::discount_rules::Entity)
|
||||
.from(Column::DiscountRuleId)
|
||||
.to(super::discount_rules::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discount_rules::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::DiscountRules.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::product_tags::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::discount_condition_product_tags::Relation::ProductTags.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::discount_condition_product_tags::Relation::DiscountConditions
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customer_groups::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::discount_condition_customer_groups::Relation::CustomerGroups.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::discount_condition_customer_groups::Relation::DiscountConditions
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::product_types::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::discount_condition_product_types::Relation::ProductTypes.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::discount_condition_product_types::Relation::DiscountConditions
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::product_collections::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::discount_condition_product_collections::Relation::ProductCollections.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::discount_condition_product_collections::Relation::DiscountConditions
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::products::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::discount_condition_products::Relation::Products.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::discount_condition_products::Relation::DiscountConditions
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
83
crates/model/src/v4/discount_regions.rs
Normal file
83
crates/model/src/v4/discount_regions.rs
Normal file
@ -0,0 +1,83 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"discount_regions"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub discount_id: String,
|
||||
pub region_id: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
DiscountId,
|
||||
RegionId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
DiscountId,
|
||||
RegionId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Discounts,
|
||||
Regions,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::DiscountId => ColumnType::String(None).def(),
|
||||
Self::RegionId => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Discounts => Entity::belongs_to(super::discounts::Entity)
|
||||
.from(Column::DiscountId)
|
||||
.to(super::discounts::Column::Id)
|
||||
.into(),
|
||||
Self::Regions => Entity::belongs_to(super::regions::Entity)
|
||||
.from(Column::RegionId)
|
||||
.to(super::regions::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discounts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Discounts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::regions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Regions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
83
crates/model/src/v4/discount_rule_products.rs
Normal file
83
crates/model/src/v4/discount_rule_products.rs
Normal file
@ -0,0 +1,83 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"discount_rule_products"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub discount_rule_id: String,
|
||||
pub product_id: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
DiscountRuleId,
|
||||
ProductId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
DiscountRuleId,
|
||||
ProductId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
DiscountRules,
|
||||
Products,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::DiscountRuleId => ColumnType::String(None).def(),
|
||||
Self::ProductId => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::DiscountRules => Entity::belongs_to(super::discount_rules::Entity)
|
||||
.from(Column::DiscountRuleId)
|
||||
.to(super::discount_rules::Column::Id)
|
||||
.into(),
|
||||
Self::Products => Entity::belongs_to(super::products::Entity)
|
||||
.from(Column::ProductId)
|
||||
.to(super::products::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discount_rules::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::DiscountRules.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::products::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Products.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
112
crates/model/src/v4/discount_rules.rs
Normal file
112
crates/model/src/v4/discount_rules.rs
Normal file
@ -0,0 +1,112 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::{DiscountRuleAllocations, DiscountRuleTypes};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"discount_rules"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub description: Option<String>,
|
||||
pub r#type: DiscountRuleTypes,
|
||||
pub value: i32,
|
||||
pub allocation: Option<DiscountRuleAllocations>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Description,
|
||||
Type,
|
||||
Value,
|
||||
Allocation,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
DiscountConditions,
|
||||
Discounts,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Description => ColumnType::String(None).def().null(),
|
||||
Self::Type => DiscountRuleTypes::db_type().def(),
|
||||
Self::Value => ColumnType::Integer.def(),
|
||||
Self::Allocation => DiscountRuleAllocations::db_type().def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::DiscountConditions => Entity::has_many(super::discount_conditions::Entity).into(),
|
||||
Self::Discounts => Entity::has_many(super::discounts::Entity).into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discount_conditions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::DiscountConditions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discounts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Discounts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::products::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::discount_rule_products::Relation::Products.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::discount_rule_products::Relation::DiscountRules
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
152
crates/model/src/v4/discounts.rs
Normal file
152
crates/model/src/v4/discounts.rs
Normal file
@ -0,0 +1,152 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"discounts"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub code: String,
|
||||
pub is_dynamic: bool,
|
||||
pub rule_id: Option<String>,
|
||||
pub is_disabled: bool,
|
||||
pub parent_discount_id: Option<String>,
|
||||
pub starts_at: DateTimeWithTimeZone,
|
||||
pub ends_at: Option<DateTimeWithTimeZone>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
pub usage_limit: Option<i32>,
|
||||
pub usage_count: i32,
|
||||
pub valid_duration: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Code,
|
||||
IsDynamic,
|
||||
RuleId,
|
||||
IsDisabled,
|
||||
ParentDiscountId,
|
||||
StartsAt,
|
||||
EndsAt,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
UsageLimit,
|
||||
UsageCount,
|
||||
ValidDuration,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
DiscountRules,
|
||||
SelfRef,
|
||||
LineItemAdjustments,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Code => ColumnType::String(None).def(),
|
||||
Self::IsDynamic => ColumnType::Boolean.def(),
|
||||
Self::RuleId => ColumnType::String(None).def().null(),
|
||||
Self::IsDisabled => ColumnType::Boolean.def(),
|
||||
Self::ParentDiscountId => ColumnType::String(None).def().null(),
|
||||
Self::StartsAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::EndsAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::UsageLimit => ColumnType::Integer.def().null(),
|
||||
Self::UsageCount => ColumnType::Integer.def(),
|
||||
Self::ValidDuration => ColumnType::String(None).def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::DiscountRules => Entity::belongs_to(super::discount_rules::Entity)
|
||||
.from(Column::RuleId)
|
||||
.to(super::discount_rules::Column::Id)
|
||||
.into(),
|
||||
Self::SelfRef => Entity::belongs_to(Entity)
|
||||
.from(Column::ParentDiscountId)
|
||||
.to(Column::Id)
|
||||
.into(),
|
||||
Self::LineItemAdjustments => {
|
||||
Entity::has_many(super::line_item_adjustments::Entity).into()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discount_rules::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::DiscountRules.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_item_adjustments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::LineItemAdjustments.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::order_discounts::Relation::Orders.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::order_discounts::Relation::Discounts.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::carts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::cart_discounts::Relation::Carts.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::cart_discounts::Relation::Discounts.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::regions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::discount_regions::Relation::Regions.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::discount_regions::Relation::Discounts.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
114
crates/model/src/v4/draft_orders.rs
Normal file
114
crates/model/src/v4/draft_orders.rs
Normal file
@ -0,0 +1,114 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::DraftOrderStatuses;
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"draft_orders"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub status: DraftOrderStatuses,
|
||||
pub display_id: i32,
|
||||
pub cart_id: Option<String>,
|
||||
pub order_id: Option<String>,
|
||||
pub canceled_at: Option<DateTimeWithTimeZone>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub completed_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
pub idempotency_key: Option<String>,
|
||||
pub no_notification_order: Option<bool>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Status,
|
||||
DisplayId,
|
||||
CartId,
|
||||
OrderId,
|
||||
CanceledAt,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
CompletedAt,
|
||||
Metadata,
|
||||
IdempotencyKey,
|
||||
NoNotificationOrder,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Carts,
|
||||
Orders,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Status => DraftOrderStatuses::db_type().def(),
|
||||
Self::DisplayId => ColumnType::Integer.def(),
|
||||
Self::CartId => ColumnType::String(None).def().null().unique(),
|
||||
Self::OrderId => ColumnType::String(None).def().null().unique(),
|
||||
Self::CanceledAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::CompletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::IdempotencyKey => ColumnType::String(None).def().null(),
|
||||
Self::NoNotificationOrder => ColumnType::Boolean.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Carts => Entity::belongs_to(super::carts::Entity)
|
||||
.from(Column::CartId)
|
||||
.to(super::carts::Column::Id)
|
||||
.into(),
|
||||
Self::Orders => Entity::belongs_to(super::orders::Entity)
|
||||
.from(Column::OrderId)
|
||||
.to(super::orders::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::carts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Carts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Orders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
86
crates/model/src/v4/fulfillment_items.rs
Normal file
86
crates/model/src/v4/fulfillment_items.rs
Normal file
@ -0,0 +1,86 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"fulfillment_items"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub fulfillment_id: String,
|
||||
pub item_id: String,
|
||||
pub quantity: i32,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
FulfillmentId,
|
||||
ItemId,
|
||||
Quantity,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
FulfillmentId,
|
||||
ItemId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Fulfillments,
|
||||
LineItems,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::FulfillmentId => ColumnType::String(None).def(),
|
||||
Self::ItemId => ColumnType::String(None).def(),
|
||||
Self::Quantity => ColumnType::Integer.def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Fulfillments => Entity::belongs_to(super::fulfillments::Entity)
|
||||
.from(Column::FulfillmentId)
|
||||
.to(super::fulfillments::Column::Id)
|
||||
.into(),
|
||||
Self::LineItems => Entity::belongs_to(super::line_items::Entity)
|
||||
.from(Column::ItemId)
|
||||
.to(super::line_items::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::fulfillments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Fulfillments.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::LineItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
89
crates/model/src/v4/fulfillment_providers.rs
Normal file
89
crates/model/src/v4/fulfillment_providers.rs
Normal file
@ -0,0 +1,89 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"fulfillment_providers"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub is_installed: bool,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
IsInstalled,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Fulfillments,
|
||||
ShippingOptions,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::IsInstalled => ColumnType::Boolean.def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Fulfillments => Entity::has_many(super::fulfillments::Entity).into(),
|
||||
Self::ShippingOptions => Entity::has_many(super::shipping_options::Entity).into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::fulfillments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Fulfillments.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::shipping_options::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ShippingOptions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::regions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::region_fulfillment_providers::Relation::Regions.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::region_fulfillment_providers::Relation::FulfillmentProviders
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
160
crates/model/src/v4/fulfillments.rs
Normal file
160
crates/model/src/v4/fulfillments.rs
Normal file
@ -0,0 +1,160 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"fulfillments"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub swap_id: Option<String>,
|
||||
pub order_id: Option<String>,
|
||||
pub tracking_numbers: Json,
|
||||
pub data: Json,
|
||||
pub shipped_at: Option<DateTimeWithTimeZone>,
|
||||
pub canceled_at: Option<DateTimeWithTimeZone>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub metadata: Option<Json>,
|
||||
pub idempotency_key: Option<String>,
|
||||
pub provider_id: Option<String>,
|
||||
pub claim_order_id: Option<String>,
|
||||
pub no_notification: Option<bool>,
|
||||
pub location_id: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
SwapId,
|
||||
OrderId,
|
||||
TrackingNumbers,
|
||||
Data,
|
||||
ShippedAt,
|
||||
CanceledAt,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
Metadata,
|
||||
IdempotencyKey,
|
||||
ProviderId,
|
||||
ClaimOrderId,
|
||||
NoNotification,
|
||||
LocationId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
ClaimOrders,
|
||||
FulfillmentProviders,
|
||||
Orders,
|
||||
Swaps,
|
||||
TrackingLinks,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::SwapId => ColumnType::String(None).def().null(),
|
||||
Self::OrderId => ColumnType::String(None).def().null(),
|
||||
Self::TrackingNumbers => ColumnType::JsonBinary.def(),
|
||||
Self::Data => ColumnType::JsonBinary.def(),
|
||||
Self::ShippedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CanceledAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::IdempotencyKey => ColumnType::String(None).def().null(),
|
||||
Self::ProviderId => ColumnType::String(None).def().null(),
|
||||
Self::ClaimOrderId => ColumnType::String(None).def().null(),
|
||||
Self::NoNotification => ColumnType::Boolean.def().null(),
|
||||
Self::LocationId => ColumnType::String(None).def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::ClaimOrders => Entity::belongs_to(super::claim_orders::Entity)
|
||||
.from(Column::ClaimOrderId)
|
||||
.to(super::claim_orders::Column::Id)
|
||||
.into(),
|
||||
Self::FulfillmentProviders => Entity::belongs_to(super::fulfillment_providers::Entity)
|
||||
.from(Column::ProviderId)
|
||||
.to(super::fulfillment_providers::Column::Id)
|
||||
.into(),
|
||||
Self::Orders => Entity::belongs_to(super::orders::Entity)
|
||||
.from(Column::OrderId)
|
||||
.to(super::orders::Column::Id)
|
||||
.into(),
|
||||
Self::Swaps => Entity::belongs_to(super::swaps::Entity)
|
||||
.from(Column::SwapId)
|
||||
.to(super::swaps::Column::Id)
|
||||
.into(),
|
||||
Self::TrackingLinks => Entity::has_many(super::tracking_links::Entity).into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::claim_orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ClaimOrders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::fulfillment_providers::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::FulfillmentProviders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Orders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::swaps::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Swaps.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::tracking_links::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::TrackingLinks.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::fulfillment_items::Relation::LineItems.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::fulfillment_items::Relation::Fulfillments.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
97
crates/model/src/v4/gift_card_transactions.rs
Normal file
97
crates/model/src/v4/gift_card_transactions.rs
Normal file
@ -0,0 +1,97 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"gift_card_transactions"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub gift_card_id: String,
|
||||
pub order_id: String,
|
||||
pub amount: i32,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub is_taxable: Option<bool>,
|
||||
pub tax_rate: Option<f32>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
GiftCardId,
|
||||
OrderId,
|
||||
Amount,
|
||||
CreatedAt,
|
||||
IsTaxable,
|
||||
TaxRate,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
GiftCards,
|
||||
Orders,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::GiftCardId => ColumnType::String(None).def(),
|
||||
Self::OrderId => ColumnType::String(None).def(),
|
||||
Self::Amount => ColumnType::Integer.def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::IsTaxable => ColumnType::Boolean.def().null(),
|
||||
Self::TaxRate => ColumnType::Float.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::GiftCards => Entity::belongs_to(super::gift_cards::Entity)
|
||||
.from(Column::GiftCardId)
|
||||
.to(super::gift_cards::Column::Id)
|
||||
.into(),
|
||||
Self::Orders => Entity::belongs_to(super::orders::Entity)
|
||||
.from(Column::OrderId)
|
||||
.to(super::orders::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::gift_cards::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::GiftCards.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Orders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
137
crates/model/src/v4/gift_cards.rs
Normal file
137
crates/model/src/v4/gift_cards.rs
Normal file
@ -0,0 +1,137 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"gift_cards"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub code: String,
|
||||
pub value: i32,
|
||||
pub balance: i32,
|
||||
pub region_id: String,
|
||||
pub order_id: Option<String>,
|
||||
pub is_disabled: bool,
|
||||
pub ends_at: Option<DateTimeWithTimeZone>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
pub tax_rate: Option<f32>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Code,
|
||||
Value,
|
||||
Balance,
|
||||
RegionId,
|
||||
OrderId,
|
||||
IsDisabled,
|
||||
EndsAt,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
TaxRate,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
GiftCardTransactions,
|
||||
Orders,
|
||||
Regions,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Code => ColumnType::String(None).def(),
|
||||
Self::Value => ColumnType::Integer.def(),
|
||||
Self::Balance => ColumnType::Integer.def(),
|
||||
Self::RegionId => ColumnType::String(None).def(),
|
||||
Self::OrderId => ColumnType::String(None).def().null(),
|
||||
Self::IsDisabled => ColumnType::Boolean.def(),
|
||||
Self::EndsAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::TaxRate => ColumnType::Float.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::GiftCardTransactions => {
|
||||
Entity::has_many(super::gift_card_transactions::Entity).into()
|
||||
}
|
||||
Self::Orders => Entity::belongs_to(super::orders::Entity)
|
||||
.from(Column::OrderId)
|
||||
.to(super::orders::Column::Id)
|
||||
.into(),
|
||||
Self::Regions => Entity::belongs_to(super::regions::Entity)
|
||||
.from(Column::RegionId)
|
||||
.to(super::regions::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::gift_card_transactions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::GiftCardTransactions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::regions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Regions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::carts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::cart_gift_cards::Relation::Carts.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::cart_gift_cards::Relation::GiftCards.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::order_gift_cards::Relation::Orders.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::order_gift_cards::Relation::GiftCards.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
82
crates/model/src/v4/idempotency_keys.rs
Normal file
82
crates/model/src/v4/idempotency_keys.rs
Normal file
@ -0,0 +1,82 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"idempotency_keys"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub idempotency_key: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub locked_at: Option<DateTimeWithTimeZone>,
|
||||
pub request_method: Option<String>,
|
||||
pub request_params: Option<Json>,
|
||||
pub request_path: Option<String>,
|
||||
pub response_code: Option<i32>,
|
||||
pub response_body: Option<Json>,
|
||||
pub recovery_point: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
IdempotencyKey,
|
||||
CreatedAt,
|
||||
LockedAt,
|
||||
RequestMethod,
|
||||
RequestParams,
|
||||
RequestPath,
|
||||
ResponseCode,
|
||||
ResponseBody,
|
||||
RecoveryPoint,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::IdempotencyKey => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::LockedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::RequestMethod => ColumnType::String(None).def().null(),
|
||||
Self::RequestParams => ColumnType::JsonBinary.def().null(),
|
||||
Self::RequestPath => ColumnType::String(None).def().null(),
|
||||
Self::ResponseCode => ColumnType::Integer.def().null(),
|
||||
Self::ResponseBody => ColumnType::JsonBinary.def().null(),
|
||||
Self::RecoveryPoint => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
panic!("No RelationDef")
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
79
crates/model/src/v4/images.rs
Normal file
79
crates/model/src/v4/images.rs
Normal file
@ -0,0 +1,79 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"images"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub url: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Url,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Url => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
panic!("No RelationDef")
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::products::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::product_images::Relation::Products.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::product_images::Relation::Images.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
84
crates/model/src/v4/invites.rs
Normal file
84
crates/model/src/v4/invites.rs
Normal file
@ -0,0 +1,84 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::InviteRoles;
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"invites"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub user_email: String,
|
||||
pub role: Option<InviteRoles>,
|
||||
pub accepted: bool,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
pub token: String,
|
||||
pub expires_at: DateTimeWithTimeZone,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
UserEmail,
|
||||
Role,
|
||||
Accepted,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
Token,
|
||||
ExpiresAt,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::UserEmail => ColumnType::String(None).def(),
|
||||
Self::Role => InviteRoles::db_type().def().null(),
|
||||
Self::Accepted => ColumnType::Boolean.def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::Token => ColumnType::String(None).def(),
|
||||
Self::ExpiresAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
panic!("No RelationDef")
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
94
crates/model/src/v4/line_item_adjustments.rs
Normal file
94
crates/model/src/v4/line_item_adjustments.rs
Normal file
@ -0,0 +1,94 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"line_item_adjustments"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub item_id: String,
|
||||
pub description: String,
|
||||
pub discount_id: Option<String>,
|
||||
pub amount: Decimal,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
ItemId,
|
||||
Description,
|
||||
DiscountId,
|
||||
Amount,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Discounts,
|
||||
LineItems,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::ItemId => ColumnType::String(None).def(),
|
||||
Self::Description => ColumnType::String(None).def(),
|
||||
Self::DiscountId => ColumnType::String(None).def().null(),
|
||||
Self::Amount => ColumnType::Decimal(None).def(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Discounts => Entity::belongs_to(super::discounts::Entity)
|
||||
.from(Column::DiscountId)
|
||||
.to(super::discounts::Column::Id)
|
||||
.into(),
|
||||
Self::LineItems => Entity::belongs_to(super::line_items::Entity)
|
||||
.from(Column::ItemId)
|
||||
.to(super::line_items::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discounts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Discounts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::LineItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
89
crates/model/src/v4/line_item_tax_lines.rs
Normal file
89
crates/model/src/v4/line_item_tax_lines.rs
Normal file
@ -0,0 +1,89 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"line_item_tax_lines"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub rate: f32,
|
||||
pub name: String,
|
||||
pub code: Option<String>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub metadata: Option<Json>,
|
||||
pub item_id: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Rate,
|
||||
Name,
|
||||
Code,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
Metadata,
|
||||
ItemId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
LineItems,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Rate => ColumnType::Float.def(),
|
||||
Self::Name => ColumnType::String(None).def(),
|
||||
Self::Code => ColumnType::String(None).def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::ItemId => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::LineItems => Entity::belongs_to(super::line_items::Entity)
|
||||
.from(Column::ItemId)
|
||||
.to(super::line_items::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::LineItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
240
crates/model/src/v4/line_items.rs
Normal file
240
crates/model/src/v4/line_items.rs
Normal file
@ -0,0 +1,240 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"line_items"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub cart_id: Option<String>,
|
||||
pub order_id: Option<String>,
|
||||
pub swap_id: Option<String>,
|
||||
pub title: String,
|
||||
pub description: Option<String>,
|
||||
pub thumbnail: Option<String>,
|
||||
pub is_giftcard: bool,
|
||||
pub should_merge: bool,
|
||||
pub allow_discounts: bool,
|
||||
pub has_shipping: Option<bool>,
|
||||
pub unit_price: i32,
|
||||
pub variant_id: Option<String>,
|
||||
pub quantity: i32,
|
||||
pub fulfilled_quantity: Option<i32>,
|
||||
pub returned_quantity: Option<i32>,
|
||||
pub shipped_quantity: Option<i32>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub metadata: Option<Json>,
|
||||
pub claim_order_id: Option<String>,
|
||||
pub is_return: bool,
|
||||
pub original_item_id: Option<String>,
|
||||
pub order_edit_id: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
CartId,
|
||||
OrderId,
|
||||
SwapId,
|
||||
Title,
|
||||
Description,
|
||||
Thumbnail,
|
||||
IsGiftcard,
|
||||
ShouldMerge,
|
||||
AllowDiscounts,
|
||||
HasShipping,
|
||||
UnitPrice,
|
||||
VariantId,
|
||||
Quantity,
|
||||
FulfilledQuantity,
|
||||
ReturnedQuantity,
|
||||
ShippedQuantity,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
Metadata,
|
||||
ClaimOrderId,
|
||||
IsReturn,
|
||||
OriginalItemId,
|
||||
OrderEditId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Carts,
|
||||
ClaimItems,
|
||||
ClaimOrders,
|
||||
LineItemAdjustments,
|
||||
LineItemTaxLines,
|
||||
SelfRef,
|
||||
OrderEdits,
|
||||
Orders,
|
||||
ProductVariants,
|
||||
ReturnItems,
|
||||
Swaps,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::CartId => ColumnType::String(None).def().null(),
|
||||
Self::OrderId => ColumnType::String(None).def().null(),
|
||||
Self::SwapId => ColumnType::String(None).def().null(),
|
||||
Self::Title => ColumnType::String(None).def(),
|
||||
Self::Description => ColumnType::String(None).def().null(),
|
||||
Self::Thumbnail => ColumnType::String(None).def().null(),
|
||||
Self::IsGiftcard => ColumnType::Boolean.def(),
|
||||
Self::ShouldMerge => ColumnType::Boolean.def(),
|
||||
Self::AllowDiscounts => ColumnType::Boolean.def(),
|
||||
Self::HasShipping => ColumnType::Boolean.def().null(),
|
||||
Self::UnitPrice => ColumnType::Integer.def(),
|
||||
Self::VariantId => ColumnType::String(None).def().null(),
|
||||
Self::Quantity => ColumnType::Integer.def(),
|
||||
Self::FulfilledQuantity => ColumnType::Integer.def().null(),
|
||||
Self::ReturnedQuantity => ColumnType::Integer.def().null(),
|
||||
Self::ShippedQuantity => ColumnType::Integer.def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::ClaimOrderId => ColumnType::String(None).def().null(),
|
||||
Self::IsReturn => ColumnType::Boolean.def(),
|
||||
Self::OriginalItemId => ColumnType::String(None).def().null(),
|
||||
Self::OrderEditId => ColumnType::String(None).def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Carts => Entity::belongs_to(super::carts::Entity)
|
||||
.from(Column::CartId)
|
||||
.to(super::carts::Column::Id)
|
||||
.into(),
|
||||
Self::ClaimItems => Entity::has_many(super::claim_items::Entity).into(),
|
||||
Self::ClaimOrders => Entity::belongs_to(super::claim_orders::Entity)
|
||||
.from(Column::ClaimOrderId)
|
||||
.to(super::claim_orders::Column::Id)
|
||||
.into(),
|
||||
Self::LineItemAdjustments => {
|
||||
Entity::has_many(super::line_item_adjustments::Entity).into()
|
||||
}
|
||||
Self::LineItemTaxLines => Entity::has_many(super::line_item_tax_lines::Entity).into(),
|
||||
Self::SelfRef => Entity::belongs_to(Entity)
|
||||
.from(Column::OriginalItemId)
|
||||
.to(Column::Id)
|
||||
.into(),
|
||||
Self::OrderEdits => Entity::belongs_to(super::order_edits::Entity)
|
||||
.from(Column::OrderEditId)
|
||||
.to(super::order_edits::Column::Id)
|
||||
.into(),
|
||||
Self::Orders => Entity::belongs_to(super::orders::Entity)
|
||||
.from(Column::OrderId)
|
||||
.to(super::orders::Column::Id)
|
||||
.into(),
|
||||
Self::ProductVariants => Entity::belongs_to(super::product_variants::Entity)
|
||||
.from(Column::VariantId)
|
||||
.to(super::product_variants::Column::Id)
|
||||
.into(),
|
||||
Self::ReturnItems => Entity::has_many(super::return_items::Entity).into(),
|
||||
Self::Swaps => Entity::belongs_to(super::swaps::Entity)
|
||||
.from(Column::SwapId)
|
||||
.to(super::swaps::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::carts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Carts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::claim_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ClaimItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::claim_orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ClaimOrders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_item_adjustments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::LineItemAdjustments.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_item_tax_lines::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::LineItemTaxLines.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::order_edits::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::OrderEdits.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Orders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::product_variants::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ProductVariants.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::return_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ReturnItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::swaps::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Swaps.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::fulfillments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::fulfillment_items::Relation::Fulfillments.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::fulfillment_items::Relation::LineItems.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
61
crates/model/src/v4/migrations.rs
Normal file
61
crates/model/src/v4/migrations.rs
Normal file
@ -0,0 +1,61 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"migrations"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: i32,
|
||||
pub timestamp: i64,
|
||||
pub name: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Timestamp,
|
||||
Name,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = i32;
|
||||
fn auto_increment() -> bool {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::Integer.def(),
|
||||
Self::Timestamp => ColumnType::BigInteger.def(),
|
||||
Self::Name => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
panic!("No RelationDef")
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
103
crates/model/src/v4/mod.rs
Normal file
103
crates/model/src/v4/mod.rs
Normal file
@ -0,0 +1,103 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
pub mod prelude ;
|
||||
|
||||
pub mod addresses ;
|
||||
pub mod analytics_configs ;
|
||||
pub mod batch_jobs ;
|
||||
pub mod cart_discounts ;
|
||||
pub mod cart_gift_cards ;
|
||||
pub mod carts ;
|
||||
pub mod claim_images ;
|
||||
pub mod claim_item_tags ;
|
||||
pub mod claim_items ;
|
||||
pub mod claim_orders ;
|
||||
pub mod claim_tags ;
|
||||
pub mod countries ;
|
||||
pub mod currencies ;
|
||||
pub mod custom_shipping_options ;
|
||||
pub mod customer_group_customers ;
|
||||
pub mod customer_groups ;
|
||||
pub mod customers ;
|
||||
pub mod discount_condition_customer_groups ;
|
||||
pub mod discount_condition_product_collections ;
|
||||
pub mod discount_condition_product_tags ;
|
||||
pub mod discount_condition_product_types ;
|
||||
pub mod discount_condition_products ;
|
||||
pub mod discount_conditions ;
|
||||
pub mod discount_regions ;
|
||||
pub mod discount_rule_products ;
|
||||
pub mod discount_rules ;
|
||||
pub mod discounts ;
|
||||
pub mod draft_orders ;
|
||||
pub mod fulfillment_items ;
|
||||
pub mod fulfillment_providers ;
|
||||
pub mod fulfillments ;
|
||||
pub mod gift_card_transactions ;
|
||||
pub mod gift_cards ;
|
||||
pub mod idempotency_keys ;
|
||||
pub mod images ;
|
||||
pub mod invites ;
|
||||
pub mod line_item_adjustments ;
|
||||
pub mod line_item_tax_lines ;
|
||||
pub mod line_items ;
|
||||
pub mod migrations ;
|
||||
pub mod money_amounts ;
|
||||
pub mod notes ;
|
||||
pub mod notification_providers ;
|
||||
pub mod notifications ;
|
||||
pub mod oauth ;
|
||||
pub mod order_discounts ;
|
||||
pub mod order_edits ;
|
||||
pub mod order_gift_cards ;
|
||||
pub mod order_item_changes ;
|
||||
pub mod orders ;
|
||||
pub mod payment_collection_payments ;
|
||||
pub mod payment_collection_sessions ;
|
||||
pub mod payment_collections ;
|
||||
pub mod payment_providers ;
|
||||
pub mod payment_sessions ;
|
||||
pub mod payments ;
|
||||
pub mod price_list_customer_groups ;
|
||||
pub mod price_lists ;
|
||||
pub mod product_categories ;
|
||||
pub mod product_category_products ;
|
||||
pub mod product_collections ;
|
||||
pub mod product_images ;
|
||||
pub mod product_option_values ;
|
||||
pub mod product_options ;
|
||||
pub mod product_sales_channels ;
|
||||
pub mod product_tags ;
|
||||
pub mod product_tax_rates ;
|
||||
pub mod product_to_tags ;
|
||||
pub mod product_type_tax_rates ;
|
||||
pub mod product_types ;
|
||||
pub mod product_variant_inventory_items ;
|
||||
pub mod product_variants ;
|
||||
pub mod products ;
|
||||
pub mod publishable_api_key_sales_channels ;
|
||||
pub mod publishable_api_keys ;
|
||||
pub mod refunds ;
|
||||
pub mod region_fulfillment_providers ;
|
||||
pub mod region_payment_providers ;
|
||||
pub mod regions ;
|
||||
pub mod return_items ;
|
||||
pub mod return_reasons ;
|
||||
pub mod returns ;
|
||||
pub mod sales_channel_locations ;
|
||||
pub mod sales_channels ;
|
||||
pub mod shipping_method_tax_lines ;
|
||||
pub mod shipping_methods ;
|
||||
pub mod shipping_option_requirements ;
|
||||
pub mod shipping_options ;
|
||||
pub mod shipping_profiles ;
|
||||
pub mod shipping_tax_rates ;
|
||||
pub mod staged_jobs ;
|
||||
pub mod store_currencies ;
|
||||
pub mod stores ;
|
||||
pub mod swaps ;
|
||||
pub mod tax_providers ;
|
||||
pub mod tax_rates ;
|
||||
pub mod tracking_links ;
|
||||
pub mod users ;
|
||||
pub mod sea_orm_active_enums ;
|
131
crates/model/src/v4/money_amounts.rs
Normal file
131
crates/model/src/v4/money_amounts.rs
Normal file
@ -0,0 +1,131 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"money_amounts"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub currency_code: String,
|
||||
pub amount: i32,
|
||||
pub variant_id: Option<String>,
|
||||
pub region_id: Option<String>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub min_quantity: Option<i32>,
|
||||
pub max_quantity: Option<i32>,
|
||||
pub price_list_id: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
CurrencyCode,
|
||||
Amount,
|
||||
VariantId,
|
||||
RegionId,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
MinQuantity,
|
||||
MaxQuantity,
|
||||
PriceListId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Currencies,
|
||||
PriceLists,
|
||||
ProductVariants,
|
||||
Regions,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::CurrencyCode => ColumnType::String(None).def(),
|
||||
Self::Amount => ColumnType::Integer.def(),
|
||||
Self::VariantId => ColumnType::String(None).def().null(),
|
||||
Self::RegionId => ColumnType::String(None).def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::MinQuantity => ColumnType::Integer.def().null(),
|
||||
Self::MaxQuantity => ColumnType::Integer.def().null(),
|
||||
Self::PriceListId => ColumnType::String(None).def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Currencies => Entity::belongs_to(super::currencies::Entity)
|
||||
.from(Column::CurrencyCode)
|
||||
.to(super::currencies::Column::Code)
|
||||
.into(),
|
||||
Self::PriceLists => Entity::belongs_to(super::price_lists::Entity)
|
||||
.from(Column::PriceListId)
|
||||
.to(super::price_lists::Column::Id)
|
||||
.into(),
|
||||
Self::ProductVariants => Entity::belongs_to(super::product_variants::Entity)
|
||||
.from(Column::VariantId)
|
||||
.to(super::product_variants::Column::Id)
|
||||
.into(),
|
||||
Self::Regions => Entity::belongs_to(super::regions::Entity)
|
||||
.from(Column::RegionId)
|
||||
.to(super::regions::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::currencies::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Currencies.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::price_lists::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::PriceLists.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::product_variants::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ProductVariants.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::regions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Regions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
79
crates/model/src/v4/notes.rs
Normal file
79
crates/model/src/v4/notes.rs
Normal file
@ -0,0 +1,79 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"notes"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub value: String,
|
||||
pub resource_type: String,
|
||||
pub resource_id: String,
|
||||
pub author_id: Option<String>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub metadata: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Value,
|
||||
ResourceType,
|
||||
ResourceId,
|
||||
AuthorId,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Metadata,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Value => ColumnType::String(None).def(),
|
||||
Self::ResourceType => ColumnType::String(None).def(),
|
||||
Self::ResourceId => ColumnType::String(None).def(),
|
||||
Self::AuthorId => ColumnType::String(None).def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
panic!("No RelationDef")
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
68
crates/model/src/v4/notification_providers.rs
Normal file
68
crates/model/src/v4/notification_providers.rs
Normal file
@ -0,0 +1,68 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"notification_providers"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub is_installed: bool,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
IsInstalled,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Notifications,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::IsInstalled => ColumnType::Boolean.def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Notifications => Entity::has_many(super::notifications::Entity).into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::notifications::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Notifications.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
116
crates/model/src/v4/notifications.rs
Normal file
116
crates/model/src/v4/notifications.rs
Normal file
@ -0,0 +1,116 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"notifications"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub event_name: Option<String>,
|
||||
pub resource_type: String,
|
||||
pub resource_id: String,
|
||||
pub customer_id: Option<String>,
|
||||
pub to: String,
|
||||
pub data: Json,
|
||||
pub parent_id: Option<String>,
|
||||
pub provider_id: Option<String>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
EventName,
|
||||
ResourceType,
|
||||
ResourceId,
|
||||
CustomerId,
|
||||
To,
|
||||
Data,
|
||||
ParentId,
|
||||
ProviderId,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Customers,
|
||||
NotificationProviders,
|
||||
SelfRef,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::EventName => ColumnType::String(None).def().null(),
|
||||
Self::ResourceType => ColumnType::String(None).def(),
|
||||
Self::ResourceId => ColumnType::String(None).def(),
|
||||
Self::CustomerId => ColumnType::String(None).def().null(),
|
||||
Self::To => ColumnType::String(None).def(),
|
||||
Self::Data => ColumnType::JsonBinary.def(),
|
||||
Self::ParentId => ColumnType::String(None).def().null(),
|
||||
Self::ProviderId => ColumnType::String(None).def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Customers => Entity::belongs_to(super::customers::Entity)
|
||||
.from(Column::CustomerId)
|
||||
.to(super::customers::Column::Id)
|
||||
.into(),
|
||||
Self::NotificationProviders => {
|
||||
Entity::belongs_to(super::notification_providers::Entity)
|
||||
.from(Column::ProviderId)
|
||||
.to(super::notification_providers::Column::Id)
|
||||
.into()
|
||||
}
|
||||
Self::SelfRef => Entity::belongs_to(Entity)
|
||||
.from(Column::ParentId)
|
||||
.to(Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customers::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Customers.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::notification_providers::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::NotificationProviders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
70
crates/model/src/v4/oauth.rs
Normal file
70
crates/model/src/v4/oauth.rs
Normal file
@ -0,0 +1,70 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"oauth"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub display_name: String,
|
||||
pub application_name: String,
|
||||
pub install_url: Option<String>,
|
||||
pub uninstall_url: Option<String>,
|
||||
pub data: Option<Json>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
DisplayName,
|
||||
ApplicationName,
|
||||
InstallUrl,
|
||||
UninstallUrl,
|
||||
Data,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::DisplayName => ColumnType::String(None).def(),
|
||||
Self::ApplicationName => ColumnType::String(None).def(),
|
||||
Self::InstallUrl => ColumnType::String(None).def().null(),
|
||||
Self::UninstallUrl => ColumnType::String(None).def().null(),
|
||||
Self::Data => ColumnType::JsonBinary.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
panic!("No RelationDef")
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
250
crates/model/src/v4/order.rs
Normal file
250
crates/model/src/v4/order.rs
Normal file
@ -0,0 +1,250 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::{OrderFulfillmentStatuses, OrderPaymentStatuses, OrderStatuses};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"order"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub status: OrderStatuses,
|
||||
pub fulfillment_status: OrderFulfillmentStatuses,
|
||||
pub payment_status: OrderPaymentStatuses,
|
||||
pub display_id: i32,
|
||||
pub cart_id: Option<String>,
|
||||
pub customer_id: String,
|
||||
pub email: String,
|
||||
pub billing_address_id: Option<String>,
|
||||
pub shipping_address_id: Option<String>,
|
||||
pub region_id: String,
|
||||
pub currency_code: String,
|
||||
pub tax_rate: i32,
|
||||
pub canceled_at: Option<DateTimeWithTimeZone>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub metadata: Option<Json>,
|
||||
pub idempotency_key: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Status,
|
||||
FulfillmentStatus,
|
||||
PaymentStatus,
|
||||
DisplayId,
|
||||
CartId,
|
||||
CustomerId,
|
||||
Email,
|
||||
BillingAddressId,
|
||||
ShippingAddressId,
|
||||
RegionId,
|
||||
CurrencyCode,
|
||||
TaxRate,
|
||||
CanceledAt,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
Metadata,
|
||||
IdempotencyKey,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Addresses2,
|
||||
Addresses1,
|
||||
Cart,
|
||||
Currencies,
|
||||
Customers,
|
||||
Fulfillments,
|
||||
GiftCardTransactions,
|
||||
GiftCards,
|
||||
LineItems,
|
||||
Payments,
|
||||
Refunds,
|
||||
Regions,
|
||||
Return,
|
||||
ShippingMethods,
|
||||
Swap,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Status => OrderStatuses::db_type().def(),
|
||||
Self::FulfillmentStatus => OrderFulfillmentStatuses::db_type().def(),
|
||||
Self::PaymentStatus => OrderPaymentStatuses::db_type().def(),
|
||||
Self::DisplayId => ColumnType::Integer.def(),
|
||||
Self::CartId => ColumnType::String(None).def().null().unique(),
|
||||
Self::CustomerId => ColumnType::String(None).def(),
|
||||
Self::Email => ColumnType::String(None).def(),
|
||||
Self::BillingAddressId => ColumnType::String(None).def().null(),
|
||||
Self::ShippingAddressId => ColumnType::String(None).def().null(),
|
||||
Self::RegionId => ColumnType::String(None).def(),
|
||||
Self::CurrencyCode => ColumnType::String(None).def(),
|
||||
Self::TaxRate => ColumnType::Integer.def(),
|
||||
Self::CanceledAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::IdempotencyKey => ColumnType::String(None).def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Addresses2 => Entity::belongs_to(super::addresses::Entity)
|
||||
.from(Column::ShippingAddressId)
|
||||
.to(super::addresses::Column::Id)
|
||||
.into(),
|
||||
Self::Addresses1 => Entity::belongs_to(super::addresses::Entity)
|
||||
.from(Column::BillingAddressId)
|
||||
.to(super::addresses::Column::Id)
|
||||
.into(),
|
||||
Self::Cart => Entity::belongs_to(super::cart::Entity)
|
||||
.from(Column::CartId)
|
||||
.to(super::cart::Column::Id)
|
||||
.into(),
|
||||
Self::Currencies => Entity::belongs_to(super::currencies::Entity)
|
||||
.from(Column::CurrencyCode)
|
||||
.to(super::currencies::Column::Code)
|
||||
.into(),
|
||||
Self::Customers => Entity::belongs_to(super::customers::Entity)
|
||||
.from(Column::CustomerId)
|
||||
.to(super::customers::Column::Id)
|
||||
.into(),
|
||||
Self::Fulfillments => Entity::has_many(super::fulfillments::Entity).into(),
|
||||
Self::GiftCardTransactions => {
|
||||
Entity::has_many(super::gift_card_transactions::Entity).into()
|
||||
}
|
||||
Self::GiftCards => Entity::has_one(super::gift_cards::Entity).into(),
|
||||
Self::LineItems => Entity::has_many(super::line_items::Entity).into(),
|
||||
Self::Payments => Entity::has_many(super::payments::Entity).into(),
|
||||
Self::Refunds => Entity::has_many(super::refunds::Entity).into(),
|
||||
Self::Regions => Entity::belongs_to(super::regions::Entity)
|
||||
.from(Column::RegionId)
|
||||
.to(super::regions::Column::Id)
|
||||
.into(),
|
||||
Self::Return => Entity::has_many(super::r#return::Entity).into(),
|
||||
Self::ShippingMethods => Entity::has_many(super::shipping_methods::Entity).into(),
|
||||
Self::Swap => Entity::has_many(super::swap::Entity).into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::cart::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Cart.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::currencies::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Currencies.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customers::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Customers.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::fulfillments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Fulfillments.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::gift_card_transactions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::GiftCardTransactions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::LineItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Payments.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::refunds::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Refunds.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::regions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Regions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::r#return::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Return.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::shipping_methods::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ShippingMethods.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::swap::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Swap.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discounts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::order_discounts::Relation::Discounts.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::order_discounts::Relation::Order.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::gift_cards::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::order_gift_cards::Relation::GiftCards.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::order_gift_cards::Relation::Order.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
83
crates/model/src/v4/order_discounts.rs
Normal file
83
crates/model/src/v4/order_discounts.rs
Normal file
@ -0,0 +1,83 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"order_discounts"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub order_id: String,
|
||||
pub discount_id: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
OrderId,
|
||||
DiscountId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
OrderId,
|
||||
DiscountId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Discounts,
|
||||
Orders,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::OrderId => ColumnType::String(None).def(),
|
||||
Self::DiscountId => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Discounts => Entity::belongs_to(super::discounts::Entity)
|
||||
.from(Column::DiscountId)
|
||||
.to(super::discounts::Column::Id)
|
||||
.into(),
|
||||
Self::Orders => Entity::belongs_to(super::orders::Entity)
|
||||
.from(Column::OrderId)
|
||||
.to(super::orders::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discounts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Discounts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Orders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
140
crates/model/src/v4/order_edits.rs
Normal file
140
crates/model/src/v4/order_edits.rs
Normal file
@ -0,0 +1,140 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"order_edits"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub order_id: String,
|
||||
pub internal_note: Option<String>,
|
||||
pub created_by: String,
|
||||
pub requested_by: Option<String>,
|
||||
pub requested_at: Option<DateTimeWithTimeZone>,
|
||||
pub confirmed_by: Option<String>,
|
||||
pub confirmed_at: Option<DateTimeWithTimeZone>,
|
||||
pub declined_by: Option<String>,
|
||||
pub declined_reason: Option<String>,
|
||||
pub declined_at: Option<DateTimeWithTimeZone>,
|
||||
pub canceled_by: Option<String>,
|
||||
pub canceled_at: Option<DateTimeWithTimeZone>,
|
||||
pub payment_collection_id: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
OrderId,
|
||||
InternalNote,
|
||||
CreatedBy,
|
||||
RequestedBy,
|
||||
RequestedAt,
|
||||
ConfirmedBy,
|
||||
ConfirmedAt,
|
||||
DeclinedBy,
|
||||
DeclinedReason,
|
||||
DeclinedAt,
|
||||
CanceledBy,
|
||||
CanceledAt,
|
||||
PaymentCollectionId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
LineItems,
|
||||
OrderItemChanges,
|
||||
Orders,
|
||||
PaymentCollections,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::OrderId => ColumnType::String(None).def(),
|
||||
Self::InternalNote => ColumnType::String(None).def().null(),
|
||||
Self::CreatedBy => ColumnType::String(None).def(),
|
||||
Self::RequestedBy => ColumnType::String(None).def().null(),
|
||||
Self::RequestedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::ConfirmedBy => ColumnType::String(None).def().null(),
|
||||
Self::ConfirmedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::DeclinedBy => ColumnType::String(None).def().null(),
|
||||
Self::DeclinedReason => ColumnType::String(None).def().null(),
|
||||
Self::DeclinedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CanceledBy => ColumnType::String(None).def().null(),
|
||||
Self::CanceledAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::PaymentCollectionId => ColumnType::String(None).def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::LineItems => Entity::has_many(super::line_items::Entity).into(),
|
||||
Self::OrderItemChanges => Entity::has_many(super::order_item_changes::Entity).into(),
|
||||
Self::Orders => Entity::belongs_to(super::orders::Entity)
|
||||
.from(Column::OrderId)
|
||||
.to(super::orders::Column::Id)
|
||||
.into(),
|
||||
Self::PaymentCollections => Entity::belongs_to(super::payment_collections::Entity)
|
||||
.from(Column::PaymentCollectionId)
|
||||
.to(super::payment_collections::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::LineItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::order_item_changes::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::OrderItemChanges.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Orders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payment_collections::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::PaymentCollections.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
83
crates/model/src/v4/order_gift_cards.rs
Normal file
83
crates/model/src/v4/order_gift_cards.rs
Normal file
@ -0,0 +1,83 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"order_gift_cards"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub order_id: String,
|
||||
pub gift_card_id: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
OrderId,
|
||||
GiftCardId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
OrderId,
|
||||
GiftCardId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
GiftCards,
|
||||
Orders,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::OrderId => ColumnType::String(None).def(),
|
||||
Self::GiftCardId => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::GiftCards => Entity::belongs_to(super::gift_cards::Entity)
|
||||
.from(Column::GiftCardId)
|
||||
.to(super::gift_cards::Column::Id)
|
||||
.into(),
|
||||
Self::Orders => Entity::belongs_to(super::orders::Entity)
|
||||
.from(Column::OrderId)
|
||||
.to(super::orders::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::gift_cards::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::GiftCards.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Orders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
101
crates/model/src/v4/order_item_changes.rs
Normal file
101
crates/model/src/v4/order_item_changes.rs
Normal file
@ -0,0 +1,101 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::OrderItemChangeTypes;
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"order_item_changes"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub r#type: OrderItemChangeTypes,
|
||||
pub order_edit_id: String,
|
||||
pub original_line_item_id: Option<String>,
|
||||
pub line_item_id: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Type,
|
||||
OrderEditId,
|
||||
OriginalLineItemId,
|
||||
LineItemId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
LineItems2,
|
||||
LineItems1,
|
||||
OrderEdits,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Type => OrderItemChangeTypes::db_type().def(),
|
||||
Self::OrderEditId => ColumnType::String(None).def(),
|
||||
Self::OriginalLineItemId => ColumnType::String(None).def().null(),
|
||||
Self::LineItemId => ColumnType::String(None).def().null().unique(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::LineItems2 => Entity::belongs_to(super::line_items::Entity)
|
||||
.from(Column::LineItemId)
|
||||
.to(super::line_items::Column::Id)
|
||||
.into(),
|
||||
Self::LineItems1 => Entity::belongs_to(super::line_items::Entity)
|
||||
.from(Column::OriginalLineItemId)
|
||||
.to(super::line_items::Column::Id)
|
||||
.into(),
|
||||
Self::OrderEdits => Entity::belongs_to(super::order_edits::Entity)
|
||||
.from(Column::OrderEditId)
|
||||
.to(super::order_edits::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::order_edits::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::OrderEdits.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
300
crates/model/src/v4/orders.rs
Normal file
300
crates/model/src/v4/orders.rs
Normal file
@ -0,0 +1,300 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::{OrderFulfillmentStatuses, OrderPaymentStatuses, OrderStatuses};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"orders"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub status: OrderStatuses,
|
||||
pub fulfillment_status: OrderFulfillmentStatuses,
|
||||
pub payment_status: OrderPaymentStatuses,
|
||||
pub display_id: i32,
|
||||
pub cart_id: Option<String>,
|
||||
pub customer_id: String,
|
||||
pub email: String,
|
||||
pub billing_address_id: Option<String>,
|
||||
pub shipping_address_id: Option<String>,
|
||||
pub region_id: String,
|
||||
pub currency_code: String,
|
||||
pub tax_rate: Option<f32>,
|
||||
pub canceled_at: Option<DateTimeWithTimeZone>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub metadata: Option<Json>,
|
||||
pub idempotency_key: Option<String>,
|
||||
pub draft_order_id: Option<String>,
|
||||
pub no_notification: Option<bool>,
|
||||
pub external_id: Option<String>,
|
||||
pub sales_channel_id: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Status,
|
||||
FulfillmentStatus,
|
||||
PaymentStatus,
|
||||
DisplayId,
|
||||
CartId,
|
||||
CustomerId,
|
||||
Email,
|
||||
BillingAddressId,
|
||||
ShippingAddressId,
|
||||
RegionId,
|
||||
CurrencyCode,
|
||||
TaxRate,
|
||||
CanceledAt,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
Metadata,
|
||||
IdempotencyKey,
|
||||
DraftOrderId,
|
||||
NoNotification,
|
||||
ExternalId,
|
||||
SalesChannelId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Addresses2,
|
||||
Addresses1,
|
||||
Carts,
|
||||
ClaimOrders,
|
||||
Currencies,
|
||||
Customers,
|
||||
DraftOrders,
|
||||
Fulfillments,
|
||||
GiftCardTransactions,
|
||||
GiftCards,
|
||||
LineItems,
|
||||
OrderEdits,
|
||||
Payments,
|
||||
Refunds,
|
||||
Regions,
|
||||
Returns,
|
||||
SalesChannels,
|
||||
ShippingMethods,
|
||||
Swaps,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Status => OrderStatuses::db_type().def(),
|
||||
Self::FulfillmentStatus => OrderFulfillmentStatuses::db_type().def(),
|
||||
Self::PaymentStatus => OrderPaymentStatuses::db_type().def(),
|
||||
Self::DisplayId => ColumnType::Integer.def(),
|
||||
Self::CartId => ColumnType::String(None).def().null().unique(),
|
||||
Self::CustomerId => ColumnType::String(None).def(),
|
||||
Self::Email => ColumnType::String(None).def(),
|
||||
Self::BillingAddressId => ColumnType::String(None).def().null(),
|
||||
Self::ShippingAddressId => ColumnType::String(None).def().null(),
|
||||
Self::RegionId => ColumnType::String(None).def(),
|
||||
Self::CurrencyCode => ColumnType::String(None).def(),
|
||||
Self::TaxRate => ColumnType::Float.def().null(),
|
||||
Self::CanceledAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::IdempotencyKey => ColumnType::String(None).def().null(),
|
||||
Self::DraftOrderId => ColumnType::String(None).def().null().unique(),
|
||||
Self::NoNotification => ColumnType::Boolean.def().null(),
|
||||
Self::ExternalId => ColumnType::String(None).def().null(),
|
||||
Self::SalesChannelId => ColumnType::String(None).def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Addresses2 => Entity::belongs_to(super::addresses::Entity)
|
||||
.from(Column::ShippingAddressId)
|
||||
.to(super::addresses::Column::Id)
|
||||
.into(),
|
||||
Self::Addresses1 => Entity::belongs_to(super::addresses::Entity)
|
||||
.from(Column::BillingAddressId)
|
||||
.to(super::addresses::Column::Id)
|
||||
.into(),
|
||||
Self::Carts => Entity::belongs_to(super::carts::Entity)
|
||||
.from(Column::CartId)
|
||||
.to(super::carts::Column::Id)
|
||||
.into(),
|
||||
Self::ClaimOrders => Entity::has_many(super::claim_orders::Entity).into(),
|
||||
Self::Currencies => Entity::belongs_to(super::currencies::Entity)
|
||||
.from(Column::CurrencyCode)
|
||||
.to(super::currencies::Column::Code)
|
||||
.into(),
|
||||
Self::Customers => Entity::belongs_to(super::customers::Entity)
|
||||
.from(Column::CustomerId)
|
||||
.to(super::customers::Column::Id)
|
||||
.into(),
|
||||
Self::DraftOrders => Entity::belongs_to(super::draft_orders::Entity)
|
||||
.from(Column::DraftOrderId)
|
||||
.to(super::draft_orders::Column::Id)
|
||||
.into(),
|
||||
Self::Fulfillments => Entity::has_many(super::fulfillments::Entity).into(),
|
||||
Self::GiftCardTransactions => {
|
||||
Entity::has_many(super::gift_card_transactions::Entity).into()
|
||||
}
|
||||
Self::GiftCards => Entity::has_many(super::gift_cards::Entity).into(),
|
||||
Self::LineItems => Entity::has_many(super::line_items::Entity).into(),
|
||||
Self::OrderEdits => Entity::has_many(super::order_edits::Entity).into(),
|
||||
Self::Payments => Entity::has_many(super::payments::Entity).into(),
|
||||
Self::Refunds => Entity::has_many(super::refunds::Entity).into(),
|
||||
Self::Regions => Entity::belongs_to(super::regions::Entity)
|
||||
.from(Column::RegionId)
|
||||
.to(super::regions::Column::Id)
|
||||
.into(),
|
||||
Self::Returns => Entity::has_many(super::returns::Entity).into(),
|
||||
Self::SalesChannels => Entity::belongs_to(super::sales_channels::Entity)
|
||||
.from(Column::SalesChannelId)
|
||||
.to(super::sales_channels::Column::Id)
|
||||
.into(),
|
||||
Self::ShippingMethods => Entity::has_many(super::shipping_methods::Entity).into(),
|
||||
Self::Swaps => Entity::has_many(super::swaps::Entity).into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::carts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Carts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::claim_orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ClaimOrders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::currencies::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Currencies.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customers::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Customers.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::draft_orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::DraftOrders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::fulfillments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Fulfillments.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::gift_card_transactions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::GiftCardTransactions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::line_items::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::LineItems.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::order_edits::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::OrderEdits.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Payments.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::refunds::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Refunds.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::regions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Regions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::returns::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Returns.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::sales_channels::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::SalesChannels.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::shipping_methods::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ShippingMethods.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::swaps::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Swaps.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::discounts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::order_discounts::Relation::Discounts.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::order_discounts::Relation::Orders.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::gift_cards::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::order_gift_cards::Relation::GiftCards.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(super::order_gift_cards::Relation::Orders.def().rev())
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
83
crates/model/src/v4/payment_collection_payments.rs
Normal file
83
crates/model/src/v4/payment_collection_payments.rs
Normal file
@ -0,0 +1,83 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"payment_collection_payments"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub payment_collection_id: String,
|
||||
pub payment_id: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
PaymentCollectionId,
|
||||
PaymentId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
PaymentCollectionId,
|
||||
PaymentId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
PaymentCollections,
|
||||
Payments,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::PaymentCollectionId => ColumnType::String(None).def(),
|
||||
Self::PaymentId => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::PaymentCollections => Entity::belongs_to(super::payment_collections::Entity)
|
||||
.from(Column::PaymentCollectionId)
|
||||
.to(super::payment_collections::Column::Id)
|
||||
.into(),
|
||||
Self::Payments => Entity::belongs_to(super::payments::Entity)
|
||||
.from(Column::PaymentId)
|
||||
.to(super::payments::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payment_collections::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::PaymentCollections.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Payments.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
83
crates/model/src/v4/payment_collection_sessions.rs
Normal file
83
crates/model/src/v4/payment_collection_sessions.rs
Normal file
@ -0,0 +1,83 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"payment_collection_sessions"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub payment_collection_id: String,
|
||||
pub payment_session_id: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
PaymentCollectionId,
|
||||
PaymentSessionId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
PaymentCollectionId,
|
||||
PaymentSessionId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
PaymentCollections,
|
||||
PaymentSessions,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::PaymentCollectionId => ColumnType::String(None).def(),
|
||||
Self::PaymentSessionId => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::PaymentCollections => Entity::belongs_to(super::payment_collections::Entity)
|
||||
.from(Column::PaymentCollectionId)
|
||||
.to(super::payment_collections::Column::Id)
|
||||
.into(),
|
||||
Self::PaymentSessions => Entity::belongs_to(super::payment_sessions::Entity)
|
||||
.from(Column::PaymentSessionId)
|
||||
.to(super::payment_sessions::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payment_collections::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::PaymentCollections.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payment_sessions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::PaymentSessions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
140
crates/model/src/v4/payment_collections.rs
Normal file
140
crates/model/src/v4/payment_collections.rs
Normal file
@ -0,0 +1,140 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::{PaymentCollectionStatuses, PaymentCollectionTypes};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"payment_collections"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
pub r#type: PaymentCollectionTypes,
|
||||
pub status: PaymentCollectionStatuses,
|
||||
pub description: Option<String>,
|
||||
pub amount: i32,
|
||||
pub authorized_amount: Option<i32>,
|
||||
pub region_id: String,
|
||||
pub currency_code: String,
|
||||
pub metadata: Option<Json>,
|
||||
pub created_by: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
Type,
|
||||
Status,
|
||||
Description,
|
||||
Amount,
|
||||
AuthorizedAmount,
|
||||
RegionId,
|
||||
CurrencyCode,
|
||||
Metadata,
|
||||
CreatedBy,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
OrderEdits,
|
||||
Regions,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Type => PaymentCollectionTypes::db_type().def(),
|
||||
Self::Status => PaymentCollectionStatuses::db_type().def(),
|
||||
Self::Description => ColumnType::Text.def().null(),
|
||||
Self::Amount => ColumnType::Integer.def(),
|
||||
Self::AuthorizedAmount => ColumnType::Integer.def().null(),
|
||||
Self::RegionId => ColumnType::String(None).def(),
|
||||
Self::CurrencyCode => ColumnType::String(None).def(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::CreatedBy => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::OrderEdits => Entity::has_many(super::order_edits::Entity).into(),
|
||||
Self::Regions => Entity::belongs_to(super::regions::Entity)
|
||||
.from(Column::RegionId)
|
||||
.to(super::regions::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::order_edits::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::OrderEdits.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::regions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Regions.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payments::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::payment_collection_payments::Relation::Payments.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::payment_collection_payments::Relation::PaymentCollections
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payment_sessions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::payment_collection_sessions::Relation::PaymentSessions.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::payment_collection_sessions::Relation::PaymentCollections
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
71
crates/model/src/v4/payment_providers.rs
Normal file
71
crates/model/src/v4/payment_providers.rs
Normal file
@ -0,0 +1,71 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"payment_providers"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub is_installed: bool,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
IsInstalled,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::IsInstalled => ColumnType::Boolean.def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
panic!("No RelationDef")
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::regions::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::region_payment_providers::Relation::Regions.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::region_payment_providers::Relation::PaymentProviders
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
116
crates/model/src/v4/payment_sessions.rs
Normal file
116
crates/model/src/v4/payment_sessions.rs
Normal file
@ -0,0 +1,116 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::PaymentSessionStatuses;
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"payment_sessions"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub cart_id: Option<String>,
|
||||
pub provider_id: String,
|
||||
pub is_selected: Option<bool>,
|
||||
pub status: PaymentSessionStatuses,
|
||||
pub data: Json,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub idempotency_key: Option<String>,
|
||||
pub payment_authorized_at: Option<DateTimeWithTimeZone>,
|
||||
pub amount: Option<i32>,
|
||||
pub is_initiated: bool,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
CartId,
|
||||
ProviderId,
|
||||
IsSelected,
|
||||
Status,
|
||||
Data,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
IdempotencyKey,
|
||||
PaymentAuthorizedAt,
|
||||
Amount,
|
||||
IsInitiated,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Carts,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::CartId => ColumnType::String(None).def().null(),
|
||||
Self::ProviderId => ColumnType::String(None).def(),
|
||||
Self::IsSelected => ColumnType::Boolean.def().null(),
|
||||
Self::Status => PaymentSessionStatuses::db_type().def(),
|
||||
Self::Data => ColumnType::JsonBinary.def(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::IdempotencyKey => ColumnType::String(None).def().null(),
|
||||
Self::PaymentAuthorizedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::Amount => ColumnType::Integer.def().null(),
|
||||
Self::IsInitiated => ColumnType::Boolean.def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Carts => Entity::belongs_to(super::carts::Entity)
|
||||
.from(Column::CartId)
|
||||
.to(super::carts::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::carts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Carts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payment_collections::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::payment_collection_sessions::Relation::PaymentCollections.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::payment_collection_sessions::Relation::PaymentSessions
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
164
crates/model/src/v4/payments.rs
Normal file
164
crates/model/src/v4/payments.rs
Normal file
@ -0,0 +1,164 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"payments"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub swap_id: Option<String>,
|
||||
pub cart_id: Option<String>,
|
||||
pub order_id: Option<String>,
|
||||
pub amount: i32,
|
||||
pub currency_code: String,
|
||||
pub amount_refunded: i32,
|
||||
pub provider_id: String,
|
||||
pub data: Json,
|
||||
pub captured_at: Option<DateTimeWithTimeZone>,
|
||||
pub canceled_at: Option<DateTimeWithTimeZone>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub metadata: Option<Json>,
|
||||
pub idempotency_key: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
SwapId,
|
||||
CartId,
|
||||
OrderId,
|
||||
Amount,
|
||||
CurrencyCode,
|
||||
AmountRefunded,
|
||||
ProviderId,
|
||||
Data,
|
||||
CapturedAt,
|
||||
CanceledAt,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
Metadata,
|
||||
IdempotencyKey,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
Carts,
|
||||
Currencies,
|
||||
Orders,
|
||||
Refunds,
|
||||
Swaps,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::SwapId => ColumnType::String(None).def().null().unique(),
|
||||
Self::CartId => ColumnType::String(None).def().null(),
|
||||
Self::OrderId => ColumnType::String(None).def().null(),
|
||||
Self::Amount => ColumnType::Integer.def(),
|
||||
Self::CurrencyCode => ColumnType::String(None).def(),
|
||||
Self::AmountRefunded => ColumnType::Integer.def(),
|
||||
Self::ProviderId => ColumnType::String(None).def(),
|
||||
Self::Data => ColumnType::JsonBinary.def(),
|
||||
Self::CapturedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CanceledAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::Metadata => ColumnType::JsonBinary.def().null(),
|
||||
Self::IdempotencyKey => ColumnType::String(None).def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Carts => Entity::belongs_to(super::carts::Entity)
|
||||
.from(Column::CartId)
|
||||
.to(super::carts::Column::Id)
|
||||
.into(),
|
||||
Self::Currencies => Entity::belongs_to(super::currencies::Entity)
|
||||
.from(Column::CurrencyCode)
|
||||
.to(super::currencies::Column::Code)
|
||||
.into(),
|
||||
Self::Orders => Entity::belongs_to(super::orders::Entity)
|
||||
.from(Column::OrderId)
|
||||
.to(super::orders::Column::Id)
|
||||
.into(),
|
||||
Self::Refunds => Entity::has_many(super::refunds::Entity).into(),
|
||||
Self::Swaps => Entity::belongs_to(super::swaps::Entity)
|
||||
.from(Column::SwapId)
|
||||
.to(super::swaps::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::carts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Carts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::currencies::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Currencies.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::orders::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Orders.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::refunds::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Refunds.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::swaps::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::Swaps.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::payment_collections::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::payment_collection_payments::Relation::PaymentCollections.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::payment_collection_payments::Relation::Payments
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
100
crates/model/src/v4/prelude.rs
Normal file
100
crates/model/src/v4/prelude.rs
Normal file
@ -0,0 +1,100 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
pub use super :: addresses :: Entity as Addresses ;
|
||||
pub use super :: analytics_configs :: Entity as AnalyticsConfigs ;
|
||||
pub use super :: batch_jobs :: Entity as BatchJobs ;
|
||||
pub use super :: cart_discounts :: Entity as CartDiscounts ;
|
||||
pub use super :: cart_gift_cards :: Entity as CartGiftCards ;
|
||||
pub use super :: carts :: Entity as Carts ;
|
||||
pub use super :: claim_images :: Entity as ClaimImages ;
|
||||
pub use super :: claim_item_tags :: Entity as ClaimItemTags ;
|
||||
pub use super :: claim_items :: Entity as ClaimItems ;
|
||||
pub use super :: claim_orders :: Entity as ClaimOrders ;
|
||||
pub use super :: claim_tags :: Entity as ClaimTags ;
|
||||
pub use super :: countries :: Entity as Countries ;
|
||||
pub use super :: currencies :: Entity as Currencies ;
|
||||
pub use super :: custom_shipping_options :: Entity as CustomShippingOptions ;
|
||||
pub use super :: customer_group_customers :: Entity as CustomerGroupCustomers ;
|
||||
pub use super :: customer_groups :: Entity as CustomerGroups ;
|
||||
pub use super :: customers :: Entity as Customers ;
|
||||
pub use super :: discount_condition_customer_groups :: Entity as DiscountConditionCustomerGroups ;
|
||||
pub use super :: discount_condition_product_collections :: Entity as DiscountConditionProductCollections ;
|
||||
pub use super :: discount_condition_product_tags :: Entity as DiscountConditionProductTags ;
|
||||
pub use super :: discount_condition_product_types :: Entity as DiscountConditionProductTypes ;
|
||||
pub use super :: discount_condition_products :: Entity as DiscountConditionProducts ;
|
||||
pub use super :: discount_conditions :: Entity as DiscountConditions ;
|
||||
pub use super :: discount_regions :: Entity as DiscountRegions ;
|
||||
pub use super :: discount_rule_products :: Entity as DiscountRuleProducts ;
|
||||
pub use super :: discount_rules :: Entity as DiscountRules ;
|
||||
pub use super :: discounts :: Entity as Discounts ;
|
||||
pub use super :: draft_orders :: Entity as DraftOrders ;
|
||||
pub use super :: fulfillment_items :: Entity as FulfillmentItems ;
|
||||
pub use super :: fulfillment_providers :: Entity as FulfillmentProviders ;
|
||||
pub use super :: fulfillments :: Entity as Fulfillments ;
|
||||
pub use super :: gift_card_transactions :: Entity as GiftCardTransactions ;
|
||||
pub use super :: gift_cards :: Entity as GiftCards ;
|
||||
pub use super :: idempotency_keys :: Entity as IdempotencyKeys ;
|
||||
pub use super :: images :: Entity as Images ;
|
||||
pub use super :: invites :: Entity as Invites ;
|
||||
pub use super :: line_item_adjustments :: Entity as LineItemAdjustments ;
|
||||
pub use super :: line_item_tax_lines :: Entity as LineItemTaxLines ;
|
||||
pub use super :: line_items :: Entity as LineItems ;
|
||||
pub use super :: migrations :: Entity as Migrations ;
|
||||
pub use super :: money_amounts :: Entity as MoneyAmounts ;
|
||||
pub use super :: notes :: Entity as Notes ;
|
||||
pub use super :: notification_providers :: Entity as NotificationProviders ;
|
||||
pub use super :: notifications :: Entity as Notifications ;
|
||||
pub use super :: oauth :: Entity as Oauth ;
|
||||
pub use super :: order_discounts :: Entity as OrderDiscounts ;
|
||||
pub use super :: order_edits :: Entity as OrderEdits ;
|
||||
pub use super :: order_gift_cards :: Entity as OrderGiftCards ;
|
||||
pub use super :: order_item_changes :: Entity as OrderItemChanges ;
|
||||
pub use super :: orders :: Entity as Orders ;
|
||||
pub use super :: payment_collection_payments :: Entity as PaymentCollectionPayments ;
|
||||
pub use super :: payment_collection_sessions :: Entity as PaymentCollectionSessions ;
|
||||
pub use super :: payment_collections :: Entity as PaymentCollections ;
|
||||
pub use super :: payment_providers :: Entity as PaymentProviders ;
|
||||
pub use super :: payment_sessions :: Entity as PaymentSessions ;
|
||||
pub use super :: payments :: Entity as Payments ;
|
||||
pub use super :: price_list_customer_groups :: Entity as PriceListCustomerGroups ;
|
||||
pub use super :: price_lists :: Entity as PriceLists ;
|
||||
pub use super :: product_categories :: Entity as ProductCategories ;
|
||||
pub use super :: product_category_products :: Entity as ProductCategoryProducts ;
|
||||
pub use super :: product_collections :: Entity as ProductCollections ;
|
||||
pub use super :: product_images :: Entity as ProductImages ;
|
||||
pub use super :: product_option_values :: Entity as ProductOptionValues ;
|
||||
pub use super :: product_options :: Entity as ProductOptions ;
|
||||
pub use super :: product_sales_channels :: Entity as ProductSalesChannels ;
|
||||
pub use super :: product_tags :: Entity as ProductTags ;
|
||||
pub use super :: product_tax_rates :: Entity as ProductTaxRates ;
|
||||
pub use super :: product_to_tags :: Entity as ProductToTags ;
|
||||
pub use super :: product_type_tax_rates :: Entity as ProductTypeTaxRates ;
|
||||
pub use super :: product_types :: Entity as ProductTypes ;
|
||||
pub use super :: product_variant_inventory_items :: Entity as ProductVariantInventoryItems ;
|
||||
pub use super :: product_variants :: Entity as ProductVariants ;
|
||||
pub use super :: products :: Entity as Products ;
|
||||
pub use super :: publishable_api_key_sales_channels :: Entity as PublishableApiKeySalesChannels ;
|
||||
pub use super :: publishable_api_keys :: Entity as PublishableApiKeys ;
|
||||
pub use super :: refunds :: Entity as Refunds ;
|
||||
pub use super :: region_fulfillment_providers :: Entity as RegionFulfillmentProviders ;
|
||||
pub use super :: region_payment_providers :: Entity as RegionPaymentProviders ;
|
||||
pub use super :: regions :: Entity as Regions ;
|
||||
pub use super :: return_items :: Entity as ReturnItems ;
|
||||
pub use super :: return_reasons :: Entity as ReturnReasons ;
|
||||
pub use super :: returns :: Entity as Returns ;
|
||||
pub use super :: sales_channel_locations :: Entity as SalesChannelLocations ;
|
||||
pub use super :: sales_channels :: Entity as SalesChannels ;
|
||||
pub use super :: shipping_method_tax_lines :: Entity as ShippingMethodTaxLines ;
|
||||
pub use super :: shipping_methods :: Entity as ShippingMethods ;
|
||||
pub use super :: shipping_option_requirements :: Entity as ShippingOptionRequirements ;
|
||||
pub use super :: shipping_options :: Entity as ShippingOptions ;
|
||||
pub use super :: shipping_profiles :: Entity as ShippingProfiles ;
|
||||
pub use super :: shipping_tax_rates :: Entity as ShippingTaxRates ;
|
||||
pub use super :: staged_jobs :: Entity as StagedJobs ;
|
||||
pub use super :: store_currencies :: Entity as StoreCurrencies ;
|
||||
pub use super :: stores :: Entity as Stores ;
|
||||
pub use super :: swaps :: Entity as Swaps ;
|
||||
pub use super :: tax_providers :: Entity as TaxProviders ;
|
||||
pub use super :: tax_rates :: Entity as TaxRates ;
|
||||
pub use super :: tracking_links :: Entity as TrackingLinks ;
|
||||
pub use super :: users :: Entity as Users ;
|
83
crates/model/src/v4/price_list_customer_groups.rs
Normal file
83
crates/model/src/v4/price_list_customer_groups.rs
Normal file
@ -0,0 +1,83 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"price_list_customer_groups"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub price_list_id: String,
|
||||
pub customer_group_id: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
PriceListId,
|
||||
CustomerGroupId,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
PriceListId,
|
||||
CustomerGroupId,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = (String, String);
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
CustomerGroups,
|
||||
PriceLists,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::PriceListId => ColumnType::String(None).def(),
|
||||
Self::CustomerGroupId => ColumnType::String(None).def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::CustomerGroups => Entity::belongs_to(super::customer_groups::Entity)
|
||||
.from(Column::CustomerGroupId)
|
||||
.to(super::customer_groups::Column::Id)
|
||||
.into(),
|
||||
Self::PriceLists => Entity::belongs_to(super::price_lists::Entity)
|
||||
.from(Column::PriceListId)
|
||||
.to(super::price_lists::Column::Id)
|
||||
.into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customer_groups::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::CustomerGroups.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::price_lists::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::PriceLists.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
107
crates/model/src/v4/price_lists.rs
Normal file
107
crates/model/src/v4/price_lists.rs
Normal file
@ -0,0 +1,107 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::sea_orm_active_enums::{PriceListStatuses, PriceListTypes};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"price_lists"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub name: String,
|
||||
pub description: String,
|
||||
pub r#type: PriceListTypes,
|
||||
pub status: PriceListStatuses,
|
||||
pub starts_at: Option<DateTimeWithTimeZone>,
|
||||
pub ends_at: Option<DateTimeWithTimeZone>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub deleted_at: Option<DateTimeWithTimeZone>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Name,
|
||||
Description,
|
||||
Type,
|
||||
Status,
|
||||
StartsAt,
|
||||
EndsAt,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
DeletedAt,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
MoneyAmounts,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Name => ColumnType::String(None).def(),
|
||||
Self::Description => ColumnType::String(None).def(),
|
||||
Self::Type => PriceListTypes::db_type().def(),
|
||||
Self::Status => PriceListStatuses::db_type().def(),
|
||||
Self::StartsAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::EndsAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::DeletedAt => ColumnType::TimestampWithTimeZone.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::MoneyAmounts => Entity::has_many(super::money_amounts::Entity).into(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::money_amounts::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::MoneyAmounts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::customer_groups::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
super::price_list_customer_groups::Relation::CustomerGroups.def()
|
||||
}
|
||||
fn via() -> Option<RelationDef> {
|
||||
Some(
|
||||
super::price_list_customer_groups::Relation::PriceLists
|
||||
.def()
|
||||
.rev(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
97
crates/model/src/v4/product_categories.rs
Normal file
97
crates/model/src/v4/product_categories.rs
Normal file
@ -0,0 +1,97 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
use sea_orm::entity::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Copy, Clone, Default, Debug, DeriveEntity)]
|
||||
pub struct Entity;
|
||||
|
||||
impl EntityName for Entity {
|
||||
fn table_name(&self) -> &str {
|
||||
"product_categories"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq, Serialize, Deserialize)]
|
||||
pub struct Model {
|
||||
pub id: String,
|
||||
pub name: String,
|
||||
pub handle: String,
|
||||
pub parent_category_id: Option<String>,
|
||||
pub mpath: Option<String>,
|
||||
pub is_active: Option<bool>,
|
||||
pub is_internal: Option<bool>,
|
||||
pub created_at: DateTimeWithTimeZone,
|
||||
pub updated_at: DateTimeWithTimeZone,
|
||||
pub rank: i32,
|
||||
pub description: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
pub enum Column {
|
||||
Id,
|
||||
Name,
|
||||
Handle,
|
||||
ParentCategoryId,
|
||||
Mpath,
|
||||
IsActive,
|
||||
IsInternal,
|
||||
CreatedAt,
|
||||
UpdatedAt,
|
||||
Rank,
|
||||
Description,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)]
|
||||
pub enum PrimaryKey {
|
||||
Id,
|
||||
}
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey {
|
||||
type ValueType = String;
|
||||
fn auto_increment() -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
pub enum Relation {
|
||||
ProductCategoryProducts,
|
||||
}
|
||||
|
||||
impl ColumnTrait for Column {
|
||||
type EntityName = Entity;
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::String(None).def(),
|
||||
Self::Name => ColumnType::Text.def(),
|
||||
Self::Handle => ColumnType::Text.def(),
|
||||
Self::ParentCategoryId => ColumnType::String(None).def().null(),
|
||||
Self::Mpath => ColumnType::Text.def().null(),
|
||||
Self::IsActive => ColumnType::Boolean.def().null(),
|
||||
Self::IsInternal => ColumnType::Boolean.def().null(),
|
||||
Self::CreatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::UpdatedAt => ColumnType::TimestampWithTimeZone.def(),
|
||||
Self::Rank => ColumnType::Integer.def(),
|
||||
Self::Description => ColumnType::Text.def(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::ProductCategoryProducts => {
|
||||
Entity::has_many(super::product_category_products::Entity).into()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Related<super::product_category_products::Entity> for Entity {
|
||||
fn to() -> RelationDef {
|
||||
Relation::ProductCategoryProducts.def()
|
||||
}
|
||||
}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
29
crates/model/src/v4/product_category_products.rs
Normal file
29
crates/model/src/v4/product_category_products.rs
Normal file
@ -0,0 +1,29 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
|
||||
|
||||
use sea_orm :: entity :: prelude :: * ; use serde :: { Deserialize , Serialize } ;
|
||||
|
||||
# [derive (Copy , Clone , Default , Debug , DeriveEntity)] pub struct Entity ;
|
||||
|
||||
impl EntityName for Entity { fn table_name (& self) -> & str { "product_category_products" } }
|
||||
|
||||
# [derive (Clone , Debug , PartialEq , DeriveModel , DeriveActiveModel , Eq , Serialize , Deserialize)] pub struct Model { pub product_category_id : String , pub product_id : String , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DeriveColumn)] pub enum Column { ProductCategoryId , ProductId , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DerivePrimaryKey)] pub enum PrimaryKey { }
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey { type ValueType = ; fn auto_increment () -> bool { false } }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter)] pub enum Relation { ProductCategories , Products , }
|
||||
|
||||
impl ColumnTrait for Column { type EntityName = Entity ; fn def (& self) -> ColumnDef { match self { Self :: ProductCategoryId => ColumnType :: String (None) . def () , Self :: ProductId => ColumnType :: String (None) . def () , } } }
|
||||
|
||||
impl RelationTrait for Relation { fn def (& self) -> RelationDef { match self { Self :: ProductCategories => Entity :: belongs_to (super :: product_categories :: Entity) . from (Column :: ProductCategoryId) . to (super :: product_categories :: Column :: Id) . into () , Self :: Products => Entity :: belongs_to (super :: products :: Entity) . from (Column :: ProductId) . to (super :: products :: Column :: Id) . into () , } } }
|
||||
|
||||
impl Related < super :: product_categories :: Entity > for Entity { fn to () -> RelationDef { Relation :: ProductCategories . def () } }
|
||||
|
||||
impl Related < super :: products :: Entity > for Entity { fn to () -> RelationDef { Relation :: Products . def () } }
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel { }
|
29
crates/model/src/v4/product_collections.rs
Normal file
29
crates/model/src/v4/product_collections.rs
Normal file
@ -0,0 +1,29 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
|
||||
|
||||
use sea_orm :: entity :: prelude :: * ; use serde :: { Deserialize , Serialize } ;
|
||||
|
||||
# [derive (Copy , Clone , Default , Debug , DeriveEntity)] pub struct Entity ;
|
||||
|
||||
impl EntityName for Entity { fn table_name (& self) -> & str { "product_collections" } }
|
||||
|
||||
# [derive (Clone , Debug , PartialEq , DeriveModel , DeriveActiveModel , Eq , Serialize , Deserialize)] pub struct Model { pub id : String , pub title : String , pub handle : Option < String > , pub created_at : DateTimeWithTimeZone , pub updated_at : DateTimeWithTimeZone , pub deleted_at : Option < DateTimeWithTimeZone > , pub metadata : Option < Json > , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DeriveColumn)] pub enum Column { Id , Title , Handle , CreatedAt , UpdatedAt , DeletedAt , Metadata , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DerivePrimaryKey)] pub enum PrimaryKey { Id , }
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey { type ValueType = String ; fn auto_increment () -> bool { false } }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter)] pub enum Relation { Products , }
|
||||
|
||||
impl ColumnTrait for Column { type EntityName = Entity ; fn def (& self) -> ColumnDef { match self { Self :: Id => ColumnType :: String (None) . def () , Self :: Title => ColumnType :: String (None) . def () , Self :: Handle => ColumnType :: String (None) . def () . null () , Self :: CreatedAt => ColumnType :: TimestampWithTimeZone . def () , Self :: UpdatedAt => ColumnType :: TimestampWithTimeZone . def () , Self :: DeletedAt => ColumnType :: TimestampWithTimeZone . def () . null () , Self :: Metadata => ColumnType :: JsonBinary . def () . null () , } } }
|
||||
|
||||
impl RelationTrait for Relation { fn def (& self) -> RelationDef { match self { Self :: Products => Entity :: has_many (super :: products :: Entity) . into () , } } }
|
||||
|
||||
impl Related < super :: products :: Entity > for Entity { fn to () -> RelationDef { Relation :: Products . def () } }
|
||||
|
||||
impl Related < super :: discount_conditions :: Entity > for Entity { fn to () -> RelationDef { super :: discount_condition_product_collections :: Relation :: DiscountConditions . def () } fn via () -> Option < RelationDef > { Some (super :: discount_condition_product_collections :: Relation :: ProductCollections . def () . rev ()) } }
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel { }
|
29
crates/model/src/v4/product_images.rs
Normal file
29
crates/model/src/v4/product_images.rs
Normal file
@ -0,0 +1,29 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
|
||||
|
||||
use sea_orm :: entity :: prelude :: * ; use serde :: { Deserialize , Serialize } ;
|
||||
|
||||
# [derive (Copy , Clone , Default , Debug , DeriveEntity)] pub struct Entity ;
|
||||
|
||||
impl EntityName for Entity { fn table_name (& self) -> & str { "product_images" } }
|
||||
|
||||
# [derive (Clone , Debug , PartialEq , DeriveModel , DeriveActiveModel , Eq , Serialize , Deserialize)] pub struct Model { pub product_id : String , pub image_id : String , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DeriveColumn)] pub enum Column { ProductId , ImageId , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DerivePrimaryKey)] pub enum PrimaryKey { ProductId , ImageId , }
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey { type ValueType = (String , String) ; fn auto_increment () -> bool { false } }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter)] pub enum Relation { Images , Products , }
|
||||
|
||||
impl ColumnTrait for Column { type EntityName = Entity ; fn def (& self) -> ColumnDef { match self { Self :: ProductId => ColumnType :: String (None) . def () , Self :: ImageId => ColumnType :: String (None) . def () , } } }
|
||||
|
||||
impl RelationTrait for Relation { fn def (& self) -> RelationDef { match self { Self :: Images => Entity :: belongs_to (super :: images :: Entity) . from (Column :: ImageId) . to (super :: images :: Column :: Id) . into () , Self :: Products => Entity :: belongs_to (super :: products :: Entity) . from (Column :: ProductId) . to (super :: products :: Column :: Id) . into () , } } }
|
||||
|
||||
impl Related < super :: images :: Entity > for Entity { fn to () -> RelationDef { Relation :: Images . def () } }
|
||||
|
||||
impl Related < super :: products :: Entity > for Entity { fn to () -> RelationDef { Relation :: Products . def () } }
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel { }
|
29
crates/model/src/v4/product_option_values.rs
Normal file
29
crates/model/src/v4/product_option_values.rs
Normal file
@ -0,0 +1,29 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
|
||||
|
||||
use sea_orm :: entity :: prelude :: * ; use serde :: { Deserialize , Serialize } ;
|
||||
|
||||
# [derive (Copy , Clone , Default , Debug , DeriveEntity)] pub struct Entity ;
|
||||
|
||||
impl EntityName for Entity { fn table_name (& self) -> & str { "product_option_values" } }
|
||||
|
||||
# [derive (Clone , Debug , PartialEq , DeriveModel , DeriveActiveModel , Eq , Serialize , Deserialize)] pub struct Model { pub id : String , pub value : String , pub option_id : String , pub variant_id : String , pub created_at : DateTimeWithTimeZone , pub updated_at : DateTimeWithTimeZone , pub deleted_at : Option < DateTimeWithTimeZone > , pub metadata : Option < Json > , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DeriveColumn)] pub enum Column { Id , Value , OptionId , VariantId , CreatedAt , UpdatedAt , DeletedAt , Metadata , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DerivePrimaryKey)] pub enum PrimaryKey { Id , }
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey { type ValueType = String ; fn auto_increment () -> bool { false } }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter)] pub enum Relation { ProductOptions , ProductVariants , }
|
||||
|
||||
impl ColumnTrait for Column { type EntityName = Entity ; fn def (& self) -> ColumnDef { match self { Self :: Id => ColumnType :: String (None) . def () , Self :: Value => ColumnType :: String (None) . def () , Self :: OptionId => ColumnType :: String (None) . def () , Self :: VariantId => ColumnType :: String (None) . def () , Self :: CreatedAt => ColumnType :: TimestampWithTimeZone . def () , Self :: UpdatedAt => ColumnType :: TimestampWithTimeZone . def () , Self :: DeletedAt => ColumnType :: TimestampWithTimeZone . def () . null () , Self :: Metadata => ColumnType :: JsonBinary . def () . null () , } } }
|
||||
|
||||
impl RelationTrait for Relation { fn def (& self) -> RelationDef { match self { Self :: ProductOptions => Entity :: belongs_to (super :: product_options :: Entity) . from (Column :: OptionId) . to (super :: product_options :: Column :: Id) . into () , Self :: ProductVariants => Entity :: belongs_to (super :: product_variants :: Entity) . from (Column :: VariantId) . to (super :: product_variants :: Column :: Id) . into () , } } }
|
||||
|
||||
impl Related < super :: product_options :: Entity > for Entity { fn to () -> RelationDef { Relation :: ProductOptions . def () } }
|
||||
|
||||
impl Related < super :: product_variants :: Entity > for Entity { fn to () -> RelationDef { Relation :: ProductVariants . def () } }
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel { }
|
29
crates/model/src/v4/product_options.rs
Normal file
29
crates/model/src/v4/product_options.rs
Normal file
@ -0,0 +1,29 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
|
||||
|
||||
use sea_orm :: entity :: prelude :: * ; use serde :: { Deserialize , Serialize } ;
|
||||
|
||||
# [derive (Copy , Clone , Default , Debug , DeriveEntity)] pub struct Entity ;
|
||||
|
||||
impl EntityName for Entity { fn table_name (& self) -> & str { "product_options" } }
|
||||
|
||||
# [derive (Clone , Debug , PartialEq , DeriveModel , DeriveActiveModel , Eq , Serialize , Deserialize)] pub struct Model { pub id : String , pub title : String , pub created_at : DateTimeWithTimeZone , pub updated_at : DateTimeWithTimeZone , pub deleted_at : Option < DateTimeWithTimeZone > , pub metadata : Option < Json > , pub product_id : Option < String > , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DeriveColumn)] pub enum Column { Id , Title , CreatedAt , UpdatedAt , DeletedAt , Metadata , ProductId , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DerivePrimaryKey)] pub enum PrimaryKey { Id , }
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey { type ValueType = String ; fn auto_increment () -> bool { false } }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter)] pub enum Relation { ProductOptionValues , Products , }
|
||||
|
||||
impl ColumnTrait for Column { type EntityName = Entity ; fn def (& self) -> ColumnDef { match self { Self :: Id => ColumnType :: String (None) . def () , Self :: Title => ColumnType :: String (None) . def () , Self :: CreatedAt => ColumnType :: TimestampWithTimeZone . def () , Self :: UpdatedAt => ColumnType :: TimestampWithTimeZone . def () , Self :: DeletedAt => ColumnType :: TimestampWithTimeZone . def () . null () , Self :: Metadata => ColumnType :: JsonBinary . def () . null () , Self :: ProductId => ColumnType :: String (None) . def () . null () , } } }
|
||||
|
||||
impl RelationTrait for Relation { fn def (& self) -> RelationDef { match self { Self :: ProductOptionValues => Entity :: has_many (super :: product_option_values :: Entity) . into () , Self :: Products => Entity :: belongs_to (super :: products :: Entity) . from (Column :: ProductId) . to (super :: products :: Column :: Id) . into () , } } }
|
||||
|
||||
impl Related < super :: product_option_values :: Entity > for Entity { fn to () -> RelationDef { Relation :: ProductOptionValues . def () } }
|
||||
|
||||
impl Related < super :: products :: Entity > for Entity { fn to () -> RelationDef { Relation :: Products . def () } }
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel { }
|
29
crates/model/src/v4/product_sales_channels.rs
Normal file
29
crates/model/src/v4/product_sales_channels.rs
Normal file
@ -0,0 +1,29 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
|
||||
|
||||
use sea_orm :: entity :: prelude :: * ; use serde :: { Deserialize , Serialize } ;
|
||||
|
||||
# [derive (Copy , Clone , Default , Debug , DeriveEntity)] pub struct Entity ;
|
||||
|
||||
impl EntityName for Entity { fn table_name (& self) -> & str { "product_sales_channels" } }
|
||||
|
||||
# [derive (Clone , Debug , PartialEq , DeriveModel , DeriveActiveModel , Eq , Serialize , Deserialize)] pub struct Model { pub product_id : String , pub sales_channel_id : String , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DeriveColumn)] pub enum Column { ProductId , SalesChannelId , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DerivePrimaryKey)] pub enum PrimaryKey { ProductId , SalesChannelId , }
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey { type ValueType = (String , String) ; fn auto_increment () -> bool { false } }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter)] pub enum Relation { Products , SalesChannels , }
|
||||
|
||||
impl ColumnTrait for Column { type EntityName = Entity ; fn def (& self) -> ColumnDef { match self { Self :: ProductId => ColumnType :: String (None) . def () , Self :: SalesChannelId => ColumnType :: String (None) . def () , } } }
|
||||
|
||||
impl RelationTrait for Relation { fn def (& self) -> RelationDef { match self { Self :: Products => Entity :: belongs_to (super :: products :: Entity) . from (Column :: ProductId) . to (super :: products :: Column :: Id) . into () , Self :: SalesChannels => Entity :: belongs_to (super :: sales_channels :: Entity) . from (Column :: SalesChannelId) . to (super :: sales_channels :: Column :: Id) . into () , } } }
|
||||
|
||||
impl Related < super :: products :: Entity > for Entity { fn to () -> RelationDef { Relation :: Products . def () } }
|
||||
|
||||
impl Related < super :: sales_channels :: Entity > for Entity { fn to () -> RelationDef { Relation :: SalesChannels . def () } }
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel { }
|
29
crates/model/src/v4/product_tags.rs
Normal file
29
crates/model/src/v4/product_tags.rs
Normal file
@ -0,0 +1,29 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
|
||||
|
||||
use sea_orm :: entity :: prelude :: * ; use serde :: { Deserialize , Serialize } ;
|
||||
|
||||
# [derive (Copy , Clone , Default , Debug , DeriveEntity)] pub struct Entity ;
|
||||
|
||||
impl EntityName for Entity { fn table_name (& self) -> & str { "product_tags" } }
|
||||
|
||||
# [derive (Clone , Debug , PartialEq , DeriveModel , DeriveActiveModel , Eq , Serialize , Deserialize)] pub struct Model { pub id : String , pub value : String , pub created_at : DateTimeWithTimeZone , pub updated_at : DateTimeWithTimeZone , pub deleted_at : Option < DateTimeWithTimeZone > , pub metadata : Option < Json > , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DeriveColumn)] pub enum Column { Id , Value , CreatedAt , UpdatedAt , DeletedAt , Metadata , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DerivePrimaryKey)] pub enum PrimaryKey { Id , }
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey { type ValueType = String ; fn auto_increment () -> bool { false } }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter)] pub enum Relation { }
|
||||
|
||||
impl ColumnTrait for Column { type EntityName = Entity ; fn def (& self) -> ColumnDef { match self { Self :: Id => ColumnType :: String (None) . def () , Self :: Value => ColumnType :: String (None) . def () , Self :: CreatedAt => ColumnType :: TimestampWithTimeZone . def () , Self :: UpdatedAt => ColumnType :: TimestampWithTimeZone . def () , Self :: DeletedAt => ColumnType :: TimestampWithTimeZone . def () . null () , Self :: Metadata => ColumnType :: JsonBinary . def () . null () , } } }
|
||||
|
||||
impl RelationTrait for Relation { fn def (& self) -> RelationDef { panic ! ("No RelationDef") } }
|
||||
|
||||
impl Related < super :: discount_conditions :: Entity > for Entity { fn to () -> RelationDef { super :: discount_condition_product_tags :: Relation :: DiscountConditions . def () } fn via () -> Option < RelationDef > { Some (super :: discount_condition_product_tags :: Relation :: ProductTags . def () . rev ()) } }
|
||||
|
||||
impl Related < super :: products :: Entity > for Entity { fn to () -> RelationDef { super :: product_to_tags :: Relation :: Products . def () } fn via () -> Option < RelationDef > { Some (super :: product_to_tags :: Relation :: ProductTags . def () . rev ()) } }
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel { }
|
29
crates/model/src/v4/product_tax_rates.rs
Normal file
29
crates/model/src/v4/product_tax_rates.rs
Normal file
@ -0,0 +1,29 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
|
||||
|
||||
use sea_orm :: entity :: prelude :: * ; use serde :: { Deserialize , Serialize } ;
|
||||
|
||||
# [derive (Copy , Clone , Default , Debug , DeriveEntity)] pub struct Entity ;
|
||||
|
||||
impl EntityName for Entity { fn table_name (& self) -> & str { "product_tax_rates" } }
|
||||
|
||||
# [derive (Clone , Debug , PartialEq , DeriveModel , DeriveActiveModel , Eq , Serialize , Deserialize)] pub struct Model { pub product_id : String , pub rate_id : String , pub created_at : DateTimeWithTimeZone , pub updated_at : DateTimeWithTimeZone , pub metadata : Option < Json > , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DeriveColumn)] pub enum Column { ProductId , RateId , CreatedAt , UpdatedAt , Metadata , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DerivePrimaryKey)] pub enum PrimaryKey { ProductId , RateId , }
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey { type ValueType = (String , String) ; fn auto_increment () -> bool { false } }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter)] pub enum Relation { Products , TaxRates , }
|
||||
|
||||
impl ColumnTrait for Column { type EntityName = Entity ; fn def (& self) -> ColumnDef { match self { Self :: ProductId => ColumnType :: String (None) . def () , Self :: RateId => ColumnType :: String (None) . def () , Self :: CreatedAt => ColumnType :: TimestampWithTimeZone . def () , Self :: UpdatedAt => ColumnType :: TimestampWithTimeZone . def () , Self :: Metadata => ColumnType :: JsonBinary . def () . null () , } } }
|
||||
|
||||
impl RelationTrait for Relation { fn def (& self) -> RelationDef { match self { Self :: Products => Entity :: belongs_to (super :: products :: Entity) . from (Column :: ProductId) . to (super :: products :: Column :: Id) . into () , Self :: TaxRates => Entity :: belongs_to (super :: tax_rates :: Entity) . from (Column :: RateId) . to (super :: tax_rates :: Column :: Id) . into () , } } }
|
||||
|
||||
impl Related < super :: products :: Entity > for Entity { fn to () -> RelationDef { Relation :: Products . def () } }
|
||||
|
||||
impl Related < super :: tax_rates :: Entity > for Entity { fn to () -> RelationDef { Relation :: TaxRates . def () } }
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel { }
|
29
crates/model/src/v4/product_to_tags.rs
Normal file
29
crates/model/src/v4/product_to_tags.rs
Normal file
@ -0,0 +1,29 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
|
||||
|
||||
use sea_orm :: entity :: prelude :: * ; use serde :: { Deserialize , Serialize } ;
|
||||
|
||||
# [derive (Copy , Clone , Default , Debug , DeriveEntity)] pub struct Entity ;
|
||||
|
||||
impl EntityName for Entity { fn table_name (& self) -> & str { "product_to_tags" } }
|
||||
|
||||
# [derive (Clone , Debug , PartialEq , DeriveModel , DeriveActiveModel , Eq , Serialize , Deserialize)] pub struct Model { pub product_id : String , pub product_tag_id : String , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DeriveColumn)] pub enum Column { ProductId , ProductTagId , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DerivePrimaryKey)] pub enum PrimaryKey { ProductId , ProductTagId , }
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey { type ValueType = (String , String) ; fn auto_increment () -> bool { false } }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter)] pub enum Relation { ProductTags , Products , }
|
||||
|
||||
impl ColumnTrait for Column { type EntityName = Entity ; fn def (& self) -> ColumnDef { match self { Self :: ProductId => ColumnType :: String (None) . def () , Self :: ProductTagId => ColumnType :: String (None) . def () , } } }
|
||||
|
||||
impl RelationTrait for Relation { fn def (& self) -> RelationDef { match self { Self :: ProductTags => Entity :: belongs_to (super :: product_tags :: Entity) . from (Column :: ProductTagId) . to (super :: product_tags :: Column :: Id) . into () , Self :: Products => Entity :: belongs_to (super :: products :: Entity) . from (Column :: ProductId) . to (super :: products :: Column :: Id) . into () , } } }
|
||||
|
||||
impl Related < super :: product_tags :: Entity > for Entity { fn to () -> RelationDef { Relation :: ProductTags . def () } }
|
||||
|
||||
impl Related < super :: products :: Entity > for Entity { fn to () -> RelationDef { Relation :: Products . def () } }
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel { }
|
29
crates/model/src/v4/product_type_tax_rates.rs
Normal file
29
crates/model/src/v4/product_type_tax_rates.rs
Normal file
@ -0,0 +1,29 @@
|
||||
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3
|
||||
|
||||
|
||||
|
||||
use sea_orm :: entity :: prelude :: * ; use serde :: { Deserialize , Serialize } ;
|
||||
|
||||
# [derive (Copy , Clone , Default , Debug , DeriveEntity)] pub struct Entity ;
|
||||
|
||||
impl EntityName for Entity { fn table_name (& self) -> & str { "product_type_tax_rates" } }
|
||||
|
||||
# [derive (Clone , Debug , PartialEq , DeriveModel , DeriveActiveModel , Eq , Serialize , Deserialize)] pub struct Model { pub product_type_id : String , pub rate_id : String , pub created_at : DateTimeWithTimeZone , pub updated_at : DateTimeWithTimeZone , pub metadata : Option < Json > , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DeriveColumn)] pub enum Column { ProductTypeId , RateId , CreatedAt , UpdatedAt , Metadata , }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter , DerivePrimaryKey)] pub enum PrimaryKey { ProductTypeId , RateId , }
|
||||
|
||||
impl PrimaryKeyTrait for PrimaryKey { type ValueType = (String , String) ; fn auto_increment () -> bool { false } }
|
||||
|
||||
# [derive (Copy , Clone , Debug , EnumIter)] pub enum Relation { ProductTypes , TaxRates , }
|
||||
|
||||
impl ColumnTrait for Column { type EntityName = Entity ; fn def (& self) -> ColumnDef { match self { Self :: ProductTypeId => ColumnType :: String (None) . def () , Self :: RateId => ColumnType :: String (None) . def () , Self :: CreatedAt => ColumnType :: TimestampWithTimeZone . def () , Self :: UpdatedAt => ColumnType :: TimestampWithTimeZone . def () , Self :: Metadata => ColumnType :: JsonBinary . def () . null () , } } }
|
||||
|
||||
impl RelationTrait for Relation { fn def (& self) -> RelationDef { match self { Self :: ProductTypes => Entity :: belongs_to (super :: product_types :: Entity) . from (Column :: ProductTypeId) . to (super :: product_types :: Column :: Id) . into () , Self :: TaxRates => Entity :: belongs_to (super :: tax_rates :: Entity) . from (Column :: RateId) . to (super :: tax_rates :: Column :: Id) . into () , } } }
|
||||
|
||||
impl Related < super :: product_types :: Entity > for Entity { fn to () -> RelationDef { Relation :: ProductTypes . def () } }
|
||||
|
||||
impl Related < super :: tax_rates :: Entity > for Entity { fn to () -> RelationDef { Relation :: TaxRates . def () } }
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel { }
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user