diff --git a/docs/0.9.10.html b/docs/0.9.10.html index 0398679ad..8c56374ba 100644 --- a/docs/0.9.10.html +++ b/docs/0.9.10.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/0.9.10/capabilities.html b/docs/0.9.10/capabilities.html index acee18bbb..ab7e5a5ee 100644 --- a/docs/0.9.10/capabilities.html +++ b/docs/0.9.10/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/0.9.10/concepts/authentication.html b/docs/0.9.10/concepts/authentication.html index 73df0e61a..09d018560 100644 --- a/docs/0.9.10/concepts/authentication.html +++ b/docs/0.9.10/concepts/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/0.9.10/concepts/caching.html b/docs/0.9.10/concepts/caching.html index 74e4afcf8..9f6b1a115 100644 --- a/docs/0.9.10/concepts/caching.html +++ b/docs/0.9.10/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/0.9.10/concepts/database-communication.html b/docs/0.9.10/concepts/database-communication.html index dcf2f1743..da71af545 100644 --- a/docs/0.9.10/concepts/database-communication.html +++ b/docs/0.9.10/concepts/database-communication.html @@ -4,7 +4,7 @@ Database communication | Serverpod - + diff --git a/docs/0.9.10/concepts/file-uploads.html b/docs/0.9.10/concepts/file-uploads.html index 1662043e4..75fd47dc7 100644 --- a/docs/0.9.10/concepts/file-uploads.html +++ b/docs/0.9.10/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/0.9.10/concepts/logging.html b/docs/0.9.10/concepts/logging.html index b038f1fe3..0cdc6be72 100644 --- a/docs/0.9.10/concepts/logging.html +++ b/docs/0.9.10/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/0.9.10/concepts/modules.html b/docs/0.9.10/concepts/modules.html index 21c46a9a5..f0a9a5bcb 100644 --- a/docs/0.9.10/concepts/modules.html +++ b/docs/0.9.10/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/0.9.10/concepts/serialization.html b/docs/0.9.10/concepts/serialization.html index fc412bfa8..4a05e1974 100644 --- a/docs/0.9.10/concepts/serialization.html +++ b/docs/0.9.10/concepts/serialization.html @@ -4,7 +4,7 @@ Serialization | Serverpod - + diff --git a/docs/0.9.10/concepts/streams.html b/docs/0.9.10/concepts/streams.html index 3dec46900..af8c8cad4 100644 --- a/docs/0.9.10/concepts/streams.html +++ b/docs/0.9.10/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/0.9.10/concepts/webserver.html b/docs/0.9.10/concepts/webserver.html index 48d715102..0e6a7ee5c 100644 --- a/docs/0.9.10/concepts/webserver.html +++ b/docs/0.9.10/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/0.9.10/concepts/working-with-endpoints.html b/docs/0.9.10/concepts/working-with-endpoints.html index 08a0bfa8b..9c3f72feb 100644 --- a/docs/0.9.10/concepts/working-with-endpoints.html +++ b/docs/0.9.10/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/0.9.10/contribute.html b/docs/0.9.10/contribute.html index d261ad903..04a2c37d7 100644 --- a/docs/0.9.10/contribute.html +++ b/docs/0.9.10/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/0.9.10/deployments/deploying-to-aws.html b/docs/0.9.10/deployments/deploying-to-aws.html index 215277cc4..f8187aa59 100644 --- a/docs/0.9.10/deployments/deploying-to-aws.html +++ b/docs/0.9.10/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ Deploying to AWS | Serverpod - + diff --git a/docs/0.9.10/deployments/general.html b/docs/0.9.10/deployments/general.html index a880f8edd..4ddd63731 100644 --- a/docs/0.9.10/deployments/general.html +++ b/docs/0.9.10/deployments/general.html @@ -4,7 +4,7 @@ General notes | Serverpod - + diff --git a/docs/0.9.10/roadmap.html b/docs/0.9.10/roadmap.html index a8b374fa1..55c31421a 100644 --- a/docs/0.9.10/roadmap.html +++ b/docs/0.9.10/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/0.9.10/support.html b/docs/0.9.10/support.html index c416210f9..41b1bc47c 100644 --- a/docs/0.9.10/support.html +++ b/docs/0.9.10/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/0.9.11.html b/docs/0.9.11.html index 69b605b99..900fb2a33 100644 --- a/docs/0.9.11.html +++ b/docs/0.9.11.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/0.9.11/capabilities.html b/docs/0.9.11/capabilities.html index 7e4e8f209..720c047f6 100644 --- a/docs/0.9.11/capabilities.html +++ b/docs/0.9.11/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/0.9.11/concepts/authentication.html b/docs/0.9.11/concepts/authentication.html index 30a2526de..c9e54b06c 100644 --- a/docs/0.9.11/concepts/authentication.html +++ b/docs/0.9.11/concepts/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/0.9.11/concepts/caching.html b/docs/0.9.11/concepts/caching.html index 271df4c1a..eeabd2a4e 100644 --- a/docs/0.9.11/concepts/caching.html +++ b/docs/0.9.11/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/0.9.11/concepts/database-communication.html b/docs/0.9.11/concepts/database-communication.html index 693156fdf..ca27485a3 100644 --- a/docs/0.9.11/concepts/database-communication.html +++ b/docs/0.9.11/concepts/database-communication.html @@ -4,7 +4,7 @@ Database communication | Serverpod - + diff --git a/docs/0.9.11/concepts/file-uploads.html b/docs/0.9.11/concepts/file-uploads.html index cdc0170e2..b5c804f3d 100644 --- a/docs/0.9.11/concepts/file-uploads.html +++ b/docs/0.9.11/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/0.9.11/concepts/logging.html b/docs/0.9.11/concepts/logging.html index c34dbc610..72ea41dde 100644 --- a/docs/0.9.11/concepts/logging.html +++ b/docs/0.9.11/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/0.9.11/concepts/modules.html b/docs/0.9.11/concepts/modules.html index 44264a83a..a28ed1ab4 100644 --- a/docs/0.9.11/concepts/modules.html +++ b/docs/0.9.11/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/0.9.11/concepts/serialization.html b/docs/0.9.11/concepts/serialization.html index e85fbd973..adba7abaf 100644 --- a/docs/0.9.11/concepts/serialization.html +++ b/docs/0.9.11/concepts/serialization.html @@ -4,7 +4,7 @@ Serialization | Serverpod - + diff --git a/docs/0.9.11/concepts/streams.html b/docs/0.9.11/concepts/streams.html index f0754edc5..b2a266c98 100644 --- a/docs/0.9.11/concepts/streams.html +++ b/docs/0.9.11/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/0.9.11/concepts/webserver.html b/docs/0.9.11/concepts/webserver.html index 9aa3f96ac..a8b6cb49e 100644 --- a/docs/0.9.11/concepts/webserver.html +++ b/docs/0.9.11/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/0.9.11/concepts/working-with-endpoints.html b/docs/0.9.11/concepts/working-with-endpoints.html index bbf4d8605..fb2c27b65 100644 --- a/docs/0.9.11/concepts/working-with-endpoints.html +++ b/docs/0.9.11/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/0.9.11/contribute.html b/docs/0.9.11/contribute.html index b717905c9..1da845967 100644 --- a/docs/0.9.11/contribute.html +++ b/docs/0.9.11/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/0.9.11/deployments/deploying-to-aws.html b/docs/0.9.11/deployments/deploying-to-aws.html index 1300cb1c6..fda5b3580 100644 --- a/docs/0.9.11/deployments/deploying-to-aws.html +++ b/docs/0.9.11/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ Deploying to AWS | Serverpod - + diff --git a/docs/0.9.11/deployments/general.html b/docs/0.9.11/deployments/general.html index 69ca6143c..2534895a1 100644 --- a/docs/0.9.11/deployments/general.html +++ b/docs/0.9.11/deployments/general.html @@ -4,7 +4,7 @@ General notes | Serverpod - + diff --git a/docs/0.9.11/roadmap.html b/docs/0.9.11/roadmap.html index 4bf14a820..b8f008bec 100644 --- a/docs/0.9.11/roadmap.html +++ b/docs/0.9.11/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/0.9.11/support.html b/docs/0.9.11/support.html index 56e5c52aa..b82f7cbe0 100644 --- a/docs/0.9.11/support.html +++ b/docs/0.9.11/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/0.9.20.html b/docs/0.9.20.html index 8015250a3..916df28de 100644 --- a/docs/0.9.20.html +++ b/docs/0.9.20.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/0.9.20/capabilities.html b/docs/0.9.20/capabilities.html index 01b64e229..4a5011980 100644 --- a/docs/0.9.20/capabilities.html +++ b/docs/0.9.20/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/0.9.20/concepts/authentication.html b/docs/0.9.20/concepts/authentication.html index 86b33b90f..dc7a05313 100644 --- a/docs/0.9.20/concepts/authentication.html +++ b/docs/0.9.20/concepts/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/0.9.20/concepts/backward-compatibility.html b/docs/0.9.20/concepts/backward-compatibility.html index aad046c8d..bfaef048d 100644 --- a/docs/0.9.20/concepts/backward-compatibility.html +++ b/docs/0.9.20/concepts/backward-compatibility.html @@ -4,7 +4,7 @@ Backward compatibility | Serverpod - + diff --git a/docs/0.9.20/concepts/caching.html b/docs/0.9.20/concepts/caching.html index 80bb375bd..e876eafe0 100644 --- a/docs/0.9.20/concepts/caching.html +++ b/docs/0.9.20/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/0.9.20/concepts/database-communication.html b/docs/0.9.20/concepts/database-communication.html index e8d53f51b..8f823ceb1 100644 --- a/docs/0.9.20/concepts/database-communication.html +++ b/docs/0.9.20/concepts/database-communication.html @@ -4,7 +4,7 @@ Database communication | Serverpod - + diff --git a/docs/0.9.20/concepts/file-uploads.html b/docs/0.9.20/concepts/file-uploads.html index 8efa92ce2..5056b342b 100644 --- a/docs/0.9.20/concepts/file-uploads.html +++ b/docs/0.9.20/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/0.9.20/concepts/health-checks.html b/docs/0.9.20/concepts/health-checks.html index a424c3912..84645a9de 100644 --- a/docs/0.9.20/concepts/health-checks.html +++ b/docs/0.9.20/concepts/health-checks.html @@ -4,7 +4,7 @@ Health checks | Serverpod - + diff --git a/docs/0.9.20/concepts/logging.html b/docs/0.9.20/concepts/logging.html index 17283eb42..0c4476e72 100644 --- a/docs/0.9.20/concepts/logging.html +++ b/docs/0.9.20/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/0.9.20/concepts/modules.html b/docs/0.9.20/concepts/modules.html index 321654a81..3e276a874 100644 --- a/docs/0.9.20/concepts/modules.html +++ b/docs/0.9.20/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/0.9.20/concepts/serialization.html b/docs/0.9.20/concepts/serialization.html index dbe5f53e5..e731bb0b0 100644 --- a/docs/0.9.20/concepts/serialization.html +++ b/docs/0.9.20/concepts/serialization.html @@ -4,7 +4,7 @@ Serialization | Serverpod - + diff --git a/docs/0.9.20/concepts/streams.html b/docs/0.9.20/concepts/streams.html index 9206371a7..cd9d2174c 100644 --- a/docs/0.9.20/concepts/streams.html +++ b/docs/0.9.20/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/0.9.20/concepts/webserver.html b/docs/0.9.20/concepts/webserver.html index 5cfdd9684..1498ea458 100644 --- a/docs/0.9.20/concepts/webserver.html +++ b/docs/0.9.20/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/0.9.20/concepts/working-with-endpoints.html b/docs/0.9.20/concepts/working-with-endpoints.html index c12537bf3..51e9e79f6 100644 --- a/docs/0.9.20/concepts/working-with-endpoints.html +++ b/docs/0.9.20/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/0.9.20/contribute.html b/docs/0.9.20/contribute.html index bb01e7488..f227b60c5 100644 --- a/docs/0.9.20/contribute.html +++ b/docs/0.9.20/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/0.9.20/deployments/deploying-to-aws.html b/docs/0.9.20/deployments/deploying-to-aws.html index 873d477e6..fc52f2196 100644 --- a/docs/0.9.20/deployments/deploying-to-aws.html +++ b/docs/0.9.20/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ Deploying to AWS | Serverpod - + diff --git a/docs/0.9.20/deployments/general.html b/docs/0.9.20/deployments/general.html index 3533f3cc1..8c5b046dd 100644 --- a/docs/0.9.20/deployments/general.html +++ b/docs/0.9.20/deployments/general.html @@ -4,7 +4,7 @@ General notes | Serverpod - + diff --git a/docs/0.9.20/roadmap.html b/docs/0.9.20/roadmap.html index d6297b82d..638a3f30e 100644 --- a/docs/0.9.20/roadmap.html +++ b/docs/0.9.20/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/0.9.20/support.html b/docs/0.9.20/support.html index 9db9920fa..039a96d66 100644 --- a/docs/0.9.20/support.html +++ b/docs/0.9.20/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/0.9.20/tutorials.html b/docs/0.9.20/tutorials.html index d163421d0..8f628efd3 100644 --- a/docs/0.9.20/tutorials.html +++ b/docs/0.9.20/tutorials.html @@ -4,7 +4,7 @@ Tutorials & Examples | Serverpod - + diff --git a/docs/0.9.21.html b/docs/0.9.21.html index dd0c52e64..1d1f9ab12 100644 --- a/docs/0.9.21.html +++ b/docs/0.9.21.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/0.9.21/capabilities.html b/docs/0.9.21/capabilities.html index b75005cc4..9135cefbf 100644 --- a/docs/0.9.21/capabilities.html +++ b/docs/0.9.21/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/0.9.21/concepts/authentication.html b/docs/0.9.21/concepts/authentication.html index d4d353e48..2ecfbe5fa 100644 --- a/docs/0.9.21/concepts/authentication.html +++ b/docs/0.9.21/concepts/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/0.9.21/concepts/backward-compatibility.html b/docs/0.9.21/concepts/backward-compatibility.html index e91f7d4a2..6000c61db 100644 --- a/docs/0.9.21/concepts/backward-compatibility.html +++ b/docs/0.9.21/concepts/backward-compatibility.html @@ -4,7 +4,7 @@ Backward compatibility | Serverpod - + diff --git a/docs/0.9.21/concepts/caching.html b/docs/0.9.21/concepts/caching.html index b119987b2..d474979dc 100644 --- a/docs/0.9.21/concepts/caching.html +++ b/docs/0.9.21/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/0.9.21/concepts/database-communication.html b/docs/0.9.21/concepts/database-communication.html index 71b1629cd..75289fe4f 100644 --- a/docs/0.9.21/concepts/database-communication.html +++ b/docs/0.9.21/concepts/database-communication.html @@ -4,7 +4,7 @@ Database communication | Serverpod - + diff --git a/docs/0.9.21/concepts/file-uploads.html b/docs/0.9.21/concepts/file-uploads.html index d060a71cc..46fa689bf 100644 --- a/docs/0.9.21/concepts/file-uploads.html +++ b/docs/0.9.21/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/0.9.21/concepts/health-checks.html b/docs/0.9.21/concepts/health-checks.html index a452fb4a4..6d2412cb1 100644 --- a/docs/0.9.21/concepts/health-checks.html +++ b/docs/0.9.21/concepts/health-checks.html @@ -4,7 +4,7 @@ Health checks | Serverpod - + diff --git a/docs/0.9.21/concepts/logging.html b/docs/0.9.21/concepts/logging.html index f8ea5db60..25d8af44c 100644 --- a/docs/0.9.21/concepts/logging.html +++ b/docs/0.9.21/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/0.9.21/concepts/modules.html b/docs/0.9.21/concepts/modules.html index 9d7ae073f..3128aa055 100644 --- a/docs/0.9.21/concepts/modules.html +++ b/docs/0.9.21/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/0.9.21/concepts/serialization.html b/docs/0.9.21/concepts/serialization.html index d43d68f90..729fd4d5d 100644 --- a/docs/0.9.21/concepts/serialization.html +++ b/docs/0.9.21/concepts/serialization.html @@ -4,7 +4,7 @@ Serialization | Serverpod - + diff --git a/docs/0.9.21/concepts/streams.html b/docs/0.9.21/concepts/streams.html index 8ac503836..9f3abf22d 100644 --- a/docs/0.9.21/concepts/streams.html +++ b/docs/0.9.21/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/0.9.21/concepts/webserver.html b/docs/0.9.21/concepts/webserver.html index fcb3cb558..082dfbcff 100644 --- a/docs/0.9.21/concepts/webserver.html +++ b/docs/0.9.21/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/0.9.21/concepts/working-with-endpoints.html b/docs/0.9.21/concepts/working-with-endpoints.html index 440670dc1..c87aa88f8 100644 --- a/docs/0.9.21/concepts/working-with-endpoints.html +++ b/docs/0.9.21/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/0.9.21/contribute.html b/docs/0.9.21/contribute.html index 5945a7569..191b8ebeb 100644 --- a/docs/0.9.21/contribute.html +++ b/docs/0.9.21/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/0.9.21/deployments/deploying-to-aws.html b/docs/0.9.21/deployments/deploying-to-aws.html index 5efff0f14..19313546b 100644 --- a/docs/0.9.21/deployments/deploying-to-aws.html +++ b/docs/0.9.21/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ Deploying to AWS | Serverpod - + diff --git a/docs/0.9.21/deployments/general.html b/docs/0.9.21/deployments/general.html index dbcde7fe7..d0b440cb8 100644 --- a/docs/0.9.21/deployments/general.html +++ b/docs/0.9.21/deployments/general.html @@ -4,7 +4,7 @@ General notes | Serverpod - + diff --git a/docs/0.9.21/roadmap.html b/docs/0.9.21/roadmap.html index f6ba8c1af..f62a9fefa 100644 --- a/docs/0.9.21/roadmap.html +++ b/docs/0.9.21/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/0.9.21/support.html b/docs/0.9.21/support.html index c6a3a2c1f..a88e3acef 100644 --- a/docs/0.9.21/support.html +++ b/docs/0.9.21/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/0.9.21/tutorials.html b/docs/0.9.21/tutorials.html index 1aad7684d..7e5490fac 100644 --- a/docs/0.9.21/tutorials.html +++ b/docs/0.9.21/tutorials.html @@ -4,7 +4,7 @@ Tutorials & Examples | Serverpod - + diff --git a/docs/0.9.22.html b/docs/0.9.22.html index a5184663c..58c418273 100644 --- a/docs/0.9.22.html +++ b/docs/0.9.22.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/0.9.22/capabilities.html b/docs/0.9.22/capabilities.html index 7cbae127a..5d198c2c7 100644 --- a/docs/0.9.22/capabilities.html +++ b/docs/0.9.22/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/0.9.22/concepts/authentication.html b/docs/0.9.22/concepts/authentication.html index e75b96ed2..dcb935d86 100644 --- a/docs/0.9.22/concepts/authentication.html +++ b/docs/0.9.22/concepts/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/0.9.22/concepts/backward-compatibility.html b/docs/0.9.22/concepts/backward-compatibility.html index 3255b3b15..9dcfaa8f5 100644 --- a/docs/0.9.22/concepts/backward-compatibility.html +++ b/docs/0.9.22/concepts/backward-compatibility.html @@ -4,7 +4,7 @@ Backward compatibility | Serverpod - + diff --git a/docs/0.9.22/concepts/caching.html b/docs/0.9.22/concepts/caching.html index 1270ea74f..bae4691d5 100644 --- a/docs/0.9.22/concepts/caching.html +++ b/docs/0.9.22/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/0.9.22/concepts/database-communication.html b/docs/0.9.22/concepts/database-communication.html index 8714fff0c..721a04920 100644 --- a/docs/0.9.22/concepts/database-communication.html +++ b/docs/0.9.22/concepts/database-communication.html @@ -4,7 +4,7 @@ Database communication | Serverpod - + diff --git a/docs/0.9.22/concepts/file-uploads.html b/docs/0.9.22/concepts/file-uploads.html index e0bb1abab..eda604e53 100644 --- a/docs/0.9.22/concepts/file-uploads.html +++ b/docs/0.9.22/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/0.9.22/concepts/health-checks.html b/docs/0.9.22/concepts/health-checks.html index 80c5e93aa..503e600ef 100644 --- a/docs/0.9.22/concepts/health-checks.html +++ b/docs/0.9.22/concepts/health-checks.html @@ -4,7 +4,7 @@ Health checks | Serverpod - + diff --git a/docs/0.9.22/concepts/logging.html b/docs/0.9.22/concepts/logging.html index 27eb56540..04beb9241 100644 --- a/docs/0.9.22/concepts/logging.html +++ b/docs/0.9.22/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/0.9.22/concepts/modules.html b/docs/0.9.22/concepts/modules.html index fb4adf316..996f84b9d 100644 --- a/docs/0.9.22/concepts/modules.html +++ b/docs/0.9.22/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/0.9.22/concepts/serialization.html b/docs/0.9.22/concepts/serialization.html index 081fb45fb..30b1c274d 100644 --- a/docs/0.9.22/concepts/serialization.html +++ b/docs/0.9.22/concepts/serialization.html @@ -4,7 +4,7 @@ Serialization | Serverpod - + diff --git a/docs/0.9.22/concepts/streams.html b/docs/0.9.22/concepts/streams.html index 82d0dce11..4a8484a5a 100644 --- a/docs/0.9.22/concepts/streams.html +++ b/docs/0.9.22/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/0.9.22/concepts/webserver.html b/docs/0.9.22/concepts/webserver.html index 3d10a6343..b68be4a93 100644 --- a/docs/0.9.22/concepts/webserver.html +++ b/docs/0.9.22/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/0.9.22/concepts/working-with-endpoints.html b/docs/0.9.22/concepts/working-with-endpoints.html index 230331cf9..bf6568138 100644 --- a/docs/0.9.22/concepts/working-with-endpoints.html +++ b/docs/0.9.22/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/0.9.22/contribute.html b/docs/0.9.22/contribute.html index 1f65ece3f..30311d7e2 100644 --- a/docs/0.9.22/contribute.html +++ b/docs/0.9.22/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/0.9.22/deployments/deploying-to-aws.html b/docs/0.9.22/deployments/deploying-to-aws.html index b818d3ee6..d4aa43551 100644 --- a/docs/0.9.22/deployments/deploying-to-aws.html +++ b/docs/0.9.22/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ Deploying to AWS | Serverpod - + diff --git a/docs/0.9.22/deployments/general.html b/docs/0.9.22/deployments/general.html index 60818ce29..62bd341c6 100644 --- a/docs/0.9.22/deployments/general.html +++ b/docs/0.9.22/deployments/general.html @@ -4,7 +4,7 @@ General notes | Serverpod - + diff --git a/docs/0.9.22/roadmap.html b/docs/0.9.22/roadmap.html index 13bc7045a..542e9bab8 100644 --- a/docs/0.9.22/roadmap.html +++ b/docs/0.9.22/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/0.9.22/support.html b/docs/0.9.22/support.html index 0473db8d8..a1c22b066 100644 --- a/docs/0.9.22/support.html +++ b/docs/0.9.22/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/0.9.22/tutorials.html b/docs/0.9.22/tutorials.html index c21bff6c6..d464a071a 100644 --- a/docs/0.9.22/tutorials.html +++ b/docs/0.9.22/tutorials.html @@ -4,7 +4,7 @@ Tutorials & Examples | Serverpod - + diff --git a/docs/0.9.5.html b/docs/0.9.5.html index e952bb65e..c1bc063f0 100644 --- a/docs/0.9.5.html +++ b/docs/0.9.5.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/0.9.5/capabilities.html b/docs/0.9.5/capabilities.html index ccc764764..ad4a2a3e3 100644 --- a/docs/0.9.5/capabilities.html +++ b/docs/0.9.5/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/0.9.5/concepts/authentication.html b/docs/0.9.5/concepts/authentication.html index f32cd4ce4..5fb60723a 100644 --- a/docs/0.9.5/concepts/authentication.html +++ b/docs/0.9.5/concepts/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/0.9.5/concepts/caching.html b/docs/0.9.5/concepts/caching.html index 84afea95d..930ccc761 100644 --- a/docs/0.9.5/concepts/caching.html +++ b/docs/0.9.5/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/0.9.5/concepts/database-communication.html b/docs/0.9.5/concepts/database-communication.html index 6174e86e1..2f4e9353d 100644 --- a/docs/0.9.5/concepts/database-communication.html +++ b/docs/0.9.5/concepts/database-communication.html @@ -4,7 +4,7 @@ Database communication | Serverpod - + diff --git a/docs/0.9.5/concepts/file-uploads.html b/docs/0.9.5/concepts/file-uploads.html index 36a95f432..590d4d2f5 100644 --- a/docs/0.9.5/concepts/file-uploads.html +++ b/docs/0.9.5/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/0.9.5/concepts/logging.html b/docs/0.9.5/concepts/logging.html index 76ad4ddbf..b03157f6d 100644 --- a/docs/0.9.5/concepts/logging.html +++ b/docs/0.9.5/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/0.9.5/concepts/modules.html b/docs/0.9.5/concepts/modules.html index 2299347a1..743510dd6 100644 --- a/docs/0.9.5/concepts/modules.html +++ b/docs/0.9.5/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/0.9.5/concepts/serialization.html b/docs/0.9.5/concepts/serialization.html index 75e5aee2d..53e0d204e 100644 --- a/docs/0.9.5/concepts/serialization.html +++ b/docs/0.9.5/concepts/serialization.html @@ -4,7 +4,7 @@ Serialization | Serverpod - + diff --git a/docs/0.9.5/concepts/streams.html b/docs/0.9.5/concepts/streams.html index 0a5bdb758..53efee6d9 100644 --- a/docs/0.9.5/concepts/streams.html +++ b/docs/0.9.5/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/0.9.5/concepts/working-with-endpoints.html b/docs/0.9.5/concepts/working-with-endpoints.html index 78b66a778..92e7026fe 100644 --- a/docs/0.9.5/concepts/working-with-endpoints.html +++ b/docs/0.9.5/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/0.9.5/contribute.html b/docs/0.9.5/contribute.html index 73752000e..b58b28f87 100644 --- a/docs/0.9.5/contribute.html +++ b/docs/0.9.5/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/0.9.5/deployments/general.html b/docs/0.9.5/deployments/general.html index d5e410bb7..75abc4d57 100644 --- a/docs/0.9.5/deployments/general.html +++ b/docs/0.9.5/deployments/general.html @@ -4,7 +4,7 @@ General notes | Serverpod - + diff --git a/docs/0.9.5/roadmap.html b/docs/0.9.5/roadmap.html index c5d94ba7d..18651e5ed 100644 --- a/docs/0.9.5/roadmap.html +++ b/docs/0.9.5/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/0.9.6.html b/docs/0.9.6.html index d4d9b5090..b696f6378 100644 --- a/docs/0.9.6.html +++ b/docs/0.9.6.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/0.9.6/capabilities.html b/docs/0.9.6/capabilities.html index ed6604046..69fc715e8 100644 --- a/docs/0.9.6/capabilities.html +++ b/docs/0.9.6/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/0.9.6/concepts/authentication.html b/docs/0.9.6/concepts/authentication.html index 2756a8b4a..463f2ee26 100644 --- a/docs/0.9.6/concepts/authentication.html +++ b/docs/0.9.6/concepts/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/0.9.6/concepts/caching.html b/docs/0.9.6/concepts/caching.html index 41116bbd1..c80f1ac9e 100644 --- a/docs/0.9.6/concepts/caching.html +++ b/docs/0.9.6/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/0.9.6/concepts/database-communication.html b/docs/0.9.6/concepts/database-communication.html index 8b6dd0cfc..65c1d01b0 100644 --- a/docs/0.9.6/concepts/database-communication.html +++ b/docs/0.9.6/concepts/database-communication.html @@ -4,7 +4,7 @@ Database communication | Serverpod - + diff --git a/docs/0.9.6/concepts/file-uploads.html b/docs/0.9.6/concepts/file-uploads.html index d49810e35..b130dd5b5 100644 --- a/docs/0.9.6/concepts/file-uploads.html +++ b/docs/0.9.6/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/0.9.6/concepts/logging.html b/docs/0.9.6/concepts/logging.html index 4eb5f9313..bda4b3b23 100644 --- a/docs/0.9.6/concepts/logging.html +++ b/docs/0.9.6/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/0.9.6/concepts/modules.html b/docs/0.9.6/concepts/modules.html index da458f34e..1476bb4bd 100644 --- a/docs/0.9.6/concepts/modules.html +++ b/docs/0.9.6/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/0.9.6/concepts/serialization.html b/docs/0.9.6/concepts/serialization.html index a35a20189..42b9809de 100644 --- a/docs/0.9.6/concepts/serialization.html +++ b/docs/0.9.6/concepts/serialization.html @@ -4,7 +4,7 @@ Serialization | Serverpod - + diff --git a/docs/0.9.6/concepts/streams.html b/docs/0.9.6/concepts/streams.html index 4c686bbf9..f5a3e5435 100644 --- a/docs/0.9.6/concepts/streams.html +++ b/docs/0.9.6/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/0.9.6/concepts/working-with-endpoints.html b/docs/0.9.6/concepts/working-with-endpoints.html index c5985523d..32d836097 100644 --- a/docs/0.9.6/concepts/working-with-endpoints.html +++ b/docs/0.9.6/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/0.9.6/contribute.html b/docs/0.9.6/contribute.html index 80dd4228d..4efadd2e5 100644 --- a/docs/0.9.6/contribute.html +++ b/docs/0.9.6/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/0.9.6/deployments/general.html b/docs/0.9.6/deployments/general.html index bfbed5a41..7e94ac266 100644 --- a/docs/0.9.6/deployments/general.html +++ b/docs/0.9.6/deployments/general.html @@ -4,7 +4,7 @@ General notes | Serverpod - + diff --git a/docs/0.9.6/roadmap.html b/docs/0.9.6/roadmap.html index 06dac7b85..e479fcf80 100644 --- a/docs/0.9.6/roadmap.html +++ b/docs/0.9.6/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/0.9.7.html b/docs/0.9.7.html index a650ca881..17e25c07b 100644 --- a/docs/0.9.7.html +++ b/docs/0.9.7.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/0.9.7/capabilities.html b/docs/0.9.7/capabilities.html index 8d7397344..1ee30eba5 100644 --- a/docs/0.9.7/capabilities.html +++ b/docs/0.9.7/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/0.9.7/concepts/authentication.html b/docs/0.9.7/concepts/authentication.html index 5ee4876d5..2b8531237 100644 --- a/docs/0.9.7/concepts/authentication.html +++ b/docs/0.9.7/concepts/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/0.9.7/concepts/caching.html b/docs/0.9.7/concepts/caching.html index 2c2d5e579..3dfd1ae93 100644 --- a/docs/0.9.7/concepts/caching.html +++ b/docs/0.9.7/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/0.9.7/concepts/database-communication.html b/docs/0.9.7/concepts/database-communication.html index 0db78082b..14617aa9c 100644 --- a/docs/0.9.7/concepts/database-communication.html +++ b/docs/0.9.7/concepts/database-communication.html @@ -4,7 +4,7 @@ Database communication | Serverpod - + diff --git a/docs/0.9.7/concepts/file-uploads.html b/docs/0.9.7/concepts/file-uploads.html index 1c1fcb7fd..b8d2e2e7d 100644 --- a/docs/0.9.7/concepts/file-uploads.html +++ b/docs/0.9.7/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/0.9.7/concepts/logging.html b/docs/0.9.7/concepts/logging.html index 234cd3581..6bdf8856b 100644 --- a/docs/0.9.7/concepts/logging.html +++ b/docs/0.9.7/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/0.9.7/concepts/modules.html b/docs/0.9.7/concepts/modules.html index 3617656d9..cd2dab355 100644 --- a/docs/0.9.7/concepts/modules.html +++ b/docs/0.9.7/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/0.9.7/concepts/serialization.html b/docs/0.9.7/concepts/serialization.html index c97b5e26d..2bc184f39 100644 --- a/docs/0.9.7/concepts/serialization.html +++ b/docs/0.9.7/concepts/serialization.html @@ -4,7 +4,7 @@ Serialization | Serverpod - + diff --git a/docs/0.9.7/concepts/streams.html b/docs/0.9.7/concepts/streams.html index 681495161..6a80c0b32 100644 --- a/docs/0.9.7/concepts/streams.html +++ b/docs/0.9.7/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/0.9.7/concepts/working-with-endpoints.html b/docs/0.9.7/concepts/working-with-endpoints.html index 0fd0bd0a7..d08cad01f 100644 --- a/docs/0.9.7/concepts/working-with-endpoints.html +++ b/docs/0.9.7/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/0.9.7/contribute.html b/docs/0.9.7/contribute.html index 93f4b5a3f..c313f1502 100644 --- a/docs/0.9.7/contribute.html +++ b/docs/0.9.7/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/0.9.7/deployments/general.html b/docs/0.9.7/deployments/general.html index 8728a3a22..afa1a7d10 100644 --- a/docs/0.9.7/deployments/general.html +++ b/docs/0.9.7/deployments/general.html @@ -4,7 +4,7 @@ General notes | Serverpod - + diff --git a/docs/0.9.7/roadmap.html b/docs/0.9.7/roadmap.html index 7c57289a2..2e6e13e09 100644 --- a/docs/0.9.7/roadmap.html +++ b/docs/0.9.7/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/0.9.7/support.html b/docs/0.9.7/support.html index 74721da39..f679f39e2 100644 --- a/docs/0.9.7/support.html +++ b/docs/0.9.7/support.html @@ -4,7 +4,7 @@ Support | Serverpod - + diff --git a/docs/0.9.8.html b/docs/0.9.8.html index b630a126e..9dbe285a0 100644 --- a/docs/0.9.8.html +++ b/docs/0.9.8.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/0.9.8/capabilities.html b/docs/0.9.8/capabilities.html index 2feae7725..c841e3a1a 100644 --- a/docs/0.9.8/capabilities.html +++ b/docs/0.9.8/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/0.9.8/concepts/authentication.html b/docs/0.9.8/concepts/authentication.html index e634bce66..58d60b129 100644 --- a/docs/0.9.8/concepts/authentication.html +++ b/docs/0.9.8/concepts/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/0.9.8/concepts/caching.html b/docs/0.9.8/concepts/caching.html index a8cb1ccdc..f9b1415af 100644 --- a/docs/0.9.8/concepts/caching.html +++ b/docs/0.9.8/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/0.9.8/concepts/database-communication.html b/docs/0.9.8/concepts/database-communication.html index 0d3a574e2..93693a61c 100644 --- a/docs/0.9.8/concepts/database-communication.html +++ b/docs/0.9.8/concepts/database-communication.html @@ -4,7 +4,7 @@ Database communication | Serverpod - + diff --git a/docs/0.9.8/concepts/file-uploads.html b/docs/0.9.8/concepts/file-uploads.html index 2e74ebcfd..4113a2c45 100644 --- a/docs/0.9.8/concepts/file-uploads.html +++ b/docs/0.9.8/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/0.9.8/concepts/logging.html b/docs/0.9.8/concepts/logging.html index 73c8ea2d0..12ec06c6a 100644 --- a/docs/0.9.8/concepts/logging.html +++ b/docs/0.9.8/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/0.9.8/concepts/modules.html b/docs/0.9.8/concepts/modules.html index 878d20be3..a3c1b328e 100644 --- a/docs/0.9.8/concepts/modules.html +++ b/docs/0.9.8/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/0.9.8/concepts/serialization.html b/docs/0.9.8/concepts/serialization.html index 7941a519c..31310ecfd 100644 --- a/docs/0.9.8/concepts/serialization.html +++ b/docs/0.9.8/concepts/serialization.html @@ -4,7 +4,7 @@ Serialization | Serverpod - + diff --git a/docs/0.9.8/concepts/streams.html b/docs/0.9.8/concepts/streams.html index ee161d3a4..3c39618f4 100644 --- a/docs/0.9.8/concepts/streams.html +++ b/docs/0.9.8/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/0.9.8/concepts/working-with-endpoints.html b/docs/0.9.8/concepts/working-with-endpoints.html index 3be67a510..306f2dc6b 100644 --- a/docs/0.9.8/concepts/working-with-endpoints.html +++ b/docs/0.9.8/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/0.9.8/contribute.html b/docs/0.9.8/contribute.html index 3e2bc5bdc..8bcd80fba 100644 --- a/docs/0.9.8/contribute.html +++ b/docs/0.9.8/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/0.9.8/deployments/deploying-to-aws.html b/docs/0.9.8/deployments/deploying-to-aws.html index 166237c1c..ba378fc5b 100644 --- a/docs/0.9.8/deployments/deploying-to-aws.html +++ b/docs/0.9.8/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ Deploying to AWS | Serverpod - + diff --git a/docs/0.9.8/deployments/general.html b/docs/0.9.8/deployments/general.html index 63c3ed58d..69270b1c6 100644 --- a/docs/0.9.8/deployments/general.html +++ b/docs/0.9.8/deployments/general.html @@ -4,7 +4,7 @@ General notes | Serverpod - + diff --git a/docs/0.9.8/roadmap.html b/docs/0.9.8/roadmap.html index 3475ee52b..0a31e8ab5 100644 --- a/docs/0.9.8/roadmap.html +++ b/docs/0.9.8/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/0.9.8/support.html b/docs/0.9.8/support.html index 160c3d3c7..0aa7960a6 100644 --- a/docs/0.9.8/support.html +++ b/docs/0.9.8/support.html @@ -4,7 +4,7 @@ Support | Serverpod - + diff --git a/docs/0.9.9.html b/docs/0.9.9.html index ab3df6a70..e6cdff0c2 100644 --- a/docs/0.9.9.html +++ b/docs/0.9.9.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/0.9.9/capabilities.html b/docs/0.9.9/capabilities.html index 1a14066aa..5e63fd366 100644 --- a/docs/0.9.9/capabilities.html +++ b/docs/0.9.9/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/0.9.9/concepts/authentication.html b/docs/0.9.9/concepts/authentication.html index 1b75bfd14..5956a84b5 100644 --- a/docs/0.9.9/concepts/authentication.html +++ b/docs/0.9.9/concepts/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/0.9.9/concepts/caching.html b/docs/0.9.9/concepts/caching.html index 7c8fa8b3d..9a9fde432 100644 --- a/docs/0.9.9/concepts/caching.html +++ b/docs/0.9.9/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/0.9.9/concepts/database-communication.html b/docs/0.9.9/concepts/database-communication.html index aa5f8ceae..673579911 100644 --- a/docs/0.9.9/concepts/database-communication.html +++ b/docs/0.9.9/concepts/database-communication.html @@ -4,7 +4,7 @@ Database communication | Serverpod - + diff --git a/docs/0.9.9/concepts/file-uploads.html b/docs/0.9.9/concepts/file-uploads.html index 6ce20655e..2750f9fa5 100644 --- a/docs/0.9.9/concepts/file-uploads.html +++ b/docs/0.9.9/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/0.9.9/concepts/logging.html b/docs/0.9.9/concepts/logging.html index fd0215da2..c880cbd49 100644 --- a/docs/0.9.9/concepts/logging.html +++ b/docs/0.9.9/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/0.9.9/concepts/modules.html b/docs/0.9.9/concepts/modules.html index 565677b79..8ade40478 100644 --- a/docs/0.9.9/concepts/modules.html +++ b/docs/0.9.9/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/0.9.9/concepts/serialization.html b/docs/0.9.9/concepts/serialization.html index 9431d0de8..b8b07605c 100644 --- a/docs/0.9.9/concepts/serialization.html +++ b/docs/0.9.9/concepts/serialization.html @@ -4,7 +4,7 @@ Serialization | Serverpod - + diff --git a/docs/0.9.9/concepts/streams.html b/docs/0.9.9/concepts/streams.html index 2aff7ad55..5592063d3 100644 --- a/docs/0.9.9/concepts/streams.html +++ b/docs/0.9.9/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/0.9.9/concepts/webserver.html b/docs/0.9.9/concepts/webserver.html index 0fecaa4da..4639e3ffc 100644 --- a/docs/0.9.9/concepts/webserver.html +++ b/docs/0.9.9/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/0.9.9/concepts/working-with-endpoints.html b/docs/0.9.9/concepts/working-with-endpoints.html index 4433c21f4..08dd3ab92 100644 --- a/docs/0.9.9/concepts/working-with-endpoints.html +++ b/docs/0.9.9/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/0.9.9/contribute.html b/docs/0.9.9/contribute.html index b5cb26823..fffe8de99 100644 --- a/docs/0.9.9/contribute.html +++ b/docs/0.9.9/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/0.9.9/deployments/deploying-to-aws.html b/docs/0.9.9/deployments/deploying-to-aws.html index 0812ccfa6..a272e054a 100644 --- a/docs/0.9.9/deployments/deploying-to-aws.html +++ b/docs/0.9.9/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ Deploying to AWS | Serverpod - + diff --git a/docs/0.9.9/deployments/general.html b/docs/0.9.9/deployments/general.html index 6f37e5c88..7f634d2bd 100644 --- a/docs/0.9.9/deployments/general.html +++ b/docs/0.9.9/deployments/general.html @@ -4,7 +4,7 @@ General notes | Serverpod - + diff --git a/docs/0.9.9/roadmap.html b/docs/0.9.9/roadmap.html index 58349ceb5..ccc16a8cb 100644 --- a/docs/0.9.9/roadmap.html +++ b/docs/0.9.9/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/0.9.9/support.html b/docs/0.9.9/support.html index a6ccbccc6..c208a9ed7 100644 --- a/docs/0.9.9/support.html +++ b/docs/0.9.9/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/1.0.0.html b/docs/1.0.0.html index 163346044..27591e56f 100644 --- a/docs/1.0.0.html +++ b/docs/1.0.0.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/1.0.0/capabilities.html b/docs/1.0.0/capabilities.html index c9731bcbb..774c18742 100644 --- a/docs/1.0.0/capabilities.html +++ b/docs/1.0.0/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/1.0.0/concepts/authentication.html b/docs/1.0.0/concepts/authentication.html index 6c5192a04..818c39315 100644 --- a/docs/1.0.0/concepts/authentication.html +++ b/docs/1.0.0/concepts/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/1.0.0/concepts/backward-compatibility.html b/docs/1.0.0/concepts/backward-compatibility.html index 993011359..3784a1af7 100644 --- a/docs/1.0.0/concepts/backward-compatibility.html +++ b/docs/1.0.0/concepts/backward-compatibility.html @@ -4,7 +4,7 @@ Backward compatibility | Serverpod - + diff --git a/docs/1.0.0/concepts/caching.html b/docs/1.0.0/concepts/caching.html index 2f0c9f207..b6a67fb2a 100644 --- a/docs/1.0.0/concepts/caching.html +++ b/docs/1.0.0/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/1.0.0/concepts/database-communication.html b/docs/1.0.0/concepts/database-communication.html index 1b04d851d..5f18c23b3 100644 --- a/docs/1.0.0/concepts/database-communication.html +++ b/docs/1.0.0/concepts/database-communication.html @@ -4,7 +4,7 @@ Database communication | Serverpod - + diff --git a/docs/1.0.0/concepts/file-uploads.html b/docs/1.0.0/concepts/file-uploads.html index 51b42afac..39df6772b 100644 --- a/docs/1.0.0/concepts/file-uploads.html +++ b/docs/1.0.0/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/1.0.0/concepts/health-checks.html b/docs/1.0.0/concepts/health-checks.html index 1c35a4cde..04231fd29 100644 --- a/docs/1.0.0/concepts/health-checks.html +++ b/docs/1.0.0/concepts/health-checks.html @@ -4,7 +4,7 @@ Health checks | Serverpod - + diff --git a/docs/1.0.0/concepts/logging.html b/docs/1.0.0/concepts/logging.html index eca85c0db..d19ec38c8 100644 --- a/docs/1.0.0/concepts/logging.html +++ b/docs/1.0.0/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/1.0.0/concepts/modules.html b/docs/1.0.0/concepts/modules.html index a3de87b8b..47b78b953 100644 --- a/docs/1.0.0/concepts/modules.html +++ b/docs/1.0.0/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/1.0.0/concepts/serialization.html b/docs/1.0.0/concepts/serialization.html index 823f11cb5..7dfaab882 100644 --- a/docs/1.0.0/concepts/serialization.html +++ b/docs/1.0.0/concepts/serialization.html @@ -4,7 +4,7 @@ Serialization | Serverpod - + diff --git a/docs/1.0.0/concepts/streams.html b/docs/1.0.0/concepts/streams.html index 00059453d..8a26064c7 100644 --- a/docs/1.0.0/concepts/streams.html +++ b/docs/1.0.0/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/1.0.0/concepts/webserver.html b/docs/1.0.0/concepts/webserver.html index 3429469a5..312a9c706 100644 --- a/docs/1.0.0/concepts/webserver.html +++ b/docs/1.0.0/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/1.0.0/concepts/working-with-endpoints.html b/docs/1.0.0/concepts/working-with-endpoints.html index b75cce5ea..41f40dcc9 100644 --- a/docs/1.0.0/concepts/working-with-endpoints.html +++ b/docs/1.0.0/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/1.0.0/contribute.html b/docs/1.0.0/contribute.html index 5df90b1a9..a04b6836d 100644 --- a/docs/1.0.0/contribute.html +++ b/docs/1.0.0/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/1.0.0/deployments/deploying-to-aws.html b/docs/1.0.0/deployments/deploying-to-aws.html index 6167fe13c..d65e724a6 100644 --- a/docs/1.0.0/deployments/deploying-to-aws.html +++ b/docs/1.0.0/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ Deploying to AWS | Serverpod - + diff --git a/docs/1.0.0/deployments/general.html b/docs/1.0.0/deployments/general.html index 670b874e6..b62361a7f 100644 --- a/docs/1.0.0/deployments/general.html +++ b/docs/1.0.0/deployments/general.html @@ -4,7 +4,7 @@ General notes | Serverpod - + diff --git a/docs/1.0.0/roadmap.html b/docs/1.0.0/roadmap.html index 26fc30722..353042c7f 100644 --- a/docs/1.0.0/roadmap.html +++ b/docs/1.0.0/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/1.0.0/support.html b/docs/1.0.0/support.html index a0deaad0c..087102965 100644 --- a/docs/1.0.0/support.html +++ b/docs/1.0.0/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/1.0.0/tutorials.html b/docs/1.0.0/tutorials.html index a8cd29b2c..3d434eb8d 100644 --- a/docs/1.0.0/tutorials.html +++ b/docs/1.0.0/tutorials.html @@ -4,7 +4,7 @@ Tutorials & Examples | Serverpod - + diff --git a/docs/1.1.0.html b/docs/1.1.0.html index fd6737ee0..5031f2199 100644 --- a/docs/1.1.0.html +++ b/docs/1.1.0.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/1.1.0/capabilities.html b/docs/1.1.0/capabilities.html index 645239f51..0f64d90f5 100644 --- a/docs/1.1.0/capabilities.html +++ b/docs/1.1.0/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/1.1.0/concepts/authentication.html b/docs/1.1.0/concepts/authentication.html index b75f2e202..e0adbfdb5 100644 --- a/docs/1.1.0/concepts/authentication.html +++ b/docs/1.1.0/concepts/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/1.1.0/concepts/backward-compatibility.html b/docs/1.1.0/concepts/backward-compatibility.html index e1ce30d81..f917150e8 100644 --- a/docs/1.1.0/concepts/backward-compatibility.html +++ b/docs/1.1.0/concepts/backward-compatibility.html @@ -4,7 +4,7 @@ Backward compatibility | Serverpod - + diff --git a/docs/1.1.0/concepts/caching.html b/docs/1.1.0/concepts/caching.html index 551598c61..9b97b3614 100644 --- a/docs/1.1.0/concepts/caching.html +++ b/docs/1.1.0/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/1.1.0/concepts/database-communication.html b/docs/1.1.0/concepts/database-communication.html index 7381f8629..502bbcd41 100644 --- a/docs/1.1.0/concepts/database-communication.html +++ b/docs/1.1.0/concepts/database-communication.html @@ -4,7 +4,7 @@ Database communication | Serverpod - + diff --git a/docs/1.1.0/concepts/exceptions.html b/docs/1.1.0/concepts/exceptions.html index 722c84161..70b1c76e9 100644 --- a/docs/1.1.0/concepts/exceptions.html +++ b/docs/1.1.0/concepts/exceptions.html @@ -4,7 +4,7 @@ Error handling and exceptions | Serverpod - + diff --git a/docs/1.1.0/concepts/file-uploads.html b/docs/1.1.0/concepts/file-uploads.html index 78901746f..89a77d4dc 100644 --- a/docs/1.1.0/concepts/file-uploads.html +++ b/docs/1.1.0/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/1.1.0/concepts/health-checks.html b/docs/1.1.0/concepts/health-checks.html index f7f70440e..4eba260e4 100644 --- a/docs/1.1.0/concepts/health-checks.html +++ b/docs/1.1.0/concepts/health-checks.html @@ -4,7 +4,7 @@ Health checks | Serverpod - + diff --git a/docs/1.1.0/concepts/logging.html b/docs/1.1.0/concepts/logging.html index 57e058a58..10d054344 100644 --- a/docs/1.1.0/concepts/logging.html +++ b/docs/1.1.0/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/1.1.0/concepts/modules.html b/docs/1.1.0/concepts/modules.html index b93af21aa..dc0fcb1bc 100644 --- a/docs/1.1.0/concepts/modules.html +++ b/docs/1.1.0/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/1.1.0/concepts/serialization.html b/docs/1.1.0/concepts/serialization.html index 1c666aef7..274911cad 100644 --- a/docs/1.1.0/concepts/serialization.html +++ b/docs/1.1.0/concepts/serialization.html @@ -4,7 +4,7 @@ Serialization | Serverpod - + diff --git a/docs/1.1.0/concepts/sessions.html b/docs/1.1.0/concepts/sessions.html index a2a08ee47..76681c89a 100644 --- a/docs/1.1.0/concepts/sessions.html +++ b/docs/1.1.0/concepts/sessions.html @@ -4,7 +4,7 @@ Sessions | Serverpod - + diff --git a/docs/1.1.0/concepts/streams.html b/docs/1.1.0/concepts/streams.html index 9e5853e67..46a043953 100644 --- a/docs/1.1.0/concepts/streams.html +++ b/docs/1.1.0/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/1.1.0/concepts/webserver.html b/docs/1.1.0/concepts/webserver.html index cd4be8b5f..5c9171d01 100644 --- a/docs/1.1.0/concepts/webserver.html +++ b/docs/1.1.0/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/1.1.0/concepts/working-with-endpoints.html b/docs/1.1.0/concepts/working-with-endpoints.html index a0aa2092d..1c738be7d 100644 --- a/docs/1.1.0/concepts/working-with-endpoints.html +++ b/docs/1.1.0/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/1.1.0/contribute.html b/docs/1.1.0/contribute.html index b4c6bcb92..fa1d42b49 100644 --- a/docs/1.1.0/contribute.html +++ b/docs/1.1.0/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/1.1.0/deployments/deploying-to-aws.html b/docs/1.1.0/deployments/deploying-to-aws.html index e5a8fe50a..6f51f8c31 100644 --- a/docs/1.1.0/deployments/deploying-to-aws.html +++ b/docs/1.1.0/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ AWS EC2 with Terraform | Serverpod - + diff --git a/docs/1.1.0/deployments/deploying-to-gce-terraform.html b/docs/1.1.0/deployments/deploying-to-gce-terraform.html index c0f15e814..1599c09a5 100644 --- a/docs/1.1.0/deployments/deploying-to-gce-terraform.html +++ b/docs/1.1.0/deployments/deploying-to-gce-terraform.html @@ -4,7 +4,7 @@ Google Cloud Engine with Terraform | Serverpod - + diff --git a/docs/1.1.0/deployments/deploying-to-gcr-console.html b/docs/1.1.0/deployments/deploying-to-gcr-console.html index 8d604d2bb..f87906250 100644 --- a/docs/1.1.0/deployments/deploying-to-gcr-console.html +++ b/docs/1.1.0/deployments/deploying-to-gcr-console.html @@ -4,7 +4,7 @@ Google Cloud Run with CGP Console | Serverpod - + diff --git a/docs/1.1.0/deployments/deployment-strategy.html b/docs/1.1.0/deployments/deployment-strategy.html index 60a17f745..84bba05ff 100644 --- a/docs/1.1.0/deployments/deployment-strategy.html +++ b/docs/1.1.0/deployments/deployment-strategy.html @@ -4,7 +4,7 @@ Choosing deployment strategy | Serverpod - + diff --git a/docs/1.1.0/deployments/general.html b/docs/1.1.0/deployments/general.html index 7cdfd9443..8b511c474 100644 --- a/docs/1.1.0/deployments/general.html +++ b/docs/1.1.0/deployments/general.html @@ -4,7 +4,7 @@ Hosting elsewhere | Serverpod - + diff --git a/docs/1.1.0/insights.html b/docs/1.1.0/insights.html index 0a1ea1a9d..7c218c739 100644 --- a/docs/1.1.0/insights.html +++ b/docs/1.1.0/insights.html @@ -4,7 +4,7 @@ Serverpod Insights | Serverpod - + diff --git a/docs/1.1.0/roadmap.html b/docs/1.1.0/roadmap.html index e219668d3..7a6191499 100644 --- a/docs/1.1.0/roadmap.html +++ b/docs/1.1.0/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/1.1.0/support.html b/docs/1.1.0/support.html index e4a271541..9c6c94a04 100644 --- a/docs/1.1.0/support.html +++ b/docs/1.1.0/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/1.1.0/tutorials.html b/docs/1.1.0/tutorials.html index 4bf230854..8d9c28c3d 100644 --- a/docs/1.1.0/tutorials.html +++ b/docs/1.1.0/tutorials.html @@ -4,7 +4,7 @@ Tutorials & Examples | Serverpod - + diff --git a/docs/1.1.1.html b/docs/1.1.1.html index 718d4d398..ecfd17492 100644 --- a/docs/1.1.1.html +++ b/docs/1.1.1.html @@ -4,7 +4,7 @@ Installing Serverpod | Serverpod - + diff --git a/docs/1.1.1/capabilities.html b/docs/1.1.1/capabilities.html index b59dd10e9..ad212af06 100644 --- a/docs/1.1.1/capabilities.html +++ b/docs/1.1.1/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/1.1.1/concepts/authentication/basics.html b/docs/1.1.1/concepts/authentication/basics.html index 32b715f8d..53206632e 100644 --- a/docs/1.1.1/concepts/authentication/basics.html +++ b/docs/1.1.1/concepts/authentication/basics.html @@ -4,7 +4,7 @@ The basics | Serverpod - + diff --git a/docs/1.1.1/concepts/authentication/providers/apple.html b/docs/1.1.1/concepts/authentication/providers/apple.html index fc086dfb4..bd698f08c 100644 --- a/docs/1.1.1/concepts/authentication/providers/apple.html +++ b/docs/1.1.1/concepts/authentication/providers/apple.html @@ -4,7 +4,7 @@ Apple | Serverpod - + diff --git a/docs/1.1.1/concepts/authentication/providers/email.html b/docs/1.1.1/concepts/authentication/providers/email.html index f1ad9d0d3..d3dea0724 100644 --- a/docs/1.1.1/concepts/authentication/providers/email.html +++ b/docs/1.1.1/concepts/authentication/providers/email.html @@ -4,7 +4,7 @@ Email | Serverpod - + diff --git a/docs/1.1.1/concepts/authentication/providers/firebase.html b/docs/1.1.1/concepts/authentication/providers/firebase.html index b72922c2e..74c479e62 100644 --- a/docs/1.1.1/concepts/authentication/providers/firebase.html +++ b/docs/1.1.1/concepts/authentication/providers/firebase.html @@ -4,7 +4,7 @@ Firebase | Serverpod - + diff --git a/docs/1.1.1/concepts/authentication/providers/google.html b/docs/1.1.1/concepts/authentication/providers/google.html index 79f334dbf..f93c3a104 100644 --- a/docs/1.1.1/concepts/authentication/providers/google.html +++ b/docs/1.1.1/concepts/authentication/providers/google.html @@ -4,7 +4,7 @@ Google | Serverpod - + diff --git a/docs/1.1.1/concepts/authentication/setup.html b/docs/1.1.1/concepts/authentication/setup.html index fb0a426bc..e90a54480 100644 --- a/docs/1.1.1/concepts/authentication/setup.html +++ b/docs/1.1.1/concepts/authentication/setup.html @@ -4,7 +4,7 @@ Setup | Serverpod - + diff --git a/docs/1.1.1/concepts/authentication/working-with-users.html b/docs/1.1.1/concepts/authentication/working-with-users.html index 59de9025d..a733af183 100644 --- a/docs/1.1.1/concepts/authentication/working-with-users.html +++ b/docs/1.1.1/concepts/authentication/working-with-users.html @@ -4,7 +4,7 @@ Working with users | Serverpod - + diff --git a/docs/1.1.1/concepts/backward-compatibility.html b/docs/1.1.1/concepts/backward-compatibility.html index ac0613f5f..f8cfdc63a 100644 --- a/docs/1.1.1/concepts/backward-compatibility.html +++ b/docs/1.1.1/concepts/backward-compatibility.html @@ -4,7 +4,7 @@ Backward compatibility | Serverpod - + diff --git a/docs/1.1.1/concepts/caching.html b/docs/1.1.1/concepts/caching.html index eefb27c8a..0fbdfd21c 100644 --- a/docs/1.1.1/concepts/caching.html +++ b/docs/1.1.1/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/1.1.1/concepts/database-communication.html b/docs/1.1.1/concepts/database-communication.html index 4e59f8307..cb02cdf5f 100644 --- a/docs/1.1.1/concepts/database-communication.html +++ b/docs/1.1.1/concepts/database-communication.html @@ -4,7 +4,7 @@ Database communication | Serverpod - + diff --git a/docs/1.1.1/concepts/exceptions.html b/docs/1.1.1/concepts/exceptions.html index f862ce78d..2ec5d6ed2 100644 --- a/docs/1.1.1/concepts/exceptions.html +++ b/docs/1.1.1/concepts/exceptions.html @@ -4,7 +4,7 @@ Error handling and exceptions | Serverpod - + diff --git a/docs/1.1.1/concepts/file-uploads.html b/docs/1.1.1/concepts/file-uploads.html index 8b2ca104a..4544e22f0 100644 --- a/docs/1.1.1/concepts/file-uploads.html +++ b/docs/1.1.1/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/1.1.1/concepts/health-checks.html b/docs/1.1.1/concepts/health-checks.html index c9568dc67..f0a2289ec 100644 --- a/docs/1.1.1/concepts/health-checks.html +++ b/docs/1.1.1/concepts/health-checks.html @@ -4,7 +4,7 @@ Health checks | Serverpod - + diff --git a/docs/1.1.1/concepts/logging.html b/docs/1.1.1/concepts/logging.html index af752bfdc..6c8eee9fa 100644 --- a/docs/1.1.1/concepts/logging.html +++ b/docs/1.1.1/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/1.1.1/concepts/modules.html b/docs/1.1.1/concepts/modules.html index d3710361c..af77cbab6 100644 --- a/docs/1.1.1/concepts/modules.html +++ b/docs/1.1.1/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/1.1.1/concepts/serialization.html b/docs/1.1.1/concepts/serialization.html index 517eab863..85bf6f04e 100644 --- a/docs/1.1.1/concepts/serialization.html +++ b/docs/1.1.1/concepts/serialization.html @@ -4,7 +4,7 @@ Serialization | Serverpod - + diff --git a/docs/1.1.1/concepts/sessions.html b/docs/1.1.1/concepts/sessions.html index c8d3c2c02..f8c9978c4 100644 --- a/docs/1.1.1/concepts/sessions.html +++ b/docs/1.1.1/concepts/sessions.html @@ -4,7 +4,7 @@ Sessions | Serverpod - + diff --git a/docs/1.1.1/concepts/streams.html b/docs/1.1.1/concepts/streams.html index 4a6e02926..5f9440380 100644 --- a/docs/1.1.1/concepts/streams.html +++ b/docs/1.1.1/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/1.1.1/concepts/webserver.html b/docs/1.1.1/concepts/webserver.html index 4ac6b51e3..82c84ea2b 100644 --- a/docs/1.1.1/concepts/webserver.html +++ b/docs/1.1.1/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/1.1.1/concepts/working-with-endpoints.html b/docs/1.1.1/concepts/working-with-endpoints.html index b9877c7d0..cf1d8ea9d 100644 --- a/docs/1.1.1/concepts/working-with-endpoints.html +++ b/docs/1.1.1/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/1.1.1/contribute.html b/docs/1.1.1/contribute.html index 57ce1f3bb..7e9e87043 100644 --- a/docs/1.1.1/contribute.html +++ b/docs/1.1.1/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/1.1.1/deployments/deploying-to-aws.html b/docs/1.1.1/deployments/deploying-to-aws.html index 43d11bf34..95ea1dea6 100644 --- a/docs/1.1.1/deployments/deploying-to-aws.html +++ b/docs/1.1.1/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ AWS EC2 with Terraform | Serverpod - + diff --git a/docs/1.1.1/deployments/deploying-to-gce-terraform.html b/docs/1.1.1/deployments/deploying-to-gce-terraform.html index 0db16503a..8f9951a5c 100644 --- a/docs/1.1.1/deployments/deploying-to-gce-terraform.html +++ b/docs/1.1.1/deployments/deploying-to-gce-terraform.html @@ -4,7 +4,7 @@ Google Cloud Engine with Terraform | Serverpod - + diff --git a/docs/1.1.1/deployments/deploying-to-gcr-console.html b/docs/1.1.1/deployments/deploying-to-gcr-console.html index 1f98838be..47be1bd2f 100644 --- a/docs/1.1.1/deployments/deploying-to-gcr-console.html +++ b/docs/1.1.1/deployments/deploying-to-gcr-console.html @@ -4,7 +4,7 @@ Google Cloud Run with CGP Console | Serverpod - + diff --git a/docs/1.1.1/deployments/deployment-strategy.html b/docs/1.1.1/deployments/deployment-strategy.html index b30956aef..ce5b1fa16 100644 --- a/docs/1.1.1/deployments/deployment-strategy.html +++ b/docs/1.1.1/deployments/deployment-strategy.html @@ -4,7 +4,7 @@ Choosing deployment strategy | Serverpod - + diff --git a/docs/1.1.1/deployments/general.html b/docs/1.1.1/deployments/general.html index 4cf0a9263..dddfddccf 100644 --- a/docs/1.1.1/deployments/general.html +++ b/docs/1.1.1/deployments/general.html @@ -4,7 +4,7 @@ Hosting elsewhere | Serverpod - + diff --git a/docs/1.1.1/get-started.html b/docs/1.1.1/get-started.html index 49d5fa010..601a12c16 100644 --- a/docs/1.1.1/get-started.html +++ b/docs/1.1.1/get-started.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/1.1.1/insights.html b/docs/1.1.1/insights.html index 7b1e734d0..87b9605c1 100644 --- a/docs/1.1.1/insights.html +++ b/docs/1.1.1/insights.html @@ -4,7 +4,7 @@ Serverpod Insights | Serverpod - + diff --git a/docs/1.1.1/roadmap.html b/docs/1.1.1/roadmap.html index b654acdfb..90a65fc1e 100644 --- a/docs/1.1.1/roadmap.html +++ b/docs/1.1.1/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/1.1.1/support.html b/docs/1.1.1/support.html index d82002aa9..ea2f31539 100644 --- a/docs/1.1.1/support.html +++ b/docs/1.1.1/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/1.1.1/tutorials/authentication.html b/docs/1.1.1/tutorials/authentication.html index c572a09ce..eaede5552 100644 --- a/docs/1.1.1/tutorials/authentication.html +++ b/docs/1.1.1/tutorials/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/1.1.1/tutorials/code-example.html b/docs/1.1.1/tutorials/code-example.html index 2a9e0fc3e..a95ca9fe7 100644 --- a/docs/1.1.1/tutorials/code-example.html +++ b/docs/1.1.1/tutorials/code-example.html @@ -4,7 +4,7 @@ Code examples | Serverpod - + diff --git a/docs/1.1.1/tutorials/first-app.html b/docs/1.1.1/tutorials/first-app.html index 42659d283..c5eacaef0 100644 --- a/docs/1.1.1/tutorials/first-app.html +++ b/docs/1.1.1/tutorials/first-app.html @@ -4,7 +4,7 @@ Build your first app | Serverpod - + diff --git a/docs/1.1.1/tutorials/videos.html b/docs/1.1.1/tutorials/videos.html index 52d8fa47b..b9e17fcae 100644 --- a/docs/1.1.1/tutorials/videos.html +++ b/docs/1.1.1/tutorials/videos.html @@ -4,7 +4,7 @@ Videos | Serverpod - + diff --git a/docs/1.2.0.html b/docs/1.2.0.html index 24b0f9154..f6d5bef4f 100644 --- a/docs/1.2.0.html +++ b/docs/1.2.0.html @@ -4,7 +4,7 @@ Installing Serverpod | Serverpod - + diff --git a/docs/1.2.0/capabilities.html b/docs/1.2.0/capabilities.html index 61b84f90e..a53d0cc16 100644 --- a/docs/1.2.0/capabilities.html +++ b/docs/1.2.0/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/1.2.0/cli.html b/docs/1.2.0/cli.html index d63ed5c5e..3fc7fc024 100644 --- a/docs/1.2.0/cli.html +++ b/docs/1.2.0/cli.html @@ -4,7 +4,7 @@ Serverpod CLI | Serverpod - + diff --git a/docs/1.2.0/concepts/authentication/basics.html b/docs/1.2.0/concepts/authentication/basics.html index df4c32dd7..3e64bb1bc 100644 --- a/docs/1.2.0/concepts/authentication/basics.html +++ b/docs/1.2.0/concepts/authentication/basics.html @@ -4,7 +4,7 @@ The basics | Serverpod - + diff --git a/docs/1.2.0/concepts/authentication/custom-overrides.html b/docs/1.2.0/concepts/authentication/custom-overrides.html index 51d1fd587..324a25cf1 100644 --- a/docs/1.2.0/concepts/authentication/custom-overrides.html +++ b/docs/1.2.0/concepts/authentication/custom-overrides.html @@ -4,7 +4,7 @@ Custom overrides | Serverpod - + diff --git a/docs/1.2.0/concepts/authentication/providers/apple.html b/docs/1.2.0/concepts/authentication/providers/apple.html index a73abea50..27ee77452 100644 --- a/docs/1.2.0/concepts/authentication/providers/apple.html +++ b/docs/1.2.0/concepts/authentication/providers/apple.html @@ -4,7 +4,7 @@ Apple | Serverpod - + diff --git a/docs/1.2.0/concepts/authentication/providers/custom-providers.html b/docs/1.2.0/concepts/authentication/providers/custom-providers.html index 354735a27..fbbb194a2 100644 --- a/docs/1.2.0/concepts/authentication/providers/custom-providers.html +++ b/docs/1.2.0/concepts/authentication/providers/custom-providers.html @@ -4,7 +4,7 @@ Custom providers | Serverpod - + diff --git a/docs/1.2.0/concepts/authentication/providers/email.html b/docs/1.2.0/concepts/authentication/providers/email.html index 45b6c013e..ab91e33cd 100644 --- a/docs/1.2.0/concepts/authentication/providers/email.html +++ b/docs/1.2.0/concepts/authentication/providers/email.html @@ -4,7 +4,7 @@ Email | Serverpod - + diff --git a/docs/1.2.0/concepts/authentication/providers/firebase.html b/docs/1.2.0/concepts/authentication/providers/firebase.html index 193a4c6d4..0a54fb54f 100644 --- a/docs/1.2.0/concepts/authentication/providers/firebase.html +++ b/docs/1.2.0/concepts/authentication/providers/firebase.html @@ -4,7 +4,7 @@ Firebase | Serverpod - + diff --git a/docs/1.2.0/concepts/authentication/providers/google.html b/docs/1.2.0/concepts/authentication/providers/google.html index 079f6d851..e9038bd13 100644 --- a/docs/1.2.0/concepts/authentication/providers/google.html +++ b/docs/1.2.0/concepts/authentication/providers/google.html @@ -4,7 +4,7 @@ Google | Serverpod - + diff --git a/docs/1.2.0/concepts/authentication/setup.html b/docs/1.2.0/concepts/authentication/setup.html index 92f4f4cbc..6c8d27bc7 100644 --- a/docs/1.2.0/concepts/authentication/setup.html +++ b/docs/1.2.0/concepts/authentication/setup.html @@ -4,7 +4,7 @@ Setup | Serverpod - + diff --git a/docs/1.2.0/concepts/authentication/working-with-users.html b/docs/1.2.0/concepts/authentication/working-with-users.html index 244d4516d..29feb33d0 100644 --- a/docs/1.2.0/concepts/authentication/working-with-users.html +++ b/docs/1.2.0/concepts/authentication/working-with-users.html @@ -4,7 +4,7 @@ Working with users | Serverpod - + diff --git a/docs/1.2.0/concepts/backward-compatibility.html b/docs/1.2.0/concepts/backward-compatibility.html index 25de16cb2..c671a9c24 100644 --- a/docs/1.2.0/concepts/backward-compatibility.html +++ b/docs/1.2.0/concepts/backward-compatibility.html @@ -4,7 +4,7 @@ Backward compatibility | Serverpod - + diff --git a/docs/1.2.0/concepts/caching.html b/docs/1.2.0/concepts/caching.html index 892bfb3cb..e4a18153e 100644 --- a/docs/1.2.0/concepts/caching.html +++ b/docs/1.2.0/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/1.2.0/concepts/database/connection.html b/docs/1.2.0/concepts/database/connection.html index 6bd80efdb..7fbe9fd5e 100644 --- a/docs/1.2.0/concepts/database/connection.html +++ b/docs/1.2.0/concepts/database/connection.html @@ -4,7 +4,7 @@ Connection | Serverpod - + diff --git a/docs/1.2.0/concepts/database/crud.html b/docs/1.2.0/concepts/database/crud.html index dc983a286..149161526 100644 --- a/docs/1.2.0/concepts/database/crud.html +++ b/docs/1.2.0/concepts/database/crud.html @@ -4,7 +4,7 @@ CRUD | Serverpod - + diff --git a/docs/1.2.0/concepts/database/filter.html b/docs/1.2.0/concepts/database/filter.html index dfd603033..2b3eeb898 100644 --- a/docs/1.2.0/concepts/database/filter.html +++ b/docs/1.2.0/concepts/database/filter.html @@ -4,7 +4,7 @@ Filter | Serverpod - + diff --git a/docs/1.2.0/concepts/database/indexing.html b/docs/1.2.0/concepts/database/indexing.html index 9900391eb..17264086d 100644 --- a/docs/1.2.0/concepts/database/indexing.html +++ b/docs/1.2.0/concepts/database/indexing.html @@ -4,7 +4,7 @@ Indexing | Serverpod - + diff --git a/docs/1.2.0/concepts/database/migrations.html b/docs/1.2.0/concepts/database/migrations.html index fddf0133c..c2195167d 100644 --- a/docs/1.2.0/concepts/database/migrations.html +++ b/docs/1.2.0/concepts/database/migrations.html @@ -4,7 +4,7 @@ Migrations | Serverpod - + diff --git a/docs/1.2.0/concepts/database/models.html b/docs/1.2.0/concepts/database/models.html index 5745350d2..2091e1511 100644 --- a/docs/1.2.0/concepts/database/models.html +++ b/docs/1.2.0/concepts/database/models.html @@ -4,7 +4,7 @@ Models | Serverpod - + diff --git a/docs/1.2.0/concepts/database/pagination.html b/docs/1.2.0/concepts/database/pagination.html index fa4877ebe..feb2d19ca 100644 --- a/docs/1.2.0/concepts/database/pagination.html +++ b/docs/1.2.0/concepts/database/pagination.html @@ -4,7 +4,7 @@ Pagination | Serverpod - + diff --git a/docs/1.2.0/concepts/database/raw-access.html b/docs/1.2.0/concepts/database/raw-access.html index 7c899555f..a9130d512 100644 --- a/docs/1.2.0/concepts/database/raw-access.html +++ b/docs/1.2.0/concepts/database/raw-access.html @@ -4,7 +4,7 @@ Raw access | Serverpod - + diff --git a/docs/1.2.0/concepts/database/relation-queries.html b/docs/1.2.0/concepts/database/relation-queries.html index d2e0d25fc..59b69cee0 100644 --- a/docs/1.2.0/concepts/database/relation-queries.html +++ b/docs/1.2.0/concepts/database/relation-queries.html @@ -4,7 +4,7 @@ Relation queries | Serverpod - + diff --git a/docs/1.2.0/concepts/database/relations/many-to-many.html b/docs/1.2.0/concepts/database/relations/many-to-many.html index 6295f2cf9..70f8d4a60 100644 --- a/docs/1.2.0/concepts/database/relations/many-to-many.html +++ b/docs/1.2.0/concepts/database/relations/many-to-many.html @@ -4,7 +4,7 @@ Many-to-Many | Serverpod - + diff --git a/docs/1.2.0/concepts/database/relations/modules.html b/docs/1.2.0/concepts/database/relations/modules.html index 006686879..fb40aad6c 100644 --- a/docs/1.2.0/concepts/database/relations/modules.html +++ b/docs/1.2.0/concepts/database/relations/modules.html @@ -4,7 +4,7 @@ Relations with modules | Serverpod - + diff --git a/docs/1.2.0/concepts/database/relations/one-to-many.html b/docs/1.2.0/concepts/database/relations/one-to-many.html index 862ff5dcb..d31949254 100644 --- a/docs/1.2.0/concepts/database/relations/one-to-many.html +++ b/docs/1.2.0/concepts/database/relations/one-to-many.html @@ -4,7 +4,7 @@ One-to-many | Serverpod - + diff --git a/docs/1.2.0/concepts/database/relations/one-to-one.html b/docs/1.2.0/concepts/database/relations/one-to-one.html index d65433d38..410f00d3c 100644 --- a/docs/1.2.0/concepts/database/relations/one-to-one.html +++ b/docs/1.2.0/concepts/database/relations/one-to-one.html @@ -4,7 +4,7 @@ One-to-one | Serverpod - + diff --git a/docs/1.2.0/concepts/database/relations/referential-actions.html b/docs/1.2.0/concepts/database/relations/referential-actions.html index 1ae08baba..a49fa08b3 100644 --- a/docs/1.2.0/concepts/database/relations/referential-actions.html +++ b/docs/1.2.0/concepts/database/relations/referential-actions.html @@ -4,7 +4,7 @@ Referential actions | Serverpod - + diff --git a/docs/1.2.0/concepts/database/relations/self-relations.html b/docs/1.2.0/concepts/database/relations/self-relations.html index b07fe13f1..ed8876d12 100644 --- a/docs/1.2.0/concepts/database/relations/self-relations.html +++ b/docs/1.2.0/concepts/database/relations/self-relations.html @@ -4,7 +4,7 @@ Self-relations | Serverpod - + diff --git a/docs/1.2.0/concepts/database/sort.html b/docs/1.2.0/concepts/database/sort.html index b0e286e52..943f35b0f 100644 --- a/docs/1.2.0/concepts/database/sort.html +++ b/docs/1.2.0/concepts/database/sort.html @@ -4,7 +4,7 @@ Sort | Serverpod - + diff --git a/docs/1.2.0/concepts/database/transactions.html b/docs/1.2.0/concepts/database/transactions.html index 7fc74936f..8a4a35814 100644 --- a/docs/1.2.0/concepts/database/transactions.html +++ b/docs/1.2.0/concepts/database/transactions.html @@ -4,7 +4,7 @@ Transactions | Serverpod - + diff --git a/docs/1.2.0/concepts/exceptions.html b/docs/1.2.0/concepts/exceptions.html index 279d40a54..85878ed53 100644 --- a/docs/1.2.0/concepts/exceptions.html +++ b/docs/1.2.0/concepts/exceptions.html @@ -4,7 +4,7 @@ Error handling and exceptions | Serverpod - + diff --git a/docs/1.2.0/concepts/file-uploads.html b/docs/1.2.0/concepts/file-uploads.html index 9987cd18b..b248d5833 100644 --- a/docs/1.2.0/concepts/file-uploads.html +++ b/docs/1.2.0/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/1.2.0/concepts/health-checks.html b/docs/1.2.0/concepts/health-checks.html index 78ab61bbb..c74c8d8a2 100644 --- a/docs/1.2.0/concepts/health-checks.html +++ b/docs/1.2.0/concepts/health-checks.html @@ -4,7 +4,7 @@ Health checks | Serverpod - + diff --git a/docs/1.2.0/concepts/logging.html b/docs/1.2.0/concepts/logging.html index 42110f972..9442fe505 100644 --- a/docs/1.2.0/concepts/logging.html +++ b/docs/1.2.0/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/1.2.0/concepts/models.html b/docs/1.2.0/concepts/models.html index b288be65e..22551aed4 100644 --- a/docs/1.2.0/concepts/models.html +++ b/docs/1.2.0/concepts/models.html @@ -4,7 +4,7 @@ Working with models | Serverpod - + diff --git a/docs/1.2.0/concepts/modules.html b/docs/1.2.0/concepts/modules.html index f5c3da4be..e8e92b3d0 100644 --- a/docs/1.2.0/concepts/modules.html +++ b/docs/1.2.0/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/1.2.0/concepts/scheduling.html b/docs/1.2.0/concepts/scheduling.html index 0e682f6c4..b022e6c07 100644 --- a/docs/1.2.0/concepts/scheduling.html +++ b/docs/1.2.0/concepts/scheduling.html @@ -4,7 +4,7 @@ Scheduling | Serverpod - + diff --git a/docs/1.2.0/concepts/serialization.html b/docs/1.2.0/concepts/serialization.html index 11cdaa4a2..763cf6b3e 100644 --- a/docs/1.2.0/concepts/serialization.html +++ b/docs/1.2.0/concepts/serialization.html @@ -4,7 +4,7 @@ Custom serialization | Serverpod - + diff --git a/docs/1.2.0/concepts/sessions.html b/docs/1.2.0/concepts/sessions.html index 21fc14e3c..3ca8d8080 100644 --- a/docs/1.2.0/concepts/sessions.html +++ b/docs/1.2.0/concepts/sessions.html @@ -4,7 +4,7 @@ Sessions | Serverpod - + diff --git a/docs/1.2.0/concepts/streams.html b/docs/1.2.0/concepts/streams.html index c70bfdae2..7b0de4201 100644 --- a/docs/1.2.0/concepts/streams.html +++ b/docs/1.2.0/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/1.2.0/concepts/webserver.html b/docs/1.2.0/concepts/webserver.html index 60cd602d7..021fc4984 100644 --- a/docs/1.2.0/concepts/webserver.html +++ b/docs/1.2.0/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/1.2.0/concepts/working-with-endpoints.html b/docs/1.2.0/concepts/working-with-endpoints.html index 9748b9097..3e4da6945 100644 --- a/docs/1.2.0/concepts/working-with-endpoints.html +++ b/docs/1.2.0/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/1.2.0/contribute.html b/docs/1.2.0/contribute.html index 7c1bfe0bd..8523ec9c7 100644 --- a/docs/1.2.0/contribute.html +++ b/docs/1.2.0/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/1.2.0/deployments/deploying-to-aws.html b/docs/1.2.0/deployments/deploying-to-aws.html index 151e6bf43..8f6282733 100644 --- a/docs/1.2.0/deployments/deploying-to-aws.html +++ b/docs/1.2.0/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ AWS EC2 with Terraform | Serverpod - + diff --git a/docs/1.2.0/deployments/deploying-to-gce-terraform.html b/docs/1.2.0/deployments/deploying-to-gce-terraform.html index 88fa5bd3d..a79fc3179 100644 --- a/docs/1.2.0/deployments/deploying-to-gce-terraform.html +++ b/docs/1.2.0/deployments/deploying-to-gce-terraform.html @@ -4,7 +4,7 @@ Google Cloud Engine with Terraform | Serverpod - + diff --git a/docs/1.2.0/deployments/deploying-to-gcr-console.html b/docs/1.2.0/deployments/deploying-to-gcr-console.html index d44776053..5e264de9c 100644 --- a/docs/1.2.0/deployments/deploying-to-gcr-console.html +++ b/docs/1.2.0/deployments/deploying-to-gcr-console.html @@ -4,7 +4,7 @@ Google Cloud Run with CGP Console | Serverpod - + diff --git a/docs/1.2.0/deployments/deployment-strategy.html b/docs/1.2.0/deployments/deployment-strategy.html index 806915b33..fc8777d30 100644 --- a/docs/1.2.0/deployments/deployment-strategy.html +++ b/docs/1.2.0/deployments/deployment-strategy.html @@ -4,7 +4,7 @@ Choosing deployment strategy | Serverpod - + diff --git a/docs/1.2.0/deployments/general.html b/docs/1.2.0/deployments/general.html index 9c48e1c63..277a530bc 100644 --- a/docs/1.2.0/deployments/general.html +++ b/docs/1.2.0/deployments/general.html @@ -4,7 +4,7 @@ Hosting elsewhere | Serverpod - + diff --git a/docs/1.2.0/get-started.html b/docs/1.2.0/get-started.html index dab5de518..6678801f9 100644 --- a/docs/1.2.0/get-started.html +++ b/docs/1.2.0/get-started.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/1.2.0/insights.html b/docs/1.2.0/insights.html index c6a401a5f..1c27b8307 100644 --- a/docs/1.2.0/insights.html +++ b/docs/1.2.0/insights.html @@ -4,7 +4,7 @@ Serverpod Insights | Serverpod - + diff --git a/docs/1.2.0/lsp.html b/docs/1.2.0/lsp.html index 85fa36fd0..dc5db7d69 100644 --- a/docs/1.2.0/lsp.html +++ b/docs/1.2.0/lsp.html @@ -4,7 +4,7 @@ Serverpod LSP | Serverpod - + diff --git a/docs/1.2.0/roadmap.html b/docs/1.2.0/roadmap.html index 06edea1b6..a8b4db7e8 100644 --- a/docs/1.2.0/roadmap.html +++ b/docs/1.2.0/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/1.2.0/support.html b/docs/1.2.0/support.html index 7d8725406..281cd20b8 100644 --- a/docs/1.2.0/support.html +++ b/docs/1.2.0/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/1.2.0/tutorials/authentication.html b/docs/1.2.0/tutorials/authentication.html index 3ffe65aea..9089578f3 100644 --- a/docs/1.2.0/tutorials/authentication.html +++ b/docs/1.2.0/tutorials/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/1.2.0/tutorials/code-example.html b/docs/1.2.0/tutorials/code-example.html index 7470fdc73..1a3a1343e 100644 --- a/docs/1.2.0/tutorials/code-example.html +++ b/docs/1.2.0/tutorials/code-example.html @@ -4,7 +4,7 @@ Code examples | Serverpod - + diff --git a/docs/1.2.0/tutorials/first-app.html b/docs/1.2.0/tutorials/first-app.html index d4ffab417..e2bb80623 100644 --- a/docs/1.2.0/tutorials/first-app.html +++ b/docs/1.2.0/tutorials/first-app.html @@ -4,7 +4,7 @@ Build your first app | Serverpod - + diff --git a/docs/1.2.0/tutorials/videos.html b/docs/1.2.0/tutorials/videos.html index df5fabde8..daff1b01d 100644 --- a/docs/1.2.0/tutorials/videos.html +++ b/docs/1.2.0/tutorials/videos.html @@ -4,7 +4,7 @@ Videos | Serverpod - + diff --git a/docs/1.2.0/upgrading/upgrade-to-one-point-two.html b/docs/1.2.0/upgrading/upgrade-to-one-point-two.html index 39eb2f819..d41d1b55d 100644 --- a/docs/1.2.0/upgrading/upgrade-to-one-point-two.html +++ b/docs/1.2.0/upgrading/upgrade-to-one-point-two.html @@ -4,7 +4,7 @@ Upgrade to 1.2 | Serverpod - + diff --git a/docs/2.0.0.html b/docs/2.0.0.html index d7c68b7e2..a0fedec7d 100644 --- a/docs/2.0.0.html +++ b/docs/2.0.0.html @@ -4,7 +4,7 @@ Installing Serverpod | Serverpod - + diff --git a/docs/2.0.0/capabilities.html b/docs/2.0.0/capabilities.html index bd28d8c92..d305a1923 100644 --- a/docs/2.0.0/capabilities.html +++ b/docs/2.0.0/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/2.0.0/concepts/authentication/basics.html b/docs/2.0.0/concepts/authentication/basics.html index ec5adfbe6..3d4cf7d62 100644 --- a/docs/2.0.0/concepts/authentication/basics.html +++ b/docs/2.0.0/concepts/authentication/basics.html @@ -4,7 +4,7 @@ The basics | Serverpod - + diff --git a/docs/2.0.0/concepts/authentication/custom-overrides.html b/docs/2.0.0/concepts/authentication/custom-overrides.html index 5ba71ed10..a05a93d12 100644 --- a/docs/2.0.0/concepts/authentication/custom-overrides.html +++ b/docs/2.0.0/concepts/authentication/custom-overrides.html @@ -4,7 +4,7 @@ Custom overrides | Serverpod - + diff --git a/docs/2.0.0/concepts/authentication/providers/apple.html b/docs/2.0.0/concepts/authentication/providers/apple.html index a5ed87eaa..e03bbc3db 100644 --- a/docs/2.0.0/concepts/authentication/providers/apple.html +++ b/docs/2.0.0/concepts/authentication/providers/apple.html @@ -4,7 +4,7 @@ Apple | Serverpod - + diff --git a/docs/2.0.0/concepts/authentication/providers/custom-providers.html b/docs/2.0.0/concepts/authentication/providers/custom-providers.html index aff1be27d..b67474b21 100644 --- a/docs/2.0.0/concepts/authentication/providers/custom-providers.html +++ b/docs/2.0.0/concepts/authentication/providers/custom-providers.html @@ -4,7 +4,7 @@ Custom providers | Serverpod - + diff --git a/docs/2.0.0/concepts/authentication/providers/email.html b/docs/2.0.0/concepts/authentication/providers/email.html index f3d5fd8e6..bd80a354d 100644 --- a/docs/2.0.0/concepts/authentication/providers/email.html +++ b/docs/2.0.0/concepts/authentication/providers/email.html @@ -4,7 +4,7 @@ Email | Serverpod - + diff --git a/docs/2.0.0/concepts/authentication/providers/firebase.html b/docs/2.0.0/concepts/authentication/providers/firebase.html index aa02b4dc9..41cd9ea31 100644 --- a/docs/2.0.0/concepts/authentication/providers/firebase.html +++ b/docs/2.0.0/concepts/authentication/providers/firebase.html @@ -4,7 +4,7 @@ Firebase | Serverpod - + diff --git a/docs/2.0.0/concepts/authentication/providers/google.html b/docs/2.0.0/concepts/authentication/providers/google.html index d32b9b23e..665a84949 100644 --- a/docs/2.0.0/concepts/authentication/providers/google.html +++ b/docs/2.0.0/concepts/authentication/providers/google.html @@ -4,7 +4,7 @@ Google | Serverpod - + diff --git a/docs/2.0.0/concepts/authentication/setup.html b/docs/2.0.0/concepts/authentication/setup.html index bba64bbee..d9e76976f 100644 --- a/docs/2.0.0/concepts/authentication/setup.html +++ b/docs/2.0.0/concepts/authentication/setup.html @@ -4,7 +4,7 @@ Setup | Serverpod - + diff --git a/docs/2.0.0/concepts/authentication/working-with-users.html b/docs/2.0.0/concepts/authentication/working-with-users.html index 4a4316644..c2ed1fb16 100644 --- a/docs/2.0.0/concepts/authentication/working-with-users.html +++ b/docs/2.0.0/concepts/authentication/working-with-users.html @@ -4,7 +4,7 @@ Working with users | Serverpod - + diff --git a/docs/2.0.0/concepts/backward-compatibility.html b/docs/2.0.0/concepts/backward-compatibility.html index d21570ac4..6ba31b190 100644 --- a/docs/2.0.0/concepts/backward-compatibility.html +++ b/docs/2.0.0/concepts/backward-compatibility.html @@ -4,7 +4,7 @@ Backward compatibility | Serverpod - + diff --git a/docs/2.0.0/concepts/caching.html b/docs/2.0.0/concepts/caching.html index 932c87f33..3128ad18a 100644 --- a/docs/2.0.0/concepts/caching.html +++ b/docs/2.0.0/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/2.0.0/concepts/database/connection.html b/docs/2.0.0/concepts/database/connection.html index c1f741dc0..165b984c7 100644 --- a/docs/2.0.0/concepts/database/connection.html +++ b/docs/2.0.0/concepts/database/connection.html @@ -4,7 +4,7 @@ Connection | Serverpod - + diff --git a/docs/2.0.0/concepts/database/crud.html b/docs/2.0.0/concepts/database/crud.html index 527cd806f..e9db0230d 100644 --- a/docs/2.0.0/concepts/database/crud.html +++ b/docs/2.0.0/concepts/database/crud.html @@ -4,7 +4,7 @@ CRUD | Serverpod - + diff --git a/docs/2.0.0/concepts/database/filter.html b/docs/2.0.0/concepts/database/filter.html index 0a5486935..7da17b744 100644 --- a/docs/2.0.0/concepts/database/filter.html +++ b/docs/2.0.0/concepts/database/filter.html @@ -4,7 +4,7 @@ Filter | Serverpod - + diff --git a/docs/2.0.0/concepts/database/indexing.html b/docs/2.0.0/concepts/database/indexing.html index d54999513..8ce11dbcb 100644 --- a/docs/2.0.0/concepts/database/indexing.html +++ b/docs/2.0.0/concepts/database/indexing.html @@ -4,7 +4,7 @@ Indexing | Serverpod - + diff --git a/docs/2.0.0/concepts/database/migrations.html b/docs/2.0.0/concepts/database/migrations.html index 954ea937a..bbd362109 100644 --- a/docs/2.0.0/concepts/database/migrations.html +++ b/docs/2.0.0/concepts/database/migrations.html @@ -4,7 +4,7 @@ Migrations | Serverpod - + diff --git a/docs/2.0.0/concepts/database/models.html b/docs/2.0.0/concepts/database/models.html index 459f37043..86fe23266 100644 --- a/docs/2.0.0/concepts/database/models.html +++ b/docs/2.0.0/concepts/database/models.html @@ -4,7 +4,7 @@ Models | Serverpod - + diff --git a/docs/2.0.0/concepts/database/pagination.html b/docs/2.0.0/concepts/database/pagination.html index e4872fc59..498a17d04 100644 --- a/docs/2.0.0/concepts/database/pagination.html +++ b/docs/2.0.0/concepts/database/pagination.html @@ -4,7 +4,7 @@ Pagination | Serverpod - + diff --git a/docs/2.0.0/concepts/database/raw-access.html b/docs/2.0.0/concepts/database/raw-access.html index 7ed834ed4..352190c42 100644 --- a/docs/2.0.0/concepts/database/raw-access.html +++ b/docs/2.0.0/concepts/database/raw-access.html @@ -4,7 +4,7 @@ Raw Access | Serverpod - + diff --git a/docs/2.0.0/concepts/database/relation-queries.html b/docs/2.0.0/concepts/database/relation-queries.html index 81ad1f272..b85376c09 100644 --- a/docs/2.0.0/concepts/database/relation-queries.html +++ b/docs/2.0.0/concepts/database/relation-queries.html @@ -4,7 +4,7 @@ Relation queries | Serverpod - + diff --git a/docs/2.0.0/concepts/database/relations/many-to-many.html b/docs/2.0.0/concepts/database/relations/many-to-many.html index 628de5f3b..4f8c6fc3a 100644 --- a/docs/2.0.0/concepts/database/relations/many-to-many.html +++ b/docs/2.0.0/concepts/database/relations/many-to-many.html @@ -4,7 +4,7 @@ Many-to-Many | Serverpod - + diff --git a/docs/2.0.0/concepts/database/relations/modules.html b/docs/2.0.0/concepts/database/relations/modules.html index 7423f03dc..e85fbf956 100644 --- a/docs/2.0.0/concepts/database/relations/modules.html +++ b/docs/2.0.0/concepts/database/relations/modules.html @@ -4,7 +4,7 @@ Relations with modules | Serverpod - + diff --git a/docs/2.0.0/concepts/database/relations/one-to-many.html b/docs/2.0.0/concepts/database/relations/one-to-many.html index 087780b9e..29ed88b0d 100644 --- a/docs/2.0.0/concepts/database/relations/one-to-many.html +++ b/docs/2.0.0/concepts/database/relations/one-to-many.html @@ -4,7 +4,7 @@ One-to-many | Serverpod - + diff --git a/docs/2.0.0/concepts/database/relations/one-to-one.html b/docs/2.0.0/concepts/database/relations/one-to-one.html index 7265e6b15..402c2e7d5 100644 --- a/docs/2.0.0/concepts/database/relations/one-to-one.html +++ b/docs/2.0.0/concepts/database/relations/one-to-one.html @@ -4,7 +4,7 @@ One-to-one | Serverpod - + diff --git a/docs/2.0.0/concepts/database/relations/referential-actions.html b/docs/2.0.0/concepts/database/relations/referential-actions.html index b95a47f7c..c9f942c27 100644 --- a/docs/2.0.0/concepts/database/relations/referential-actions.html +++ b/docs/2.0.0/concepts/database/relations/referential-actions.html @@ -4,7 +4,7 @@ Referential actions | Serverpod - + diff --git a/docs/2.0.0/concepts/database/relations/self-relations.html b/docs/2.0.0/concepts/database/relations/self-relations.html index 76a0388c2..31d32d655 100644 --- a/docs/2.0.0/concepts/database/relations/self-relations.html +++ b/docs/2.0.0/concepts/database/relations/self-relations.html @@ -4,7 +4,7 @@ Self-relations | Serverpod - + diff --git a/docs/2.0.0/concepts/database/sort.html b/docs/2.0.0/concepts/database/sort.html index 6ef613032..a2a54a583 100644 --- a/docs/2.0.0/concepts/database/sort.html +++ b/docs/2.0.0/concepts/database/sort.html @@ -4,7 +4,7 @@ Sort | Serverpod - + diff --git a/docs/2.0.0/concepts/database/transactions.html b/docs/2.0.0/concepts/database/transactions.html index 7f9b8172c..3d69ec780 100644 --- a/docs/2.0.0/concepts/database/transactions.html +++ b/docs/2.0.0/concepts/database/transactions.html @@ -4,7 +4,7 @@ Transactions | Serverpod - + diff --git a/docs/2.0.0/concepts/exceptions.html b/docs/2.0.0/concepts/exceptions.html index f2c5ec29b..bdb2936a3 100644 --- a/docs/2.0.0/concepts/exceptions.html +++ b/docs/2.0.0/concepts/exceptions.html @@ -4,7 +4,7 @@ Error handling and exceptions | Serverpod - + diff --git a/docs/2.0.0/concepts/file-uploads.html b/docs/2.0.0/concepts/file-uploads.html index aa462b801..4f6fe51ef 100644 --- a/docs/2.0.0/concepts/file-uploads.html +++ b/docs/2.0.0/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/2.0.0/concepts/health-checks.html b/docs/2.0.0/concepts/health-checks.html index b87844893..857f01a80 100644 --- a/docs/2.0.0/concepts/health-checks.html +++ b/docs/2.0.0/concepts/health-checks.html @@ -4,7 +4,7 @@ Health checks | Serverpod - + diff --git a/docs/2.0.0/concepts/logging.html b/docs/2.0.0/concepts/logging.html index fd3ae467e..3bf83bf87 100644 --- a/docs/2.0.0/concepts/logging.html +++ b/docs/2.0.0/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/2.0.0/concepts/models.html b/docs/2.0.0/concepts/models.html index ddab2d37d..c2ba5ee2e 100644 --- a/docs/2.0.0/concepts/models.html +++ b/docs/2.0.0/concepts/models.html @@ -4,7 +4,7 @@ Working with models | Serverpod - + diff --git a/docs/2.0.0/concepts/modules.html b/docs/2.0.0/concepts/modules.html index cd44c0f1f..a88b9747c 100644 --- a/docs/2.0.0/concepts/modules.html +++ b/docs/2.0.0/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/2.0.0/concepts/scheduling.html b/docs/2.0.0/concepts/scheduling.html index 091f3da03..075daecd1 100644 --- a/docs/2.0.0/concepts/scheduling.html +++ b/docs/2.0.0/concepts/scheduling.html @@ -4,7 +4,7 @@ Scheduling | Serverpod - + diff --git a/docs/2.0.0/concepts/serialization.html b/docs/2.0.0/concepts/serialization.html index 40c5e2b58..7c7b90270 100644 --- a/docs/2.0.0/concepts/serialization.html +++ b/docs/2.0.0/concepts/serialization.html @@ -4,7 +4,7 @@ Custom serialization | Serverpod - + diff --git a/docs/2.0.0/concepts/sessions.html b/docs/2.0.0/concepts/sessions.html index 45866ee84..245d02d22 100644 --- a/docs/2.0.0/concepts/sessions.html +++ b/docs/2.0.0/concepts/sessions.html @@ -4,7 +4,7 @@ Sessions | Serverpod - + diff --git a/docs/2.0.0/concepts/streams.html b/docs/2.0.0/concepts/streams.html index ae2591edf..e7108cb5b 100644 --- a/docs/2.0.0/concepts/streams.html +++ b/docs/2.0.0/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/2.0.0/concepts/webserver.html b/docs/2.0.0/concepts/webserver.html index 069d0dc99..485992137 100644 --- a/docs/2.0.0/concepts/webserver.html +++ b/docs/2.0.0/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/2.0.0/concepts/working-with-endpoints.html b/docs/2.0.0/concepts/working-with-endpoints.html index 8eb5d6a3a..6b9e66610 100644 --- a/docs/2.0.0/concepts/working-with-endpoints.html +++ b/docs/2.0.0/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/2.0.0/contribute.html b/docs/2.0.0/contribute.html index 63ea8f90f..c240506dc 100644 --- a/docs/2.0.0/contribute.html +++ b/docs/2.0.0/contribute.html @@ -4,7 +4,7 @@ Contribute | Serverpod - + diff --git a/docs/2.0.0/deployments/deploying-to-aws.html b/docs/2.0.0/deployments/deploying-to-aws.html index fb5e03dff..3708c63f2 100644 --- a/docs/2.0.0/deployments/deploying-to-aws.html +++ b/docs/2.0.0/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ AWS EC2 with Terraform | Serverpod - + diff --git a/docs/2.0.0/deployments/deploying-to-gce-terraform.html b/docs/2.0.0/deployments/deploying-to-gce-terraform.html index bbdeff48c..720444842 100644 --- a/docs/2.0.0/deployments/deploying-to-gce-terraform.html +++ b/docs/2.0.0/deployments/deploying-to-gce-terraform.html @@ -4,7 +4,7 @@ Google Cloud Engine with Terraform | Serverpod - + diff --git a/docs/2.0.0/deployments/deploying-to-gcr-console.html b/docs/2.0.0/deployments/deploying-to-gcr-console.html index 0c0b3bafa..6287399e2 100644 --- a/docs/2.0.0/deployments/deploying-to-gcr-console.html +++ b/docs/2.0.0/deployments/deploying-to-gcr-console.html @@ -4,7 +4,7 @@ Google Cloud Run with CGP Console | Serverpod - + diff --git a/docs/2.0.0/deployments/deployment-strategy.html b/docs/2.0.0/deployments/deployment-strategy.html index f5a7d2a27..62db39888 100644 --- a/docs/2.0.0/deployments/deployment-strategy.html +++ b/docs/2.0.0/deployments/deployment-strategy.html @@ -4,7 +4,7 @@ Choosing deployment strategy | Serverpod - + diff --git a/docs/2.0.0/deployments/general.html b/docs/2.0.0/deployments/general.html index 5a1905887..556559d81 100644 --- a/docs/2.0.0/deployments/general.html +++ b/docs/2.0.0/deployments/general.html @@ -4,7 +4,7 @@ Hosting elsewhere | Serverpod - + diff --git a/docs/2.0.0/get-started.html b/docs/2.0.0/get-started.html index 654a444b7..66ea7aa98 100644 --- a/docs/2.0.0/get-started.html +++ b/docs/2.0.0/get-started.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/2.0.0/roadmap.html b/docs/2.0.0/roadmap.html index e4ac9b63f..3a0eec889 100644 --- a/docs/2.0.0/roadmap.html +++ b/docs/2.0.0/roadmap.html @@ -4,7 +4,7 @@ Roadmap | Serverpod - + diff --git a/docs/2.0.0/support.html b/docs/2.0.0/support.html index 53d83980b..17d08398c 100644 --- a/docs/2.0.0/support.html +++ b/docs/2.0.0/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/2.0.0/tools/cli.html b/docs/2.0.0/tools/cli.html index 5c426c1a5..34b23224e 100644 --- a/docs/2.0.0/tools/cli.html +++ b/docs/2.0.0/tools/cli.html @@ -4,7 +4,7 @@ Serverpod CLI | Serverpod - + diff --git a/docs/2.0.0/tools/insights.html b/docs/2.0.0/tools/insights.html index ff071c66e..586338ce7 100644 --- a/docs/2.0.0/tools/insights.html +++ b/docs/2.0.0/tools/insights.html @@ -4,7 +4,7 @@ Serverpod Insights | Serverpod - + diff --git a/docs/2.0.0/tools/lsp.html b/docs/2.0.0/tools/lsp.html index 7e40a3016..2eb2d6402 100644 --- a/docs/2.0.0/tools/lsp.html +++ b/docs/2.0.0/tools/lsp.html @@ -4,7 +4,7 @@ Serverpod LSP | Serverpod - + diff --git a/docs/2.0.0/tutorials/authentication.html b/docs/2.0.0/tutorials/authentication.html index 87b227ef6..e7215c5c1 100644 --- a/docs/2.0.0/tutorials/authentication.html +++ b/docs/2.0.0/tutorials/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/2.0.0/tutorials/code-example.html b/docs/2.0.0/tutorials/code-example.html index 1050e9e42..6a21e7fba 100644 --- a/docs/2.0.0/tutorials/code-example.html +++ b/docs/2.0.0/tutorials/code-example.html @@ -4,7 +4,7 @@ Code examples | Serverpod - + diff --git a/docs/2.0.0/tutorials/first-app.html b/docs/2.0.0/tutorials/first-app.html index 33c2141b8..e934ac4e1 100644 --- a/docs/2.0.0/tutorials/first-app.html +++ b/docs/2.0.0/tutorials/first-app.html @@ -4,7 +4,7 @@ Build your first app | Serverpod - + diff --git a/docs/2.0.0/tutorials/videos.html b/docs/2.0.0/tutorials/videos.html index 22b7feb94..6d4fd82f6 100644 --- a/docs/2.0.0/tutorials/videos.html +++ b/docs/2.0.0/tutorials/videos.html @@ -4,7 +4,7 @@ Videos | Serverpod - + diff --git a/docs/2.0.0/upgrading/upgrade-to-one-point-two.html b/docs/2.0.0/upgrading/upgrade-to-one-point-two.html index ca6766dc4..87cdd1e9b 100644 --- a/docs/2.0.0/upgrading/upgrade-to-one-point-two.html +++ b/docs/2.0.0/upgrading/upgrade-to-one-point-two.html @@ -4,7 +4,7 @@ Upgrade to 1.2 | Serverpod - + diff --git a/docs/2.0.0/upgrading/upgrade-to-two.html b/docs/2.0.0/upgrading/upgrade-to-two.html index af8937551..5aad6b3b3 100644 --- a/docs/2.0.0/upgrading/upgrade-to-two.html +++ b/docs/2.0.0/upgrading/upgrade-to-two.html @@ -4,7 +4,7 @@ Upgrade to 2.0 | Serverpod - + diff --git a/docs/2.1.0.html b/docs/2.1.0.html index 567eb4122..71e4314a0 100644 --- a/docs/2.1.0.html +++ b/docs/2.1.0.html @@ -4,7 +4,7 @@ Installing Serverpod | Serverpod - + diff --git a/docs/2.1.0/capabilities.html b/docs/2.1.0/capabilities.html index 4173e3a9d..5a6647119 100644 --- a/docs/2.1.0/capabilities.html +++ b/docs/2.1.0/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/2.1.0/concepts/authentication/basics.html b/docs/2.1.0/concepts/authentication/basics.html index 6a7f13539..a4fc49572 100644 --- a/docs/2.1.0/concepts/authentication/basics.html +++ b/docs/2.1.0/concepts/authentication/basics.html @@ -4,7 +4,7 @@ The basics | Serverpod - + diff --git a/docs/2.1.0/concepts/authentication/custom-overrides.html b/docs/2.1.0/concepts/authentication/custom-overrides.html index c5a00f55f..c30d26661 100644 --- a/docs/2.1.0/concepts/authentication/custom-overrides.html +++ b/docs/2.1.0/concepts/authentication/custom-overrides.html @@ -4,7 +4,7 @@ Custom overrides | Serverpod - + diff --git a/docs/2.1.0/concepts/authentication/providers/apple.html b/docs/2.1.0/concepts/authentication/providers/apple.html index a232d8c9e..aa9087b0f 100644 --- a/docs/2.1.0/concepts/authentication/providers/apple.html +++ b/docs/2.1.0/concepts/authentication/providers/apple.html @@ -4,7 +4,7 @@ Apple | Serverpod - + diff --git a/docs/2.1.0/concepts/authentication/providers/custom-providers.html b/docs/2.1.0/concepts/authentication/providers/custom-providers.html index fb869c0ea..566d48294 100644 --- a/docs/2.1.0/concepts/authentication/providers/custom-providers.html +++ b/docs/2.1.0/concepts/authentication/providers/custom-providers.html @@ -4,7 +4,7 @@ Custom providers | Serverpod - + diff --git a/docs/2.1.0/concepts/authentication/providers/email.html b/docs/2.1.0/concepts/authentication/providers/email.html index 0538177bb..3dba90b5a 100644 --- a/docs/2.1.0/concepts/authentication/providers/email.html +++ b/docs/2.1.0/concepts/authentication/providers/email.html @@ -4,7 +4,7 @@ Email | Serverpod - + diff --git a/docs/2.1.0/concepts/authentication/providers/firebase.html b/docs/2.1.0/concepts/authentication/providers/firebase.html index 218c688f2..456301515 100644 --- a/docs/2.1.0/concepts/authentication/providers/firebase.html +++ b/docs/2.1.0/concepts/authentication/providers/firebase.html @@ -4,7 +4,7 @@ Firebase | Serverpod - + diff --git a/docs/2.1.0/concepts/authentication/providers/google.html b/docs/2.1.0/concepts/authentication/providers/google.html index 25874fe7b..bb191e42a 100644 --- a/docs/2.1.0/concepts/authentication/providers/google.html +++ b/docs/2.1.0/concepts/authentication/providers/google.html @@ -4,7 +4,7 @@ Google | Serverpod - + diff --git a/docs/2.1.0/concepts/authentication/setup.html b/docs/2.1.0/concepts/authentication/setup.html index 78fff9efa..7359e7267 100644 --- a/docs/2.1.0/concepts/authentication/setup.html +++ b/docs/2.1.0/concepts/authentication/setup.html @@ -4,7 +4,7 @@ Setup | Serverpod - + diff --git a/docs/2.1.0/concepts/authentication/working-with-users.html b/docs/2.1.0/concepts/authentication/working-with-users.html index 3f1e00b30..e502c737e 100644 --- a/docs/2.1.0/concepts/authentication/working-with-users.html +++ b/docs/2.1.0/concepts/authentication/working-with-users.html @@ -4,7 +4,7 @@ Working with users | Serverpod - + diff --git a/docs/2.1.0/concepts/backward-compatibility.html b/docs/2.1.0/concepts/backward-compatibility.html index 9964e3d2e..93647d614 100644 --- a/docs/2.1.0/concepts/backward-compatibility.html +++ b/docs/2.1.0/concepts/backward-compatibility.html @@ -4,7 +4,7 @@ Backward compatibility | Serverpod - + diff --git a/docs/2.1.0/concepts/caching.html b/docs/2.1.0/concepts/caching.html index 21562236b..2a9856c07 100644 --- a/docs/2.1.0/concepts/caching.html +++ b/docs/2.1.0/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/2.1.0/concepts/configuration.html b/docs/2.1.0/concepts/configuration.html index 27985cd66..b7444b0d4 100644 --- a/docs/2.1.0/concepts/configuration.html +++ b/docs/2.1.0/concepts/configuration.html @@ -4,7 +4,7 @@ Configurations | Serverpod - + diff --git a/docs/2.1.0/concepts/database/connection.html b/docs/2.1.0/concepts/database/connection.html index 92cd31aff..923629c04 100644 --- a/docs/2.1.0/concepts/database/connection.html +++ b/docs/2.1.0/concepts/database/connection.html @@ -4,7 +4,7 @@ Connection | Serverpod - + diff --git a/docs/2.1.0/concepts/database/crud.html b/docs/2.1.0/concepts/database/crud.html index ee24b8dda..86cd908fc 100644 --- a/docs/2.1.0/concepts/database/crud.html +++ b/docs/2.1.0/concepts/database/crud.html @@ -4,7 +4,7 @@ CRUD | Serverpod - + diff --git a/docs/2.1.0/concepts/database/filter.html b/docs/2.1.0/concepts/database/filter.html index e1fcbd5d4..fed00d830 100644 --- a/docs/2.1.0/concepts/database/filter.html +++ b/docs/2.1.0/concepts/database/filter.html @@ -4,7 +4,7 @@ Filter | Serverpod - + diff --git a/docs/2.1.0/concepts/database/indexing.html b/docs/2.1.0/concepts/database/indexing.html index e1409ed77..2f67e300c 100644 --- a/docs/2.1.0/concepts/database/indexing.html +++ b/docs/2.1.0/concepts/database/indexing.html @@ -4,7 +4,7 @@ Indexing | Serverpod - + diff --git a/docs/2.1.0/concepts/database/migrations.html b/docs/2.1.0/concepts/database/migrations.html index 239bb30f7..d84730e27 100644 --- a/docs/2.1.0/concepts/database/migrations.html +++ b/docs/2.1.0/concepts/database/migrations.html @@ -4,7 +4,7 @@ Migrations | Serverpod - + diff --git a/docs/2.1.0/concepts/database/models.html b/docs/2.1.0/concepts/database/models.html index edb37a9bf..a76a0e6ff 100644 --- a/docs/2.1.0/concepts/database/models.html +++ b/docs/2.1.0/concepts/database/models.html @@ -4,7 +4,7 @@ Models | Serverpod - + diff --git a/docs/2.1.0/concepts/database/pagination.html b/docs/2.1.0/concepts/database/pagination.html index 3de78811e..1b598d436 100644 --- a/docs/2.1.0/concepts/database/pagination.html +++ b/docs/2.1.0/concepts/database/pagination.html @@ -4,7 +4,7 @@ Pagination | Serverpod - + diff --git a/docs/2.1.0/concepts/database/raw-access.html b/docs/2.1.0/concepts/database/raw-access.html index 309e0ab9f..932ff70af 100644 --- a/docs/2.1.0/concepts/database/raw-access.html +++ b/docs/2.1.0/concepts/database/raw-access.html @@ -4,7 +4,7 @@ Raw access | Serverpod - + diff --git a/docs/2.1.0/concepts/database/relation-queries.html b/docs/2.1.0/concepts/database/relation-queries.html index 5d1e10311..f2680eccb 100644 --- a/docs/2.1.0/concepts/database/relation-queries.html +++ b/docs/2.1.0/concepts/database/relation-queries.html @@ -4,7 +4,7 @@ Relation queries | Serverpod - + diff --git a/docs/2.1.0/concepts/database/relations/many-to-many.html b/docs/2.1.0/concepts/database/relations/many-to-many.html index d4a3d42eb..321ad35e7 100644 --- a/docs/2.1.0/concepts/database/relations/many-to-many.html +++ b/docs/2.1.0/concepts/database/relations/many-to-many.html @@ -4,7 +4,7 @@ Many-to-many | Serverpod - + diff --git a/docs/2.1.0/concepts/database/relations/modules.html b/docs/2.1.0/concepts/database/relations/modules.html index 88f5b0929..fdc9a0f7c 100644 --- a/docs/2.1.0/concepts/database/relations/modules.html +++ b/docs/2.1.0/concepts/database/relations/modules.html @@ -4,7 +4,7 @@ Relations with modules | Serverpod - + diff --git a/docs/2.1.0/concepts/database/relations/one-to-many.html b/docs/2.1.0/concepts/database/relations/one-to-many.html index 11146fb7a..55dc65da5 100644 --- a/docs/2.1.0/concepts/database/relations/one-to-many.html +++ b/docs/2.1.0/concepts/database/relations/one-to-many.html @@ -4,7 +4,7 @@ One-to-many | Serverpod - + diff --git a/docs/2.1.0/concepts/database/relations/one-to-one.html b/docs/2.1.0/concepts/database/relations/one-to-one.html index d5c3d8a55..6b549d6d2 100644 --- a/docs/2.1.0/concepts/database/relations/one-to-one.html +++ b/docs/2.1.0/concepts/database/relations/one-to-one.html @@ -4,7 +4,7 @@ One-to-one | Serverpod - + diff --git a/docs/2.1.0/concepts/database/relations/referential-actions.html b/docs/2.1.0/concepts/database/relations/referential-actions.html index cbcea1a5f..0b3674a5e 100644 --- a/docs/2.1.0/concepts/database/relations/referential-actions.html +++ b/docs/2.1.0/concepts/database/relations/referential-actions.html @@ -4,7 +4,7 @@ Referential actions | Serverpod - + diff --git a/docs/2.1.0/concepts/database/relations/self-relations.html b/docs/2.1.0/concepts/database/relations/self-relations.html index 1be79b7d2..3ee60c1dc 100644 --- a/docs/2.1.0/concepts/database/relations/self-relations.html +++ b/docs/2.1.0/concepts/database/relations/self-relations.html @@ -4,7 +4,7 @@ Self-relations | Serverpod - + diff --git a/docs/2.1.0/concepts/database/sort.html b/docs/2.1.0/concepts/database/sort.html index 99f7c30e1..0b3577335 100644 --- a/docs/2.1.0/concepts/database/sort.html +++ b/docs/2.1.0/concepts/database/sort.html @@ -4,7 +4,7 @@ Sort | Serverpod - + diff --git a/docs/2.1.0/concepts/database/transactions.html b/docs/2.1.0/concepts/database/transactions.html index 8fd1e885d..684030cce 100644 --- a/docs/2.1.0/concepts/database/transactions.html +++ b/docs/2.1.0/concepts/database/transactions.html @@ -4,7 +4,7 @@ Transactions | Serverpod - + diff --git a/docs/2.1.0/concepts/exceptions.html b/docs/2.1.0/concepts/exceptions.html index 9b7ef1ae9..075849ffe 100644 --- a/docs/2.1.0/concepts/exceptions.html +++ b/docs/2.1.0/concepts/exceptions.html @@ -4,7 +4,7 @@ Error handling and exceptions | Serverpod - + diff --git a/docs/2.1.0/concepts/file-uploads.html b/docs/2.1.0/concepts/file-uploads.html index 6469fb41a..f15c01f26 100644 --- a/docs/2.1.0/concepts/file-uploads.html +++ b/docs/2.1.0/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/2.1.0/concepts/health-checks.html b/docs/2.1.0/concepts/health-checks.html index b91cff526..b57baf7d0 100644 --- a/docs/2.1.0/concepts/health-checks.html +++ b/docs/2.1.0/concepts/health-checks.html @@ -4,7 +4,7 @@ Health checks | Serverpod - + diff --git a/docs/2.1.0/concepts/logging.html b/docs/2.1.0/concepts/logging.html index ed46b57a4..d29bdd239 100644 --- a/docs/2.1.0/concepts/logging.html +++ b/docs/2.1.0/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/2.1.0/concepts/models.html b/docs/2.1.0/concepts/models.html index 32e1a6b34..e90533c60 100644 --- a/docs/2.1.0/concepts/models.html +++ b/docs/2.1.0/concepts/models.html @@ -4,7 +4,7 @@ Working with models | Serverpod - + diff --git a/docs/2.1.0/concepts/modules.html b/docs/2.1.0/concepts/modules.html index 0f8362401..0a6551e4f 100644 --- a/docs/2.1.0/concepts/modules.html +++ b/docs/2.1.0/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/2.1.0/concepts/scheduling.html b/docs/2.1.0/concepts/scheduling.html index 6d729a1b6..82ef4fa97 100644 --- a/docs/2.1.0/concepts/scheduling.html +++ b/docs/2.1.0/concepts/scheduling.html @@ -4,7 +4,7 @@ Scheduling | Serverpod - + diff --git a/docs/2.1.0/concepts/serialization.html b/docs/2.1.0/concepts/serialization.html index 7c5664e66..4fade23cb 100644 --- a/docs/2.1.0/concepts/serialization.html +++ b/docs/2.1.0/concepts/serialization.html @@ -4,7 +4,7 @@ Custom serialization | Serverpod - + diff --git a/docs/2.1.0/concepts/sessions.html b/docs/2.1.0/concepts/sessions.html index 3a8d3e1cf..af3e72676 100644 --- a/docs/2.1.0/concepts/sessions.html +++ b/docs/2.1.0/concepts/sessions.html @@ -4,7 +4,7 @@ Sessions | Serverpod - + diff --git a/docs/2.1.0/concepts/streams.html b/docs/2.1.0/concepts/streams.html index 925f038f4..16137cd38 100644 --- a/docs/2.1.0/concepts/streams.html +++ b/docs/2.1.0/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/2.1.0/concepts/webserver.html b/docs/2.1.0/concepts/webserver.html index 42433c2b9..bd96dc850 100644 --- a/docs/2.1.0/concepts/webserver.html +++ b/docs/2.1.0/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/2.1.0/concepts/working-with-endpoints.html b/docs/2.1.0/concepts/working-with-endpoints.html index 90c0da20c..81b12b6d7 100644 --- a/docs/2.1.0/concepts/working-with-endpoints.html +++ b/docs/2.1.0/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/2.1.0/contribute.html b/docs/2.1.0/contribute.html index 54cf7b30b..52a2e40ff 100644 --- a/docs/2.1.0/contribute.html +++ b/docs/2.1.0/contribute.html @@ -4,7 +4,7 @@ Roadmap & contributions | Serverpod - + diff --git a/docs/2.1.0/deployments/deploying-to-aws.html b/docs/2.1.0/deployments/deploying-to-aws.html index 9edfc18e1..c0a78a5e2 100644 --- a/docs/2.1.0/deployments/deploying-to-aws.html +++ b/docs/2.1.0/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ AWS EC2 with Terraform | Serverpod - + diff --git a/docs/2.1.0/deployments/deploying-to-gce-terraform.html b/docs/2.1.0/deployments/deploying-to-gce-terraform.html index b0c1073f3..b0dea83f2 100644 --- a/docs/2.1.0/deployments/deploying-to-gce-terraform.html +++ b/docs/2.1.0/deployments/deploying-to-gce-terraform.html @@ -4,7 +4,7 @@ Google Cloud Engine with Terraform | Serverpod - + diff --git a/docs/2.1.0/deployments/deploying-to-gcr-console.html b/docs/2.1.0/deployments/deploying-to-gcr-console.html index 8357761dc..319de5e59 100644 --- a/docs/2.1.0/deployments/deploying-to-gcr-console.html +++ b/docs/2.1.0/deployments/deploying-to-gcr-console.html @@ -4,7 +4,7 @@ Google Cloud Run with CGP Console | Serverpod - + diff --git a/docs/2.1.0/deployments/deployment-strategy.html b/docs/2.1.0/deployments/deployment-strategy.html index 95edebdcd..1f106d3a3 100644 --- a/docs/2.1.0/deployments/deployment-strategy.html +++ b/docs/2.1.0/deployments/deployment-strategy.html @@ -4,7 +4,7 @@ Choosing deployment strategy | Serverpod - + diff --git a/docs/2.1.0/deployments/general.html b/docs/2.1.0/deployments/general.html index 56db4ef93..54e49cda0 100644 --- a/docs/2.1.0/deployments/general.html +++ b/docs/2.1.0/deployments/general.html @@ -4,7 +4,7 @@ Hosting elsewhere | Serverpod - + diff --git a/docs/2.1.0/get-started-with-mini.html b/docs/2.1.0/get-started-with-mini.html index c2ff9c15b..51e958ef5 100644 --- a/docs/2.1.0/get-started-with-mini.html +++ b/docs/2.1.0/get-started-with-mini.html @@ -4,7 +4,7 @@ Get started with Mini | Serverpod - + diff --git a/docs/2.1.0/get-started.html b/docs/2.1.0/get-started.html index cd9fd05d9..91247eab1 100644 --- a/docs/2.1.0/get-started.html +++ b/docs/2.1.0/get-started.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/2.1.0/support.html b/docs/2.1.0/support.html index ecf4a3d01..9329bdf6d 100644 --- a/docs/2.1.0/support.html +++ b/docs/2.1.0/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/2.1.0/tools/insights.html b/docs/2.1.0/tools/insights.html index 82407984e..d3efda012 100644 --- a/docs/2.1.0/tools/insights.html +++ b/docs/2.1.0/tools/insights.html @@ -4,7 +4,7 @@ Serverpod Insights | Serverpod - + diff --git a/docs/2.1.0/tools/lsp.html b/docs/2.1.0/tools/lsp.html index d57f7e8af..4ba38674a 100644 --- a/docs/2.1.0/tools/lsp.html +++ b/docs/2.1.0/tools/lsp.html @@ -4,7 +4,7 @@ LSP server | Serverpod - + diff --git a/docs/2.1.0/tutorials/authentication.html b/docs/2.1.0/tutorials/authentication.html index 5ddda85ca..f612c7541 100644 --- a/docs/2.1.0/tutorials/authentication.html +++ b/docs/2.1.0/tutorials/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/2.1.0/tutorials/code-example.html b/docs/2.1.0/tutorials/code-example.html index e38e4d1d3..463b9c3af 100644 --- a/docs/2.1.0/tutorials/code-example.html +++ b/docs/2.1.0/tutorials/code-example.html @@ -4,7 +4,7 @@ Code examples | Serverpod - + diff --git a/docs/2.1.0/tutorials/first-app.html b/docs/2.1.0/tutorials/first-app.html index 8a088063d..934c59a39 100644 --- a/docs/2.1.0/tutorials/first-app.html +++ b/docs/2.1.0/tutorials/first-app.html @@ -4,7 +4,7 @@ Build your first app | Serverpod - + diff --git a/docs/2.1.0/tutorials/real-time-communication.html b/docs/2.1.0/tutorials/real-time-communication.html index 0064d2be3..1a901c30b 100644 --- a/docs/2.1.0/tutorials/real-time-communication.html +++ b/docs/2.1.0/tutorials/real-time-communication.html @@ -4,7 +4,7 @@ Real-time communication | Serverpod - + diff --git a/docs/2.1.0/upgrading/upgrade-from-mini.html b/docs/2.1.0/upgrading/upgrade-from-mini.html index de636b2f0..11e3abbca 100644 --- a/docs/2.1.0/upgrading/upgrade-from-mini.html +++ b/docs/2.1.0/upgrading/upgrade-from-mini.html @@ -4,7 +4,7 @@ Upgrade from Mini to full | Serverpod - + diff --git a/docs/2.1.0/upgrading/upgrade-to-one-point-two.html b/docs/2.1.0/upgrading/upgrade-to-one-point-two.html index db7284792..e01fc46d1 100644 --- a/docs/2.1.0/upgrading/upgrade-to-one-point-two.html +++ b/docs/2.1.0/upgrading/upgrade-to-one-point-two.html @@ -4,7 +4,7 @@ Upgrade to 1.2 | Serverpod - + diff --git a/docs/2.1.0/upgrading/upgrade-to-two.html b/docs/2.1.0/upgrading/upgrade-to-two.html index 1dd96d28d..01e57ccd0 100644 --- a/docs/2.1.0/upgrading/upgrade-to-two.html +++ b/docs/2.1.0/upgrading/upgrade-to-two.html @@ -4,7 +4,7 @@ Upgrade to 2.0 | Serverpod - + diff --git a/docs/404.html b/docs/404.html index 7cca8d767..8235dbce5 100644 --- a/docs/404.html +++ b/docs/404.html @@ -4,7 +4,7 @@ Serverpod - + diff --git a/docs/assets/js/6aee17c2.4d0bb182.js b/docs/assets/js/6aee17c2.d63db0f0.js similarity index 52% rename from docs/assets/js/6aee17c2.4d0bb182.js rename to docs/assets/js/6aee17c2.d63db0f0.js index 33be47480..aff27847d 100644 --- a/docs/assets/js/6aee17c2.4d0bb182.js +++ b/docs/assets/js/6aee17c2.d63db0f0.js @@ -1 +1 @@ -"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[27685],{34304:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"get-started","title":"Get started","description":"This page will help you understand how a Serverpod project is structured, how to make calls to endpoints, and how to communicate with the database.","source":"@site/docs/01-get-started.md","sourceDirName":".","slug":"/get-started","permalink":"/next/get-started","draft":false,"unlisted":false,"editUrl":"https://github.com/serverpod/serverpod_docs/tree/main/docs/01-get-started.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Installing Serverpod","permalink":"/next/"},"next":{"title":"Get started with Mini","permalink":"/next/get-started-with-mini"}}');var s=n(74848),i=n(28453);const o={},d="Get started",a={},l=[{value:"Serverpod or Serverpod Mini?",id:"serverpod-or-serverpod-mini",level:2},{value:"Creating a new Serverpod project",id:"creating-a-new-serverpod-project",level:2},{value:"Starting the server",id:"starting-the-server",level:3},{value:"Running the demo app",id:"running-the-demo-app",level:3},{value:"Server overview",id:"server-overview",level:2},{value:"Generating code",id:"generating-code",level:3},{value:"Working with endpoints",id:"working-with-endpoints",level:3},{value:"Serializing data",id:"serializing-data",level:3},{value:"Working with the database",id:"working-with-the-database",level:2},{value:"Connecting to the database",id:"connecting-to-the-database",level:3},{value:"Migrations",id:"migrations",level:3},{value:"Object database mapping",id:"object-database-mapping",level:3},{value:"Writing to database",id:"writing-to-database",level:3},{value:"Reading from database",id:"reading-from-database",level:3},{value:"Where to go next",id:"where-to-go-next",level:2}];function c(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components},{Details:n}=t;return n||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"get-started",children:"Get started"})}),"\n",(0,s.jsx)(t.p,{children:"This page will help you understand how a Serverpod project is structured, how to make calls to endpoints, and how to communicate with the database."}),"\n",(0,s.jsx)("div",{style:{position:"relative",paddingBottom:"56.25%",height:"0"},children:(0,s.jsx)("iframe",{style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%"},width:"560",height:"315",src:"https://www.youtube-nocookie.com/embed/FwttjcKyWFk",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:!0})}),"\n",(0,s.jsx)(t.h2,{id:"serverpod-or-serverpod-mini",children:"Serverpod or Serverpod Mini?"}),"\n",(0,s.jsx)(t.p,{children:"Serverpod Mini is a lightweight version of Serverpod that is perfect for small projects or when you want to try out Serverpod without setting up a Postgres database. If you start with Mini, you can upgrade to the full version of Serverpod anytime."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"get-started-with-mini",children:"Get started with Mini"})})}),"\n",(0,s.jsxs)(n,{children:[(0,s.jsx)("summary",{children:(0,s.jsx)(t.strong,{children:"Serverpod vs Serverpod Mini comparison"})}),(0,s.jsx)("p",{children:(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Feature"}),(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Serverpod"}),(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Serverpod Mini"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Remote method calls"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Generated data models"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Streaming data"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Custom auth"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Pre-built auth"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Postgres database ORM"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Task scheduling"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Basic logging"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Serverpod Insights"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Caching"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"File uploads"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Health checks"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Relic web server"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Easy deployment"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]})]})]})})]}),"\n",(0,s.jsx)(t.h2,{id:"creating-a-new-serverpod-project",children:"Creating a new Serverpod project"}),"\n",(0,s.jsxs)(t.p,{children:["The full version of Serverpod needs access to a Postgres database. The easiest way to set that up is to use our pre-configured Docker container. Install ",(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"https://flutter.dev/docs/get-started/install",children:"Flutter"})}),", ",(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"/",children:"Serverpod"})})," and ",(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"https://docs.docker.com/get-docker/",children:"Docker Desktop"})})," before you begin."]}),"\n",(0,s.jsxs)(t.p,{children:["Create a new project by running ",(0,s.jsx)(t.code,{children:"serverpod create"}),"."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"$ serverpod create mypod\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"info",children:(0,s.jsxs)(t.p,{children:["Serverpod executes the ",(0,s.jsx)(t.code,{children:"flutter create"})," command inside the flutter package during project creation. On Windows, ",(0,s.jsx)(t.code,{children:"flutter"})," commands require that developer mode is enabled in the system settings."]})}),"\n",(0,s.jsxs)(t.p,{children:["This command will create a new directory called ",(0,s.jsx)(t.code,{children:"mypod"}),", with three dart packages inside; ",(0,s.jsx)(t.code,{children:"mypod_server"}),", ",(0,s.jsx)(t.code,{children:"mypod_client"}),", and ",(0,s.jsx)(t.code,{children:"mypod_flutter"}),"."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"mypod_server"}),": This package contains your server-side code. Modify it to add new endpoints or other features your server needs."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"mypod_client"}),": This is the code needed to communicate with the server. Typically, all code in this package is generated automatically, and you should not edit the files in this package."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"mypod_flutter"}),": This is the Flutter app, pre-configured to connect to your local server."]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"starting-the-server",children:"Starting the server"}),"\n",(0,s.jsxs)(t.p,{children:["Make sure that ",(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"https://www.docker.com/products/docker-desktop/",children:"Docker Desktop"})})," is running, then start your Docker containers with ",(0,s.jsx)(t.code,{children:"docker compose up --build --detach"}),". It will start Postgres and Redis. Then, run ",(0,s.jsx)(t.code,{children:"dart bin/main.dart --apply-migrations"})," to start your server."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"$ cd mypod/mypod_server\n$ docker compose up --build --detach\n$ dart bin/main.dart --apply-migrations\n"})}),"\n",(0,s.jsx)(t.p,{children:"If everything is working, you should see something like this on your terminal:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-text",children:"SERVERPOD version: 2.x.x, mode: development, time: 2022-09-12 17:22:02.825468Z\nInsights listening on port 8081\nServer default listening on port 8080\nWebserver listening on port 8082\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"info",children:(0,s.jsxs)(t.p,{children:["If you need to stop the Docker containers at some point, just run ",(0,s.jsx)(t.code,{children:"docker compose stop"})," or use the Docker Desktop application. You can also use Docker Desktop to start, stop, and manage your containers."]})}),"\n",(0,s.jsx)(t.admonition,{type:"important",children:(0,s.jsxs)(t.p,{children:["In your development environment it can be helpful to always start Serverpod with the ",(0,s.jsx)(t.code,{children:"--apply-migrations"})," flag, as this will ensure that the database is always up-to-date with your latest migration. However, in production you should typically start the server without the flag, unless you want to actually apply a new migration."]})}),"\n",(0,s.jsx)(t.h3,{id:"running-the-demo-app",children:"Running the demo app"}),"\n",(0,s.jsxs)(t.p,{children:["Start the default demo app by changing the directory into the Flutter package that was created and running ",(0,s.jsx)(t.code,{children:"flutter run"}),"."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"$ cd mypod/mypod_flutter\n$ flutter run -d chrome\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The flag ",(0,s.jsx)(t.code,{children:"-d chrome"})," runs the app in Chrome, for other run options please see the Flutter documentation."]}),"\n",(0,s.jsxs)(t.admonition,{type:"info",children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"iOS Simulator"}),": Because an iOS simulator has its own localhost, it won't find the server running on your machine. Therefore, you will need to pass the IP address of your machine when creating the client in ",(0,s.jsx)(t.code,{children:"mypod/mypod_flutter/lib/main.dart"}),". Depending on your local network, it might look something like this:"]}),(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-dart",children:"var client = Client('http://192.168.1.117:8080/')\n ..connectivityMonitor = FlutterConnectivityMonitor();\n"})})]}),"\n",(0,s.jsx)(t.admonition,{type:"info",children:(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"MacOS"}),":\nIf you run the app on MacOS, you will need to add permissions for outgoing connections in your Xcode project. To do this, open the ",(0,s.jsx)(t.code,{children:"Runner.xcworkspace"})," in Xcode. Then check the ",(0,s.jsx)(t.em,{children:"Outgoing Connections (Client)"})," under ",(0,s.jsx)(t.em,{children:"Runner"})," > ",(0,s.jsx)(t.em,{children:"Signing & Capabilities"})," > ",(0,s.jsx)(t.em,{children:"App Sandbox"}),". Make sure to add the capability for all run configurations."]})}),"\n",(0,s.jsx)(t.h2,{id:"server-overview",children:"Server overview"}),"\n",(0,s.jsx)(t.p,{children:"At first glance, the complexity of the server may seem daunting, but there are only a few directories and files you need to pay attention to. The rest of the files will be there when you need them in the future, e.g., when you want to deploy your server or if you want to set up continuous integration."}),"\n",(0,s.jsx)(t.p,{children:"These are the most important directories:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"config"}),": These are the configuration files for your Serverpod. These include a ",(0,s.jsx)(t.code,{children:"password.yaml"})," file with your passwords and configurations for running your server in development, staging, and production. By default, everything is correctly configured to run your server locally."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"lib/src/endpoints"}),": This is where you place your server's endpoints. When you add methods to an endpoint, Serverpod will generate the corresponding methods in your client."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"lib/src/models"}),": The model definition files are placed here. The files define the classes you can pass through your API and how they relate to your database. Serverpod generates serializable objects from the model definitions."]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Both the ",(0,s.jsx)(t.code,{children:"endpoints"})," and ",(0,s.jsx)(t.code,{children:"models"})," directories contain sample files that give a quick idea of how they work. So this a great place to start learning."]}),"\n",(0,s.jsx)(t.h3,{id:"generating-code",children:"Generating code"}),"\n",(0,s.jsxs)(t.p,{children:["Whenever you change your code in either the ",(0,s.jsx)(t.code,{children:"endpoints"})," or ",(0,s.jsx)(t.code,{children:"models"})," directory, you will need to regenerate the classes managed by Serverpod. Do this by running ",(0,s.jsx)(t.code,{children:"serverpod generate"}),"."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"$ cd mypod/mypod_server\n$ serverpod generate\n"})}),"\n",(0,s.jsx)(t.h3,{id:"working-with-endpoints",children:"Working with endpoints"}),"\n",(0,s.jsxs)(t.p,{children:["Endpoints are the connection points to the server from the client. With Serverpod, you add methods to your endpoint, and your client code will be generated. For the code to be generated, you need to place your endpoint in the ",(0,s.jsx)(t.code,{children:"lib/src/endpoints"})," directory of your server. Your endpoint should extend the ",(0,s.jsx)(t.code,{children:"Endpoint"})," class. For methods to be generated, they need to return a typed ",(0,s.jsx)(t.code,{children:"Future"}),", and its first parameter should be a ",(0,s.jsx)(t.code,{children:"Session"})," object. The ",(0,s.jsx)(t.code,{children:"Session"})," object holds information about the call being made and provides access to the database."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-dart",children:"import 'package:serverpod/serverpod.dart';\n\nclass ExampleEndpoint extends Endpoint {\n Future hello(Session session, String name) async {\n return 'Hello $name';\n }\n}\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The above code will create an endpoint called ",(0,s.jsx)(t.code,{children:"example"})," (the Endpoint suffix will be removed) with the single ",(0,s.jsx)(t.code,{children:"hello"})," method. To generate the client-side code run ",(0,s.jsx)(t.code,{children:"serverpod generate"})," in the home directory of the server."]}),"\n",(0,s.jsx)(t.p,{children:"On the client side, you can now invoke the method by calling:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-dart",children:"var result = await client.example.hello('World');\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["To learn more about endpoints, see the ",(0,s.jsx)(t.a,{href:"concepts/working-with-endpoints",children:"Working with endpoints"})," section."]})}),"\n",(0,s.jsx)(t.h3,{id:"serializing-data",children:"Serializing data"}),"\n",(0,s.jsx)(t.p,{children:"Serverpod makes it easy to generate serializable classes that can be passed between server and client or used to communicate with the database."}),"\n",(0,s.jsxs)(t.p,{children:["The structure for your serialized classes is defined in yaml-files in the ",(0,s.jsx)(t.code,{children:"lib/src/models"})," directory. Run ",(0,s.jsx)(t.code,{children:"serverpod generate"})," in the home directory of the server to build the Dart code for the classes and make them accessible to both the server and client."]}),"\n",(0,s.jsx)(t.p,{children:"Here is a simple example of a yaml-file defining a serializable class:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-yaml",children:"class: Company\nfields:\n name: String\n foundedDate: DateTime?\n"})}),"\n",(0,s.jsxs)(t.p,{children:["Supported types are ",(0,s.jsx)(t.code,{children:"bool"}),", ",(0,s.jsx)(t.code,{children:"int"}),", ",(0,s.jsx)(t.code,{children:"double"}),", ",(0,s.jsx)(t.code,{children:"String"}),", ",(0,s.jsx)(t.code,{children:"DateTime"}),", ",(0,s.jsx)(t.code,{children:"ByteData"}),", and other serializable classes. You can also use ",(0,s.jsx)(t.code,{children:"List"}),"s and ",(0,s.jsx)(t.code,{children:"Map"}),"s of the supported types, just make sure to specify the types. Null safety is supported. The keys of ",(0,s.jsx)(t.code,{children:"Map"})," must be non-nullable ",(0,s.jsx)(t.code,{children:"String"}),"s. Once your classes are generated, you can use them as parameters or return types to endpoint methods."]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["You can also create custom serialized classes with tools such as Freezed. Learn more in the ",(0,s.jsx)(t.a,{href:"concepts/serialization",children:"Serialization"})," section."]})}),"\n",(0,s.jsx)(t.h2,{id:"working-with-the-database",children:"Working with the database"}),"\n",(0,s.jsx)(t.p,{children:"A core feature of Serverpod is to query the database easily. Serverpod provides an ORM that supports type and null safety."}),"\n",(0,s.jsx)(t.h3,{id:"connecting-to-the-database",children:"Connecting to the database"}),"\n",(0,s.jsxs)(t.p,{children:["When working with the database, it is common that you want to connect to it with a database viewer such as ",(0,s.jsx)(t.a,{href:"https://eggerapps.at/postico2/",children:"Postico2"}),", ",(0,s.jsx)(t.a,{href:"https://www.pgadmin.org/download/",children:"PgAdmin"}),", or ",(0,s.jsx)(t.a,{href:"https://dbeaver.io/download/",children:"DBeaver"}),". To connect to the database, you need to specify the host and port along with the database name, user name, and password. In your project, you can find these inside the ",(0,s.jsx)(t.code,{children:"config"})," directory."]}),"\n",(0,s.jsxs)(t.p,{children:["The connection details can be found in the file ",(0,s.jsx)(t.code,{children:"config/development.yaml"}),". The variable ",(0,s.jsx)(t.code,{children:"name"})," refers to the database name (which is your project name only)."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-yaml",children:"database:\n host: localhost\n port: 8090\n name: projectname\n user: postgres\n\n...\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The password can be found in the file ",(0,s.jsx)(t.code,{children:"config/passwords.yaml"}),"."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-yaml",children:"development:\n database: ''\n\n...\n"})}),"\n",(0,s.jsx)(t.h3,{id:"migrations",children:"Migrations"}),"\n",(0,s.jsxs)(t.p,{children:["With database migrations, Serverpod makes it easy to evolve your database schema. When you make changes to your project that should be reflected in your database, you need to create a migration. A migration is a set of SQL queries that are run to update the database. To create a migration, run ",(0,s.jsx)(t.code,{children:"serverpod create-migration"})," in the home directory of the server."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"$ cd mypod/mypod_server\n$ serverpod create-migration\n"})}),"\n",(0,s.jsxs)(t.p,{children:["Migrations are then applied to the database as part of the server startup by adding the ",(0,s.jsx)(t.code,{children:"--apply-migrations"})," flag."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"$ cd mypod/mypod_server\n$ dart bin/main.dart --apply-migrations\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["To learn more about database migrations, see the ",(0,s.jsx)(t.a,{href:"concepts/database/migrations",children:"Migrations"})," section."]})}),"\n",(0,s.jsx)(t.h3,{id:"object-database-mapping",children:"Object database mapping"}),"\n",(0,s.jsxs)(t.p,{children:["Add a ",(0,s.jsx)(t.code,{children:"table"})," key to your model file to add a mapping to the database. The value specified after the key sets the database table name. Here is the ",(0,s.jsx)(t.code,{children:"Company"})," class from earlier with a database table mapping to a table called ",(0,s.jsx)(t.code,{children:"company"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-yaml",children:"class: Company\ntable: company\nfields:\n name: String\n foundedDate: DateTime?\n"})}),"\n",(0,s.jsxs)(t.p,{children:["CRUD operations are available through the static ",(0,s.jsx)(t.code,{children:"db"})," method on all classes with database bindings."]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["To learn more about database CRUD operations, see the ",(0,s.jsx)(t.a,{href:"concepts/database/crud",children:"CRUD"})," section."]})}),"\n",(0,s.jsx)(t.h3,{id:"writing-to-database",children:"Writing to database"}),"\n",(0,s.jsxs)(t.p,{children:["Inserting a new row into the database is as simple as calling the static ",(0,s.jsx)(t.code,{children:"db.insertRow"})," method."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-dart",children:"var myCompany = Company(name: 'Serverpod corp.', foundedDate: DateTime.now());\nmyCompany = await Company.db.insertRow(session, myCompany);\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The method returns the inserted object with its ",(0,s.jsx)(t.code,{children:"id"})," field set from the database."]}),"\n",(0,s.jsx)(t.h3,{id:"reading-from-database",children:"Reading from database"}),"\n",(0,s.jsxs)(t.p,{children:["Retrieving a single row from the database can done by calling the static ",(0,s.jsx)(t.code,{children:"db.findById"})," method and providing the ",(0,s.jsx)(t.code,{children:"id"})," of the row."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-dart",children:"var myCompany = await Company.db.findById(session, companyId);\n"})}),"\n",(0,s.jsxs)(t.p,{children:["You can also use an expression to do a more refined search through the ",(0,s.jsx)(t.code,{children:"db.findFirstRow(...)"}),". method. The ",(0,s.jsx)(t.code,{children:"where"})," parameter is a typed expression builder. The builder's parameter, ",(0,s.jsx)(t.code,{children:"t"}),", contains a description of the table and gives access to the table's columns."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-dart",children:"var myCompany = await Company.db.findFirstRow(\n session,\n where: (t) => t.name.equals('My Company'),\n);\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The example above will return a single row from the database where the ",(0,s.jsx)(t.code,{children:"name"})," column is equal to ",(0,s.jsx)(t.code,{children:"My Company"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["If no matching row is found, ",(0,s.jsx)(t.code,{children:"null"})," is returned."]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["Working with a database is an extensive subject. Learn more in the ",(0,s.jsx)(t.a,{href:"concepts/database/connection",children:"Database"})," section."]})}),"\n",(0,s.jsx)(t.h2,{id:"where-to-go-next",children:"Where to go next"}),"\n",(0,s.jsxs)(t.p,{children:["You should now have a basic understanding of how Serverpod works. The different topics are described in more detail in the ",(0,s.jsx)(t.em,{children:"Concepts"})," section of the documentation. If you are unfamiliar with server-side development, a good starting place for learning is to do the ",(0,s.jsx)(t.a,{href:"tutorials/first-app",children:"Build your first app"})," tutorial. There are also many good video tutorials linked in the ",(0,s.jsx)(t.em,{children:"Tutorials"})," section."]}),"\n",(0,s.jsxs)(t.p,{children:["If you get stuck, never be afraid to ask questions in our ",(0,s.jsx)(t.a,{href:"https://github.com/serverpod/serverpod/discussions",children:"community on Github"}),". The Serverpod team is very active there, and many questions are also answered by other developers in the community."]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>d});var r=n(96540);const s={},i=r.createContext(s);function o(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[27685],{34304:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"get-started","title":"Get started","description":"This page will help you understand how a Serverpod project is structured, how to make calls to endpoints, and how to communicate with the database.","source":"@site/docs/01-get-started.md","sourceDirName":".","slug":"/get-started","permalink":"/next/get-started","draft":false,"unlisted":false,"editUrl":"https://github.com/serverpod/serverpod_docs/tree/main/docs/01-get-started.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Installing Serverpod","permalink":"/next/"},"next":{"title":"Get started with Mini","permalink":"/next/get-started-with-mini"}}');var s=n(74848),i=n(28453);const o={},d="Get started",a={},l=[{value:"Serverpod or Serverpod Mini?",id:"serverpod-or-serverpod-mini",level:2},{value:"Creating a new Serverpod project",id:"creating-a-new-serverpod-project",level:2},{value:"Starting the server",id:"starting-the-server",level:3},{value:"Running the demo app",id:"running-the-demo-app",level:3},{value:"Server overview",id:"server-overview",level:2},{value:"Generating code",id:"generating-code",level:3},{value:"Working with endpoints",id:"working-with-endpoints",level:3},{value:"Serializing data",id:"serializing-data",level:3},{value:"Working with the database",id:"working-with-the-database",level:2},{value:"Connecting to the database",id:"connecting-to-the-database",level:3},{value:"Migrations",id:"migrations",level:3},{value:"Object database mapping",id:"object-database-mapping",level:3},{value:"Writing to database",id:"writing-to-database",level:3},{value:"Reading from database",id:"reading-from-database",level:3},{value:"Where to go next",id:"where-to-go-next",level:2}];function c(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components},{Details:n}=t;return n||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"get-started",children:"Get started"})}),"\n",(0,s.jsx)(t.p,{children:"This page will help you understand how a Serverpod project is structured, how to make calls to endpoints, and how to communicate with the database."}),"\n",(0,s.jsx)("div",{style:{position:"relative",paddingBottom:"56.25%",height:"0"},children:(0,s.jsx)("iframe",{style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%"},width:"560",height:"315",src:"https://www.youtube-nocookie.com/embed/FwttjcKyWFk",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:!0})}),"\n",(0,s.jsx)(t.h2,{id:"serverpod-or-serverpod-mini",children:"Serverpod or Serverpod Mini?"}),"\n",(0,s.jsx)(t.p,{children:"Serverpod Mini is a lightweight version of Serverpod that is perfect for small projects or when you want to try out Serverpod without setting up a Postgres database. If you start with Mini, you can upgrade to the full version of Serverpod anytime."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"get-started-with-mini",children:"Get started with Mini"})})}),"\n",(0,s.jsxs)(n,{children:[(0,s.jsx)("summary",{children:(0,s.jsx)(t.strong,{children:"Serverpod vs Serverpod Mini comparison"})}),(0,s.jsx)("p",{children:(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Feature"}),(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Serverpod"}),(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Serverpod Mini"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Remote method calls"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Generated data models"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Streaming data"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Custom auth"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Pre-built auth"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Postgres database ORM"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Task scheduling"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Basic logging"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Serverpod Insights"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Caching"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"File uploads"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Health checks"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Relic web server"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Easy deployment"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]})]})]})})]}),"\n",(0,s.jsx)(t.h2,{id:"creating-a-new-serverpod-project",children:"Creating a new Serverpod project"}),"\n",(0,s.jsxs)(t.p,{children:["The full version of Serverpod needs access to a Postgres database. The easiest way to set that up is to use our pre-configured Docker container. Install ",(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"https://flutter.dev/docs/get-started/install",children:"Flutter"})}),", ",(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"/",children:"Serverpod"})})," and ",(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"https://docs.docker.com/get-docker/",children:"Docker Desktop"})})," before you begin."]}),"\n",(0,s.jsxs)(t.p,{children:["Create a new project by running ",(0,s.jsx)(t.code,{children:"serverpod create"}),"."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"$ serverpod create mypod\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"info",children:(0,s.jsxs)(t.p,{children:["Serverpod executes the ",(0,s.jsx)(t.code,{children:"flutter create"})," command inside the flutter package during project creation. On Windows, ",(0,s.jsx)(t.code,{children:"flutter"})," commands require that developer mode is enabled in the system settings."]})}),"\n",(0,s.jsxs)(t.p,{children:["This command will create a new directory called ",(0,s.jsx)(t.code,{children:"mypod"}),", with three dart packages inside; ",(0,s.jsx)(t.code,{children:"mypod_server"}),", ",(0,s.jsx)(t.code,{children:"mypod_client"}),", and ",(0,s.jsx)(t.code,{children:"mypod_flutter"}),"."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"mypod_server"}),": This package contains your server-side code. Modify it to add new endpoints or other features your server needs."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"mypod_client"}),": This is the code needed to communicate with the server. Typically, all code in this package is generated automatically, and you should not edit the files in this package."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"mypod_flutter"}),": This is the Flutter app, pre-configured to connect to your local server."]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"starting-the-server",children:"Starting the server"}),"\n",(0,s.jsxs)(t.p,{children:["Make sure that ",(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"https://www.docker.com/products/docker-desktop/",children:"Docker Desktop"})})," is running, then start your Docker containers with ",(0,s.jsx)(t.code,{children:"docker compose up --build --detach"}),". It will start Postgres and Redis. Then, run ",(0,s.jsx)(t.code,{children:"dart bin/main.dart --apply-migrations"})," to start your server."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"$ cd mypod/mypod_server\n$ docker compose up --build --detach\n$ dart bin/main.dart --apply-migrations\n"})}),"\n",(0,s.jsx)(t.p,{children:"If everything is working, you should see something like this on your terminal:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-text",children:"SERVERPOD version: 2.x.x, mode: development, time: 2022-09-12 17:22:02.825468Z\nInsights listening on port 8081\nServer default listening on port 8080\nWebserver listening on port 8082\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"info",children:(0,s.jsxs)(t.p,{children:["If you need to stop the Docker containers at some point, just run ",(0,s.jsx)(t.code,{children:"docker compose stop"})," or use the Docker Desktop application. You can also use Docker Desktop to start, stop, and manage your containers."]})}),"\n",(0,s.jsx)(t.admonition,{type:"important",children:(0,s.jsxs)(t.p,{children:["In your development environment it can be helpful to always start Serverpod with the ",(0,s.jsx)(t.code,{children:"--apply-migrations"})," flag, as this will ensure that the database is always up-to-date with your latest migration. However, in production you should typically start the server without the flag, unless you want to actually apply a new migration."]})}),"\n",(0,s.jsx)(t.h3,{id:"running-the-demo-app",children:"Running the demo app"}),"\n",(0,s.jsxs)(t.p,{children:["Start the default demo app by changing the directory into the Flutter package that was created and running ",(0,s.jsx)(t.code,{children:"flutter run"}),"."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"$ cd mypod/mypod_flutter\n$ flutter run -d chrome\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The flag ",(0,s.jsx)(t.code,{children:"-d chrome"})," runs the app in Chrome, for other run options please see the Flutter documentation."]}),"\n",(0,s.jsxs)(t.admonition,{type:"info",children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"iOS Simulator"}),": Because an iOS simulator has its own localhost, it won't find the server running on your machine. Therefore, you will need to pass the IP address of your machine when creating the client in ",(0,s.jsx)(t.code,{children:"mypod/mypod_flutter/lib/main.dart"}),". Depending on your local network, it might look something like this:"]}),(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-dart",children:"var client = Client('http://192.168.1.117:8080/')\n ..connectivityMonitor = FlutterConnectivityMonitor();\n"})})]}),"\n",(0,s.jsx)(t.admonition,{type:"info",children:(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"MacOS"}),":\nIf you run the app on MacOS, you will need to add permissions for outgoing connections in your Xcode project. To do this, open the ",(0,s.jsx)(t.code,{children:"Runner.xcworkspace"})," in Xcode. Then check the ",(0,s.jsx)(t.em,{children:"Outgoing Connections (Client)"})," under ",(0,s.jsx)(t.em,{children:"Runner"})," > ",(0,s.jsx)(t.em,{children:"Signing & Capabilities"})," > ",(0,s.jsx)(t.em,{children:"App Sandbox"}),". Make sure to add the capability for all run configurations."]})}),"\n",(0,s.jsx)(t.h2,{id:"server-overview",children:"Server overview"}),"\n",(0,s.jsx)(t.p,{children:"At first glance, the complexity of the server may seem daunting, but there are only a few directories and files you need to pay attention to. The rest of the files will be there when you need them in the future, e.g., when you want to deploy your server or if you want to set up continuous integration."}),"\n",(0,s.jsx)(t.p,{children:"These are the most important directories:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"config"}),": These are the configuration files for your Serverpod. These include a ",(0,s.jsx)(t.code,{children:"password.yaml"})," file with your passwords and configurations for running your server in development, staging, and production. By default, everything is correctly configured to run your server locally."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"lib/src/endpoints"}),": This is the default location for your server's endpoints. When you add methods to an endpoint, Serverpod will generate the corresponding methods in your client."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"lib/src/models"}),": The model definition files are placed here. The files define the classes you can pass through your API and how they relate to your database. Serverpod generates serializable objects from the model definitions."]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Both the ",(0,s.jsx)(t.code,{children:"endpoints"})," and ",(0,s.jsx)(t.code,{children:"models"})," directories contain sample files that give a quick idea of how they work. So this a great place to start learning."]}),"\n",(0,s.jsx)(t.h3,{id:"generating-code",children:"Generating code"}),"\n",(0,s.jsxs)(t.p,{children:["Whenever you change your code in either the ",(0,s.jsx)(t.code,{children:"endpoints"})," or ",(0,s.jsx)(t.code,{children:"models"})," directory, you will need to regenerate the classes managed by Serverpod. Do this by running ",(0,s.jsx)(t.code,{children:"serverpod generate"}),"."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"$ cd mypod/mypod_server\n$ serverpod generate\n"})}),"\n",(0,s.jsx)(t.h3,{id:"working-with-endpoints",children:"Working with endpoints"}),"\n",(0,s.jsxs)(t.p,{children:["Endpoints are the connection points to the server from the client. With Serverpod, you add methods to your endpoint, and your client code will be generated. For the code to be generated, you need to place your endpoint in the ",(0,s.jsx)(t.code,{children:"lib/src/endpoints"})," directory of your server. Your endpoint should extend the ",(0,s.jsx)(t.code,{children:"Endpoint"})," class. For methods to be generated, they need to return a typed ",(0,s.jsx)(t.code,{children:"Future"}),", and its first parameter should be a ",(0,s.jsx)(t.code,{children:"Session"})," object. The ",(0,s.jsx)(t.code,{children:"Session"})," object holds information about the call being made and provides access to the database."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-dart",children:"import 'package:serverpod/serverpod.dart';\n\nclass ExampleEndpoint extends Endpoint {\n Future hello(Session session, String name) async {\n return 'Hello $name';\n }\n}\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The above code will create an endpoint called ",(0,s.jsx)(t.code,{children:"example"})," (the Endpoint suffix will be removed) with the single ",(0,s.jsx)(t.code,{children:"hello"})," method. To generate the client-side code run ",(0,s.jsx)(t.code,{children:"serverpod generate"})," in the home directory of the server."]}),"\n",(0,s.jsx)(t.p,{children:"On the client side, you can now invoke the method by calling:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-dart",children:"var result = await client.example.hello('World');\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["To learn more about endpoints, see the ",(0,s.jsx)(t.a,{href:"concepts/working-with-endpoints",children:"Working with endpoints"})," section."]})}),"\n",(0,s.jsx)(t.h3,{id:"serializing-data",children:"Serializing data"}),"\n",(0,s.jsx)(t.p,{children:"Serverpod makes it easy to generate serializable classes that can be passed between server and client or used to communicate with the database."}),"\n",(0,s.jsxs)(t.p,{children:["The structure for your serialized classes is defined in yaml-files in the ",(0,s.jsx)(t.code,{children:"lib/src/models"})," directory. Run ",(0,s.jsx)(t.code,{children:"serverpod generate"})," in the home directory of the server to build the Dart code for the classes and make them accessible to both the server and client."]}),"\n",(0,s.jsx)(t.p,{children:"Here is a simple example of a yaml-file defining a serializable class:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-yaml",children:"class: Company\nfields:\n name: String\n foundedDate: DateTime?\n"})}),"\n",(0,s.jsxs)(t.p,{children:["Supported types are ",(0,s.jsx)(t.code,{children:"bool"}),", ",(0,s.jsx)(t.code,{children:"int"}),", ",(0,s.jsx)(t.code,{children:"double"}),", ",(0,s.jsx)(t.code,{children:"String"}),", ",(0,s.jsx)(t.code,{children:"DateTime"}),", ",(0,s.jsx)(t.code,{children:"ByteData"}),", and other serializable classes. You can also use ",(0,s.jsx)(t.code,{children:"List"}),"s and ",(0,s.jsx)(t.code,{children:"Map"}),"s of the supported types, just make sure to specify the types. Null safety is supported. The keys of ",(0,s.jsx)(t.code,{children:"Map"})," must be non-nullable ",(0,s.jsx)(t.code,{children:"String"}),"s. Once your classes are generated, you can use them as parameters or return types to endpoint methods."]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["You can also create custom serialized classes with tools such as Freezed. Learn more in the ",(0,s.jsx)(t.a,{href:"concepts/serialization",children:"Serialization"})," section."]})}),"\n",(0,s.jsx)(t.h2,{id:"working-with-the-database",children:"Working with the database"}),"\n",(0,s.jsx)(t.p,{children:"A core feature of Serverpod is to query the database easily. Serverpod provides an ORM that supports type and null safety."}),"\n",(0,s.jsx)(t.h3,{id:"connecting-to-the-database",children:"Connecting to the database"}),"\n",(0,s.jsxs)(t.p,{children:["When working with the database, it is common that you want to connect to it with a database viewer such as ",(0,s.jsx)(t.a,{href:"https://eggerapps.at/postico2/",children:"Postico2"}),", ",(0,s.jsx)(t.a,{href:"https://www.pgadmin.org/download/",children:"PgAdmin"}),", or ",(0,s.jsx)(t.a,{href:"https://dbeaver.io/download/",children:"DBeaver"}),". To connect to the database, you need to specify the host and port along with the database name, user name, and password. In your project, you can find these inside the ",(0,s.jsx)(t.code,{children:"config"})," directory."]}),"\n",(0,s.jsxs)(t.p,{children:["The connection details can be found in the file ",(0,s.jsx)(t.code,{children:"config/development.yaml"}),". The variable ",(0,s.jsx)(t.code,{children:"name"})," refers to the database name (which is your project name only)."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-yaml",children:"database:\n host: localhost\n port: 8090\n name: projectname\n user: postgres\n\n...\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The password can be found in the file ",(0,s.jsx)(t.code,{children:"config/passwords.yaml"}),"."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-yaml",children:"development:\n database: ''\n\n...\n"})}),"\n",(0,s.jsx)(t.h3,{id:"migrations",children:"Migrations"}),"\n",(0,s.jsxs)(t.p,{children:["With database migrations, Serverpod makes it easy to evolve your database schema. When you make changes to your project that should be reflected in your database, you need to create a migration. A migration is a set of SQL queries that are run to update the database. To create a migration, run ",(0,s.jsx)(t.code,{children:"serverpod create-migration"})," in the home directory of the server."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"$ cd mypod/mypod_server\n$ serverpod create-migration\n"})}),"\n",(0,s.jsxs)(t.p,{children:["Migrations are then applied to the database as part of the server startup by adding the ",(0,s.jsx)(t.code,{children:"--apply-migrations"})," flag."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"$ cd mypod/mypod_server\n$ dart bin/main.dart --apply-migrations\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["To learn more about database migrations, see the ",(0,s.jsx)(t.a,{href:"concepts/database/migrations",children:"Migrations"})," section."]})}),"\n",(0,s.jsx)(t.h3,{id:"object-database-mapping",children:"Object database mapping"}),"\n",(0,s.jsxs)(t.p,{children:["Add a ",(0,s.jsx)(t.code,{children:"table"})," key to your model file to add a mapping to the database. The value specified after the key sets the database table name. Here is the ",(0,s.jsx)(t.code,{children:"Company"})," class from earlier with a database table mapping to a table called ",(0,s.jsx)(t.code,{children:"company"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-yaml",children:"class: Company\ntable: company\nfields:\n name: String\n foundedDate: DateTime?\n"})}),"\n",(0,s.jsxs)(t.p,{children:["CRUD operations are available through the static ",(0,s.jsx)(t.code,{children:"db"})," method on all classes with database bindings."]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["To learn more about database CRUD operations, see the ",(0,s.jsx)(t.a,{href:"concepts/database/crud",children:"CRUD"})," section."]})}),"\n",(0,s.jsx)(t.h3,{id:"writing-to-database",children:"Writing to database"}),"\n",(0,s.jsxs)(t.p,{children:["Inserting a new row into the database is as simple as calling the static ",(0,s.jsx)(t.code,{children:"db.insertRow"})," method."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-dart",children:"var myCompany = Company(name: 'Serverpod corp.', foundedDate: DateTime.now());\nmyCompany = await Company.db.insertRow(session, myCompany);\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The method returns the inserted object with its ",(0,s.jsx)(t.code,{children:"id"})," field set from the database."]}),"\n",(0,s.jsx)(t.h3,{id:"reading-from-database",children:"Reading from database"}),"\n",(0,s.jsxs)(t.p,{children:["Retrieving a single row from the database can done by calling the static ",(0,s.jsx)(t.code,{children:"db.findById"})," method and providing the ",(0,s.jsx)(t.code,{children:"id"})," of the row."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-dart",children:"var myCompany = await Company.db.findById(session, companyId);\n"})}),"\n",(0,s.jsxs)(t.p,{children:["You can also use an expression to do a more refined search through the ",(0,s.jsx)(t.code,{children:"db.findFirstRow(...)"}),". method. The ",(0,s.jsx)(t.code,{children:"where"})," parameter is a typed expression builder. The builder's parameter, ",(0,s.jsx)(t.code,{children:"t"}),", contains a description of the table and gives access to the table's columns."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-dart",children:"var myCompany = await Company.db.findFirstRow(\n session,\n where: (t) => t.name.equals('My Company'),\n);\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The example above will return a single row from the database where the ",(0,s.jsx)(t.code,{children:"name"})," column is equal to ",(0,s.jsx)(t.code,{children:"My Company"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["If no matching row is found, ",(0,s.jsx)(t.code,{children:"null"})," is returned."]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["Working with a database is an extensive subject. Learn more in the ",(0,s.jsx)(t.a,{href:"concepts/database/connection",children:"Database"})," section."]})}),"\n",(0,s.jsx)(t.h2,{id:"where-to-go-next",children:"Where to go next"}),"\n",(0,s.jsxs)(t.p,{children:["You should now have a basic understanding of how Serverpod works. The different topics are described in more detail in the ",(0,s.jsx)(t.em,{children:"Concepts"})," section of the documentation. If you are unfamiliar with server-side development, a good starting place for learning is to do the ",(0,s.jsx)(t.a,{href:"tutorials/first-app",children:"Build your first app"})," tutorial. There are also many good video tutorials linked in the ",(0,s.jsx)(t.em,{children:"Tutorials"})," section."]}),"\n",(0,s.jsxs)(t.p,{children:["If you get stuck, never be afraid to ask questions in our ",(0,s.jsx)(t.a,{href:"https://github.com/serverpod/serverpod/discussions",children:"community on Github"}),". The Serverpod team is very active there, and many questions are also answered by other developers in the community."]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>d});var r=n(96540);const s={},i=r.createContext(s);function o(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/b685e31b.774d0f89.js b/docs/assets/js/b685e31b.ead1cca8.js similarity index 76% rename from docs/assets/js/b685e31b.774d0f89.js rename to docs/assets/js/b685e31b.ead1cca8.js index 2db130757..3cc69a33a 100644 --- a/docs/assets/js/b685e31b.774d0f89.js +++ b/docs/assets/js/b685e31b.ead1cca8.js @@ -1 +1 @@ -"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[1171],{22806:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":"unreleased","badge":true,"noIndex":false,"className":"docs-version-current","isLast":false,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Installing Serverpod","href":"/next/","docId":"index","unlisted":false},{"type":"link","label":"Get started","href":"/next/get-started","docId":"get-started","unlisted":false},{"type":"link","label":"Get started with Mini","href":"/next/get-started-with-mini","docId":"get-started-with-mini","unlisted":false},{"type":"link","label":"Capabilities","href":"/next/capabilities","docId":"capabilities","unlisted":false},{"type":"link","label":"Support & community","href":"/next/support","docId":"support","unlisted":false},{"type":"category","label":"Tutorials","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Build your first app","href":"/next/tutorials/first-app","docId":"tutorials/first-app","unlisted":false},{"type":"link","label":"Real-time communication","href":"/next/tutorials/real-time-communication","docId":"tutorials/real-time-communication","unlisted":false},{"type":"link","label":"Code examples","href":"/next/tutorials/code-example","docId":"tutorials/code-example","unlisted":false},{"type":"link","label":"Authentication","href":"/next/tutorials/authentication","docId":"tutorials/authentication","unlisted":false}]},{"type":"category","label":"Reference","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Working with endpoints","href":"/next/concepts/working-with-endpoints","docId":"concepts/working-with-endpoints","unlisted":false},{"type":"link","label":"Working with models","href":"/next/concepts/models","docId":"concepts/models","unlisted":false},{"type":"link","label":"Custom serialization","href":"/next/concepts/serialization","docId":"concepts/serialization","unlisted":false},{"type":"link","label":"Error handling and exceptions","href":"/next/concepts/exceptions","docId":"concepts/exceptions","unlisted":false},{"type":"link","label":"Sessions","href":"/next/concepts/sessions","docId":"concepts/sessions","unlisted":false},{"type":"category","label":"Database","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Connection","href":"/next/concepts/database/connection","docId":"concepts/database/connection","unlisted":false},{"type":"link","label":"Models","href":"/next/concepts/database/models","docId":"concepts/database/models","unlisted":false},{"type":"category","label":"Relations","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"One-to-one","href":"/next/concepts/database/relations/one-to-one","docId":"concepts/database/relations/one-to-one","unlisted":false},{"type":"link","label":"One-to-many","href":"/next/concepts/database/relations/one-to-many","docId":"concepts/database/relations/one-to-many","unlisted":false},{"type":"link","label":"Many-to-many","href":"/next/concepts/database/relations/many-to-many","docId":"concepts/database/relations/many-to-many","unlisted":false},{"type":"link","label":"Self-relations","href":"/next/concepts/database/relations/self-relations","docId":"concepts/database/relations/self-relations","unlisted":false},{"type":"link","label":"Referential actions","href":"/next/concepts/database/relations/referential-actions","docId":"concepts/database/relations/referential-actions","unlisted":false},{"type":"link","label":"Relations with modules","href":"/next/concepts/database/relations/modules","docId":"concepts/database/relations/modules","unlisted":false}]},{"type":"link","label":"Indexing","href":"/next/concepts/database/indexing","docId":"concepts/database/indexing","unlisted":false},{"type":"link","label":"CRUD","href":"/next/concepts/database/crud","docId":"concepts/database/crud","unlisted":false},{"type":"link","label":"Filter","href":"/next/concepts/database/filter","docId":"concepts/database/filter","unlisted":false},{"type":"link","label":"Relation queries","href":"/next/concepts/database/relation-queries","docId":"concepts/database/relation-queries","unlisted":false},{"type":"link","label":"Sort","href":"/next/concepts/database/sort","docId":"concepts/database/sort","unlisted":false},{"type":"link","label":"Transactions","href":"/next/concepts/database/transactions","docId":"concepts/database/transactions","unlisted":false},{"type":"link","label":"Pagination","href":"/next/concepts/database/pagination","docId":"concepts/database/pagination","unlisted":false},{"type":"link","label":"Raw access","href":"/next/concepts/database/raw-access","docId":"concepts/database/raw-access","unlisted":false},{"type":"link","label":"Migrations","href":"/next/concepts/database/migrations","docId":"concepts/database/migrations","unlisted":false}]},{"type":"link","label":"Configurations","href":"/next/concepts/configuration","docId":"concepts/configuration","unlisted":false},{"type":"link","label":"Caching","href":"/next/concepts/caching","docId":"concepts/caching","unlisted":false},{"type":"link","label":"Logging","href":"/next/concepts/logging","docId":"concepts/logging","unlisted":false},{"type":"link","label":"Modules","href":"/next/concepts/modules","docId":"concepts/modules","unlisted":false},{"type":"category","label":"Authentication","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Setup","href":"/next/concepts/authentication/setup","docId":"concepts/authentication/setup","unlisted":false},{"type":"link","label":"The basics","href":"/next/concepts/authentication/basics","docId":"concepts/authentication/basics","unlisted":false},{"type":"link","label":"Working with users","href":"/next/concepts/authentication/working-with-users","docId":"concepts/authentication/working-with-users","unlisted":false},{"type":"category","label":"Providers","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Email","href":"/next/concepts/authentication/providers/email","docId":"concepts/authentication/providers/email","unlisted":false},{"type":"link","label":"Google","href":"/next/concepts/authentication/providers/google","docId":"concepts/authentication/providers/google","unlisted":false},{"type":"link","label":"Apple","href":"/next/concepts/authentication/providers/apple","docId":"concepts/authentication/providers/apple","unlisted":false},{"type":"link","label":"Firebase","href":"/next/concepts/authentication/providers/firebase","docId":"concepts/authentication/providers/firebase","unlisted":false},{"type":"link","label":"Custom providers","href":"/next/concepts/authentication/providers/custom-providers","docId":"concepts/authentication/providers/custom-providers","unlisted":false}]},{"type":"link","label":"Custom overrides","href":"/next/concepts/authentication/custom-overrides","docId":"concepts/authentication/custom-overrides","unlisted":false}]},{"type":"link","label":"Uploading files","href":"/next/concepts/file-uploads","docId":"concepts/file-uploads","unlisted":false},{"type":"link","label":"Health checks","href":"/next/concepts/health-checks","docId":"concepts/health-checks","unlisted":false},{"type":"link","label":"Scheduling","href":"/next/concepts/scheduling","docId":"concepts/scheduling","unlisted":false},{"type":"link","label":"Streams and messaging","href":"/next/concepts/streams","docId":"concepts/streams","unlisted":false},{"type":"link","label":"Backward compatibility","href":"/next/concepts/backward-compatibility","docId":"concepts/backward-compatibility","unlisted":false},{"type":"link","label":"Web server","href":"/next/concepts/webserver","docId":"concepts/webserver","unlisted":false},{"type":"category","label":"Testing","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Get started","href":"/next/concepts/testing/get-started","docId":"concepts/testing/get-started","unlisted":false},{"type":"link","label":"The basics","href":"/next/concepts/testing/the-basics","docId":"concepts/testing/the-basics","unlisted":false},{"type":"link","label":"Advanced examples","href":"/next/concepts/testing/advanced-examples","docId":"concepts/testing/advanced-examples","unlisted":false},{"type":"link","label":"Best practises","href":"/next/concepts/testing/best-practises","docId":"concepts/testing/best-practises","unlisted":false}]},{"type":"link","label":"Experimental features","href":"/next/concepts/experimental","docId":"concepts/experimental","unlisted":false}]},{"type":"category","label":"Deploying Serverpod","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Choosing deployment strategy","href":"/next/deployments/deployment-strategy","docId":"deployments/deployment-strategy","unlisted":false},{"type":"link","label":"Google Cloud Engine with Terraform","href":"/next/deployments/deploying-to-gce-terraform","docId":"deployments/deploying-to-gce-terraform","unlisted":false},{"type":"link","label":"Google Cloud Run with CGP Console","href":"/next/deployments/deploying-to-gcr-console","docId":"deployments/deploying-to-gcr-console","unlisted":false},{"type":"link","label":"AWS EC2 with Terraform","href":"/next/deployments/deploying-to-aws","docId":"deployments/deploying-to-aws","unlisted":false},{"type":"link","label":"Hosting elsewhere","href":"/next/deployments/general","docId":"deployments/general","unlisted":false}]},{"type":"category","label":"Upgrading","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Upgrade from Mini to full","href":"/next/upgrading/upgrade-from-mini","docId":"upgrading/upgrade-from-mini","unlisted":false},{"type":"link","label":"Upgrade to 1.2","href":"/next/upgrading/upgrade-to-one-point-two","docId":"upgrading/upgrade-to-one-point-two","unlisted":false},{"type":"link","label":"Upgrade to 2.0","href":"/next/upgrading/upgrade-to-two","docId":"upgrading/upgrade-to-two","unlisted":false},{"type":"link","label":"Upgrade to 2.2","href":"/next/upgrading/upgrade-to-two-point-two","docId":"upgrading/upgrade-to-two-point-two","unlisted":false}]},{"type":"category","label":"Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Serverpod Insights","href":"/next/tools/insights","docId":"tools/insights","unlisted":false},{"type":"link","label":"LSP server","href":"/next/tools/lsp","docId":"tools/lsp","unlisted":false}]},{"type":"link","label":"Roadmap & contributions","href":"/next/contribute","docId":"contribute","unlisted":false}]},"docs":{"capabilities":{"id":"capabilities","title":"Capabilities","description":"Serverpod is a complete, competent backend for Flutter. For the glossy sales pitch, head to our main page at Serverpod.dev.","sidebar":"tutorialSidebar"},"concepts/authentication/basics":{"id":"concepts/authentication/basics","title":"The basics","description":"Serverpod automatically checks if the user is logged in and if the user has the right privileges to access the endpoint. When using the serverpod_auth module you will not have to worry about keeping track of tokens, refreshing them or, even including them in requests as this all happens automatically under the hood.","sidebar":"tutorialSidebar"},"concepts/authentication/custom-overrides":{"id":"concepts/authentication/custom-overrides","title":"Custom overrides","description":"It is recommended to use the serverpod_auth package but if you have special requirements not fulfilled by it, you can implement your authentication module. Serverpod is designed to make it easy to add custom authentication overrides.","sidebar":"tutorialSidebar"},"concepts/authentication/providers/apple":{"id":"concepts/authentication/providers/apple","title":"Apple","description":"Sign-in with Apple, requires that you have a subscription to the Apple developer program, even if you only want to test the feature in development mode.","sidebar":"tutorialSidebar"},"concepts/authentication/providers/custom-providers":{"id":"concepts/authentication/providers/custom-providers","title":"Custom providers","description":"Serverpod\'s authentication module makes it easy to implement custom authentication providers. This allows you to leverage all the existing providers supplied by the module along with the specific providers your project requires.","sidebar":"tutorialSidebar"},"concepts/authentication/providers/email":{"id":"concepts/authentication/providers/email","title":"Email","description":"To properly configure Sign in with Email, you must connect your Serverpod to an external service that can send the emails. One convenient option is the mailer package, which can send emails through any SMTP service. Most email providers, such as Sendgrid or Mandrill, support SMTP.","sidebar":"tutorialSidebar"},"concepts/authentication/providers/firebase":{"id":"concepts/authentication/providers/firebase","title":"Firebase","description":"Serverpod uses Firebase UI auth to handle authentication through Firebase. It allows you to add social sign-in types that Serverpod doesn\'t directly support.","sidebar":"tutorialSidebar"},"concepts/authentication/providers/google":{"id":"concepts/authentication/providers/google","title":"Google","description":"To set up Sign in with Google, you will need a Google account for your organization and set up a new project. For the project, you need to set up Credentials and Oauth consent screen. You will also need to add the serverpodauthgoogle_flutter package to your app and do some additional setup depending on each platform.","sidebar":"tutorialSidebar"},"concepts/authentication/setup":{"id":"concepts/authentication/setup","title":"Setup","description":"Serverpod comes with built-in user management and authentication. It is possible to build a custom authentication implementation, but the recommended way to authenticate users is to use the serverpod_auth module. The module makes it easy to authenticate with email or social sign-ins and currently supports signing in with email, Google, Apple, and Firebase.","sidebar":"tutorialSidebar"},"concepts/authentication/working-with-users":{"id":"concepts/authentication/working-with-users","title":"Working with users","description":"It\'s a common task to read or update user information on your server. You can always retrieve the id of a signed-in user through the session object.","sidebar":"tutorialSidebar"},"concepts/backward-compatibility":{"id":"concepts/backward-compatibility","title":"Backward compatibility","description":"As your app evolves, features will be added or changed. However, your users may still use older versions of the app as not everyone will update to the latest version and automatic updates through the app stores take time. Therefore it may be essential to make updates to your server compatible with older app versions.","sidebar":"tutorialSidebar"},"concepts/caching":{"id":"concepts/caching","title":"Caching","description":"Accessing the database can be expensive for complex queries or if you need to run many different queries for a specific task. Serverpod makes it easy to cache frequently requested objects in the memory of your server. Any serializable object can be cached. Objects can be stored in the Redis cache if your Serverpod is hosted across multiple servers in a cluster.","sidebar":"tutorialSidebar"},"concepts/configuration":{"id":"concepts/configuration","title":"Configurations","description":"Serverpod can be configured in a few different ways. The minimum required settings to provide is the configuration for the API server. If no settings are provided at all, the default settings for the API server are used.","sidebar":"tutorialSidebar"},"concepts/database/connection":{"id":"concepts/database/connection","title":"Connection","description":"In Serverpod the connection details and password for the database are stored inside the config directory in your server package. Serverpod automatically establishes a connection to the Postgres instance by using these configuration details when you start the server.","sidebar":"tutorialSidebar"},"concepts/database/crud":{"id":"concepts/database/crud","title":"CRUD","description":"To interact with the database you need a Session object as this object holds the connection to the database. All CRUD operations are accessible via the session object and the generated models. The methods can be found under the static db field in your generated models.","sidebar":"tutorialSidebar"},"concepts/database/filter":{"id":"concepts/database/filter","title":"Filter","description":"Serverpod makes it easy to build expressions that are statically type-checked. Columns and relational fields are referenced using table descriptor objects. The table descriptors, t, are accessible from each model and are passed as an argument to a model specific expression builder function. A callback is then used as argument to the where parameter when fetching data from the database.","sidebar":"tutorialSidebar"},"concepts/database/indexing":{"id":"concepts/database/indexing","title":"Indexing","description":"For performance reasons, you may want to add indexes to your database tables. These are added in the yaml-files defining the serializable objects.","sidebar":"tutorialSidebar"},"concepts/database/migrations":{"id":"concepts/database/migrations","title":"Migrations","description":"Serverpod comes bundled with a simple-to-use but powerful migration system that helps you keep your database schema up to date as your project evolves. Database migrations provide a structured way of upgrading your database while maintaining existing data.","sidebar":"tutorialSidebar"},"concepts/database/models":{"id":"concepts/database/models","title":"Models","description":"It\'s possible to map serializable models to tables in your database. To do this, add the table key to your yaml file:","sidebar":"tutorialSidebar"},"concepts/database/pagination":{"id":"concepts/database/pagination","title":"Pagination","description":"Serverpod provides built-in support for pagination to help manage large datasets, allowing you to retrieve data in smaller chunks. Pagination is achieved using the limit and offset parameters.","sidebar":"tutorialSidebar"},"concepts/database/raw-access":{"id":"concepts/database/raw-access","title":"Raw access","description":"The library provides methods to execute raw SQL queries directly on the database for advanced scenarios.","sidebar":"tutorialSidebar"},"concepts/database/relation-queries":{"id":"concepts/database/relation-queries","title":"Relation queries","description":"The Serverpod query framework supports filtering on, sorting on, and including relational data structures. In SQL this is often achieved using a join operation. The functionality is available if there exists any one-to-one or one-to-many object relations between two models.","sidebar":"tutorialSidebar"},"concepts/database/relations/many-to-many":{"id":"concepts/database/relations/many-to-many","title":"Many-to-many","description":"Many-to-many (n:m) relationships describes a scenario where multiple records from a table can relate to multiple records in another table. An example of this would be the relationship between students and courses, where a single student can enroll in multiple courses, and a single course can have multiple students.","sidebar":"tutorialSidebar"},"concepts/database/relations/modules":{"id":"concepts/database/relations/modules","title":"Relations with modules","description":"Serverpod modules usually come with predefined tables and data structures. Sometimes it can be useful to extend them with your data structures by creating a relation to the module tables. Relations to modules come with some restrictions since you do not own the definition of the table, you cannot change the table structure of a module table.","sidebar":"tutorialSidebar"},"concepts/database/relations/one-to-many":{"id":"concepts/database/relations/one-to-many","title":"One-to-many","description":"One-to-many (1:n) relationships describes a scenario where multiple records from one table can relate to a single record in another table. An example of this would the relationship between a company and its employees, where multiple employees can be employed at a single company.","sidebar":"tutorialSidebar"},"concepts/database/relations/one-to-one":{"id":"concepts/database/relations/one-to-one","title":"One-to-one","description":"One-to-one (1n) relation.","sidebar":"tutorialSidebar"},"concepts/database/relations/referential-actions":{"id":"concepts/database/relations/referential-actions","title":"Referential actions","description":"In Serverpod, the behavior of update and delete for relations can be precisely defined using the onUpdate and onDelete properties. These properties map directly to the corresponding referential actions in PostgreSQL.","sidebar":"tutorialSidebar"},"concepts/database/relations/self-relations":{"id":"concepts/database/relations/self-relations","title":"Self-relations","description":"A self-referential or self-relation occurs when a table has a foreign key that references its own primary key within the same table. This creates a relationship between different rows within the same table.","sidebar":"tutorialSidebar"},"concepts/database/sort":{"id":"concepts/database/sort","title":"Sort","description":"It is often desirable to order the results of a database query. The \'find\' method has an orderBy parameter where you can specify a column for sorting. The parameter takes a callback as an argument that passes a model-specific table descriptor, also accessible through the t field on the model. The table descriptor represents the database table associated with the model and includes fields for each corresponding column. The callback is then used to specify the column to sort by.","sidebar":"tutorialSidebar"},"concepts/database/transactions":{"id":"concepts/database/transactions","title":"Transactions","description":"The essential point of a database transaction is that it bundles multiple steps into a single, all-or-nothing operation. The intermediate states between the steps are not visible to other concurrent transactions, and if some failure occurs that prevents the transaction from completing, then none of the steps affect the database at all.","sidebar":"tutorialSidebar"},"concepts/exceptions":{"id":"concepts/exceptions","title":"Error handling and exceptions","description":"Handling errors well is essential when you are building your server. To simplify things, Serverpod allows you to throw an exception on the server, serialize it, and catch it in your client app.","sidebar":"tutorialSidebar"},"concepts/experimental":{"id":"concepts/experimental","title":"Experimental features","description":"Experimental features should not be used in production environments, as their stability is uncertain and they may receive breaking changes in upcoming releases.","sidebar":"tutorialSidebar"},"concepts/file-uploads":{"id":"concepts/file-uploads","title":"Uploading files","description":"Serverpod has built-in support for handling file uploads. Out of the box, your server is configured to use the database for storing files. This works well for testing but may not be performant in larger-scale applications. You should set up your server to use Google Cloud Storage or S3 in production scenarios.","sidebar":"tutorialSidebar"},"concepts/health-checks":{"id":"concepts/health-checks","title":"Health checks","description":"Serverpod automatically performs health checks while running. It measures CPU and memory usage and the response time to the database. The metrics are stored in the database every minute in the serverpodhealthmetric and serverpodhealthconnection_info tables. However, the best way to visualize the data is through Serverpod Insights, which gives you a graphical view.","sidebar":"tutorialSidebar"},"concepts/logging":{"id":"concepts/logging","title":"Logging","description":"Serverpod uses the database for storing logs; this makes it easy to search for errors, slow queries, or debug messages. To log custom messages during the execution of a session, use the log method of the session object. When the session is closed, either from successful execution or by failing from throwing an exception, the messages are written to the log. By default, session log entries are written for every completed session.","sidebar":"tutorialSidebar"},"concepts/models":{"id":"concepts/models","title":"Working with models","description":"Models are Yaml files used to define serializable classes in Serverpod. They are used to generate Dart code for the server and client, and, if a database table is defined, to generate database code for the server. Using regular .yaml files within lib/src/models is supported, but it is recommended to use .spy.yaml (.spy stands for \\"Server Pod Yaml\\") to leverage syntax highlighting provided by the Serverpod Extension for VS Code.","sidebar":"tutorialSidebar"},"concepts/modules":{"id":"concepts/modules","title":"Modules","description":"Serverpod is built around the concept of modules. A Serverpod module is similar to a Dart package but contains both server, client, and Flutter code. A module contains its own namespace for endpoints and methods to minimize the risk of conflicts.","sidebar":"tutorialSidebar"},"concepts/scheduling":{"id":"concepts/scheduling","title":"Scheduling","description":"With Serverpod you can schedule future work with the future call feature. Future calls are calls that will be invoked at a later time. An example is if you want to send a drip-email campaign after a user signs up. You can schedule a future call for a day, a week, or a month. The calls are stored in the database, so they will persist even if the server is restarted.","sidebar":"tutorialSidebar"},"concepts/serialization":{"id":"concepts/serialization","title":"Custom serialization","description":"For most purposes, you will want to use Serverpod\'s native serialization. However, there may be cases where you want to serialize more advanced objects. With Serverpod, you can pass any serializable objects as long as they conform to three simple rules:","sidebar":"tutorialSidebar"},"concepts/sessions":{"id":"concepts/sessions","title":"Sessions","description":"The Session object provides information about the current context in a method call in Serverpod. It provides access to the database, caching, authentication, data storage, and messaging within the server. It will also contain information about the HTTP request object.","sidebar":"tutorialSidebar"},"concepts/streams":{"id":"concepts/streams","title":"Streams and messaging","description":"For some applications, it\'s not enough to be able to call server-side methods. You may also want to push data from the server to the client or send data two-way. Examples include real-time games or chat applications. Luckily, Serverpod supports a framework for streaming data. It\'s possible to stream any serialized objects to or from any endpoint.","sidebar":"tutorialSidebar"},"concepts/testing/advanced-examples":{"id":"concepts/testing/advanced-examples","title":"Advanced examples","description":"Run unit and integration tests separately","sidebar":"tutorialSidebar"},"concepts/testing/best-practises":{"id":"concepts/testing/best-practises","title":"Best practises","description":"Imports","sidebar":"tutorialSidebar"},"concepts/testing/get-started":{"id":"concepts/testing/get-started","title":"Get started","description":"Serverpod provides simple but feature rich test tools to make testing your backend a breeze.","sidebar":"tutorialSidebar"},"concepts/testing/the-basics":{"id":"concepts/testing/the-basics","title":"The basics","description":"Set up a test scenario","sidebar":"tutorialSidebar"},"concepts/webserver":{"id":"concepts/webserver","title":"Web server","description":"In addition to the application server, Serverpod comes with a built-in web server. The web server allows you to access your database and business layer the same way you would from a method call from an app. This makes it very easy to share data for applications that need both an app and traditional web pages. You can also use the web server to create webhooks or generate custom REST APIs to communicate with 3rd party services.","sidebar":"tutorialSidebar"},"concepts/working-with-endpoints":{"id":"concepts/working-with-endpoints","title":"Working with endpoints","description":"Endpoints are the connection points to the server from the client. With Serverpod, you add methods to your endpoint, and your client code will be generated to make the method call. For the code to be generated, you need to place your endpoint in the endpoints directory of your server. Your endpoint should extend the Endpoint class. For methods to be generated, they need to return a typed Future, and its first argument should be a Session object. The Session object holds information about the call being made and provides access to the database.","sidebar":"tutorialSidebar"},"contribute":{"id":"contribute","title":"Roadmap & contributions","description":"Serverpod is built by the community for the community. Pull requests are very much welcome. If you are making something more significant than just a tiny bug fix, please get in touch with Serverpod\'s lead developer Viktor Lidholt before you get started. This makes sure that your contribution aligns with Serverpod\'s overall vision and roadmap and that multiple persons don\'t do the same work.","sidebar":"tutorialSidebar"},"deployments/deploying-to-aws":{"id":"deployments/deploying-to-aws","title":"AWS EC2 with Terraform","description":"Serverpod makes it easy to deploy your server to AWS using Github and Terraform. Terraform will set up and manage your infrastructure while you use Github actions to manage versions and deployments. Creating your project using serverpod create Serverpod will automatically generate your deployment scripts. The default setup uses a minimal configuration that will fit within the AWS free tier, but you can easily modify the configuration to suit your needs.","sidebar":"tutorialSidebar"},"deployments/deploying-to-gce-terraform":{"id":"deployments/deploying-to-gce-terraform","title":"Google Cloud Engine with Terraform","description":"Serverpod makes deploying your server to Cloud Engine easy using Github, Terraform, and Docker containers. Terraform will set up and manage your infrastructure while you use Github to build your Docker container and manage versions and deployments. Creating your project using serverpod create will automatically generate your deployment scripts. The default setup creates a minimal configuration, but you can easily modify the configuration to suit your needs.","sidebar":"tutorialSidebar"},"deployments/deploying-to-gcr-console":{"id":"deployments/deploying-to-gcr-console","title":"Google Cloud Run with CGP Console","description":"If your server does not maintain a state and you aren\'t using future calls, running your Serverpod on Google Cloud Run can be a great option. Cloud Run is the easiest way to deploy your server but may be less flexible as your application grows. Check the Choosing deployment strategy page for more information on choosing the best solution for your needs.","sidebar":"tutorialSidebar"},"deployments/deployment-strategy":{"id":"deployments/deployment-strategy","title":"Choosing deployment strategy","description":"There are different options for hosting Serverpod. The minimal requirements are a single server or a serverless managed platform like Google Cloud Run and a Postgres database. Which setup you choose depends on the requirements of your architecture.","sidebar":"tutorialSidebar"},"deployments/general":{"id":"deployments/general","title":"Hosting elsewhere","description":"You can host Serverpod anywhere, running Dart directly or through a Docker container. This page contains helpful information if you want to deploy Serverpod on a custom platform.","sidebar":"tutorialSidebar"},"get-started":{"id":"get-started","title":"Get started","description":"This page will help you understand how a Serverpod project is structured, how to make calls to endpoints, and how to communicate with the database.","sidebar":"tutorialSidebar"},"get-started-with-mini":{"id":"get-started-with-mini","title":"Get started with Mini","description":"Serverpod Mini is a slimmer version of Serverpod that does not need to be connected to a Postgres database. Before you begin, make sure that you have Flutter and Serverpod installed.","sidebar":"tutorialSidebar"},"index":{"id":"index","title":"Installing Serverpod","description":"Serverpod is an open-source, scalable app server written in Dart for the Flutter community. Serverpod automatically generates your model and client-side code by analyzing your server. Calling a remote endpoint is as easy as making a local method call.","sidebar":"tutorialSidebar"},"support":{"id":"support","title":"Support & community","description":"If you get stuck, you can get support through our Github community. The authors of Serverpod are checking in pretty much every day and helping out as much as we can.","sidebar":"tutorialSidebar"},"tools/insights":{"id":"tools/insights","title":"Serverpod Insights","description":"Serverpod has a companion app. It is currently available for Mac and Windows, but Linux is coming soon. The app has support for viewing your server\'s logs and health metrics, but we are adding many more features in version 1.2. You must use a version of the app that matches the version of Serverpod you use in your project, or not all features may work correctly.","sidebar":"tutorialSidebar"},"tools/lsp":{"id":"tools/lsp","title":"LSP server","description":"The Language Server Protocol (LSP) is a standardized protocol designed to provide development environments with language-specific functionalities. In the context of Serverpod, the LSP server specifically offers diagnostics for YAML protocol files, aiding developers in identifying and resolving potential issues within these files.","sidebar":"tutorialSidebar"},"tutorials/authentication":{"id":"tutorials/authentication","title":"Authentication","description":"Our comprehensive Authentication series is designed to guide you seamlessly through the process of setting up and utilizing the auth module within Serverpod. Each part of this series is tailored to introduce and explain different aspects of authentication, aiming to make it a straightforward process, regardless of your experience level. We recommend starting with the first one to complete the setup of the auth module before moving on to specific providers.","sidebar":"tutorialSidebar"},"tutorials/code-example":{"id":"tutorials/code-example","title":"Code examples","description":"Looking at examples can be a great way to learn. Here we collect samples created by the Serverpod team and the community.","sidebar":"tutorialSidebar"},"tutorials/first-app":{"id":"tutorials/first-app","title":"Build your first app","description":"You will build a simple note-taking app in this tutorial. You will learn the fundamental building blocks of Serverpod that enable you to create powerful and scalable server-side applications with ease.","sidebar":"tutorialSidebar"},"tutorials/real-time-communication":{"id":"tutorials/real-time-communication","title":"Real-time communication","description":"Have you ever found real-time communication in apps challenging? It doesn\'t have to be. Today, we\'re diving into how to build a collaborative drawing experience using Flutter and Serverpod. We\'ll call our app Pixorama\u200a-\u200aa fun and interactive project inspired by Reddit\'s r/place. Pixorama lets users draw together on a shared grid, with every pixel placed updating in real-time across all connected devices.","sidebar":"tutorialSidebar"},"upgrading/upgrade-from-mini":{"id":"upgrading/upgrade-from-mini","title":"Upgrade from Mini to full","description":"If you have started with Serverpod Mini, you can upgrade to the full Serverpod version anytime. Before you upgrade, it\'s good practice to back up your project, as some configuration files can be overwritten if you have manually created them.","sidebar":"tutorialSidebar"},"upgrading/upgrade-to-one-point-two":{"id":"upgrading/upgrade-to-one-point-two","title":"Upgrade to 1.2","description":"Serverpod 1.2. is backward compatible with Serverpod 1.0 and Serverpod 1.1. There are a few changes to the database layer, meaning you probably want to use the new methods. The old methods still works, but have been deprecated and will be permanently removed with the upcoming version 2.","sidebar":"tutorialSidebar"},"upgrading/upgrade-to-two":{"id":"upgrading/upgrade-to-two","title":"Upgrade to 2.0","description":"Changes to authentication","sidebar":"tutorialSidebar"},"upgrading/upgrade-to-two-point-two":{"id":"upgrading/upgrade-to-two-point-two","title":"Upgrade to 2.2","description":"Serverpod 2.2 includes new test tools that make it easy to create tests for endpoint methods. For new projects they are configured by default, but existing projects need to go through some steps to enable it (see below). The full documentation of this feature can also be found here.","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[1171],{22806:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":"unreleased","badge":true,"noIndex":false,"className":"docs-version-current","isLast":false,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Installing Serverpod","href":"/next/","docId":"index","unlisted":false},{"type":"link","label":"Get started","href":"/next/get-started","docId":"get-started","unlisted":false},{"type":"link","label":"Get started with Mini","href":"/next/get-started-with-mini","docId":"get-started-with-mini","unlisted":false},{"type":"link","label":"Capabilities","href":"/next/capabilities","docId":"capabilities","unlisted":false},{"type":"link","label":"Support & community","href":"/next/support","docId":"support","unlisted":false},{"type":"category","label":"Tutorials","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Build your first app","href":"/next/tutorials/first-app","docId":"tutorials/first-app","unlisted":false},{"type":"link","label":"Real-time communication","href":"/next/tutorials/real-time-communication","docId":"tutorials/real-time-communication","unlisted":false},{"type":"link","label":"Code examples","href":"/next/tutorials/code-example","docId":"tutorials/code-example","unlisted":false},{"type":"link","label":"Authentication","href":"/next/tutorials/authentication","docId":"tutorials/authentication","unlisted":false}]},{"type":"category","label":"Reference","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Working with endpoints","href":"/next/concepts/working-with-endpoints","docId":"concepts/working-with-endpoints","unlisted":false},{"type":"link","label":"Working with models","href":"/next/concepts/models","docId":"concepts/models","unlisted":false},{"type":"link","label":"Custom serialization","href":"/next/concepts/serialization","docId":"concepts/serialization","unlisted":false},{"type":"link","label":"Error handling and exceptions","href":"/next/concepts/exceptions","docId":"concepts/exceptions","unlisted":false},{"type":"link","label":"Sessions","href":"/next/concepts/sessions","docId":"concepts/sessions","unlisted":false},{"type":"category","label":"Database","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Connection","href":"/next/concepts/database/connection","docId":"concepts/database/connection","unlisted":false},{"type":"link","label":"Models","href":"/next/concepts/database/models","docId":"concepts/database/models","unlisted":false},{"type":"category","label":"Relations","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"One-to-one","href":"/next/concepts/database/relations/one-to-one","docId":"concepts/database/relations/one-to-one","unlisted":false},{"type":"link","label":"One-to-many","href":"/next/concepts/database/relations/one-to-many","docId":"concepts/database/relations/one-to-many","unlisted":false},{"type":"link","label":"Many-to-many","href":"/next/concepts/database/relations/many-to-many","docId":"concepts/database/relations/many-to-many","unlisted":false},{"type":"link","label":"Self-relations","href":"/next/concepts/database/relations/self-relations","docId":"concepts/database/relations/self-relations","unlisted":false},{"type":"link","label":"Referential actions","href":"/next/concepts/database/relations/referential-actions","docId":"concepts/database/relations/referential-actions","unlisted":false},{"type":"link","label":"Relations with modules","href":"/next/concepts/database/relations/modules","docId":"concepts/database/relations/modules","unlisted":false}]},{"type":"link","label":"Indexing","href":"/next/concepts/database/indexing","docId":"concepts/database/indexing","unlisted":false},{"type":"link","label":"CRUD","href":"/next/concepts/database/crud","docId":"concepts/database/crud","unlisted":false},{"type":"link","label":"Filter","href":"/next/concepts/database/filter","docId":"concepts/database/filter","unlisted":false},{"type":"link","label":"Relation queries","href":"/next/concepts/database/relation-queries","docId":"concepts/database/relation-queries","unlisted":false},{"type":"link","label":"Sort","href":"/next/concepts/database/sort","docId":"concepts/database/sort","unlisted":false},{"type":"link","label":"Transactions","href":"/next/concepts/database/transactions","docId":"concepts/database/transactions","unlisted":false},{"type":"link","label":"Pagination","href":"/next/concepts/database/pagination","docId":"concepts/database/pagination","unlisted":false},{"type":"link","label":"Raw access","href":"/next/concepts/database/raw-access","docId":"concepts/database/raw-access","unlisted":false},{"type":"link","label":"Migrations","href":"/next/concepts/database/migrations","docId":"concepts/database/migrations","unlisted":false}]},{"type":"link","label":"Configurations","href":"/next/concepts/configuration","docId":"concepts/configuration","unlisted":false},{"type":"link","label":"Caching","href":"/next/concepts/caching","docId":"concepts/caching","unlisted":false},{"type":"link","label":"Logging","href":"/next/concepts/logging","docId":"concepts/logging","unlisted":false},{"type":"link","label":"Modules","href":"/next/concepts/modules","docId":"concepts/modules","unlisted":false},{"type":"category","label":"Authentication","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Setup","href":"/next/concepts/authentication/setup","docId":"concepts/authentication/setup","unlisted":false},{"type":"link","label":"The basics","href":"/next/concepts/authentication/basics","docId":"concepts/authentication/basics","unlisted":false},{"type":"link","label":"Working with users","href":"/next/concepts/authentication/working-with-users","docId":"concepts/authentication/working-with-users","unlisted":false},{"type":"category","label":"Providers","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Email","href":"/next/concepts/authentication/providers/email","docId":"concepts/authentication/providers/email","unlisted":false},{"type":"link","label":"Google","href":"/next/concepts/authentication/providers/google","docId":"concepts/authentication/providers/google","unlisted":false},{"type":"link","label":"Apple","href":"/next/concepts/authentication/providers/apple","docId":"concepts/authentication/providers/apple","unlisted":false},{"type":"link","label":"Firebase","href":"/next/concepts/authentication/providers/firebase","docId":"concepts/authentication/providers/firebase","unlisted":false},{"type":"link","label":"Custom providers","href":"/next/concepts/authentication/providers/custom-providers","docId":"concepts/authentication/providers/custom-providers","unlisted":false}]},{"type":"link","label":"Custom overrides","href":"/next/concepts/authentication/custom-overrides","docId":"concepts/authentication/custom-overrides","unlisted":false}]},{"type":"link","label":"Uploading files","href":"/next/concepts/file-uploads","docId":"concepts/file-uploads","unlisted":false},{"type":"link","label":"Health checks","href":"/next/concepts/health-checks","docId":"concepts/health-checks","unlisted":false},{"type":"link","label":"Scheduling","href":"/next/concepts/scheduling","docId":"concepts/scheduling","unlisted":false},{"type":"link","label":"Streams and messaging","href":"/next/concepts/streams","docId":"concepts/streams","unlisted":false},{"type":"link","label":"Backward compatibility","href":"/next/concepts/backward-compatibility","docId":"concepts/backward-compatibility","unlisted":false},{"type":"link","label":"Web server","href":"/next/concepts/webserver","docId":"concepts/webserver","unlisted":false},{"type":"category","label":"Testing","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Get started","href":"/next/concepts/testing/get-started","docId":"concepts/testing/get-started","unlisted":false},{"type":"link","label":"The basics","href":"/next/concepts/testing/the-basics","docId":"concepts/testing/the-basics","unlisted":false},{"type":"link","label":"Advanced examples","href":"/next/concepts/testing/advanced-examples","docId":"concepts/testing/advanced-examples","unlisted":false},{"type":"link","label":"Best practises","href":"/next/concepts/testing/best-practises","docId":"concepts/testing/best-practises","unlisted":false}]},{"type":"link","label":"Experimental features","href":"/next/concepts/experimental","docId":"concepts/experimental","unlisted":false}]},{"type":"category","label":"Deploying Serverpod","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Choosing deployment strategy","href":"/next/deployments/deployment-strategy","docId":"deployments/deployment-strategy","unlisted":false},{"type":"link","label":"Google Cloud Engine with Terraform","href":"/next/deployments/deploying-to-gce-terraform","docId":"deployments/deploying-to-gce-terraform","unlisted":false},{"type":"link","label":"Google Cloud Run with CGP Console","href":"/next/deployments/deploying-to-gcr-console","docId":"deployments/deploying-to-gcr-console","unlisted":false},{"type":"link","label":"AWS EC2 with Terraform","href":"/next/deployments/deploying-to-aws","docId":"deployments/deploying-to-aws","unlisted":false},{"type":"link","label":"Hosting elsewhere","href":"/next/deployments/general","docId":"deployments/general","unlisted":false}]},{"type":"category","label":"Upgrading","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Upgrade from Mini to full","href":"/next/upgrading/upgrade-from-mini","docId":"upgrading/upgrade-from-mini","unlisted":false},{"type":"link","label":"Upgrade to 1.2","href":"/next/upgrading/upgrade-to-one-point-two","docId":"upgrading/upgrade-to-one-point-two","unlisted":false},{"type":"link","label":"Upgrade to 2.0","href":"/next/upgrading/upgrade-to-two","docId":"upgrading/upgrade-to-two","unlisted":false},{"type":"link","label":"Upgrade to 2.2","href":"/next/upgrading/upgrade-to-two-point-two","docId":"upgrading/upgrade-to-two-point-two","unlisted":false}]},{"type":"category","label":"Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Serverpod Insights","href":"/next/tools/insights","docId":"tools/insights","unlisted":false},{"type":"link","label":"LSP server","href":"/next/tools/lsp","docId":"tools/lsp","unlisted":false}]},{"type":"link","label":"Roadmap & contributions","href":"/next/contribute","docId":"contribute","unlisted":false}]},"docs":{"capabilities":{"id":"capabilities","title":"Capabilities","description":"Serverpod is a complete, competent backend for Flutter. For the glossy sales pitch, head to our main page at Serverpod.dev.","sidebar":"tutorialSidebar"},"concepts/authentication/basics":{"id":"concepts/authentication/basics","title":"The basics","description":"Serverpod automatically checks if the user is logged in and if the user has the right privileges to access the endpoint. When using the serverpod_auth module you will not have to worry about keeping track of tokens, refreshing them or, even including them in requests as this all happens automatically under the hood.","sidebar":"tutorialSidebar"},"concepts/authentication/custom-overrides":{"id":"concepts/authentication/custom-overrides","title":"Custom overrides","description":"It is recommended to use the serverpod_auth package but if you have special requirements not fulfilled by it, you can implement your authentication module. Serverpod is designed to make it easy to add custom authentication overrides.","sidebar":"tutorialSidebar"},"concepts/authentication/providers/apple":{"id":"concepts/authentication/providers/apple","title":"Apple","description":"Sign-in with Apple, requires that you have a subscription to the Apple developer program, even if you only want to test the feature in development mode.","sidebar":"tutorialSidebar"},"concepts/authentication/providers/custom-providers":{"id":"concepts/authentication/providers/custom-providers","title":"Custom providers","description":"Serverpod\'s authentication module makes it easy to implement custom authentication providers. This allows you to leverage all the existing providers supplied by the module along with the specific providers your project requires.","sidebar":"tutorialSidebar"},"concepts/authentication/providers/email":{"id":"concepts/authentication/providers/email","title":"Email","description":"To properly configure Sign in with Email, you must connect your Serverpod to an external service that can send the emails. One convenient option is the mailer package, which can send emails through any SMTP service. Most email providers, such as Sendgrid or Mandrill, support SMTP.","sidebar":"tutorialSidebar"},"concepts/authentication/providers/firebase":{"id":"concepts/authentication/providers/firebase","title":"Firebase","description":"Serverpod uses Firebase UI auth to handle authentication through Firebase. It allows you to add social sign-in types that Serverpod doesn\'t directly support.","sidebar":"tutorialSidebar"},"concepts/authentication/providers/google":{"id":"concepts/authentication/providers/google","title":"Google","description":"To set up Sign in with Google, you will need a Google account for your organization and set up a new project. For the project, you need to set up Credentials and Oauth consent screen. You will also need to add the serverpodauthgoogle_flutter package to your app and do some additional setup depending on each platform.","sidebar":"tutorialSidebar"},"concepts/authentication/setup":{"id":"concepts/authentication/setup","title":"Setup","description":"Serverpod comes with built-in user management and authentication. It is possible to build a custom authentication implementation, but the recommended way to authenticate users is to use the serverpod_auth module. The module makes it easy to authenticate with email or social sign-ins and currently supports signing in with email, Google, Apple, and Firebase.","sidebar":"tutorialSidebar"},"concepts/authentication/working-with-users":{"id":"concepts/authentication/working-with-users","title":"Working with users","description":"It\'s a common task to read or update user information on your server. You can always retrieve the id of a signed-in user through the session object.","sidebar":"tutorialSidebar"},"concepts/backward-compatibility":{"id":"concepts/backward-compatibility","title":"Backward compatibility","description":"As your app evolves, features will be added or changed. However, your users may still use older versions of the app as not everyone will update to the latest version and automatic updates through the app stores take time. Therefore it may be essential to make updates to your server compatible with older app versions.","sidebar":"tutorialSidebar"},"concepts/caching":{"id":"concepts/caching","title":"Caching","description":"Accessing the database can be expensive for complex queries or if you need to run many different queries for a specific task. Serverpod makes it easy to cache frequently requested objects in the memory of your server. Any serializable object can be cached. Objects can be stored in the Redis cache if your Serverpod is hosted across multiple servers in a cluster.","sidebar":"tutorialSidebar"},"concepts/configuration":{"id":"concepts/configuration","title":"Configurations","description":"Serverpod can be configured in a few different ways. The minimum required settings to provide is the configuration for the API server. If no settings are provided at all, the default settings for the API server are used.","sidebar":"tutorialSidebar"},"concepts/database/connection":{"id":"concepts/database/connection","title":"Connection","description":"In Serverpod the connection details and password for the database are stored inside the config directory in your server package. Serverpod automatically establishes a connection to the Postgres instance by using these configuration details when you start the server.","sidebar":"tutorialSidebar"},"concepts/database/crud":{"id":"concepts/database/crud","title":"CRUD","description":"To interact with the database you need a Session object as this object holds the connection to the database. All CRUD operations are accessible via the session object and the generated models. The methods can be found under the static db field in your generated models.","sidebar":"tutorialSidebar"},"concepts/database/filter":{"id":"concepts/database/filter","title":"Filter","description":"Serverpod makes it easy to build expressions that are statically type-checked. Columns and relational fields are referenced using table descriptor objects. The table descriptors, t, are accessible from each model and are passed as an argument to a model specific expression builder function. A callback is then used as argument to the where parameter when fetching data from the database.","sidebar":"tutorialSidebar"},"concepts/database/indexing":{"id":"concepts/database/indexing","title":"Indexing","description":"For performance reasons, you may want to add indexes to your database tables. These are added in the yaml-files defining the serializable objects.","sidebar":"tutorialSidebar"},"concepts/database/migrations":{"id":"concepts/database/migrations","title":"Migrations","description":"Serverpod comes bundled with a simple-to-use but powerful migration system that helps you keep your database schema up to date as your project evolves. Database migrations provide a structured way of upgrading your database while maintaining existing data.","sidebar":"tutorialSidebar"},"concepts/database/models":{"id":"concepts/database/models","title":"Models","description":"It\'s possible to map serializable models to tables in your database. To do this, add the table key to your yaml file:","sidebar":"tutorialSidebar"},"concepts/database/pagination":{"id":"concepts/database/pagination","title":"Pagination","description":"Serverpod provides built-in support for pagination to help manage large datasets, allowing you to retrieve data in smaller chunks. Pagination is achieved using the limit and offset parameters.","sidebar":"tutorialSidebar"},"concepts/database/raw-access":{"id":"concepts/database/raw-access","title":"Raw access","description":"The library provides methods to execute raw SQL queries directly on the database for advanced scenarios.","sidebar":"tutorialSidebar"},"concepts/database/relation-queries":{"id":"concepts/database/relation-queries","title":"Relation queries","description":"The Serverpod query framework supports filtering on, sorting on, and including relational data structures. In SQL this is often achieved using a join operation. The functionality is available if there exists any one-to-one or one-to-many object relations between two models.","sidebar":"tutorialSidebar"},"concepts/database/relations/many-to-many":{"id":"concepts/database/relations/many-to-many","title":"Many-to-many","description":"Many-to-many (n:m) relationships describes a scenario where multiple records from a table can relate to multiple records in another table. An example of this would be the relationship between students and courses, where a single student can enroll in multiple courses, and a single course can have multiple students.","sidebar":"tutorialSidebar"},"concepts/database/relations/modules":{"id":"concepts/database/relations/modules","title":"Relations with modules","description":"Serverpod modules usually come with predefined tables and data structures. Sometimes it can be useful to extend them with your data structures by creating a relation to the module tables. Relations to modules come with some restrictions since you do not own the definition of the table, you cannot change the table structure of a module table.","sidebar":"tutorialSidebar"},"concepts/database/relations/one-to-many":{"id":"concepts/database/relations/one-to-many","title":"One-to-many","description":"One-to-many (1:n) relationships describes a scenario where multiple records from one table can relate to a single record in another table. An example of this would the relationship between a company and its employees, where multiple employees can be employed at a single company.","sidebar":"tutorialSidebar"},"concepts/database/relations/one-to-one":{"id":"concepts/database/relations/one-to-one","title":"One-to-one","description":"One-to-one (1n) relation.","sidebar":"tutorialSidebar"},"concepts/database/relations/referential-actions":{"id":"concepts/database/relations/referential-actions","title":"Referential actions","description":"In Serverpod, the behavior of update and delete for relations can be precisely defined using the onUpdate and onDelete properties. These properties map directly to the corresponding referential actions in PostgreSQL.","sidebar":"tutorialSidebar"},"concepts/database/relations/self-relations":{"id":"concepts/database/relations/self-relations","title":"Self-relations","description":"A self-referential or self-relation occurs when a table has a foreign key that references its own primary key within the same table. This creates a relationship between different rows within the same table.","sidebar":"tutorialSidebar"},"concepts/database/sort":{"id":"concepts/database/sort","title":"Sort","description":"It is often desirable to order the results of a database query. The \'find\' method has an orderBy parameter where you can specify a column for sorting. The parameter takes a callback as an argument that passes a model-specific table descriptor, also accessible through the t field on the model. The table descriptor represents the database table associated with the model and includes fields for each corresponding column. The callback is then used to specify the column to sort by.","sidebar":"tutorialSidebar"},"concepts/database/transactions":{"id":"concepts/database/transactions","title":"Transactions","description":"The essential point of a database transaction is that it bundles multiple steps into a single, all-or-nothing operation. The intermediate states between the steps are not visible to other concurrent transactions, and if some failure occurs that prevents the transaction from completing, then none of the steps affect the database at all.","sidebar":"tutorialSidebar"},"concepts/exceptions":{"id":"concepts/exceptions","title":"Error handling and exceptions","description":"Handling errors well is essential when you are building your server. To simplify things, Serverpod allows you to throw an exception on the server, serialize it, and catch it in your client app.","sidebar":"tutorialSidebar"},"concepts/experimental":{"id":"concepts/experimental","title":"Experimental features","description":"Experimental features should not be used in production environments, as their stability is uncertain and they may receive breaking changes in upcoming releases.","sidebar":"tutorialSidebar"},"concepts/file-uploads":{"id":"concepts/file-uploads","title":"Uploading files","description":"Serverpod has built-in support for handling file uploads. Out of the box, your server is configured to use the database for storing files. This works well for testing but may not be performant in larger-scale applications. You should set up your server to use Google Cloud Storage or S3 in production scenarios.","sidebar":"tutorialSidebar"},"concepts/health-checks":{"id":"concepts/health-checks","title":"Health checks","description":"Serverpod automatically performs health checks while running. It measures CPU and memory usage and the response time to the database. The metrics are stored in the database every minute in the serverpodhealthmetric and serverpodhealthconnection_info tables. However, the best way to visualize the data is through Serverpod Insights, which gives you a graphical view.","sidebar":"tutorialSidebar"},"concepts/logging":{"id":"concepts/logging","title":"Logging","description":"Serverpod uses the database for storing logs; this makes it easy to search for errors, slow queries, or debug messages. To log custom messages during the execution of a session, use the log method of the session object. When the session is closed, either from successful execution or by failing from throwing an exception, the messages are written to the log. By default, session log entries are written for every completed session.","sidebar":"tutorialSidebar"},"concepts/models":{"id":"concepts/models","title":"Working with models","description":"Models are Yaml files used to define serializable classes in Serverpod. They are used to generate Dart code for the server and client, and, if a database table is defined, to generate database code for the server. Using regular .yaml files within lib/src/models is supported, but it is recommended to use .spy.yaml (.spy stands for \\"Server Pod Yaml\\") to leverage syntax highlighting provided by the Serverpod Extension for VS Code.","sidebar":"tutorialSidebar"},"concepts/modules":{"id":"concepts/modules","title":"Modules","description":"Serverpod is built around the concept of modules. A Serverpod module is similar to a Dart package but contains both server, client, and Flutter code. A module contains its own namespace for endpoints and methods to minimize the risk of conflicts.","sidebar":"tutorialSidebar"},"concepts/scheduling":{"id":"concepts/scheduling","title":"Scheduling","description":"With Serverpod you can schedule future work with the future call feature. Future calls are calls that will be invoked at a later time. An example is if you want to send a drip-email campaign after a user signs up. You can schedule a future call for a day, a week, or a month. The calls are stored in the database, so they will persist even if the server is restarted.","sidebar":"tutorialSidebar"},"concepts/serialization":{"id":"concepts/serialization","title":"Custom serialization","description":"For most purposes, you will want to use Serverpod\'s native serialization. However, there may be cases where you want to serialize more advanced objects. With Serverpod, you can pass any serializable objects as long as they conform to three simple rules:","sidebar":"tutorialSidebar"},"concepts/sessions":{"id":"concepts/sessions","title":"Sessions","description":"The Session object provides information about the current context in a method call in Serverpod. It provides access to the database, caching, authentication, data storage, and messaging within the server. It will also contain information about the HTTP request object.","sidebar":"tutorialSidebar"},"concepts/streams":{"id":"concepts/streams","title":"Streams and messaging","description":"For some applications, it\'s not enough to be able to call server-side methods. You may also want to push data from the server to the client or send data two-way. Examples include real-time games or chat applications. Luckily, Serverpod supports a framework for streaming data. It\'s possible to stream any serialized objects to or from any endpoint.","sidebar":"tutorialSidebar"},"concepts/testing/advanced-examples":{"id":"concepts/testing/advanced-examples","title":"Advanced examples","description":"Run unit and integration tests separately","sidebar":"tutorialSidebar"},"concepts/testing/best-practises":{"id":"concepts/testing/best-practises","title":"Best practises","description":"Imports","sidebar":"tutorialSidebar"},"concepts/testing/get-started":{"id":"concepts/testing/get-started","title":"Get started","description":"Serverpod provides simple but feature rich test tools to make testing your backend a breeze.","sidebar":"tutorialSidebar"},"concepts/testing/the-basics":{"id":"concepts/testing/the-basics","title":"The basics","description":"Set up a test scenario","sidebar":"tutorialSidebar"},"concepts/webserver":{"id":"concepts/webserver","title":"Web server","description":"In addition to the application server, Serverpod comes with a built-in web server. The web server allows you to access your database and business layer the same way you would from a method call from an app. This makes it very easy to share data for applications that need both an app and traditional web pages. You can also use the web server to create webhooks or generate custom REST APIs to communicate with 3rd party services.","sidebar":"tutorialSidebar"},"concepts/working-with-endpoints":{"id":"concepts/working-with-endpoints","title":"Working with endpoints","description":"Endpoints are the connection points to the server from the client. With Serverpod, you add methods to your endpoint, and your client code will be generated to make the method call. For the code to be generated, you need to place the endpoint file anywhere under the lib directory of your server. Your endpoint should extend the Endpoint class. For methods to be generated, they need to return a typed Future, and its first argument should be a Session object. The Session object holds information about the call being made and provides access to the database.","sidebar":"tutorialSidebar"},"contribute":{"id":"contribute","title":"Roadmap & contributions","description":"Serverpod is built by the community for the community. Pull requests are very much welcome. If you are making something more significant than just a tiny bug fix, please get in touch with Serverpod\'s lead developer Viktor Lidholt before you get started. This makes sure that your contribution aligns with Serverpod\'s overall vision and roadmap and that multiple persons don\'t do the same work.","sidebar":"tutorialSidebar"},"deployments/deploying-to-aws":{"id":"deployments/deploying-to-aws","title":"AWS EC2 with Terraform","description":"Serverpod makes it easy to deploy your server to AWS using Github and Terraform. Terraform will set up and manage your infrastructure while you use Github actions to manage versions and deployments. Creating your project using serverpod create Serverpod will automatically generate your deployment scripts. The default setup uses a minimal configuration that will fit within the AWS free tier, but you can easily modify the configuration to suit your needs.","sidebar":"tutorialSidebar"},"deployments/deploying-to-gce-terraform":{"id":"deployments/deploying-to-gce-terraform","title":"Google Cloud Engine with Terraform","description":"Serverpod makes deploying your server to Cloud Engine easy using Github, Terraform, and Docker containers. Terraform will set up and manage your infrastructure while you use Github to build your Docker container and manage versions and deployments. Creating your project using serverpod create will automatically generate your deployment scripts. The default setup creates a minimal configuration, but you can easily modify the configuration to suit your needs.","sidebar":"tutorialSidebar"},"deployments/deploying-to-gcr-console":{"id":"deployments/deploying-to-gcr-console","title":"Google Cloud Run with CGP Console","description":"If your server does not maintain a state and you aren\'t using future calls, running your Serverpod on Google Cloud Run can be a great option. Cloud Run is the easiest way to deploy your server but may be less flexible as your application grows. Check the Choosing deployment strategy page for more information on choosing the best solution for your needs.","sidebar":"tutorialSidebar"},"deployments/deployment-strategy":{"id":"deployments/deployment-strategy","title":"Choosing deployment strategy","description":"There are different options for hosting Serverpod. The minimal requirements are a single server or a serverless managed platform like Google Cloud Run and a Postgres database. Which setup you choose depends on the requirements of your architecture.","sidebar":"tutorialSidebar"},"deployments/general":{"id":"deployments/general","title":"Hosting elsewhere","description":"You can host Serverpod anywhere, running Dart directly or through a Docker container. This page contains helpful information if you want to deploy Serverpod on a custom platform.","sidebar":"tutorialSidebar"},"get-started":{"id":"get-started","title":"Get started","description":"This page will help you understand how a Serverpod project is structured, how to make calls to endpoints, and how to communicate with the database.","sidebar":"tutorialSidebar"},"get-started-with-mini":{"id":"get-started-with-mini","title":"Get started with Mini","description":"Serverpod Mini is a slimmer version of Serverpod that does not need to be connected to a Postgres database. Before you begin, make sure that you have Flutter and Serverpod installed.","sidebar":"tutorialSidebar"},"index":{"id":"index","title":"Installing Serverpod","description":"Serverpod is an open-source, scalable app server written in Dart for the Flutter community. Serverpod automatically generates your model and client-side code by analyzing your server. Calling a remote endpoint is as easy as making a local method call.","sidebar":"tutorialSidebar"},"support":{"id":"support","title":"Support & community","description":"If you get stuck, you can get support through our Github community. The authors of Serverpod are checking in pretty much every day and helping out as much as we can.","sidebar":"tutorialSidebar"},"tools/insights":{"id":"tools/insights","title":"Serverpod Insights","description":"Serverpod has a companion app. It is currently available for Mac and Windows, but Linux is coming soon. The app has support for viewing your server\'s logs and health metrics, but we are adding many more features in version 1.2. You must use a version of the app that matches the version of Serverpod you use in your project, or not all features may work correctly.","sidebar":"tutorialSidebar"},"tools/lsp":{"id":"tools/lsp","title":"LSP server","description":"The Language Server Protocol (LSP) is a standardized protocol designed to provide development environments with language-specific functionalities. In the context of Serverpod, the LSP server specifically offers diagnostics for YAML protocol files, aiding developers in identifying and resolving potential issues within these files.","sidebar":"tutorialSidebar"},"tutorials/authentication":{"id":"tutorials/authentication","title":"Authentication","description":"Our comprehensive Authentication series is designed to guide you seamlessly through the process of setting up and utilizing the auth module within Serverpod. Each part of this series is tailored to introduce and explain different aspects of authentication, aiming to make it a straightforward process, regardless of your experience level. We recommend starting with the first one to complete the setup of the auth module before moving on to specific providers.","sidebar":"tutorialSidebar"},"tutorials/code-example":{"id":"tutorials/code-example","title":"Code examples","description":"Looking at examples can be a great way to learn. Here we collect samples created by the Serverpod team and the community.","sidebar":"tutorialSidebar"},"tutorials/first-app":{"id":"tutorials/first-app","title":"Build your first app","description":"You will build a simple note-taking app in this tutorial. You will learn the fundamental building blocks of Serverpod that enable you to create powerful and scalable server-side applications with ease.","sidebar":"tutorialSidebar"},"tutorials/real-time-communication":{"id":"tutorials/real-time-communication","title":"Real-time communication","description":"Have you ever found real-time communication in apps challenging? It doesn\'t have to be. Today, we\'re diving into how to build a collaborative drawing experience using Flutter and Serverpod. We\'ll call our app Pixorama\u200a-\u200aa fun and interactive project inspired by Reddit\'s r/place. Pixorama lets users draw together on a shared grid, with every pixel placed updating in real-time across all connected devices.","sidebar":"tutorialSidebar"},"upgrading/upgrade-from-mini":{"id":"upgrading/upgrade-from-mini","title":"Upgrade from Mini to full","description":"If you have started with Serverpod Mini, you can upgrade to the full Serverpod version anytime. Before you upgrade, it\'s good practice to back up your project, as some configuration files can be overwritten if you have manually created them.","sidebar":"tutorialSidebar"},"upgrading/upgrade-to-one-point-two":{"id":"upgrading/upgrade-to-one-point-two","title":"Upgrade to 1.2","description":"Serverpod 1.2. is backward compatible with Serverpod 1.0 and Serverpod 1.1. There are a few changes to the database layer, meaning you probably want to use the new methods. The old methods still works, but have been deprecated and will be permanently removed with the upcoming version 2.","sidebar":"tutorialSidebar"},"upgrading/upgrade-to-two":{"id":"upgrading/upgrade-to-two","title":"Upgrade to 2.0","description":"Changes to authentication","sidebar":"tutorialSidebar"},"upgrading/upgrade-to-two-point-two":{"id":"upgrading/upgrade-to-two-point-two","title":"Upgrade to 2.2","description":"Serverpod 2.2 includes new test tools that make it easy to create tests for endpoint methods. For new projects they are configured by default, but existing projects need to go through some steps to enable it (see below). The full documentation of this feature can also be found here.","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/cc180519.1996d570.js b/docs/assets/js/cc180519.1996d570.js new file mode 100644 index 000000000..74e8dadad --- /dev/null +++ b/docs/assets/js/cc180519.1996d570.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[90049],{6759:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"concepts/working-with-endpoints","title":"Working with endpoints","description":"Endpoints are the connection points to the server from the client. With Serverpod, you add methods to your endpoint, and your client code will be generated to make the method call. For the code to be generated, you need to place the endpoint file anywhere under the lib directory of your server. Your endpoint should extend the Endpoint class. For methods to be generated, they need to return a typed Future, and its first argument should be a Session object. The Session object holds information about the call being made and provides access to the database.","source":"@site/docs/06-concepts/01-working-with-endpoints.md","sourceDirName":"06-concepts","slug":"/concepts/working-with-endpoints","permalink":"/next/concepts/working-with-endpoints","draft":false,"unlisted":false,"editUrl":"https://github.com/serverpod/serverpod_docs/tree/main/docs/06-concepts/01-working-with-endpoints.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Authentication","permalink":"/next/tutorials/authentication"},"next":{"title":"Working with models","permalink":"/next/concepts/models"}}');var i=t(74848),r=t(28453);const s={},d="Working with endpoints",a={},c=[{value:"Passing parameters",id:"passing-parameters",level:2},{value:"Return types",id:"return-types",level:2},{value:"Ignore endpoint definition",id:"ignore-endpoint-definition",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"working-with-endpoints",children:"Working with endpoints"})}),"\n",(0,i.jsxs)(n.p,{children:["Endpoints are the connection points to the server from the client. With Serverpod, you add methods to your endpoint, and your client code will be generated to make the method call. For the code to be generated, you need to place the endpoint file anywhere under the ",(0,i.jsx)(n.strong,{children:"lib"})," directory of your server. Your endpoint should extend the ",(0,i.jsx)(n.code,{children:"Endpoint"})," class. For methods to be generated, they need to return a typed ",(0,i.jsx)(n.code,{children:"Future"}),", and its first argument should be a ",(0,i.jsx)(n.code,{children:"Session"})," object. The ",(0,i.jsx)(n.code,{children:"Session"})," object holds information about the call being made and provides access to the database."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"import 'package:serverpod/serverpod.dart';\n\nclass ExampleEndpoint extends Endpoint {\n Future hello(Session session, String name) async {\n return 'Hello $name';\n }\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["The above code will create an endpoint called ",(0,i.jsx)(n.code,{children:"example"})," (the Endpoint suffix will be removed) with the single ",(0,i.jsx)(n.code,{children:"hello"})," method. To generate the client-side code run ",(0,i.jsx)(n.code,{children:"serverpod generate"})," in the home directory of the server."]}),"\n",(0,i.jsx)(n.p,{children:"On the client side, you can now call the method by calling:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"var result = await client.example.hello('World');\n"})}),"\n",(0,i.jsx)(n.p,{children:"The client is initialized like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"// Sets up a singleton client object that can be used to talk to the server from\n// anywhere in our app. The client is generated from your server code.\n// The client is set up to connect to a Serverpod running on a local server on\n// the default port. You will need to modify this to connect to staging or\n// production servers.\nvar client = Client('http://$localhost:8080/')\n ..connectivityMonitor = FlutterConnectivityMonitor();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you run the app in an Android emulator, the ",(0,i.jsx)(n.code,{children:"localhost"})," parameter points to ",(0,i.jsx)(n.code,{children:"10.0.2.2"}),", rather than ",(0,i.jsx)(n.code,{children:"127.0.0.1"})," as this is the IP address of the host machine. To access the server from a different device on the same network (such as a physical phone) replace ",(0,i.jsx)(n.code,{children:"localhost"})," with the local ip address. You can find the local ip by running ",(0,i.jsx)(n.code,{children:"ifconfig"})," (Linux/MacOS) or ",(0,i.jsx)(n.code,{children:"ipconfig"})," (Windows)."]}),"\n",(0,i.jsxs)(n.p,{children:["Make sure to also update the ",(0,i.jsx)(n.code,{children:"publicHost"})," in the development config to make sure the server always serves the client with the correct path to assets etc."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:"# your_project_server/config/development.yaml\n\napiServer:\n port: 8080\n publicHost: localhost # Change this line\n publicPort: 8080\n publicScheme: http\n...\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsxs)(n.p,{children:["You can pass the ",(0,i.jsx)(n.code,{children:"--watch"})," flag to ",(0,i.jsx)(n.code,{children:"serverpod generate"})," to watch for changed files and generate code whenever your source files are updated. This is useful during the development of your server."]})}),"\n",(0,i.jsx)(n.h2,{id:"passing-parameters",children:"Passing parameters"}),"\n",(0,i.jsxs)(n.p,{children:["There are some limitations to how endpoint methods can be implemented. Parameters and return types can be of type ",(0,i.jsx)(n.code,{children:"bool"}),", ",(0,i.jsx)(n.code,{children:"int"}),", ",(0,i.jsx)(n.code,{children:"double"}),", ",(0,i.jsx)(n.code,{children:"String"}),", ",(0,i.jsx)(n.code,{children:"UuidValue"}),", ",(0,i.jsx)(n.code,{children:"Duration"}),", ",(0,i.jsx)(n.code,{children:"DateTime"}),", ",(0,i.jsx)(n.code,{children:"ByteData"}),", or generated serializable objects (see next section). A typed ",(0,i.jsx)(n.code,{children:"Future"})," should always be returned. Null safety is supported. When passing a ",(0,i.jsx)(n.code,{children:"DateTime"})," it is always converted to UTC."]}),"\n",(0,i.jsxs)(n.p,{children:["You can also pass ",(0,i.jsx)(n.code,{children:"List"})," and ",(0,i.jsx)(n.code,{children:"Map"})," as parameters, but they need to be strictly typed with one of the types mentioned above. For ",(0,i.jsx)(n.code,{children:"Map"}),", the keys must be non-nullable strings. E.g., ",(0,i.jsx)(n.code,{children:"Map"})," is valid, but ",(0,i.jsx)(n.code,{children:"Map"})," is not."]}),"\n",(0,i.jsxs)(n.admonition,{type:"warning",children:[(0,i.jsxs)(n.p,{children:["While it's possible to pass binary data through a method call and ",(0,i.jsx)(n.code,{children:"ByteData"}),", it is not the most efficient way to transfer large files. See our ",(0,i.jsx)(n.a,{href:"file-uploads",children:"file upload"})," interface. The size of a call is by default limited to 512 kB. It's possible to change by adding the ",(0,i.jsx)(n.code,{children:"maxRequestSize"})," to your config files. E.g., this will double the request size to 1 MB:"]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:"maxRequestSize: 1048576\n"})})]}),"\n",(0,i.jsx)(n.h2,{id:"return-types",children:"Return types"}),"\n",(0,i.jsx)(n.p,{children:"The return type must be a typed Future. Supported return types are the same as for parameters."}),"\n",(0,i.jsx)(n.h2,{id:"ignore-endpoint-definition",children:"Ignore endpoint definition"}),"\n",(0,i.jsxs)(n.p,{children:["If you want the code generator to ignore an endpoint definition, you can annotate the class with ",(0,i.jsx)(n.code,{children:"@ignoreEndpoint"}),", imported from ",(0,i.jsx)(n.code,{children:"serverpod_shared/annotations.dart"}),". This can be useful if you want to keep the definition in your codebase without generating server or client bindings for it."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"import 'package:serverpod/serverpod.dart';\nimport 'package:serverpod_shared/annotations.dart';\n\n@ignoreEndpoint\nclass ExampleEndpoint extends Endpoint {\n Future hello(Session session, String name) async {\n return 'Hello $name';\n }\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"The above code will not generate any server or client bindings for the example endpoint."})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>d});var o=t(96540);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/cc180519.1b073c5b.js b/docs/assets/js/cc180519.1b073c5b.js deleted file mode 100644 index 8b1bc6b1a..000000000 --- a/docs/assets/js/cc180519.1b073c5b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[90049],{6759:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"concepts/working-with-endpoints","title":"Working with endpoints","description":"Endpoints are the connection points to the server from the client. With Serverpod, you add methods to your endpoint, and your client code will be generated to make the method call. For the code to be generated, you need to place your endpoint in the endpoints directory of your server. Your endpoint should extend the Endpoint class. For methods to be generated, they need to return a typed Future, and its first argument should be a Session object. The Session object holds information about the call being made and provides access to the database.","source":"@site/docs/06-concepts/01-working-with-endpoints.md","sourceDirName":"06-concepts","slug":"/concepts/working-with-endpoints","permalink":"/next/concepts/working-with-endpoints","draft":false,"unlisted":false,"editUrl":"https://github.com/serverpod/serverpod_docs/tree/main/docs/06-concepts/01-working-with-endpoints.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Authentication","permalink":"/next/tutorials/authentication"},"next":{"title":"Working with models","permalink":"/next/concepts/models"}}');var r=n(74848),s=n(28453);const i={},d="Working with endpoints",a={},c=[{value:"Passing parameters",id:"passing-parameters",level:2},{value:"Return types",id:"return-types",level:2}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"working-with-endpoints",children:"Working with endpoints"})}),"\n",(0,r.jsxs)(t.p,{children:["Endpoints are the connection points to the server from the client. With Serverpod, you add methods to your endpoint, and your client code will be generated to make the method call. For the code to be generated, you need to place your endpoint in the endpoints directory of your server. Your endpoint should extend the ",(0,r.jsx)(t.code,{children:"Endpoint"})," class. For methods to be generated, they need to return a typed ",(0,r.jsx)(t.code,{children:"Future"}),", and its first argument should be a ",(0,r.jsx)(t.code,{children:"Session"})," object. The ",(0,r.jsx)(t.code,{children:"Session"})," object holds information about the call being made and provides access to the database."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-dart",children:"import 'package:serverpod/serverpod.dart';\n\nclass ExampleEndpoint extends Endpoint {\n Future hello(Session session, String name) async {\n return 'Hello $name';\n }\n}\n"})}),"\n",(0,r.jsxs)(t.p,{children:["The above code will create an endpoint called ",(0,r.jsx)(t.code,{children:"example"})," (the Endpoint suffix will be removed) with the single ",(0,r.jsx)(t.code,{children:"hello"})," method. To generate the client-side code run ",(0,r.jsx)(t.code,{children:"serverpod generate"})," in the home directory of the server."]}),"\n",(0,r.jsx)(t.p,{children:"On the client side, you can now call the method by calling:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-dart",children:"var result = await client.example.hello('World');\n"})}),"\n",(0,r.jsx)(t.p,{children:"The client is initialized like this:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-dart",children:"// Sets up a singleton client object that can be used to talk to the server from\n// anywhere in our app. The client is generated from your server code.\n// The client is set up to connect to a Serverpod running on a local server on\n// the default port. You will need to modify this to connect to staging or\n// production servers.\nvar client = Client('http://$localhost:8080/')\n ..connectivityMonitor = FlutterConnectivityMonitor();\n"})}),"\n",(0,r.jsxs)(t.p,{children:["If you run the app in an Android emulator, the ",(0,r.jsx)(t.code,{children:"localhost"})," parameter points to ",(0,r.jsx)(t.code,{children:"10.0.2.2"}),", rather than ",(0,r.jsx)(t.code,{children:"127.0.0.1"})," as this is the IP address of the host machine. To access the server from a different device on the same network (such as a physical phone) replace ",(0,r.jsx)(t.code,{children:"localhost"})," with the local ip address. You can find the local ip by running ",(0,r.jsx)(t.code,{children:"ifconfig"})," (Linux/MacOS) or ",(0,r.jsx)(t.code,{children:"ipconfig"})," (Windows)."]}),"\n",(0,r.jsxs)(t.p,{children:["Make sure to also update the ",(0,r.jsx)(t.code,{children:"publicHost"})," in the development config to make sure the server always serves the client with the correct path to assets etc."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-yaml",children:"# your_project_server/config/development.yaml\n\napiServer:\n port: 8080\n publicHost: localhost # Change this line\n publicPort: 8080\n publicScheme: http\n...\n"})}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsxs)(t.p,{children:["You can pass the ",(0,r.jsx)(t.code,{children:"--watch"})," flag to ",(0,r.jsx)(t.code,{children:"serverpod generate"})," to watch for changed files and generate code whenever your source files are updated. This is useful during the development of your server."]})}),"\n",(0,r.jsx)(t.h2,{id:"passing-parameters",children:"Passing parameters"}),"\n",(0,r.jsxs)(t.p,{children:["There are some limitations to how endpoint methods can be implemented. Parameters and return types can be of type ",(0,r.jsx)(t.code,{children:"bool"}),", ",(0,r.jsx)(t.code,{children:"int"}),", ",(0,r.jsx)(t.code,{children:"double"}),", ",(0,r.jsx)(t.code,{children:"String"}),", ",(0,r.jsx)(t.code,{children:"UuidValue"}),", ",(0,r.jsx)(t.code,{children:"Duration"}),", ",(0,r.jsx)(t.code,{children:"DateTime"}),", ",(0,r.jsx)(t.code,{children:"ByteData"}),", or generated serializable objects (see next section). A typed ",(0,r.jsx)(t.code,{children:"Future"})," should always be returned. Null safety is supported. When passing a ",(0,r.jsx)(t.code,{children:"DateTime"})," it is always converted to UTC."]}),"\n",(0,r.jsxs)(t.p,{children:["You can also pass ",(0,r.jsx)(t.code,{children:"List"})," and ",(0,r.jsx)(t.code,{children:"Map"})," as parameters, but they need to be strictly typed with one of the types mentioned above. For ",(0,r.jsx)(t.code,{children:"Map"}),", the keys must be non-nullable strings. E.g., ",(0,r.jsx)(t.code,{children:"Map"})," is valid, but ",(0,r.jsx)(t.code,{children:"Map"})," is not."]}),"\n",(0,r.jsxs)(t.admonition,{type:"warning",children:[(0,r.jsxs)(t.p,{children:["While it's possible to pass binary data through a method call and ",(0,r.jsx)(t.code,{children:"ByteData"}),", it is not the most efficient way to transfer large files. See our ",(0,r.jsx)(t.a,{href:"file-uploads",children:"file upload"})," interface. The size of a call is by default limited to 512 kB. It's possible to change by adding the ",(0,r.jsx)(t.code,{children:"maxRequestSize"})," to your config files. E.g., this will double the request size to 1 MB:"]}),(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-yaml",children:"maxRequestSize: 1048576\n"})})]}),"\n",(0,r.jsx)(t.h2,{id:"return-types",children:"Return types"}),"\n",(0,r.jsx)(t.p,{children:"The return type must be a typed Future. Supported return types are the same as for parameters."})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>d});var o=n(96540);const r={},s=o.createContext(r);function i(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/runtime~main.b574610c.js b/docs/assets/js/runtime~main.616faf18.js similarity index 99% rename from docs/assets/js/runtime~main.b574610c.js rename to docs/assets/js/runtime~main.616faf18.js index a49c814ed..856bfe641 100644 --- a/docs/assets/js/runtime~main.b574610c.js +++ b/docs/assets/js/runtime~main.616faf18.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,d,c,f,b={},r={};function t(e){var a=r[e];if(void 0!==a)return a.exports;var d=r[e]={exports:{}};return b[e].call(d.exports,d,d.exports,t),d.exports}t.m=b,e=[],t.O=(a,d,c,f)=>{if(!d){var b=1/0;for(n=0;n=f)&&Object.keys(t.O).every((e=>t.O[e](d[o])))?d.splice(o--,1):(r=!1,f0&&e[n-1][2]>f;n--)e[n]=e[n-1];e[n]=[d,c,f]},t.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a:a}),a},d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,t.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var f=Object.create(null);t.r(f);var b={};a=a||[null,d({}),d([]),d(d)];for(var r=2&c&&e;"object"==typeof r&&!~a.indexOf(r);r=d(r))Object.getOwnPropertyNames(r).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,t.d(f,b),f},t.d=(e,a)=>{for(var d in a)t.o(a,d)&&!t.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce(((a,d)=>(t.f[d](e,a),a)),[])),t.u=e=>"assets/js/"+({456:"cb867d98",565:"3f04b2f3",762:"cdc118a8",1160:"638e38ae",1171:"b685e31b",1572:"02c0cfe0",1705:"1921e4ca",1832:"bdc5a52e",1923:"b32c213b",1970:"dbf9e27d",2278:"27e827f8",2295:"0a5c01b2",2496:"3874f1bf",2730:"ac6e050c",3202:"8e7261c9",3230:"9d217e1f",3249:"05ec9480",3392:"reactPlayerVidyard",3607:"d8d6d57b",3705:"52398098",3783:"a6c3ea4a",3877:"79840965",3900:"ecb3c634",4272:"17dc776d",4276:"7a3d47b3",4499:"f149b10e",4550:"e3443ce0",4574:"976a2d80",4645:"9644aa4e",5e3:"da698f4c",5344:"8baf194b",5352:"52f87500",5441:"af1c5d2b",5623:"10ad1fa6",5819:"e4a796aa",5827:"3d277f18",5885:"3e4a4cb2",6129:"c56bdfca",6157:"cce58fe7",6215:"f3467f26",6231:"61285fa7",6236:"a8c1f82d",6262:"27b43779",6265:"46b54090",6308:"2890c80c",6463:"reactPlayerKaltura",6486:"2e1ee4ed",6497:"5112ebe3",6615:"7b06977d",6918:"89b55a09",7161:"19e323d1",7267:"2db5c390",7606:"7517a61c",7656:"91633089",7681:"7da54b54",7701:"c2b45dbb",7785:"95bf5f56",7848:"2581590c",8271:"94b2bc9a",8349:"06a408fe",8500:"4c5c4c2e",8734:"82e43b76",8927:"b8787c81",9264:"1caa8cdb",9524:"daec0d60",9606:"4519f039",9640:"5589c54d",9647:"5e95c892",9671:"e64edb60",9837:"5a0a1617",10348:"fca5fdb4",10443:"0931faae",10700:"313c9eb1",10845:"5c1eff22",10907:"f7ae65ac",11139:"dc7352a7",11184:"8af032d3",11301:"f584139f",11567:"22dd74f7",11607:"ef2492df",11721:"10e267de",11784:"45dd886d",11934:"b809d820",11965:"1457ddcd",12007:"90ec8c6b",12042:"reactPlayerTwitch",12219:"3e3aae1a",12237:"b6f81eaa",12716:"d2aa311d",12744:"9de020c4",12766:"4934de22",12827:"28967b3e",13018:"076cf272",13019:"d3938b1f",13455:"5839343c",13535:"e84b4e80",13585:"ea237062",13650:"2d11a680",14080:"f4322d5c",14237:"95a5d2b2",14715:"fc8c8cde",14936:"7c8e5227",15066:"fe3f3783",15246:"83c6f999",15447:"30bd0f5b",16328:"reactPlayerDailyMotion",16602:"616631fd",16678:"710ac1c1",16869:"444a6d4e",16884:"4ed1e0ac",16945:"5596dd05",17021:"828ace52",17209:"f9bde383",17289:"45939ed5",17320:"55f37562",17776:"070c8c93",17820:"ebd05845",18093:"0841186f",18401:"17896441",18446:"reactPlayerYouTube",19049:"2fca5c64",19738:"87ab7385",20033:"986f0f98",20210:"68401255",20423:"22f51758",20515:"704545ab",20681:"e66f2658",20773:"d4fc3158",20826:"4ab30eec",21611:"82444e58",21983:"57012fa6",22422:"d3af5b3c",22451:"f5a589e7",22611:"59df87e8",22750:"141135bb",23321:"676f1bdb",23452:"5af30237",23453:"ed64c12e",23619:"f6affd6e",23870:"956829f8",24078:"ec91ff36",24158:"1d39c85d",24295:"96523456",24832:"02e41de2",25362:"5bc657fa",25427:"3edac44d",25504:"0f2c2e36",25666:"522ca66b",25691:"9a594c98",25692:"7ca2e59a",26173:"reactPlayerVimeo",26376:"431ffdb5",26499:"a4adf53f",26622:"d9107a6a",27168:"7ac69e68",27350:"65e04ea3",27547:"5cc14181",27646:"12407b36",27685:"6aee17c2",27740:"38e32826",27800:"2a36564f",28235:"965931d7",29248:"4a49065b",29250:"dec2bd4a",29285:"7607a467",29436:"dc8c27bd",29773:"1a84c7fd",30233:"a4c4bf80",30248:"b1218054",30418:"6feb7661",30473:"3141060a",30528:"1323771c",30765:"85d514f3",30773:"38e9742f",30799:"1a39ee04",30941:"4aa94ec1",31080:"626d8d5f",31092:"dfeb483e",31165:"926056c1",31267:"08d55cf7",31471:"3f80bb14",31474:"564db590",31727:"2e18ba50",32055:"9037180b",32096:"c090764b",32111:"f8fee680",32141:"df1414bb",32163:"3d150a24",32178:"16116660",32406:"5cde491b",32461:"a6311318",32492:"4e689a0b",32504:"7de3e81f",32741:"d9e7b984",32759:"7800d508",32944:"272aa200",33048:"25c6d77a",33098:"71ba2dc1",33460:"9107c65f",33577:"a32c313f",33992:"cbf3c4ec",34321:"6f56eca8",34438:"54cab4d4",34662:"cf3c245e",34726:"1b6591f7",34750:"07e708e9",34935:"6da448d1",34975:"ff5ed6ba",35223:"db7d4591",35540:"ce86e3e6",35563:"e7977816",35654:"dc4059b2",35742:"aba21aa0",35748:"1312139a",35884:"9c9052d1",36058:"a2a1c245",36100:"e7dfb2de",36132:"e8f4756d",36353:"reactPlayerPreview",36572:"3aa84b2d",36731:"bd568e77",36886:"8abbb0ee",36920:"ed772d97",37107:"3817c387",37296:"a2757506",37516:"9f1829f0",37710:"abd13aa2",37850:"b28bd8b1",37990:"441fd5fc",38031:"8ee9837e",38419:"bd6f2233",38471:"caf7731d",38527:"5e7d099e",38610:"c868bccf",38691:"036b5431",38717:"897331c0",38792:"4f0519c7",38853:"fc67ad3d",38864:"fac0eceb",39026:"c7156cf2",39056:"5f6b1733",39080:"511f9951",39228:"27cc7342",39408:"fe2e2e26",39431:"cdd4a9c6",39482:"327b0a57",39558:"50f2f9f3",39757:"9e0c2c37",39911:"92466816",40271:"6a734661",40374:"b5dcbe95",40563:"39dec3ba",40575:"33c1d41a",41237:"88a48c42",41507:"16b03284",41865:"fe76eed8",42083:"4048090e",42206:"91aed80e",42434:"5b2d7e3c",42800:"3aa0ab0a",42901:"2115313f",43174:"6ba85e75",43246:"2d16d24d",43444:"d2f6d210",43773:"a81cb65f",43834:"3bff9c7c",43848:"44145933",43888:"ad61550a",43903:"8186ecf9",44046:"5d707891",44164:"a24f0440",44486:"c0650537",44602:"69fcd2fc",44609:"c5313007",44630:"65b7208a",44816:"36fcb744",44947:"39ec0930",45072:"7c299f6a",45141:"b1394c86",45268:"ef4456b5",45295:"f29fc884",45474:"79d28454",45655:"4a55fe3a",45724:"8dfd8953",45742:"c377a04b",46119:"d58f1ee2",46268:"26ad82e9",46364:"fe522f67",46563:"aeef55f7",46643:"53d20392",46688:"ac3101e9",46921:"d0b9ca74",46961:"2bbc2deb",47120:"dcbfe205",47127:"999788b8",47264:"b9ec56c8",47341:"7f0714d1",47452:"a7b0b2b7",47472:"71f9ed0c",47527:"93dcedec",47627:"reactPlayerStreamable",47719:"b7ea99f7",48124:"8f509517",48134:"356ce494",48235:"df15bc7d",48276:"b467d32a",48436:"f6adf820",48552:"954e932f",48579:"566f49fb",48665:"0f4a5c74",49316:"510b9307",49406:"b26210db",49455:"c8139b75",49658:"0d76317c",49921:"fc8b5a5d",50041:"ac002d2b",50404:"98f4e1ec",50765:"bf519c8d",50908:"3fbaac07",51143:"fc6f07d2",51205:"db42f242",51349:"4aec9039",51379:"17f04a83",51637:"81e4ed6a",51780:"eecc43ff",52302:"e7ee6027",52365:"280af06a",52529:"e3d58533",52723:"reactPlayerMux",52961:"8bf57c9f",53084:"23975af2",53148:"9b4ab8cd",53357:"1577f7ed",53774:"53998120",54049:"4867e743",54220:"092bf57d",54530:"a271ef09",54582:"984d6493",54905:"98d962c5",55011:"49145cdf",55324:"c94e1931",55388:"b2419a00",55664:"169f3d24",56264:"46eeb6cb",56282:"d636c09f",56383:"ecaa7076",56420:"fd4b36bb",56449:"6bb5bff7",56532:"4205d879",56684:"378935ce",56764:"805a59dc",57035:"f527bef3",57356:"bb9c591b",57694:"21b7a589",57790:"1b218eaa",57869:"a7edc2bd",58022:"c134ef8a",58215:"1111b27e",58718:"afb7a97b",58800:"5144cf5e",59075:"6e29a506",59221:"76259cc3",59327:"03db70c9",59332:"857097c6",59409:"a64b2578",59599:"1e1f8072",59600:"ac9d9d69",59949:"5c6f6ba9",60071:"9eb2dfca",60365:"bd118f84",60759:"719163ad",60880:"640696ee",60886:"c10a0985",60893:"6fbf0c67",60908:"0eebd274",61114:"3cc71396",61252:"3b66921f",61273:"099a3596",61291:"d38e3f9f",61358:"3d1ae229",61368:"f28f059c",61505:"e58556b2",61730:"b2b2619a",61977:"7570de64",62059:"0893faed",62134:"0d7acd84",62357:"6d2a4d3f",62362:"44463284",62573:"bd1cffff",62921:"1d7c691c",62929:"f5fed352",62945:"68a7f29c",63474:"98c94590",63538:"06393fc1",63706:"2b67eda4",63737:"53e9dd7a",63747:"fb72d7b2",63960:"a6397568",64558:"b91fbf2a",64641:"eac16e1d",64651:"4c781063",64665:"6f44ab90",65110:"063d75bd",65142:"eb4c176e",65433:"616bfcf6",65542:"af754a1f",65655:"1ebbfca8",65755:"bafd283f",65784:"90239e6e",65866:"419cd6b8",66225:"9f8e6d57",66339:"03b2528f",66811:"3e87058f",66850:"0c695afe",66868:"3c4af576",66885:"5e253f2f",66912:"51907bd1",66929:"da54b976",67059:"9e6051e1",67068:"ae0eacdd",67098:"a7bd4aaa",67217:"726a6c22",67349:"61ff6850",67458:"0d271e1e",67532:"49fed513",67570:"reactPlayerMixcloud",67706:"e7f4b98d",67714:"9d7352c0",68230:"3cf6fa35",68364:"812775a4",68391:"24557dbc",68700:"96331245",68874:"10ea0b82",68912:"2c2832e4",68915:"62de5d73",68960:"358c2507",68962:"af68ae04",69050:"4ac2e930",69779:"3c9432f0",69816:"20d56cb7",69891:"62037464",69979:"reactPlayerSoundCloud",70115:"52994a20",70326:"c3373259",70843:"a518290b",70934:"d44e0d1c",71247:"308471de",71383:"087cd58c",71826:"a4c89d62",71907:"86a8bb6c",71967:"4fa4eafa",72074:"71319bec",72132:"83ac10ed",72188:"44b88e48",72231:"fe170cc9",72561:"adce8179",73107:"646cbece",73379:"9d779d8b",73480:"b2aeaed7",73932:"2020ed93",73939:"2ed96714",74081:"ce4dbf6d",74583:"4bfca71d",74780:"ebde045d",74834:"d26a73b8",74860:"00d14154",75358:"cb0cc620",75412:"5390e21f",75702:"307525ba",75822:"2db99065",75868:"071f33a8",75965:"b48f41b9",76093:"7d63aba8",76224:"03b3cfd2",76238:"8615e055",76372:"d802bb56",76768:"8bed5a26",76973:"78ae7ec8",77137:"42abcd4d",77313:"ee65edec",77318:"67e77328",77757:"f6f476f1",78007:"8eead450",78416:"068743c8",78631:"b7b014bf",78702:"82ea7079",79048:"a94703ab",79052:"6d717251",79225:"526e379a",79354:"4118187a",79825:"2d4af3bf",79956:"9e09f891",79983:"a7f483d1",80124:"97efa4fc",80549:"afde3230",80721:"05fa9a60",81291:"a979af25",81445:"74d42203",81509:"4ead9a95",81657:"f8189ec4",81790:"42a9b3c5",81805:"20ff9753",81849:"2e3fc0f9",82075:"056b386b",82099:"52813856",82201:"18910d94",82261:"0c6fe626",82439:"e4eafb12",82477:"2ca08277",83072:"6b5df954",83287:"7af31c45",83294:"6f549117",83720:"d5aabfc9",83752:"efe5610c",83943:"9c5d9512",84219:"51e50f95",84331:"79e0e7f1",84605:"8552f549",84656:"813cfb2f",84750:"aefdd881",84850:"bc03f89b",85462:"9270ba4f",85527:"5143312c",85528:"21e10cde",85556:"21a4ba71",85943:"05fbef88",86012:"da202fdd",86037:"eaeab60b",86057:"9fbfaf6d",86106:"1877d9d5",86298:"e2d6ba1f",86324:"f40f566d",86886:"7b33c27b",86887:"reactPlayerFacebook",86992:"3fe65583",87012:"869ae8a7",87126:"b916a1ab",87402:"c3094240",87501:"2674f827",87510:"9d36f238",87760:"0773e78b",88048:"73ca4188",88131:"c2237e68",88494:"504d78e0",88495:"801276a1",88790:"51c7df8c",88843:"45926b62",88946:"95ec96e5",89598:"4b6eee9a",90049:"cc180519",90381:"869d42f3",90642:"07006f9e",90780:"098f2604",90899:"609f97b9",90986:"6028a11d",91131:"468d57a9",91258:"227d1fc4",91395:"a0aa5253",92113:"32b8fafb",92170:"4951b372",92205:"bacd9a7c",92687:"cd64d641",92811:"8093477b",92896:"bc69c5bc",93036:"c342bcae",93087:"b0f19176",93203:"a43ad670",93503:"17e2e969",93833:"9b833276",93842:"26398b18",94210:"de4b4037",94594:"c7507218",94642:"da19ecb4",94725:"dd31e7e9",94811:"da071cb8",95191:"c75d145e",95409:"94f11012",95622:"64027347",95909:"896258c1",96414:"794a8057",96449:"19a6be06",96815:"8d02075b",96991:"4eee9c87",97191:"31b73615",97289:"233249da",97458:"reactPlayerFilePlayer",97499:"50a12feb",97785:"ac5db01d",97847:"d9df7455",98042:"819b642a",98116:"49849746",98175:"5a96e453",98484:"22302c03",98498:"ae22b856",98548:"44a83f6a",98601:"13798859",98996:"65c67349",99094:"08aab21d",99180:"32ebcda7",99340:"reactPlayerWistia",99341:"a1154d73",99591:"e0bec135",99989:"51ddac88"}[e]||e)+"."+{456:"ef9986b7",565:"bed1c850",762:"d2174ca0",1160:"10d3221b",1171:"774d0f89",1572:"0cfa3362",1705:"2528c13d",1832:"8d8742f9",1923:"f4dc4250",1970:"6276ac5c",2278:"52a102f5",2295:"5302c2da",2496:"48da3b37",2730:"a304021f",3202:"503450b2",3230:"e99996b9",3249:"cad0d93e",3392:"8464e17b",3607:"41af52b1",3705:"9e671b9a",3783:"04c7a56f",3877:"bbb12f8a",3900:"d979fd9a",4272:"5327c9b2",4276:"0ff680f6",4499:"8a0343dd",4550:"165de29c",4574:"59755fc1",4645:"a270f8fb",5e3:"8eca928f",5344:"4fb59513",5352:"5c276b6d",5441:"a0d10636",5623:"b20ed08c",5819:"12ce2193",5827:"3e25f443",5885:"24306e07",6129:"78050529",6157:"b99a16a6",6215:"31ae42b7",6231:"9cdc6371",6236:"d0a6e3b7",6262:"e675b845",6265:"94f32e3a",6308:"5f3e0e5b",6463:"bec1a06c",6486:"22f47090",6497:"fadb7e82",6615:"e0733f11",6918:"cef59c19",7161:"09ca0649",7267:"2eb42cd5",7606:"b220f86c",7656:"4056512a",7681:"82139ee2",7701:"49318b54",7785:"82b6580b",7848:"dca26602",8271:"cbe74f6b",8349:"5f85a47c",8500:"d7bf511f",8734:"29b499c2",8927:"6f999770",9264:"7fdd1f29",9524:"e29aaf6f",9606:"1957caed",9640:"6a5d88d6",9647:"cac24016",9671:"e8d1d6ac",9837:"2990961f",10348:"ec8b3811",10443:"0f62bd8f",10700:"ce11f188",10845:"6add59b6",10907:"16a8f0d6",11139:"7e17d20e",11184:"3b6934eb",11301:"15f51fd1",11567:"31c2aad0",11607:"a1c095dc",11721:"2fb8cf70",11784:"3d5cf7c1",11934:"1770953b",11965:"d777c784",12007:"0a983281",12042:"a0c42814",12219:"95741407",12237:"365b4255",12716:"5099e1c9",12744:"1e98207e",12766:"cb4da8e3",12827:"6118b61c",13018:"3383df8d",13019:"600402c2",13455:"7278ce8a",13535:"8c2fe49b",13585:"00bae75a",13650:"a3520d41",14080:"c2d2dd4f",14237:"9cb32cf1",14715:"26c293f4",14936:"082570fa",15066:"95c7a677",15246:"740dce57",15447:"b9cc36a7",16328:"4fa8d3c8",16602:"031b46ad",16678:"6f234e7f",16869:"81a2a888",16884:"07f5d6a4",16945:"46037186",17021:"481eaf6f",17209:"ad9bd8b6",17289:"48e0340f",17320:"2abe5899",17776:"c0410a93",17820:"ecdb30e3",18093:"88a93afb",18401:"30c4f83a",18446:"150ff8a0",19049:"cc505400",19738:"5bbb4e27",20033:"4d9de467",20210:"4987d48c",20423:"076d2946",20515:"1fd67d00",20681:"895a60b0",20773:"7b374ff9",20826:"4abb5e3c",21611:"2812dc09",21983:"dbbb4174",22422:"7b57c7c1",22451:"0d9f4fa7",22611:"66463762",22750:"a8cb4c36",23321:"2095330e",23452:"52cb7538",23453:"2cb5d6e7",23619:"d3f9ca62",23870:"0c70301a",24078:"40b61f09",24158:"9e048aeb",24295:"b02c6044",24832:"7934d2f9",25362:"969e76f4",25427:"f4fc9661",25504:"c5325f85",25666:"49b116a0",25691:"b202a53f",25692:"22af4f62",26173:"076fef9c",26376:"82580212",26499:"ed5ef33e",26622:"33a2684a",27168:"ea09aa96",27350:"b622f983",27547:"3d05c90a",27646:"ab0d6065",27685:"4d0bb182",27740:"085fef8a",27800:"6941bc91",28235:"1004749b",29248:"098f61c2",29250:"748fbf44",29285:"920df858",29436:"4d0944b8",29773:"3ce3a554",30233:"fad74d21",30248:"344d8738",30418:"5eff8ee1",30473:"3550d0ba",30528:"d0410269",30765:"2cb51d03",30773:"2dfe3d75",30799:"17eeaa9c",30941:"c3f340a8",31080:"2f540ec0",31092:"21de0520",31165:"2403bfef",31267:"4162a3e6",31471:"9b6dda95",31474:"d994a20f",31727:"1543b3aa",32055:"a70c3cf6",32096:"49650e68",32111:"5821aafc",32141:"bcdc361b",32163:"c9c0455c",32178:"f452c1e3",32406:"97a3c671",32461:"df6ca91d",32492:"0022b426",32504:"a3895f2a",32741:"f7508f8d",32759:"c7341e25",32944:"3ad81361",33048:"180175a3",33098:"b42f86fd",33460:"1321c8ed",33577:"a15d143b",33992:"348bb83a",34321:"3fca4d77",34438:"60e905e1",34662:"fb2368a3",34726:"72d38370",34750:"1e7df9e7",34935:"2d5f4656",34975:"41c5c4bb",35223:"5c4b7ac6",35540:"87aff258",35563:"ea252326",35654:"07e62338",35742:"e08a145a",35748:"7b09cedb",35884:"22aa93e5",36058:"6a13b234",36100:"2d55e54c",36132:"937c33f0",36353:"4de9bab6",36572:"fc665f1f",36731:"658424dc",36886:"8aaaa526",36920:"2ffe0535",37107:"457955a3",37296:"c4fdf168",37516:"e2793b3a",37710:"f06b9e79",37850:"6e674056",37990:"c81bb26d",38031:"f0396c00",38419:"c1191973",38471:"fe6a6334",38527:"15bc909b",38610:"8b43a310",38691:"16fea600",38717:"0a0deec3",38792:"89e64fc5",38853:"a5515f03",38864:"72f6fb46",39026:"5334a226",39056:"ee74fe7d",39080:"26ae9bf7",39228:"441ef16c",39408:"422c6350",39431:"529c6ee9",39482:"4451e89f",39503:"18fac5cf",39558:"74c339d9",39757:"e8a4973d",39911:"46e0568e",40271:"5e6bd9c0",40374:"7ed0227f",40563:"2a5279fd",40575:"86e66cd1",41237:"78ef8b62",41507:"83abc862",41865:"01c485ca",42083:"a1723a5f",42206:"18d5693f",42434:"532ca6ec",42800:"13488b4a",42901:"da14ef8e",43174:"c4e4fdf1",43246:"a2dda587",43444:"7d8b1654",43773:"1b7ff4ab",43834:"d7cc7263",43848:"2140a06c",43888:"aa8fd92a",43903:"e4c94057",44046:"8058817e",44164:"7d16c8e3",44486:"0d44e3b2",44602:"3e4cdd3b",44609:"461b4926",44630:"f2d8976e",44816:"76259a84",44947:"793e3f30",45072:"6f0e348e",45141:"0422a0ee",45268:"ed9c6f2e",45295:"4248d016",45474:"49030196",45655:"6beda4fc",45724:"2228f4f2",45742:"f2db22e3",46119:"5d911f90",46268:"6c345693",46364:"7fab948c",46563:"798407c3",46643:"48454e49",46688:"9745b4ab",46921:"97629923",46961:"8a1f635a",47120:"99310d64",47127:"76fbb443",47264:"c36b230c",47341:"0492598d",47452:"ec0e7c7b",47472:"152b1bbd",47527:"0e612b80",47627:"bb35fa43",47719:"16d15d6b",48124:"a99c83c4",48134:"8bdfbff2",48235:"8037e889",48276:"0ac13bb2",48436:"61a45365",48552:"4a8f654e",48579:"78921083",48665:"0ada6aae",49316:"5363916a",49406:"424eb54b",49455:"648c4ce5",49658:"c4861fb8",49921:"16641375",50041:"7ed6da9f",50404:"3068d415",50765:"616b4b7f",50908:"0ee266e6",51143:"fe969469",51205:"5504db19",51349:"e99f8c5a",51379:"493dd3c5",51637:"ff7c1499",51780:"4a5988a1",52302:"0a6a55c5",52365:"b26e6537",52529:"9c10b4e2",52723:"3e4df075",52961:"2a1a5c8c",53084:"d94a33c2",53148:"011ea0b4",53357:"b36dd3e8",53774:"e1ef7d5d",54049:"eee29418",54220:"8448c1c4",54530:"23a82c91",54582:"a5d7603c",54905:"bc44bc6d",55011:"45dc19f0",55324:"ec97cabe",55388:"4fe45eee",55664:"17b9e76d",56264:"6318e439",56282:"3e130e49",56383:"31ce9e84",56420:"7334a2e9",56449:"a8fdb036",56532:"6bdaf1ef",56684:"235bad83",56764:"8b28de2e",57035:"e5ba70d9",57356:"ab90e540",57694:"817841bd",57790:"d96ab089",57869:"94ead706",58022:"760b5b6c",58215:"bb0bcd61",58718:"afd35ec4",58800:"2fa57623",59075:"71f01f4d",59221:"7947d799",59327:"0d587515",59332:"55831cc1",59409:"2cccb1fe",59599:"dcf9c22e",59600:"34cfb3ae",59949:"b6f2d6a3",60071:"d87a88da",60365:"c53174c4",60759:"979081a2",60880:"4a5af84f",60886:"7f2bcd20",60893:"262267dc",60908:"631ff7e3",61114:"dfddc8b1",61252:"d1b7d7c4",61273:"a36f2fd4",61291:"6cda27f6",61358:"1867a69b",61368:"aeef1db6",61505:"1a21d780",61730:"8ea0b895",61977:"32a24abf",62059:"604e5da6",62134:"9ffaf69c",62357:"7888230a",62362:"6e67f6cf",62573:"432f0db1",62921:"aeda3551",62929:"90a8e262",62945:"ce910019",63474:"bdf60564",63538:"a0c6660d",63706:"79076a44",63737:"8dc4c8aa",63747:"b0ead851",63960:"ec034579",64558:"4d1cac39",64641:"913ae86b",64651:"d8d1e74b",64665:"76eda960",65110:"a963d653",65142:"b24dbfa5",65433:"a26cc163",65542:"e83efb34",65655:"486883bf",65755:"7fde95d5",65784:"d095c69a",65866:"70fe52c2",66225:"1845c31b",66339:"bd5d4432",66811:"fd48af7a",66850:"a8558aef",66868:"c54fe4d0",66885:"3909e763",66912:"e8a2e969",66929:"d218d95f",67059:"3bf619ea",67068:"36e6731b",67098:"03929b29",67217:"f0457378",67349:"4808f8ab",67458:"5bae4e2e",67532:"888b9060",67570:"12aff88e",67706:"ee7a09d5",67714:"7fbd772f",68230:"8cdcec50",68364:"3826ed74",68391:"15261a3f",68700:"878eb230",68874:"e157169d",68912:"868278bd",68915:"27c042d0",68960:"5c27a458",68962:"70b6a4d6",69050:"24536720",69779:"f46c10f0",69816:"cd56545f",69891:"3eb6da45",69979:"f8f19bc3",70115:"6d79cdb4",70326:"23742192",70843:"5c270f07",70934:"1198822c",71247:"444da1bc",71383:"152bce6b",71826:"91727c5e",71907:"6087ac78",71967:"515cc3c8",72074:"223fed1c",72132:"61d0fb6e",72188:"96fa182b",72231:"52efa272",72561:"b8c15734",73107:"c8f5d06c",73379:"f8579888",73480:"f6e84694",73932:"7e71812f",73939:"1bcf9a4e",74081:"f369eae2",74583:"8fcc3b93",74780:"9ef3091a",74834:"eaf411e2",74860:"8b2e9676",75358:"4e675e5c",75412:"851da555",75702:"af81e46c",75822:"af84bb3c",75868:"73753a39",75965:"43740f34",76093:"5e402a98",76224:"4a337291",76238:"37095157",76372:"8715d2fe",76768:"ec9c773c",76973:"36cad622",77137:"2fb71ee3",77313:"7c49672d",77318:"079c2535",77757:"55c5f717",78007:"bffb3aa0",78416:"92157af7",78631:"32793266",78702:"e42a8268",79048:"0f54d2a9",79052:"2597209b",79225:"2b405a5e",79354:"c4b8e5cf",79825:"487d4fe6",79956:"b44a93bb",79983:"8fb557e5",80124:"004c385b",80549:"6569b3e2",80721:"724f52f5",81291:"b4cb428e",81445:"37c799bd",81509:"5c63e727",81657:"d230bb30",81790:"c56f6a89",81805:"c2de9efd",81849:"7c7a86cc",82075:"d74be8bf",82099:"08cc28dc",82201:"abce6fa4",82237:"787c04ec",82261:"56d05024",82439:"6e17edce",82477:"c1a9fb74",83072:"67b5280f",83287:"3bd3171e",83294:"f8a4175d",83720:"fb45b22a",83752:"ba74bb2d",83943:"a64bf43a",84219:"c9a52c69",84331:"7c89f142",84605:"dda220f4",84656:"ee4b1f89",84750:"3cb9395a",84850:"2573471f",85462:"7a8c6339",85527:"e0ce5a4d",85528:"74b87448",85556:"8952cc16",85943:"47cbb047",86012:"713ed951",86037:"3e3ca792",86057:"390bd7e1",86106:"28a6ab59",86298:"2b90b295",86324:"26795313",86886:"25742600",86887:"508da014",86992:"a48a40b9",87012:"ac5a334e",87126:"70ffb610",87402:"e915733b",87501:"be8e7c01",87510:"3ce53dbf",87760:"d2b2d2c3",88048:"fcbe8eff",88131:"b632d02c",88494:"f9f8f001",88495:"452f0be1",88790:"84a2be5e",88843:"152ff9f1",88946:"350ed3aa",89598:"9564b3ff",90049:"1b073c5b",90381:"70d4092c",90642:"b825e084",90780:"3a2bb595",90899:"d5f50444",90986:"a535ceed",91131:"d5558d28",91258:"15aee314",91395:"16f406a0",92113:"39247fb9",92170:"83684ee4",92205:"d16b5048",92687:"bb260a5c",92811:"bd84fa77",92896:"bdb85543",93036:"51251aca",93087:"64286f41",93203:"6fd5674c",93503:"e17b9a9f",93833:"77cb2050",93842:"99bd467c",94210:"04d4a76e",94594:"705d29b8",94642:"88355706",94725:"6d9c4ec3",94811:"37da4193",95191:"20b10def",95409:"8393e70e",95622:"2149f55b",95909:"edd5c716",96414:"301edf99",96449:"bd671d71",96815:"28aa9d74",96991:"c38bcb59",97191:"8f5992aa",97289:"ca03a055",97458:"036de6e1",97499:"c9fc3141",97785:"62f0f347",97847:"76e468d4",98042:"a7352085",98116:"bdc39478",98175:"ed0ad084",98484:"010ab20e",98498:"90e26889",98548:"290650fe",98601:"a401765d",98996:"8b6044d3",99094:"bb03c5f6",99180:"7ab5fad0",99340:"c5c0cf6c",99341:"f242f189",99591:"823e72a3",99989:"4039096e"}[e]+".js",t.miniCssF=e=>{},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),t.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},f="serverpod-docs:",t.l=(e,a,d,b)=>{if(c[e])c[e].push(a);else{var r,o;if(void 0!==d)for(var l=document.getElementsByTagName("script"),n=0;n{r.onerror=r.onload=null,clearTimeout(s);var f=c[e];if(delete c[e],r.parentNode&&r.parentNode.removeChild(r),f&&f.forEach((e=>e(d))),a)return a(d)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),o&&document.head.appendChild(r)}},t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.p="/",t.gca=function(e){return e={13798859:"98601",16116660:"32178",17896441:"18401",44145933:"43848",44463284:"62362",49849746:"98116",52398098:"3705",52813856:"82099",53998120:"53774",62037464:"69891",64027347:"95622",68401255:"20210",79840965:"3877",91633089:"7656",92466816:"39911",96331245:"68700",96523456:"24295",cb867d98:"456","3f04b2f3":"565",cdc118a8:"762","638e38ae":"1160",b685e31b:"1171","02c0cfe0":"1572","1921e4ca":"1705",bdc5a52e:"1832",b32c213b:"1923",dbf9e27d:"1970","27e827f8":"2278","0a5c01b2":"2295","3874f1bf":"2496",ac6e050c:"2730","8e7261c9":"3202","9d217e1f":"3230","05ec9480":"3249",reactPlayerVidyard:"3392",d8d6d57b:"3607",a6c3ea4a:"3783",ecb3c634:"3900","17dc776d":"4272","7a3d47b3":"4276",f149b10e:"4499",e3443ce0:"4550","976a2d80":"4574","9644aa4e":"4645",da698f4c:"5000","8baf194b":"5344","52f87500":"5352",af1c5d2b:"5441","10ad1fa6":"5623",e4a796aa:"5819","3d277f18":"5827","3e4a4cb2":"5885",c56bdfca:"6129",cce58fe7:"6157",f3467f26:"6215","61285fa7":"6231",a8c1f82d:"6236","27b43779":"6262","46b54090":"6265","2890c80c":"6308",reactPlayerKaltura:"6463","2e1ee4ed":"6486","5112ebe3":"6497","7b06977d":"6615","89b55a09":"6918","19e323d1":"7161","2db5c390":"7267","7517a61c":"7606","7da54b54":"7681",c2b45dbb:"7701","95bf5f56":"7785","2581590c":"7848","94b2bc9a":"8271","06a408fe":"8349","4c5c4c2e":"8500","82e43b76":"8734",b8787c81:"8927","1caa8cdb":"9264",daec0d60:"9524","4519f039":"9606","5589c54d":"9640","5e95c892":"9647",e64edb60:"9671","5a0a1617":"9837",fca5fdb4:"10348","0931faae":"10443","313c9eb1":"10700","5c1eff22":"10845",f7ae65ac:"10907",dc7352a7:"11139","8af032d3":"11184",f584139f:"11301","22dd74f7":"11567",ef2492df:"11607","10e267de":"11721","45dd886d":"11784",b809d820:"11934","1457ddcd":"11965","90ec8c6b":"12007",reactPlayerTwitch:"12042","3e3aae1a":"12219",b6f81eaa:"12237",d2aa311d:"12716","9de020c4":"12744","4934de22":"12766","28967b3e":"12827","076cf272":"13018",d3938b1f:"13019","5839343c":"13455",e84b4e80:"13535",ea237062:"13585","2d11a680":"13650",f4322d5c:"14080","95a5d2b2":"14237",fc8c8cde:"14715","7c8e5227":"14936",fe3f3783:"15066","83c6f999":"15246","30bd0f5b":"15447",reactPlayerDailyMotion:"16328","616631fd":"16602","710ac1c1":"16678","444a6d4e":"16869","4ed1e0ac":"16884","5596dd05":"16945","828ace52":"17021",f9bde383:"17209","45939ed5":"17289","55f37562":"17320","070c8c93":"17776",ebd05845:"17820","0841186f":"18093",reactPlayerYouTube:"18446","2fca5c64":"19049","87ab7385":"19738","986f0f98":"20033","22f51758":"20423","704545ab":"20515",e66f2658:"20681",d4fc3158:"20773","4ab30eec":"20826","82444e58":"21611","57012fa6":"21983",d3af5b3c:"22422",f5a589e7:"22451","59df87e8":"22611","141135bb":"22750","676f1bdb":"23321","5af30237":"23452",ed64c12e:"23453",f6affd6e:"23619","956829f8":"23870",ec91ff36:"24078","1d39c85d":"24158","02e41de2":"24832","5bc657fa":"25362","3edac44d":"25427","0f2c2e36":"25504","522ca66b":"25666","9a594c98":"25691","7ca2e59a":"25692",reactPlayerVimeo:"26173","431ffdb5":"26376",a4adf53f:"26499",d9107a6a:"26622","7ac69e68":"27168","65e04ea3":"27350","5cc14181":"27547","12407b36":"27646","6aee17c2":"27685","38e32826":"27740","2a36564f":"27800","965931d7":"28235","4a49065b":"29248",dec2bd4a:"29250","7607a467":"29285",dc8c27bd:"29436","1a84c7fd":"29773",a4c4bf80:"30233",b1218054:"30248","6feb7661":"30418","3141060a":"30473","1323771c":"30528","85d514f3":"30765","38e9742f":"30773","1a39ee04":"30799","4aa94ec1":"30941","626d8d5f":"31080",dfeb483e:"31092","926056c1":"31165","08d55cf7":"31267","3f80bb14":"31471","564db590":"31474","2e18ba50":"31727","9037180b":"32055",c090764b:"32096",f8fee680:"32111",df1414bb:"32141","3d150a24":"32163","5cde491b":"32406",a6311318:"32461","4e689a0b":"32492","7de3e81f":"32504",d9e7b984:"32741","7800d508":"32759","272aa200":"32944","25c6d77a":"33048","71ba2dc1":"33098","9107c65f":"33460",a32c313f:"33577",cbf3c4ec:"33992","6f56eca8":"34321","54cab4d4":"34438",cf3c245e:"34662","1b6591f7":"34726","07e708e9":"34750","6da448d1":"34935",ff5ed6ba:"34975",db7d4591:"35223",ce86e3e6:"35540",e7977816:"35563",dc4059b2:"35654",aba21aa0:"35742","1312139a":"35748","9c9052d1":"35884",a2a1c245:"36058",e7dfb2de:"36100",e8f4756d:"36132",reactPlayerPreview:"36353","3aa84b2d":"36572",bd568e77:"36731","8abbb0ee":"36886",ed772d97:"36920","3817c387":"37107",a2757506:"37296","9f1829f0":"37516",abd13aa2:"37710",b28bd8b1:"37850","441fd5fc":"37990","8ee9837e":"38031",bd6f2233:"38419",caf7731d:"38471","5e7d099e":"38527",c868bccf:"38610","036b5431":"38691","897331c0":"38717","4f0519c7":"38792",fc67ad3d:"38853",fac0eceb:"38864",c7156cf2:"39026","5f6b1733":"39056","511f9951":"39080","27cc7342":"39228",fe2e2e26:"39408",cdd4a9c6:"39431","327b0a57":"39482","50f2f9f3":"39558","9e0c2c37":"39757","6a734661":"40271",b5dcbe95:"40374","39dec3ba":"40563","33c1d41a":"40575","88a48c42":"41237","16b03284":"41507",fe76eed8:"41865","4048090e":"42083","91aed80e":"42206","5b2d7e3c":"42434","3aa0ab0a":"42800","2115313f":"42901","6ba85e75":"43174","2d16d24d":"43246",d2f6d210:"43444",a81cb65f:"43773","3bff9c7c":"43834",ad61550a:"43888","8186ecf9":"43903","5d707891":"44046",a24f0440:"44164",c0650537:"44486","69fcd2fc":"44602",c5313007:"44609","65b7208a":"44630","36fcb744":"44816","39ec0930":"44947","7c299f6a":"45072",b1394c86:"45141",ef4456b5:"45268",f29fc884:"45295","79d28454":"45474","4a55fe3a":"45655","8dfd8953":"45724",c377a04b:"45742",d58f1ee2:"46119","26ad82e9":"46268",fe522f67:"46364",aeef55f7:"46563","53d20392":"46643",ac3101e9:"46688",d0b9ca74:"46921","2bbc2deb":"46961",dcbfe205:"47120","999788b8":"47127",b9ec56c8:"47264","7f0714d1":"47341",a7b0b2b7:"47452","71f9ed0c":"47472","93dcedec":"47527",reactPlayerStreamable:"47627",b7ea99f7:"47719","8f509517":"48124","356ce494":"48134",df15bc7d:"48235",b467d32a:"48276",f6adf820:"48436","954e932f":"48552","566f49fb":"48579","0f4a5c74":"48665","510b9307":"49316",b26210db:"49406",c8139b75:"49455","0d76317c":"49658",fc8b5a5d:"49921",ac002d2b:"50041","98f4e1ec":"50404",bf519c8d:"50765","3fbaac07":"50908",fc6f07d2:"51143",db42f242:"51205","4aec9039":"51349","17f04a83":"51379","81e4ed6a":"51637",eecc43ff:"51780",e7ee6027:"52302","280af06a":"52365",e3d58533:"52529",reactPlayerMux:"52723","8bf57c9f":"52961","23975af2":"53084","9b4ab8cd":"53148","1577f7ed":"53357","4867e743":"54049","092bf57d":"54220",a271ef09:"54530","984d6493":"54582","98d962c5":"54905","49145cdf":"55011",c94e1931:"55324",b2419a00:"55388","169f3d24":"55664","46eeb6cb":"56264",d636c09f:"56282",ecaa7076:"56383",fd4b36bb:"56420","6bb5bff7":"56449","4205d879":"56532","378935ce":"56684","805a59dc":"56764",f527bef3:"57035",bb9c591b:"57356","21b7a589":"57694","1b218eaa":"57790",a7edc2bd:"57869",c134ef8a:"58022","1111b27e":"58215",afb7a97b:"58718","5144cf5e":"58800","6e29a506":"59075","76259cc3":"59221","03db70c9":"59327","857097c6":"59332",a64b2578:"59409","1e1f8072":"59599",ac9d9d69:"59600","5c6f6ba9":"59949","9eb2dfca":"60071",bd118f84:"60365","719163ad":"60759","640696ee":"60880",c10a0985:"60886","6fbf0c67":"60893","0eebd274":"60908","3cc71396":"61114","3b66921f":"61252","099a3596":"61273",d38e3f9f:"61291","3d1ae229":"61358",f28f059c:"61368",e58556b2:"61505",b2b2619a:"61730","7570de64":"61977","0893faed":"62059","0d7acd84":"62134","6d2a4d3f":"62357",bd1cffff:"62573","1d7c691c":"62921",f5fed352:"62929","68a7f29c":"62945","98c94590":"63474","06393fc1":"63538","2b67eda4":"63706","53e9dd7a":"63737",fb72d7b2:"63747",a6397568:"63960",b91fbf2a:"64558",eac16e1d:"64641","4c781063":"64651","6f44ab90":"64665","063d75bd":"65110",eb4c176e:"65142","616bfcf6":"65433",af754a1f:"65542","1ebbfca8":"65655",bafd283f:"65755","90239e6e":"65784","419cd6b8":"65866","9f8e6d57":"66225","03b2528f":"66339","3e87058f":"66811","0c695afe":"66850","3c4af576":"66868","5e253f2f":"66885","51907bd1":"66912",da54b976:"66929","9e6051e1":"67059",ae0eacdd:"67068",a7bd4aaa:"67098","726a6c22":"67217","61ff6850":"67349","0d271e1e":"67458","49fed513":"67532",reactPlayerMixcloud:"67570",e7f4b98d:"67706","9d7352c0":"67714","3cf6fa35":"68230","812775a4":"68364","24557dbc":"68391","10ea0b82":"68874","2c2832e4":"68912","62de5d73":"68915","358c2507":"68960",af68ae04:"68962","4ac2e930":"69050","3c9432f0":"69779","20d56cb7":"69816",reactPlayerSoundCloud:"69979","52994a20":"70115",c3373259:"70326",a518290b:"70843",d44e0d1c:"70934","308471de":"71247","087cd58c":"71383",a4c89d62:"71826","86a8bb6c":"71907","4fa4eafa":"71967","71319bec":"72074","83ac10ed":"72132","44b88e48":"72188",fe170cc9:"72231",adce8179:"72561","646cbece":"73107","9d779d8b":"73379",b2aeaed7:"73480","2020ed93":"73932","2ed96714":"73939",ce4dbf6d:"74081","4bfca71d":"74583",ebde045d:"74780",d26a73b8:"74834","00d14154":"74860",cb0cc620:"75358","5390e21f":"75412","307525ba":"75702","2db99065":"75822","071f33a8":"75868",b48f41b9:"75965","7d63aba8":"76093","03b3cfd2":"76224","8615e055":"76238",d802bb56:"76372","8bed5a26":"76768","78ae7ec8":"76973","42abcd4d":"77137",ee65edec:"77313","67e77328":"77318",f6f476f1:"77757","8eead450":"78007","068743c8":"78416",b7b014bf:"78631","82ea7079":"78702",a94703ab:"79048","6d717251":"79052","526e379a":"79225","4118187a":"79354","2d4af3bf":"79825","9e09f891":"79956",a7f483d1:"79983","97efa4fc":"80124",afde3230:"80549","05fa9a60":"80721",a979af25:"81291","74d42203":"81445","4ead9a95":"81509",f8189ec4:"81657","42a9b3c5":"81790","20ff9753":"81805","2e3fc0f9":"81849","056b386b":"82075","18910d94":"82201","0c6fe626":"82261",e4eafb12:"82439","2ca08277":"82477","6b5df954":"83072","7af31c45":"83287","6f549117":"83294",d5aabfc9:"83720",efe5610c:"83752","9c5d9512":"83943","51e50f95":"84219","79e0e7f1":"84331","8552f549":"84605","813cfb2f":"84656",aefdd881:"84750",bc03f89b:"84850","9270ba4f":"85462","5143312c":"85527","21e10cde":"85528","21a4ba71":"85556","05fbef88":"85943",da202fdd:"86012",eaeab60b:"86037","9fbfaf6d":"86057","1877d9d5":"86106",e2d6ba1f:"86298",f40f566d:"86324","7b33c27b":"86886",reactPlayerFacebook:"86887","3fe65583":"86992","869ae8a7":"87012",b916a1ab:"87126",c3094240:"87402","2674f827":"87501","9d36f238":"87510","0773e78b":"87760","73ca4188":"88048",c2237e68:"88131","504d78e0":"88494","801276a1":"88495","51c7df8c":"88790","45926b62":"88843","95ec96e5":"88946","4b6eee9a":"89598",cc180519:"90049","869d42f3":"90381","07006f9e":"90642","098f2604":"90780","609f97b9":"90899","6028a11d":"90986","468d57a9":"91131","227d1fc4":"91258",a0aa5253:"91395","32b8fafb":"92113","4951b372":"92170",bacd9a7c:"92205",cd64d641:"92687","8093477b":"92811",bc69c5bc:"92896",c342bcae:"93036",b0f19176:"93087",a43ad670:"93203","17e2e969":"93503","9b833276":"93833","26398b18":"93842",de4b4037:"94210",c7507218:"94594",da19ecb4:"94642",dd31e7e9:"94725",da071cb8:"94811",c75d145e:"95191","94f11012":"95409","896258c1":"95909","794a8057":"96414","19a6be06":"96449","8d02075b":"96815","4eee9c87":"96991","31b73615":"97191","233249da":"97289",reactPlayerFilePlayer:"97458","50a12feb":"97499",ac5db01d:"97785",d9df7455:"97847","819b642a":"98042","5a96e453":"98175","22302c03":"98484",ae22b856:"98498","44a83f6a":"98548","65c67349":"98996","08aab21d":"99094","32ebcda7":"99180",reactPlayerWistia:"99340",a1154d73:"99341",e0bec135:"99591","51ddac88":"99989"}[e]||e,t.p+t.u(e)},(()=>{var e={45354:0,71869:0};t.f.j=(a,d)=>{var c=t.o(e,a)?e[a]:void 0;if(0!==c)if(c)d.push(c[2]);else if(/^(45354|71869)$/.test(a))e[a]=0;else{var f=new Promise(((d,f)=>c=e[a]=[d,f]));d.push(c[2]=f);var b=t.p+t.u(a),r=new Error;t.l(b,(d=>{if(t.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var f=d&&("load"===d.type?"missing":d.type),b=d&&d.target&&d.target.src;r.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",r.name="ChunkLoadError",r.type=f,r.request=b,c[1](r)}}),"chunk-"+a,a)}},t.O.j=a=>0===e[a];var a=(a,d)=>{var c,f,b=d[0],r=d[1],o=d[2],l=0;if(b.some((a=>0!==e[a]))){for(c in r)t.o(r,c)&&(t.m[c]=r[c]);if(o)var n=o(t)}for(a&&a(d);l{"use strict";var e,a,d,c,f,b={},r={};function t(e){var a=r[e];if(void 0!==a)return a.exports;var d=r[e]={exports:{}};return b[e].call(d.exports,d,d.exports,t),d.exports}t.m=b,e=[],t.O=(a,d,c,f)=>{if(!d){var b=1/0;for(n=0;n=f)&&Object.keys(t.O).every((e=>t.O[e](d[o])))?d.splice(o--,1):(r=!1,f0&&e[n-1][2]>f;n--)e[n]=e[n-1];e[n]=[d,c,f]},t.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a:a}),a},d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,t.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var f=Object.create(null);t.r(f);var b={};a=a||[null,d({}),d([]),d(d)];for(var r=2&c&&e;"object"==typeof r&&!~a.indexOf(r);r=d(r))Object.getOwnPropertyNames(r).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,t.d(f,b),f},t.d=(e,a)=>{for(var d in a)t.o(a,d)&&!t.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce(((a,d)=>(t.f[d](e,a),a)),[])),t.u=e=>"assets/js/"+({456:"cb867d98",565:"3f04b2f3",762:"cdc118a8",1160:"638e38ae",1171:"b685e31b",1572:"02c0cfe0",1705:"1921e4ca",1832:"bdc5a52e",1923:"b32c213b",1970:"dbf9e27d",2278:"27e827f8",2295:"0a5c01b2",2496:"3874f1bf",2730:"ac6e050c",3202:"8e7261c9",3230:"9d217e1f",3249:"05ec9480",3392:"reactPlayerVidyard",3607:"d8d6d57b",3705:"52398098",3783:"a6c3ea4a",3877:"79840965",3900:"ecb3c634",4272:"17dc776d",4276:"7a3d47b3",4499:"f149b10e",4550:"e3443ce0",4574:"976a2d80",4645:"9644aa4e",5e3:"da698f4c",5344:"8baf194b",5352:"52f87500",5441:"af1c5d2b",5623:"10ad1fa6",5819:"e4a796aa",5827:"3d277f18",5885:"3e4a4cb2",6129:"c56bdfca",6157:"cce58fe7",6215:"f3467f26",6231:"61285fa7",6236:"a8c1f82d",6262:"27b43779",6265:"46b54090",6308:"2890c80c",6463:"reactPlayerKaltura",6486:"2e1ee4ed",6497:"5112ebe3",6615:"7b06977d",6918:"89b55a09",7161:"19e323d1",7267:"2db5c390",7606:"7517a61c",7656:"91633089",7681:"7da54b54",7701:"c2b45dbb",7785:"95bf5f56",7848:"2581590c",8271:"94b2bc9a",8349:"06a408fe",8500:"4c5c4c2e",8734:"82e43b76",8927:"b8787c81",9264:"1caa8cdb",9524:"daec0d60",9606:"4519f039",9640:"5589c54d",9647:"5e95c892",9671:"e64edb60",9837:"5a0a1617",10348:"fca5fdb4",10443:"0931faae",10700:"313c9eb1",10845:"5c1eff22",10907:"f7ae65ac",11139:"dc7352a7",11184:"8af032d3",11301:"f584139f",11567:"22dd74f7",11607:"ef2492df",11721:"10e267de",11784:"45dd886d",11934:"b809d820",11965:"1457ddcd",12007:"90ec8c6b",12042:"reactPlayerTwitch",12219:"3e3aae1a",12237:"b6f81eaa",12716:"d2aa311d",12744:"9de020c4",12766:"4934de22",12827:"28967b3e",13018:"076cf272",13019:"d3938b1f",13455:"5839343c",13535:"e84b4e80",13585:"ea237062",13650:"2d11a680",14080:"f4322d5c",14237:"95a5d2b2",14715:"fc8c8cde",14936:"7c8e5227",15066:"fe3f3783",15246:"83c6f999",15447:"30bd0f5b",16328:"reactPlayerDailyMotion",16602:"616631fd",16678:"710ac1c1",16869:"444a6d4e",16884:"4ed1e0ac",16945:"5596dd05",17021:"828ace52",17209:"f9bde383",17289:"45939ed5",17320:"55f37562",17776:"070c8c93",17820:"ebd05845",18093:"0841186f",18401:"17896441",18446:"reactPlayerYouTube",19049:"2fca5c64",19738:"87ab7385",20033:"986f0f98",20210:"68401255",20423:"22f51758",20515:"704545ab",20681:"e66f2658",20773:"d4fc3158",20826:"4ab30eec",21611:"82444e58",21983:"57012fa6",22422:"d3af5b3c",22451:"f5a589e7",22611:"59df87e8",22750:"141135bb",23321:"676f1bdb",23452:"5af30237",23453:"ed64c12e",23619:"f6affd6e",23870:"956829f8",24078:"ec91ff36",24158:"1d39c85d",24295:"96523456",24832:"02e41de2",25362:"5bc657fa",25427:"3edac44d",25504:"0f2c2e36",25666:"522ca66b",25691:"9a594c98",25692:"7ca2e59a",26173:"reactPlayerVimeo",26376:"431ffdb5",26499:"a4adf53f",26622:"d9107a6a",27168:"7ac69e68",27350:"65e04ea3",27547:"5cc14181",27646:"12407b36",27685:"6aee17c2",27740:"38e32826",27800:"2a36564f",28235:"965931d7",29248:"4a49065b",29250:"dec2bd4a",29285:"7607a467",29436:"dc8c27bd",29773:"1a84c7fd",30233:"a4c4bf80",30248:"b1218054",30418:"6feb7661",30473:"3141060a",30528:"1323771c",30765:"85d514f3",30773:"38e9742f",30799:"1a39ee04",30941:"4aa94ec1",31080:"626d8d5f",31092:"dfeb483e",31165:"926056c1",31267:"08d55cf7",31471:"3f80bb14",31474:"564db590",31727:"2e18ba50",32055:"9037180b",32096:"c090764b",32111:"f8fee680",32141:"df1414bb",32163:"3d150a24",32178:"16116660",32406:"5cde491b",32461:"a6311318",32492:"4e689a0b",32504:"7de3e81f",32741:"d9e7b984",32759:"7800d508",32944:"272aa200",33048:"25c6d77a",33098:"71ba2dc1",33460:"9107c65f",33577:"a32c313f",33992:"cbf3c4ec",34321:"6f56eca8",34438:"54cab4d4",34662:"cf3c245e",34726:"1b6591f7",34750:"07e708e9",34935:"6da448d1",34975:"ff5ed6ba",35223:"db7d4591",35540:"ce86e3e6",35563:"e7977816",35654:"dc4059b2",35742:"aba21aa0",35748:"1312139a",35884:"9c9052d1",36058:"a2a1c245",36100:"e7dfb2de",36132:"e8f4756d",36353:"reactPlayerPreview",36572:"3aa84b2d",36731:"bd568e77",36886:"8abbb0ee",36920:"ed772d97",37107:"3817c387",37296:"a2757506",37516:"9f1829f0",37710:"abd13aa2",37850:"b28bd8b1",37990:"441fd5fc",38031:"8ee9837e",38419:"bd6f2233",38471:"caf7731d",38527:"5e7d099e",38610:"c868bccf",38691:"036b5431",38717:"897331c0",38792:"4f0519c7",38853:"fc67ad3d",38864:"fac0eceb",39026:"c7156cf2",39056:"5f6b1733",39080:"511f9951",39228:"27cc7342",39408:"fe2e2e26",39431:"cdd4a9c6",39482:"327b0a57",39558:"50f2f9f3",39757:"9e0c2c37",39911:"92466816",40271:"6a734661",40374:"b5dcbe95",40563:"39dec3ba",40575:"33c1d41a",41237:"88a48c42",41507:"16b03284",41865:"fe76eed8",42083:"4048090e",42206:"91aed80e",42434:"5b2d7e3c",42800:"3aa0ab0a",42901:"2115313f",43174:"6ba85e75",43246:"2d16d24d",43444:"d2f6d210",43773:"a81cb65f",43834:"3bff9c7c",43848:"44145933",43888:"ad61550a",43903:"8186ecf9",44046:"5d707891",44164:"a24f0440",44486:"c0650537",44602:"69fcd2fc",44609:"c5313007",44630:"65b7208a",44816:"36fcb744",44947:"39ec0930",45072:"7c299f6a",45141:"b1394c86",45268:"ef4456b5",45295:"f29fc884",45474:"79d28454",45655:"4a55fe3a",45724:"8dfd8953",45742:"c377a04b",46119:"d58f1ee2",46268:"26ad82e9",46364:"fe522f67",46563:"aeef55f7",46643:"53d20392",46688:"ac3101e9",46921:"d0b9ca74",46961:"2bbc2deb",47120:"dcbfe205",47127:"999788b8",47264:"b9ec56c8",47341:"7f0714d1",47452:"a7b0b2b7",47472:"71f9ed0c",47527:"93dcedec",47627:"reactPlayerStreamable",47719:"b7ea99f7",48124:"8f509517",48134:"356ce494",48235:"df15bc7d",48276:"b467d32a",48436:"f6adf820",48552:"954e932f",48579:"566f49fb",48665:"0f4a5c74",49316:"510b9307",49406:"b26210db",49455:"c8139b75",49658:"0d76317c",49921:"fc8b5a5d",50041:"ac002d2b",50404:"98f4e1ec",50765:"bf519c8d",50908:"3fbaac07",51143:"fc6f07d2",51205:"db42f242",51349:"4aec9039",51379:"17f04a83",51637:"81e4ed6a",51780:"eecc43ff",52302:"e7ee6027",52365:"280af06a",52529:"e3d58533",52723:"reactPlayerMux",52961:"8bf57c9f",53084:"23975af2",53148:"9b4ab8cd",53357:"1577f7ed",53774:"53998120",54049:"4867e743",54220:"092bf57d",54530:"a271ef09",54582:"984d6493",54905:"98d962c5",55011:"49145cdf",55324:"c94e1931",55388:"b2419a00",55664:"169f3d24",56264:"46eeb6cb",56282:"d636c09f",56383:"ecaa7076",56420:"fd4b36bb",56449:"6bb5bff7",56532:"4205d879",56684:"378935ce",56764:"805a59dc",57035:"f527bef3",57356:"bb9c591b",57694:"21b7a589",57790:"1b218eaa",57869:"a7edc2bd",58022:"c134ef8a",58215:"1111b27e",58718:"afb7a97b",58800:"5144cf5e",59075:"6e29a506",59221:"76259cc3",59327:"03db70c9",59332:"857097c6",59409:"a64b2578",59599:"1e1f8072",59600:"ac9d9d69",59949:"5c6f6ba9",60071:"9eb2dfca",60365:"bd118f84",60759:"719163ad",60880:"640696ee",60886:"c10a0985",60893:"6fbf0c67",60908:"0eebd274",61114:"3cc71396",61252:"3b66921f",61273:"099a3596",61291:"d38e3f9f",61358:"3d1ae229",61368:"f28f059c",61505:"e58556b2",61730:"b2b2619a",61977:"7570de64",62059:"0893faed",62134:"0d7acd84",62357:"6d2a4d3f",62362:"44463284",62573:"bd1cffff",62921:"1d7c691c",62929:"f5fed352",62945:"68a7f29c",63474:"98c94590",63538:"06393fc1",63706:"2b67eda4",63737:"53e9dd7a",63747:"fb72d7b2",63960:"a6397568",64558:"b91fbf2a",64641:"eac16e1d",64651:"4c781063",64665:"6f44ab90",65110:"063d75bd",65142:"eb4c176e",65433:"616bfcf6",65542:"af754a1f",65655:"1ebbfca8",65755:"bafd283f",65784:"90239e6e",65866:"419cd6b8",66225:"9f8e6d57",66339:"03b2528f",66811:"3e87058f",66850:"0c695afe",66868:"3c4af576",66885:"5e253f2f",66912:"51907bd1",66929:"da54b976",67059:"9e6051e1",67068:"ae0eacdd",67098:"a7bd4aaa",67217:"726a6c22",67349:"61ff6850",67458:"0d271e1e",67532:"49fed513",67570:"reactPlayerMixcloud",67706:"e7f4b98d",67714:"9d7352c0",68230:"3cf6fa35",68364:"812775a4",68391:"24557dbc",68700:"96331245",68874:"10ea0b82",68912:"2c2832e4",68915:"62de5d73",68960:"358c2507",68962:"af68ae04",69050:"4ac2e930",69779:"3c9432f0",69816:"20d56cb7",69891:"62037464",69979:"reactPlayerSoundCloud",70115:"52994a20",70326:"c3373259",70843:"a518290b",70934:"d44e0d1c",71247:"308471de",71383:"087cd58c",71826:"a4c89d62",71907:"86a8bb6c",71967:"4fa4eafa",72074:"71319bec",72132:"83ac10ed",72188:"44b88e48",72231:"fe170cc9",72561:"adce8179",73107:"646cbece",73379:"9d779d8b",73480:"b2aeaed7",73932:"2020ed93",73939:"2ed96714",74081:"ce4dbf6d",74583:"4bfca71d",74780:"ebde045d",74834:"d26a73b8",74860:"00d14154",75358:"cb0cc620",75412:"5390e21f",75702:"307525ba",75822:"2db99065",75868:"071f33a8",75965:"b48f41b9",76093:"7d63aba8",76224:"03b3cfd2",76238:"8615e055",76372:"d802bb56",76768:"8bed5a26",76973:"78ae7ec8",77137:"42abcd4d",77313:"ee65edec",77318:"67e77328",77757:"f6f476f1",78007:"8eead450",78416:"068743c8",78631:"b7b014bf",78702:"82ea7079",79048:"a94703ab",79052:"6d717251",79225:"526e379a",79354:"4118187a",79825:"2d4af3bf",79956:"9e09f891",79983:"a7f483d1",80124:"97efa4fc",80549:"afde3230",80721:"05fa9a60",81291:"a979af25",81445:"74d42203",81509:"4ead9a95",81657:"f8189ec4",81790:"42a9b3c5",81805:"20ff9753",81849:"2e3fc0f9",82075:"056b386b",82099:"52813856",82201:"18910d94",82261:"0c6fe626",82439:"e4eafb12",82477:"2ca08277",83072:"6b5df954",83287:"7af31c45",83294:"6f549117",83720:"d5aabfc9",83752:"efe5610c",83943:"9c5d9512",84219:"51e50f95",84331:"79e0e7f1",84605:"8552f549",84656:"813cfb2f",84750:"aefdd881",84850:"bc03f89b",85462:"9270ba4f",85527:"5143312c",85528:"21e10cde",85556:"21a4ba71",85943:"05fbef88",86012:"da202fdd",86037:"eaeab60b",86057:"9fbfaf6d",86106:"1877d9d5",86298:"e2d6ba1f",86324:"f40f566d",86886:"7b33c27b",86887:"reactPlayerFacebook",86992:"3fe65583",87012:"869ae8a7",87126:"b916a1ab",87402:"c3094240",87501:"2674f827",87510:"9d36f238",87760:"0773e78b",88048:"73ca4188",88131:"c2237e68",88494:"504d78e0",88495:"801276a1",88790:"51c7df8c",88843:"45926b62",88946:"95ec96e5",89598:"4b6eee9a",90049:"cc180519",90381:"869d42f3",90642:"07006f9e",90780:"098f2604",90899:"609f97b9",90986:"6028a11d",91131:"468d57a9",91258:"227d1fc4",91395:"a0aa5253",92113:"32b8fafb",92170:"4951b372",92205:"bacd9a7c",92687:"cd64d641",92811:"8093477b",92896:"bc69c5bc",93036:"c342bcae",93087:"b0f19176",93203:"a43ad670",93503:"17e2e969",93833:"9b833276",93842:"26398b18",94210:"de4b4037",94594:"c7507218",94642:"da19ecb4",94725:"dd31e7e9",94811:"da071cb8",95191:"c75d145e",95409:"94f11012",95622:"64027347",95909:"896258c1",96414:"794a8057",96449:"19a6be06",96815:"8d02075b",96991:"4eee9c87",97191:"31b73615",97289:"233249da",97458:"reactPlayerFilePlayer",97499:"50a12feb",97785:"ac5db01d",97847:"d9df7455",98042:"819b642a",98116:"49849746",98175:"5a96e453",98484:"22302c03",98498:"ae22b856",98548:"44a83f6a",98601:"13798859",98996:"65c67349",99094:"08aab21d",99180:"32ebcda7",99340:"reactPlayerWistia",99341:"a1154d73",99591:"e0bec135",99989:"51ddac88"}[e]||e)+"."+{456:"ef9986b7",565:"bed1c850",762:"d2174ca0",1160:"10d3221b",1171:"ead1cca8",1572:"0cfa3362",1705:"2528c13d",1832:"8d8742f9",1923:"f4dc4250",1970:"6276ac5c",2278:"52a102f5",2295:"5302c2da",2496:"48da3b37",2730:"a304021f",3202:"503450b2",3230:"e99996b9",3249:"cad0d93e",3392:"8464e17b",3607:"41af52b1",3705:"9e671b9a",3783:"04c7a56f",3877:"bbb12f8a",3900:"d979fd9a",4272:"5327c9b2",4276:"0ff680f6",4499:"8a0343dd",4550:"165de29c",4574:"59755fc1",4645:"a270f8fb",5e3:"8eca928f",5344:"4fb59513",5352:"5c276b6d",5441:"a0d10636",5623:"b20ed08c",5819:"12ce2193",5827:"3e25f443",5885:"24306e07",6129:"78050529",6157:"b99a16a6",6215:"31ae42b7",6231:"9cdc6371",6236:"d0a6e3b7",6262:"e675b845",6265:"94f32e3a",6308:"5f3e0e5b",6463:"bec1a06c",6486:"22f47090",6497:"fadb7e82",6615:"e0733f11",6918:"cef59c19",7161:"09ca0649",7267:"2eb42cd5",7606:"b220f86c",7656:"4056512a",7681:"82139ee2",7701:"49318b54",7785:"82b6580b",7848:"dca26602",8271:"cbe74f6b",8349:"5f85a47c",8500:"d7bf511f",8734:"29b499c2",8927:"6f999770",9264:"7fdd1f29",9524:"e29aaf6f",9606:"1957caed",9640:"6a5d88d6",9647:"cac24016",9671:"e8d1d6ac",9837:"2990961f",10348:"ec8b3811",10443:"0f62bd8f",10700:"ce11f188",10845:"6add59b6",10907:"16a8f0d6",11139:"7e17d20e",11184:"3b6934eb",11301:"15f51fd1",11567:"31c2aad0",11607:"a1c095dc",11721:"2fb8cf70",11784:"3d5cf7c1",11934:"1770953b",11965:"d777c784",12007:"0a983281",12042:"a0c42814",12219:"95741407",12237:"365b4255",12716:"5099e1c9",12744:"1e98207e",12766:"cb4da8e3",12827:"6118b61c",13018:"3383df8d",13019:"600402c2",13455:"7278ce8a",13535:"8c2fe49b",13585:"00bae75a",13650:"a3520d41",14080:"c2d2dd4f",14237:"9cb32cf1",14715:"26c293f4",14936:"082570fa",15066:"95c7a677",15246:"740dce57",15447:"b9cc36a7",16328:"4fa8d3c8",16602:"031b46ad",16678:"6f234e7f",16869:"81a2a888",16884:"07f5d6a4",16945:"46037186",17021:"481eaf6f",17209:"ad9bd8b6",17289:"48e0340f",17320:"2abe5899",17776:"c0410a93",17820:"ecdb30e3",18093:"88a93afb",18401:"30c4f83a",18446:"150ff8a0",19049:"cc505400",19738:"5bbb4e27",20033:"4d9de467",20210:"4987d48c",20423:"076d2946",20515:"1fd67d00",20681:"895a60b0",20773:"7b374ff9",20826:"4abb5e3c",21611:"2812dc09",21983:"dbbb4174",22422:"7b57c7c1",22451:"0d9f4fa7",22611:"66463762",22750:"a8cb4c36",23321:"2095330e",23452:"52cb7538",23453:"2cb5d6e7",23619:"d3f9ca62",23870:"0c70301a",24078:"40b61f09",24158:"9e048aeb",24295:"b02c6044",24832:"7934d2f9",25362:"969e76f4",25427:"f4fc9661",25504:"c5325f85",25666:"49b116a0",25691:"b202a53f",25692:"22af4f62",26173:"076fef9c",26376:"82580212",26499:"ed5ef33e",26622:"33a2684a",27168:"ea09aa96",27350:"b622f983",27547:"3d05c90a",27646:"ab0d6065",27685:"d63db0f0",27740:"085fef8a",27800:"6941bc91",28235:"1004749b",29248:"098f61c2",29250:"748fbf44",29285:"920df858",29436:"4d0944b8",29773:"3ce3a554",30233:"fad74d21",30248:"344d8738",30418:"5eff8ee1",30473:"3550d0ba",30528:"d0410269",30765:"2cb51d03",30773:"2dfe3d75",30799:"17eeaa9c",30941:"c3f340a8",31080:"2f540ec0",31092:"21de0520",31165:"2403bfef",31267:"4162a3e6",31471:"9b6dda95",31474:"d994a20f",31727:"1543b3aa",32055:"a70c3cf6",32096:"49650e68",32111:"5821aafc",32141:"bcdc361b",32163:"c9c0455c",32178:"f452c1e3",32406:"97a3c671",32461:"df6ca91d",32492:"0022b426",32504:"a3895f2a",32741:"f7508f8d",32759:"c7341e25",32944:"3ad81361",33048:"180175a3",33098:"b42f86fd",33460:"1321c8ed",33577:"a15d143b",33992:"348bb83a",34321:"3fca4d77",34438:"60e905e1",34662:"fb2368a3",34726:"72d38370",34750:"1e7df9e7",34935:"2d5f4656",34975:"41c5c4bb",35223:"5c4b7ac6",35540:"87aff258",35563:"ea252326",35654:"07e62338",35742:"e08a145a",35748:"7b09cedb",35884:"22aa93e5",36058:"6a13b234",36100:"2d55e54c",36132:"937c33f0",36353:"4de9bab6",36572:"fc665f1f",36731:"658424dc",36886:"8aaaa526",36920:"2ffe0535",37107:"457955a3",37296:"c4fdf168",37516:"e2793b3a",37710:"f06b9e79",37850:"6e674056",37990:"c81bb26d",38031:"f0396c00",38419:"c1191973",38471:"fe6a6334",38527:"15bc909b",38610:"8b43a310",38691:"16fea600",38717:"0a0deec3",38792:"89e64fc5",38853:"a5515f03",38864:"72f6fb46",39026:"5334a226",39056:"ee74fe7d",39080:"26ae9bf7",39228:"441ef16c",39408:"422c6350",39431:"529c6ee9",39482:"4451e89f",39503:"18fac5cf",39558:"74c339d9",39757:"e8a4973d",39911:"46e0568e",40271:"5e6bd9c0",40374:"7ed0227f",40563:"2a5279fd",40575:"86e66cd1",41237:"78ef8b62",41507:"83abc862",41865:"01c485ca",42083:"a1723a5f",42206:"18d5693f",42434:"532ca6ec",42800:"13488b4a",42901:"da14ef8e",43174:"c4e4fdf1",43246:"a2dda587",43444:"7d8b1654",43773:"1b7ff4ab",43834:"d7cc7263",43848:"2140a06c",43888:"aa8fd92a",43903:"e4c94057",44046:"8058817e",44164:"7d16c8e3",44486:"0d44e3b2",44602:"3e4cdd3b",44609:"461b4926",44630:"f2d8976e",44816:"76259a84",44947:"793e3f30",45072:"6f0e348e",45141:"0422a0ee",45268:"ed9c6f2e",45295:"4248d016",45474:"49030196",45655:"6beda4fc",45724:"2228f4f2",45742:"f2db22e3",46119:"5d911f90",46268:"6c345693",46364:"7fab948c",46563:"798407c3",46643:"48454e49",46688:"9745b4ab",46921:"97629923",46961:"8a1f635a",47120:"99310d64",47127:"76fbb443",47264:"c36b230c",47341:"0492598d",47452:"ec0e7c7b",47472:"152b1bbd",47527:"0e612b80",47627:"bb35fa43",47719:"16d15d6b",48124:"a99c83c4",48134:"8bdfbff2",48235:"8037e889",48276:"0ac13bb2",48436:"61a45365",48552:"4a8f654e",48579:"78921083",48665:"0ada6aae",49316:"5363916a",49406:"424eb54b",49455:"648c4ce5",49658:"c4861fb8",49921:"16641375",50041:"7ed6da9f",50404:"3068d415",50765:"616b4b7f",50908:"0ee266e6",51143:"fe969469",51205:"5504db19",51349:"e99f8c5a",51379:"493dd3c5",51637:"ff7c1499",51780:"4a5988a1",52302:"0a6a55c5",52365:"b26e6537",52529:"9c10b4e2",52723:"3e4df075",52961:"2a1a5c8c",53084:"d94a33c2",53148:"011ea0b4",53357:"b36dd3e8",53774:"e1ef7d5d",54049:"eee29418",54220:"8448c1c4",54530:"23a82c91",54582:"a5d7603c",54905:"bc44bc6d",55011:"45dc19f0",55324:"ec97cabe",55388:"4fe45eee",55664:"17b9e76d",56264:"6318e439",56282:"3e130e49",56383:"31ce9e84",56420:"7334a2e9",56449:"a8fdb036",56532:"6bdaf1ef",56684:"235bad83",56764:"8b28de2e",57035:"e5ba70d9",57356:"ab90e540",57694:"817841bd",57790:"d96ab089",57869:"94ead706",58022:"760b5b6c",58215:"bb0bcd61",58718:"afd35ec4",58800:"2fa57623",59075:"71f01f4d",59221:"7947d799",59327:"0d587515",59332:"55831cc1",59409:"2cccb1fe",59599:"dcf9c22e",59600:"34cfb3ae",59949:"b6f2d6a3",60071:"d87a88da",60365:"c53174c4",60759:"979081a2",60880:"4a5af84f",60886:"7f2bcd20",60893:"262267dc",60908:"631ff7e3",61114:"dfddc8b1",61252:"d1b7d7c4",61273:"a36f2fd4",61291:"6cda27f6",61358:"1867a69b",61368:"aeef1db6",61505:"1a21d780",61730:"8ea0b895",61977:"32a24abf",62059:"604e5da6",62134:"9ffaf69c",62357:"7888230a",62362:"6e67f6cf",62573:"432f0db1",62921:"aeda3551",62929:"90a8e262",62945:"ce910019",63474:"bdf60564",63538:"a0c6660d",63706:"79076a44",63737:"8dc4c8aa",63747:"b0ead851",63960:"ec034579",64558:"4d1cac39",64641:"913ae86b",64651:"d8d1e74b",64665:"76eda960",65110:"a963d653",65142:"b24dbfa5",65433:"a26cc163",65542:"e83efb34",65655:"486883bf",65755:"7fde95d5",65784:"d095c69a",65866:"70fe52c2",66225:"1845c31b",66339:"bd5d4432",66811:"fd48af7a",66850:"a8558aef",66868:"c54fe4d0",66885:"3909e763",66912:"e8a2e969",66929:"d218d95f",67059:"3bf619ea",67068:"36e6731b",67098:"03929b29",67217:"f0457378",67349:"4808f8ab",67458:"5bae4e2e",67532:"888b9060",67570:"12aff88e",67706:"ee7a09d5",67714:"7fbd772f",68230:"8cdcec50",68364:"3826ed74",68391:"15261a3f",68700:"878eb230",68874:"e157169d",68912:"868278bd",68915:"27c042d0",68960:"5c27a458",68962:"70b6a4d6",69050:"24536720",69779:"f46c10f0",69816:"cd56545f",69891:"3eb6da45",69979:"f8f19bc3",70115:"6d79cdb4",70326:"23742192",70843:"5c270f07",70934:"1198822c",71247:"444da1bc",71383:"152bce6b",71826:"91727c5e",71907:"6087ac78",71967:"515cc3c8",72074:"223fed1c",72132:"61d0fb6e",72188:"96fa182b",72231:"52efa272",72561:"b8c15734",73107:"c8f5d06c",73379:"f8579888",73480:"f6e84694",73932:"7e71812f",73939:"1bcf9a4e",74081:"f369eae2",74583:"8fcc3b93",74780:"9ef3091a",74834:"eaf411e2",74860:"8b2e9676",75358:"4e675e5c",75412:"851da555",75702:"af81e46c",75822:"af84bb3c",75868:"73753a39",75965:"43740f34",76093:"5e402a98",76224:"4a337291",76238:"37095157",76372:"8715d2fe",76768:"ec9c773c",76973:"36cad622",77137:"2fb71ee3",77313:"7c49672d",77318:"079c2535",77757:"55c5f717",78007:"bffb3aa0",78416:"92157af7",78631:"32793266",78702:"e42a8268",79048:"0f54d2a9",79052:"2597209b",79225:"2b405a5e",79354:"c4b8e5cf",79825:"487d4fe6",79956:"b44a93bb",79983:"8fb557e5",80124:"004c385b",80549:"6569b3e2",80721:"724f52f5",81291:"b4cb428e",81445:"37c799bd",81509:"5c63e727",81657:"d230bb30",81790:"c56f6a89",81805:"c2de9efd",81849:"7c7a86cc",82075:"d74be8bf",82099:"08cc28dc",82201:"abce6fa4",82237:"787c04ec",82261:"56d05024",82439:"6e17edce",82477:"c1a9fb74",83072:"67b5280f",83287:"3bd3171e",83294:"f8a4175d",83720:"fb45b22a",83752:"ba74bb2d",83943:"a64bf43a",84219:"c9a52c69",84331:"7c89f142",84605:"dda220f4",84656:"ee4b1f89",84750:"3cb9395a",84850:"2573471f",85462:"7a8c6339",85527:"e0ce5a4d",85528:"74b87448",85556:"8952cc16",85943:"47cbb047",86012:"713ed951",86037:"3e3ca792",86057:"390bd7e1",86106:"28a6ab59",86298:"2b90b295",86324:"26795313",86886:"25742600",86887:"508da014",86992:"a48a40b9",87012:"ac5a334e",87126:"70ffb610",87402:"e915733b",87501:"be8e7c01",87510:"3ce53dbf",87760:"d2b2d2c3",88048:"fcbe8eff",88131:"b632d02c",88494:"f9f8f001",88495:"452f0be1",88790:"84a2be5e",88843:"152ff9f1",88946:"350ed3aa",89598:"9564b3ff",90049:"1996d570",90381:"70d4092c",90642:"b825e084",90780:"3a2bb595",90899:"d5f50444",90986:"a535ceed",91131:"d5558d28",91258:"15aee314",91395:"16f406a0",92113:"39247fb9",92170:"83684ee4",92205:"d16b5048",92687:"bb260a5c",92811:"bd84fa77",92896:"bdb85543",93036:"51251aca",93087:"64286f41",93203:"6fd5674c",93503:"e17b9a9f",93833:"77cb2050",93842:"99bd467c",94210:"04d4a76e",94594:"705d29b8",94642:"88355706",94725:"6d9c4ec3",94811:"37da4193",95191:"20b10def",95409:"8393e70e",95622:"2149f55b",95909:"edd5c716",96414:"301edf99",96449:"bd671d71",96815:"28aa9d74",96991:"c38bcb59",97191:"8f5992aa",97289:"ca03a055",97458:"036de6e1",97499:"c9fc3141",97785:"62f0f347",97847:"76e468d4",98042:"a7352085",98116:"bdc39478",98175:"ed0ad084",98484:"010ab20e",98498:"90e26889",98548:"290650fe",98601:"a401765d",98996:"8b6044d3",99094:"bb03c5f6",99180:"7ab5fad0",99340:"c5c0cf6c",99341:"f242f189",99591:"823e72a3",99989:"4039096e"}[e]+".js",t.miniCssF=e=>{},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),t.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},f="serverpod-docs:",t.l=(e,a,d,b)=>{if(c[e])c[e].push(a);else{var r,o;if(void 0!==d)for(var l=document.getElementsByTagName("script"),n=0;n{r.onerror=r.onload=null,clearTimeout(s);var f=c[e];if(delete c[e],r.parentNode&&r.parentNode.removeChild(r),f&&f.forEach((e=>e(d))),a)return a(d)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),o&&document.head.appendChild(r)}},t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.p="/",t.gca=function(e){return e={13798859:"98601",16116660:"32178",17896441:"18401",44145933:"43848",44463284:"62362",49849746:"98116",52398098:"3705",52813856:"82099",53998120:"53774",62037464:"69891",64027347:"95622",68401255:"20210",79840965:"3877",91633089:"7656",92466816:"39911",96331245:"68700",96523456:"24295",cb867d98:"456","3f04b2f3":"565",cdc118a8:"762","638e38ae":"1160",b685e31b:"1171","02c0cfe0":"1572","1921e4ca":"1705",bdc5a52e:"1832",b32c213b:"1923",dbf9e27d:"1970","27e827f8":"2278","0a5c01b2":"2295","3874f1bf":"2496",ac6e050c:"2730","8e7261c9":"3202","9d217e1f":"3230","05ec9480":"3249",reactPlayerVidyard:"3392",d8d6d57b:"3607",a6c3ea4a:"3783",ecb3c634:"3900","17dc776d":"4272","7a3d47b3":"4276",f149b10e:"4499",e3443ce0:"4550","976a2d80":"4574","9644aa4e":"4645",da698f4c:"5000","8baf194b":"5344","52f87500":"5352",af1c5d2b:"5441","10ad1fa6":"5623",e4a796aa:"5819","3d277f18":"5827","3e4a4cb2":"5885",c56bdfca:"6129",cce58fe7:"6157",f3467f26:"6215","61285fa7":"6231",a8c1f82d:"6236","27b43779":"6262","46b54090":"6265","2890c80c":"6308",reactPlayerKaltura:"6463","2e1ee4ed":"6486","5112ebe3":"6497","7b06977d":"6615","89b55a09":"6918","19e323d1":"7161","2db5c390":"7267","7517a61c":"7606","7da54b54":"7681",c2b45dbb:"7701","95bf5f56":"7785","2581590c":"7848","94b2bc9a":"8271","06a408fe":"8349","4c5c4c2e":"8500","82e43b76":"8734",b8787c81:"8927","1caa8cdb":"9264",daec0d60:"9524","4519f039":"9606","5589c54d":"9640","5e95c892":"9647",e64edb60:"9671","5a0a1617":"9837",fca5fdb4:"10348","0931faae":"10443","313c9eb1":"10700","5c1eff22":"10845",f7ae65ac:"10907",dc7352a7:"11139","8af032d3":"11184",f584139f:"11301","22dd74f7":"11567",ef2492df:"11607","10e267de":"11721","45dd886d":"11784",b809d820:"11934","1457ddcd":"11965","90ec8c6b":"12007",reactPlayerTwitch:"12042","3e3aae1a":"12219",b6f81eaa:"12237",d2aa311d:"12716","9de020c4":"12744","4934de22":"12766","28967b3e":"12827","076cf272":"13018",d3938b1f:"13019","5839343c":"13455",e84b4e80:"13535",ea237062:"13585","2d11a680":"13650",f4322d5c:"14080","95a5d2b2":"14237",fc8c8cde:"14715","7c8e5227":"14936",fe3f3783:"15066","83c6f999":"15246","30bd0f5b":"15447",reactPlayerDailyMotion:"16328","616631fd":"16602","710ac1c1":"16678","444a6d4e":"16869","4ed1e0ac":"16884","5596dd05":"16945","828ace52":"17021",f9bde383:"17209","45939ed5":"17289","55f37562":"17320","070c8c93":"17776",ebd05845:"17820","0841186f":"18093",reactPlayerYouTube:"18446","2fca5c64":"19049","87ab7385":"19738","986f0f98":"20033","22f51758":"20423","704545ab":"20515",e66f2658:"20681",d4fc3158:"20773","4ab30eec":"20826","82444e58":"21611","57012fa6":"21983",d3af5b3c:"22422",f5a589e7:"22451","59df87e8":"22611","141135bb":"22750","676f1bdb":"23321","5af30237":"23452",ed64c12e:"23453",f6affd6e:"23619","956829f8":"23870",ec91ff36:"24078","1d39c85d":"24158","02e41de2":"24832","5bc657fa":"25362","3edac44d":"25427","0f2c2e36":"25504","522ca66b":"25666","9a594c98":"25691","7ca2e59a":"25692",reactPlayerVimeo:"26173","431ffdb5":"26376",a4adf53f:"26499",d9107a6a:"26622","7ac69e68":"27168","65e04ea3":"27350","5cc14181":"27547","12407b36":"27646","6aee17c2":"27685","38e32826":"27740","2a36564f":"27800","965931d7":"28235","4a49065b":"29248",dec2bd4a:"29250","7607a467":"29285",dc8c27bd:"29436","1a84c7fd":"29773",a4c4bf80:"30233",b1218054:"30248","6feb7661":"30418","3141060a":"30473","1323771c":"30528","85d514f3":"30765","38e9742f":"30773","1a39ee04":"30799","4aa94ec1":"30941","626d8d5f":"31080",dfeb483e:"31092","926056c1":"31165","08d55cf7":"31267","3f80bb14":"31471","564db590":"31474","2e18ba50":"31727","9037180b":"32055",c090764b:"32096",f8fee680:"32111",df1414bb:"32141","3d150a24":"32163","5cde491b":"32406",a6311318:"32461","4e689a0b":"32492","7de3e81f":"32504",d9e7b984:"32741","7800d508":"32759","272aa200":"32944","25c6d77a":"33048","71ba2dc1":"33098","9107c65f":"33460",a32c313f:"33577",cbf3c4ec:"33992","6f56eca8":"34321","54cab4d4":"34438",cf3c245e:"34662","1b6591f7":"34726","07e708e9":"34750","6da448d1":"34935",ff5ed6ba:"34975",db7d4591:"35223",ce86e3e6:"35540",e7977816:"35563",dc4059b2:"35654",aba21aa0:"35742","1312139a":"35748","9c9052d1":"35884",a2a1c245:"36058",e7dfb2de:"36100",e8f4756d:"36132",reactPlayerPreview:"36353","3aa84b2d":"36572",bd568e77:"36731","8abbb0ee":"36886",ed772d97:"36920","3817c387":"37107",a2757506:"37296","9f1829f0":"37516",abd13aa2:"37710",b28bd8b1:"37850","441fd5fc":"37990","8ee9837e":"38031",bd6f2233:"38419",caf7731d:"38471","5e7d099e":"38527",c868bccf:"38610","036b5431":"38691","897331c0":"38717","4f0519c7":"38792",fc67ad3d:"38853",fac0eceb:"38864",c7156cf2:"39026","5f6b1733":"39056","511f9951":"39080","27cc7342":"39228",fe2e2e26:"39408",cdd4a9c6:"39431","327b0a57":"39482","50f2f9f3":"39558","9e0c2c37":"39757","6a734661":"40271",b5dcbe95:"40374","39dec3ba":"40563","33c1d41a":"40575","88a48c42":"41237","16b03284":"41507",fe76eed8:"41865","4048090e":"42083","91aed80e":"42206","5b2d7e3c":"42434","3aa0ab0a":"42800","2115313f":"42901","6ba85e75":"43174","2d16d24d":"43246",d2f6d210:"43444",a81cb65f:"43773","3bff9c7c":"43834",ad61550a:"43888","8186ecf9":"43903","5d707891":"44046",a24f0440:"44164",c0650537:"44486","69fcd2fc":"44602",c5313007:"44609","65b7208a":"44630","36fcb744":"44816","39ec0930":"44947","7c299f6a":"45072",b1394c86:"45141",ef4456b5:"45268",f29fc884:"45295","79d28454":"45474","4a55fe3a":"45655","8dfd8953":"45724",c377a04b:"45742",d58f1ee2:"46119","26ad82e9":"46268",fe522f67:"46364",aeef55f7:"46563","53d20392":"46643",ac3101e9:"46688",d0b9ca74:"46921","2bbc2deb":"46961",dcbfe205:"47120","999788b8":"47127",b9ec56c8:"47264","7f0714d1":"47341",a7b0b2b7:"47452","71f9ed0c":"47472","93dcedec":"47527",reactPlayerStreamable:"47627",b7ea99f7:"47719","8f509517":"48124","356ce494":"48134",df15bc7d:"48235",b467d32a:"48276",f6adf820:"48436","954e932f":"48552","566f49fb":"48579","0f4a5c74":"48665","510b9307":"49316",b26210db:"49406",c8139b75:"49455","0d76317c":"49658",fc8b5a5d:"49921",ac002d2b:"50041","98f4e1ec":"50404",bf519c8d:"50765","3fbaac07":"50908",fc6f07d2:"51143",db42f242:"51205","4aec9039":"51349","17f04a83":"51379","81e4ed6a":"51637",eecc43ff:"51780",e7ee6027:"52302","280af06a":"52365",e3d58533:"52529",reactPlayerMux:"52723","8bf57c9f":"52961","23975af2":"53084","9b4ab8cd":"53148","1577f7ed":"53357","4867e743":"54049","092bf57d":"54220",a271ef09:"54530","984d6493":"54582","98d962c5":"54905","49145cdf":"55011",c94e1931:"55324",b2419a00:"55388","169f3d24":"55664","46eeb6cb":"56264",d636c09f:"56282",ecaa7076:"56383",fd4b36bb:"56420","6bb5bff7":"56449","4205d879":"56532","378935ce":"56684","805a59dc":"56764",f527bef3:"57035",bb9c591b:"57356","21b7a589":"57694","1b218eaa":"57790",a7edc2bd:"57869",c134ef8a:"58022","1111b27e":"58215",afb7a97b:"58718","5144cf5e":"58800","6e29a506":"59075","76259cc3":"59221","03db70c9":"59327","857097c6":"59332",a64b2578:"59409","1e1f8072":"59599",ac9d9d69:"59600","5c6f6ba9":"59949","9eb2dfca":"60071",bd118f84:"60365","719163ad":"60759","640696ee":"60880",c10a0985:"60886","6fbf0c67":"60893","0eebd274":"60908","3cc71396":"61114","3b66921f":"61252","099a3596":"61273",d38e3f9f:"61291","3d1ae229":"61358",f28f059c:"61368",e58556b2:"61505",b2b2619a:"61730","7570de64":"61977","0893faed":"62059","0d7acd84":"62134","6d2a4d3f":"62357",bd1cffff:"62573","1d7c691c":"62921",f5fed352:"62929","68a7f29c":"62945","98c94590":"63474","06393fc1":"63538","2b67eda4":"63706","53e9dd7a":"63737",fb72d7b2:"63747",a6397568:"63960",b91fbf2a:"64558",eac16e1d:"64641","4c781063":"64651","6f44ab90":"64665","063d75bd":"65110",eb4c176e:"65142","616bfcf6":"65433",af754a1f:"65542","1ebbfca8":"65655",bafd283f:"65755","90239e6e":"65784","419cd6b8":"65866","9f8e6d57":"66225","03b2528f":"66339","3e87058f":"66811","0c695afe":"66850","3c4af576":"66868","5e253f2f":"66885","51907bd1":"66912",da54b976:"66929","9e6051e1":"67059",ae0eacdd:"67068",a7bd4aaa:"67098","726a6c22":"67217","61ff6850":"67349","0d271e1e":"67458","49fed513":"67532",reactPlayerMixcloud:"67570",e7f4b98d:"67706","9d7352c0":"67714","3cf6fa35":"68230","812775a4":"68364","24557dbc":"68391","10ea0b82":"68874","2c2832e4":"68912","62de5d73":"68915","358c2507":"68960",af68ae04:"68962","4ac2e930":"69050","3c9432f0":"69779","20d56cb7":"69816",reactPlayerSoundCloud:"69979","52994a20":"70115",c3373259:"70326",a518290b:"70843",d44e0d1c:"70934","308471de":"71247","087cd58c":"71383",a4c89d62:"71826","86a8bb6c":"71907","4fa4eafa":"71967","71319bec":"72074","83ac10ed":"72132","44b88e48":"72188",fe170cc9:"72231",adce8179:"72561","646cbece":"73107","9d779d8b":"73379",b2aeaed7:"73480","2020ed93":"73932","2ed96714":"73939",ce4dbf6d:"74081","4bfca71d":"74583",ebde045d:"74780",d26a73b8:"74834","00d14154":"74860",cb0cc620:"75358","5390e21f":"75412","307525ba":"75702","2db99065":"75822","071f33a8":"75868",b48f41b9:"75965","7d63aba8":"76093","03b3cfd2":"76224","8615e055":"76238",d802bb56:"76372","8bed5a26":"76768","78ae7ec8":"76973","42abcd4d":"77137",ee65edec:"77313","67e77328":"77318",f6f476f1:"77757","8eead450":"78007","068743c8":"78416",b7b014bf:"78631","82ea7079":"78702",a94703ab:"79048","6d717251":"79052","526e379a":"79225","4118187a":"79354","2d4af3bf":"79825","9e09f891":"79956",a7f483d1:"79983","97efa4fc":"80124",afde3230:"80549","05fa9a60":"80721",a979af25:"81291","74d42203":"81445","4ead9a95":"81509",f8189ec4:"81657","42a9b3c5":"81790","20ff9753":"81805","2e3fc0f9":"81849","056b386b":"82075","18910d94":"82201","0c6fe626":"82261",e4eafb12:"82439","2ca08277":"82477","6b5df954":"83072","7af31c45":"83287","6f549117":"83294",d5aabfc9:"83720",efe5610c:"83752","9c5d9512":"83943","51e50f95":"84219","79e0e7f1":"84331","8552f549":"84605","813cfb2f":"84656",aefdd881:"84750",bc03f89b:"84850","9270ba4f":"85462","5143312c":"85527","21e10cde":"85528","21a4ba71":"85556","05fbef88":"85943",da202fdd:"86012",eaeab60b:"86037","9fbfaf6d":"86057","1877d9d5":"86106",e2d6ba1f:"86298",f40f566d:"86324","7b33c27b":"86886",reactPlayerFacebook:"86887","3fe65583":"86992","869ae8a7":"87012",b916a1ab:"87126",c3094240:"87402","2674f827":"87501","9d36f238":"87510","0773e78b":"87760","73ca4188":"88048",c2237e68:"88131","504d78e0":"88494","801276a1":"88495","51c7df8c":"88790","45926b62":"88843","95ec96e5":"88946","4b6eee9a":"89598",cc180519:"90049","869d42f3":"90381","07006f9e":"90642","098f2604":"90780","609f97b9":"90899","6028a11d":"90986","468d57a9":"91131","227d1fc4":"91258",a0aa5253:"91395","32b8fafb":"92113","4951b372":"92170",bacd9a7c:"92205",cd64d641:"92687","8093477b":"92811",bc69c5bc:"92896",c342bcae:"93036",b0f19176:"93087",a43ad670:"93203","17e2e969":"93503","9b833276":"93833","26398b18":"93842",de4b4037:"94210",c7507218:"94594",da19ecb4:"94642",dd31e7e9:"94725",da071cb8:"94811",c75d145e:"95191","94f11012":"95409","896258c1":"95909","794a8057":"96414","19a6be06":"96449","8d02075b":"96815","4eee9c87":"96991","31b73615":"97191","233249da":"97289",reactPlayerFilePlayer:"97458","50a12feb":"97499",ac5db01d:"97785",d9df7455:"97847","819b642a":"98042","5a96e453":"98175","22302c03":"98484",ae22b856:"98498","44a83f6a":"98548","65c67349":"98996","08aab21d":"99094","32ebcda7":"99180",reactPlayerWistia:"99340",a1154d73:"99341",e0bec135:"99591","51ddac88":"99989"}[e]||e,t.p+t.u(e)},(()=>{var e={45354:0,71869:0};t.f.j=(a,d)=>{var c=t.o(e,a)?e[a]:void 0;if(0!==c)if(c)d.push(c[2]);else if(/^(45354|71869)$/.test(a))e[a]=0;else{var f=new Promise(((d,f)=>c=e[a]=[d,f]));d.push(c[2]=f);var b=t.p+t.u(a),r=new Error;t.l(b,(d=>{if(t.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var f=d&&("load"===d.type?"missing":d.type),b=d&&d.target&&d.target.src;r.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",r.name="ChunkLoadError",r.type=f,r.request=b,c[1](r)}}),"chunk-"+a,a)}},t.O.j=a=>0===e[a];var a=(a,d)=>{var c,f,b=d[0],r=d[1],o=d[2],l=0;if(b.some((a=>0!==e[a]))){for(c in r)t.o(r,c)&&(t.m[c]=r[c]);if(o)var n=o(t)}for(a&&a(d);l Capabilities | Serverpod - + diff --git a/docs/concepts/authentication/basics.html b/docs/concepts/authentication/basics.html index b199b81e8..52d6dd522 100644 --- a/docs/concepts/authentication/basics.html +++ b/docs/concepts/authentication/basics.html @@ -4,7 +4,7 @@ The basics | Serverpod - + diff --git a/docs/concepts/authentication/custom-overrides.html b/docs/concepts/authentication/custom-overrides.html index 0d34a4f91..9aaa9708e 100644 --- a/docs/concepts/authentication/custom-overrides.html +++ b/docs/concepts/authentication/custom-overrides.html @@ -4,7 +4,7 @@ Custom overrides | Serverpod - + diff --git a/docs/concepts/authentication/providers/apple.html b/docs/concepts/authentication/providers/apple.html index ae2254e46..1eafdd2c4 100644 --- a/docs/concepts/authentication/providers/apple.html +++ b/docs/concepts/authentication/providers/apple.html @@ -4,7 +4,7 @@ Apple | Serverpod - + diff --git a/docs/concepts/authentication/providers/custom-providers.html b/docs/concepts/authentication/providers/custom-providers.html index f977d1fa2..77bb641f8 100644 --- a/docs/concepts/authentication/providers/custom-providers.html +++ b/docs/concepts/authentication/providers/custom-providers.html @@ -4,7 +4,7 @@ Custom providers | Serverpod - + diff --git a/docs/concepts/authentication/providers/email.html b/docs/concepts/authentication/providers/email.html index 873da4eed..ef2076f5d 100644 --- a/docs/concepts/authentication/providers/email.html +++ b/docs/concepts/authentication/providers/email.html @@ -4,7 +4,7 @@ Email | Serverpod - + diff --git a/docs/concepts/authentication/providers/firebase.html b/docs/concepts/authentication/providers/firebase.html index 19aee6bdd..e41a05a77 100644 --- a/docs/concepts/authentication/providers/firebase.html +++ b/docs/concepts/authentication/providers/firebase.html @@ -4,7 +4,7 @@ Firebase | Serverpod - + diff --git a/docs/concepts/authentication/providers/google.html b/docs/concepts/authentication/providers/google.html index d938df531..2fd539c58 100644 --- a/docs/concepts/authentication/providers/google.html +++ b/docs/concepts/authentication/providers/google.html @@ -4,7 +4,7 @@ Google | Serverpod - + diff --git a/docs/concepts/authentication/setup.html b/docs/concepts/authentication/setup.html index ab610aa03..b4746c3f2 100644 --- a/docs/concepts/authentication/setup.html +++ b/docs/concepts/authentication/setup.html @@ -4,7 +4,7 @@ Setup | Serverpod - + diff --git a/docs/concepts/authentication/working-with-users.html b/docs/concepts/authentication/working-with-users.html index 9c4af9dbe..238acd74b 100644 --- a/docs/concepts/authentication/working-with-users.html +++ b/docs/concepts/authentication/working-with-users.html @@ -4,7 +4,7 @@ Working with users | Serverpod - + diff --git a/docs/concepts/backward-compatibility.html b/docs/concepts/backward-compatibility.html index c19577a64..eeaeefd70 100644 --- a/docs/concepts/backward-compatibility.html +++ b/docs/concepts/backward-compatibility.html @@ -4,7 +4,7 @@ Backward compatibility | Serverpod - + diff --git a/docs/concepts/caching.html b/docs/concepts/caching.html index d44a6453e..faf523204 100644 --- a/docs/concepts/caching.html +++ b/docs/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/concepts/configuration.html b/docs/concepts/configuration.html index fc5bb24c6..0544946ea 100644 --- a/docs/concepts/configuration.html +++ b/docs/concepts/configuration.html @@ -4,7 +4,7 @@ Configurations | Serverpod - + diff --git a/docs/concepts/database/connection.html b/docs/concepts/database/connection.html index 3a1a97a22..35db0f596 100644 --- a/docs/concepts/database/connection.html +++ b/docs/concepts/database/connection.html @@ -4,7 +4,7 @@ Connection | Serverpod - + diff --git a/docs/concepts/database/crud.html b/docs/concepts/database/crud.html index 647e9eaf0..960e5b216 100644 --- a/docs/concepts/database/crud.html +++ b/docs/concepts/database/crud.html @@ -4,7 +4,7 @@ CRUD | Serverpod - + diff --git a/docs/concepts/database/filter.html b/docs/concepts/database/filter.html index d3e6c163f..27d022b6c 100644 --- a/docs/concepts/database/filter.html +++ b/docs/concepts/database/filter.html @@ -4,7 +4,7 @@ Filter | Serverpod - + diff --git a/docs/concepts/database/indexing.html b/docs/concepts/database/indexing.html index 3816fc1c6..0437c0652 100644 --- a/docs/concepts/database/indexing.html +++ b/docs/concepts/database/indexing.html @@ -4,7 +4,7 @@ Indexing | Serverpod - + diff --git a/docs/concepts/database/migrations.html b/docs/concepts/database/migrations.html index 541896d10..1f518b17a 100644 --- a/docs/concepts/database/migrations.html +++ b/docs/concepts/database/migrations.html @@ -4,7 +4,7 @@ Migrations | Serverpod - + diff --git a/docs/concepts/database/models.html b/docs/concepts/database/models.html index ff5bfb1d4..b29dbc16b 100644 --- a/docs/concepts/database/models.html +++ b/docs/concepts/database/models.html @@ -4,7 +4,7 @@ Models | Serverpod - + diff --git a/docs/concepts/database/pagination.html b/docs/concepts/database/pagination.html index e4f2d6784..355fa65dd 100644 --- a/docs/concepts/database/pagination.html +++ b/docs/concepts/database/pagination.html @@ -4,7 +4,7 @@ Pagination | Serverpod - + diff --git a/docs/concepts/database/raw-access.html b/docs/concepts/database/raw-access.html index acb6944a9..a977f573a 100644 --- a/docs/concepts/database/raw-access.html +++ b/docs/concepts/database/raw-access.html @@ -4,7 +4,7 @@ Raw access | Serverpod - + diff --git a/docs/concepts/database/relation-queries.html b/docs/concepts/database/relation-queries.html index ab6a48303..a77d75ea0 100644 --- a/docs/concepts/database/relation-queries.html +++ b/docs/concepts/database/relation-queries.html @@ -4,7 +4,7 @@ Relation queries | Serverpod - + diff --git a/docs/concepts/database/relations/many-to-many.html b/docs/concepts/database/relations/many-to-many.html index 6f277381d..9a50e343d 100644 --- a/docs/concepts/database/relations/many-to-many.html +++ b/docs/concepts/database/relations/many-to-many.html @@ -4,7 +4,7 @@ Many-to-many | Serverpod - + diff --git a/docs/concepts/database/relations/modules.html b/docs/concepts/database/relations/modules.html index 5c15da0c9..7d86e082b 100644 --- a/docs/concepts/database/relations/modules.html +++ b/docs/concepts/database/relations/modules.html @@ -4,7 +4,7 @@ Relations with modules | Serverpod - + diff --git a/docs/concepts/database/relations/one-to-many.html b/docs/concepts/database/relations/one-to-many.html index c2a619062..c544dcdd4 100644 --- a/docs/concepts/database/relations/one-to-many.html +++ b/docs/concepts/database/relations/one-to-many.html @@ -4,7 +4,7 @@ One-to-many | Serverpod - + diff --git a/docs/concepts/database/relations/one-to-one.html b/docs/concepts/database/relations/one-to-one.html index 63157ce2e..f96037a93 100644 --- a/docs/concepts/database/relations/one-to-one.html +++ b/docs/concepts/database/relations/one-to-one.html @@ -4,7 +4,7 @@ One-to-one | Serverpod - + diff --git a/docs/concepts/database/relations/referential-actions.html b/docs/concepts/database/relations/referential-actions.html index 9cd837c22..28372d594 100644 --- a/docs/concepts/database/relations/referential-actions.html +++ b/docs/concepts/database/relations/referential-actions.html @@ -4,7 +4,7 @@ Referential actions | Serverpod - + diff --git a/docs/concepts/database/relations/self-relations.html b/docs/concepts/database/relations/self-relations.html index 9b5e80791..cf21434e0 100644 --- a/docs/concepts/database/relations/self-relations.html +++ b/docs/concepts/database/relations/self-relations.html @@ -4,7 +4,7 @@ Self-relations | Serverpod - + diff --git a/docs/concepts/database/sort.html b/docs/concepts/database/sort.html index c67eba2b3..3574d570e 100644 --- a/docs/concepts/database/sort.html +++ b/docs/concepts/database/sort.html @@ -4,7 +4,7 @@ Sort | Serverpod - + diff --git a/docs/concepts/database/transactions.html b/docs/concepts/database/transactions.html index 590ac99af..84bc2d28a 100644 --- a/docs/concepts/database/transactions.html +++ b/docs/concepts/database/transactions.html @@ -4,7 +4,7 @@ Transactions | Serverpod - + diff --git a/docs/concepts/exceptions.html b/docs/concepts/exceptions.html index 69de593e9..770452cd4 100644 --- a/docs/concepts/exceptions.html +++ b/docs/concepts/exceptions.html @@ -4,7 +4,7 @@ Error handling and exceptions | Serverpod - + diff --git a/docs/concepts/experimental.html b/docs/concepts/experimental.html index 87d11574a..2e2ead0dc 100644 --- a/docs/concepts/experimental.html +++ b/docs/concepts/experimental.html @@ -4,7 +4,7 @@ Experimental features | Serverpod - + diff --git a/docs/concepts/file-uploads.html b/docs/concepts/file-uploads.html index d845a0fb8..ba2e18be9 100644 --- a/docs/concepts/file-uploads.html +++ b/docs/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/concepts/health-checks.html b/docs/concepts/health-checks.html index f16237437..2c12734db 100644 --- a/docs/concepts/health-checks.html +++ b/docs/concepts/health-checks.html @@ -4,7 +4,7 @@ Health checks | Serverpod - + diff --git a/docs/concepts/logging.html b/docs/concepts/logging.html index be6edcdd1..78f851d7f 100644 --- a/docs/concepts/logging.html +++ b/docs/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/concepts/models.html b/docs/concepts/models.html index d45bf2a0d..d5566a913 100644 --- a/docs/concepts/models.html +++ b/docs/concepts/models.html @@ -4,7 +4,7 @@ Working with models | Serverpod - + diff --git a/docs/concepts/modules.html b/docs/concepts/modules.html index 25c36e536..ff5cecc06 100644 --- a/docs/concepts/modules.html +++ b/docs/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/concepts/scheduling.html b/docs/concepts/scheduling.html index 4c6f35988..00ceb01a5 100644 --- a/docs/concepts/scheduling.html +++ b/docs/concepts/scheduling.html @@ -4,7 +4,7 @@ Scheduling | Serverpod - + diff --git a/docs/concepts/serialization.html b/docs/concepts/serialization.html index 28be793ea..daabf932f 100644 --- a/docs/concepts/serialization.html +++ b/docs/concepts/serialization.html @@ -4,7 +4,7 @@ Custom serialization | Serverpod - + diff --git a/docs/concepts/sessions.html b/docs/concepts/sessions.html index 5bc6dca2a..e9f9887ee 100644 --- a/docs/concepts/sessions.html +++ b/docs/concepts/sessions.html @@ -4,7 +4,7 @@ Sessions | Serverpod - + diff --git a/docs/concepts/streams.html b/docs/concepts/streams.html index eb9fd9c67..836ffa987 100644 --- a/docs/concepts/streams.html +++ b/docs/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/concepts/testing/advanced-examples.html b/docs/concepts/testing/advanced-examples.html index 5eb676437..f0d25e8d2 100644 --- a/docs/concepts/testing/advanced-examples.html +++ b/docs/concepts/testing/advanced-examples.html @@ -4,7 +4,7 @@ Advanced examples | Serverpod - + diff --git a/docs/concepts/testing/best-practises.html b/docs/concepts/testing/best-practises.html index 5e097fb77..d4ad65a90 100644 --- a/docs/concepts/testing/best-practises.html +++ b/docs/concepts/testing/best-practises.html @@ -4,7 +4,7 @@ Best practises | Serverpod - + diff --git a/docs/concepts/testing/get-started.html b/docs/concepts/testing/get-started.html index ee96f8b63..ef7f89971 100644 --- a/docs/concepts/testing/get-started.html +++ b/docs/concepts/testing/get-started.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/concepts/testing/the-basics.html b/docs/concepts/testing/the-basics.html index 9c5c6bd0e..71429b0e1 100644 --- a/docs/concepts/testing/the-basics.html +++ b/docs/concepts/testing/the-basics.html @@ -4,7 +4,7 @@ The basics | Serverpod - + diff --git a/docs/concepts/webserver.html b/docs/concepts/webserver.html index f37840c22..9b3194a30 100644 --- a/docs/concepts/webserver.html +++ b/docs/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/concepts/working-with-endpoints.html b/docs/concepts/working-with-endpoints.html index ee34e1dcd..0978c1d47 100644 --- a/docs/concepts/working-with-endpoints.html +++ b/docs/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/contribute.html b/docs/contribute.html index 4695392f7..493b8d02d 100644 --- a/docs/contribute.html +++ b/docs/contribute.html @@ -4,7 +4,7 @@ Roadmap & contributions | Serverpod - + diff --git a/docs/deployments/deploying-to-aws.html b/docs/deployments/deploying-to-aws.html index eaa7c3dd3..c2a9dcaaa 100644 --- a/docs/deployments/deploying-to-aws.html +++ b/docs/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ AWS EC2 with Terraform | Serverpod - + diff --git a/docs/deployments/deploying-to-gce-terraform.html b/docs/deployments/deploying-to-gce-terraform.html index 784c891e6..eb3c354de 100644 --- a/docs/deployments/deploying-to-gce-terraform.html +++ b/docs/deployments/deploying-to-gce-terraform.html @@ -4,7 +4,7 @@ Google Cloud Engine with Terraform | Serverpod - + diff --git a/docs/deployments/deploying-to-gcr-console.html b/docs/deployments/deploying-to-gcr-console.html index 2b24e304c..a38e5d61a 100644 --- a/docs/deployments/deploying-to-gcr-console.html +++ b/docs/deployments/deploying-to-gcr-console.html @@ -4,7 +4,7 @@ Google Cloud Run with CGP Console | Serverpod - + diff --git a/docs/deployments/deployment-strategy.html b/docs/deployments/deployment-strategy.html index 71c968783..cd8f2e14b 100644 --- a/docs/deployments/deployment-strategy.html +++ b/docs/deployments/deployment-strategy.html @@ -4,7 +4,7 @@ Choosing deployment strategy | Serverpod - + diff --git a/docs/deployments/general.html b/docs/deployments/general.html index 049b3a553..45fc28e19 100644 --- a/docs/deployments/general.html +++ b/docs/deployments/general.html @@ -4,7 +4,7 @@ Hosting elsewhere | Serverpod - + diff --git a/docs/get-started-with-mini.html b/docs/get-started-with-mini.html index f01daeefd..cccf7e005 100644 --- a/docs/get-started-with-mini.html +++ b/docs/get-started-with-mini.html @@ -4,7 +4,7 @@ Get started with Mini | Serverpod - + diff --git a/docs/get-started.html b/docs/get-started.html index 35b3161ae..1711c3c4d 100644 --- a/docs/get-started.html +++ b/docs/get-started.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/index.html b/docs/index.html index 46ae1c91c..e3e8952dd 100644 --- a/docs/index.html +++ b/docs/index.html @@ -4,7 +4,7 @@ Installing Serverpod | Serverpod - + diff --git a/docs/next.html b/docs/next.html index 6c88000f3..d0b1447d6 100644 --- a/docs/next.html +++ b/docs/next.html @@ -4,7 +4,7 @@ Installing Serverpod | Serverpod - + diff --git a/docs/next/capabilities.html b/docs/next/capabilities.html index 4ef04003b..f45f16b03 100644 --- a/docs/next/capabilities.html +++ b/docs/next/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/next/concepts/authentication/basics.html b/docs/next/concepts/authentication/basics.html index c4a474cee..934f65e27 100644 --- a/docs/next/concepts/authentication/basics.html +++ b/docs/next/concepts/authentication/basics.html @@ -4,7 +4,7 @@ The basics | Serverpod - + diff --git a/docs/next/concepts/authentication/custom-overrides.html b/docs/next/concepts/authentication/custom-overrides.html index 8133d484a..5d165e1b6 100644 --- a/docs/next/concepts/authentication/custom-overrides.html +++ b/docs/next/concepts/authentication/custom-overrides.html @@ -4,7 +4,7 @@ Custom overrides | Serverpod - + diff --git a/docs/next/concepts/authentication/providers/apple.html b/docs/next/concepts/authentication/providers/apple.html index e0e7a05ff..cefdfe14c 100644 --- a/docs/next/concepts/authentication/providers/apple.html +++ b/docs/next/concepts/authentication/providers/apple.html @@ -4,7 +4,7 @@ Apple | Serverpod - + diff --git a/docs/next/concepts/authentication/providers/custom-providers.html b/docs/next/concepts/authentication/providers/custom-providers.html index 2e8fa3116..0428caefe 100644 --- a/docs/next/concepts/authentication/providers/custom-providers.html +++ b/docs/next/concepts/authentication/providers/custom-providers.html @@ -4,7 +4,7 @@ Custom providers | Serverpod - + diff --git a/docs/next/concepts/authentication/providers/email.html b/docs/next/concepts/authentication/providers/email.html index 8d1747cd8..50c3412b6 100644 --- a/docs/next/concepts/authentication/providers/email.html +++ b/docs/next/concepts/authentication/providers/email.html @@ -4,7 +4,7 @@ Email | Serverpod - + diff --git a/docs/next/concepts/authentication/providers/firebase.html b/docs/next/concepts/authentication/providers/firebase.html index f67fefe42..de72fad16 100644 --- a/docs/next/concepts/authentication/providers/firebase.html +++ b/docs/next/concepts/authentication/providers/firebase.html @@ -4,7 +4,7 @@ Firebase | Serverpod - + diff --git a/docs/next/concepts/authentication/providers/google.html b/docs/next/concepts/authentication/providers/google.html index 34bb97f56..2b0d4ffca 100644 --- a/docs/next/concepts/authentication/providers/google.html +++ b/docs/next/concepts/authentication/providers/google.html @@ -4,7 +4,7 @@ Google | Serverpod - + diff --git a/docs/next/concepts/authentication/setup.html b/docs/next/concepts/authentication/setup.html index dd60bb8d7..79098bcb5 100644 --- a/docs/next/concepts/authentication/setup.html +++ b/docs/next/concepts/authentication/setup.html @@ -4,7 +4,7 @@ Setup | Serverpod - + diff --git a/docs/next/concepts/authentication/working-with-users.html b/docs/next/concepts/authentication/working-with-users.html index cf89db811..94cab69e6 100644 --- a/docs/next/concepts/authentication/working-with-users.html +++ b/docs/next/concepts/authentication/working-with-users.html @@ -4,7 +4,7 @@ Working with users | Serverpod - + diff --git a/docs/next/concepts/backward-compatibility.html b/docs/next/concepts/backward-compatibility.html index d2ef298a0..6a5250ad2 100644 --- a/docs/next/concepts/backward-compatibility.html +++ b/docs/next/concepts/backward-compatibility.html @@ -4,7 +4,7 @@ Backward compatibility | Serverpod - + diff --git a/docs/next/concepts/caching.html b/docs/next/concepts/caching.html index 613dab773..06d48dfc0 100644 --- a/docs/next/concepts/caching.html +++ b/docs/next/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/next/concepts/configuration.html b/docs/next/concepts/configuration.html index 2b6ccad8e..f7650aec2 100644 --- a/docs/next/concepts/configuration.html +++ b/docs/next/concepts/configuration.html @@ -4,7 +4,7 @@ Configurations | Serverpod - + diff --git a/docs/next/concepts/database/connection.html b/docs/next/concepts/database/connection.html index 0a2402620..48eced7b0 100644 --- a/docs/next/concepts/database/connection.html +++ b/docs/next/concepts/database/connection.html @@ -4,7 +4,7 @@ Connection | Serverpod - + diff --git a/docs/next/concepts/database/crud.html b/docs/next/concepts/database/crud.html index 97ccd23b4..e88f4e06c 100644 --- a/docs/next/concepts/database/crud.html +++ b/docs/next/concepts/database/crud.html @@ -4,7 +4,7 @@ CRUD | Serverpod - + diff --git a/docs/next/concepts/database/filter.html b/docs/next/concepts/database/filter.html index f587d0dcd..6fb226d17 100644 --- a/docs/next/concepts/database/filter.html +++ b/docs/next/concepts/database/filter.html @@ -4,7 +4,7 @@ Filter | Serverpod - + diff --git a/docs/next/concepts/database/indexing.html b/docs/next/concepts/database/indexing.html index 98c396a87..e79567d57 100644 --- a/docs/next/concepts/database/indexing.html +++ b/docs/next/concepts/database/indexing.html @@ -4,7 +4,7 @@ Indexing | Serverpod - + diff --git a/docs/next/concepts/database/migrations.html b/docs/next/concepts/database/migrations.html index eadba729a..51e114b54 100644 --- a/docs/next/concepts/database/migrations.html +++ b/docs/next/concepts/database/migrations.html @@ -4,7 +4,7 @@ Migrations | Serverpod - + diff --git a/docs/next/concepts/database/models.html b/docs/next/concepts/database/models.html index 99e377e5f..fdf2f4635 100644 --- a/docs/next/concepts/database/models.html +++ b/docs/next/concepts/database/models.html @@ -4,7 +4,7 @@ Models | Serverpod - + diff --git a/docs/next/concepts/database/pagination.html b/docs/next/concepts/database/pagination.html index 290b0ed32..a91b0259b 100644 --- a/docs/next/concepts/database/pagination.html +++ b/docs/next/concepts/database/pagination.html @@ -4,7 +4,7 @@ Pagination | Serverpod - + diff --git a/docs/next/concepts/database/raw-access.html b/docs/next/concepts/database/raw-access.html index 25cb4fb36..9c35f0669 100644 --- a/docs/next/concepts/database/raw-access.html +++ b/docs/next/concepts/database/raw-access.html @@ -4,7 +4,7 @@ Raw access | Serverpod - + diff --git a/docs/next/concepts/database/relation-queries.html b/docs/next/concepts/database/relation-queries.html index 95947c021..26710dae4 100644 --- a/docs/next/concepts/database/relation-queries.html +++ b/docs/next/concepts/database/relation-queries.html @@ -4,7 +4,7 @@ Relation queries | Serverpod - + diff --git a/docs/next/concepts/database/relations/many-to-many.html b/docs/next/concepts/database/relations/many-to-many.html index 138f2775b..b6d20913a 100644 --- a/docs/next/concepts/database/relations/many-to-many.html +++ b/docs/next/concepts/database/relations/many-to-many.html @@ -4,7 +4,7 @@ Many-to-many | Serverpod - + diff --git a/docs/next/concepts/database/relations/modules.html b/docs/next/concepts/database/relations/modules.html index 7cdccde2d..0d29e59ac 100644 --- a/docs/next/concepts/database/relations/modules.html +++ b/docs/next/concepts/database/relations/modules.html @@ -4,7 +4,7 @@ Relations with modules | Serverpod - + diff --git a/docs/next/concepts/database/relations/one-to-many.html b/docs/next/concepts/database/relations/one-to-many.html index bd5ffb702..99e6eb151 100644 --- a/docs/next/concepts/database/relations/one-to-many.html +++ b/docs/next/concepts/database/relations/one-to-many.html @@ -4,7 +4,7 @@ One-to-many | Serverpod - + diff --git a/docs/next/concepts/database/relations/one-to-one.html b/docs/next/concepts/database/relations/one-to-one.html index 77fd398c3..f5c9b5253 100644 --- a/docs/next/concepts/database/relations/one-to-one.html +++ b/docs/next/concepts/database/relations/one-to-one.html @@ -4,7 +4,7 @@ One-to-one | Serverpod - + diff --git a/docs/next/concepts/database/relations/referential-actions.html b/docs/next/concepts/database/relations/referential-actions.html index c7a2ae429..b006830c4 100644 --- a/docs/next/concepts/database/relations/referential-actions.html +++ b/docs/next/concepts/database/relations/referential-actions.html @@ -4,7 +4,7 @@ Referential actions | Serverpod - + diff --git a/docs/next/concepts/database/relations/self-relations.html b/docs/next/concepts/database/relations/self-relations.html index 30965c9cb..1e2f6d789 100644 --- a/docs/next/concepts/database/relations/self-relations.html +++ b/docs/next/concepts/database/relations/self-relations.html @@ -4,7 +4,7 @@ Self-relations | Serverpod - + diff --git a/docs/next/concepts/database/sort.html b/docs/next/concepts/database/sort.html index ae2181c36..524660f78 100644 --- a/docs/next/concepts/database/sort.html +++ b/docs/next/concepts/database/sort.html @@ -4,7 +4,7 @@ Sort | Serverpod - + diff --git a/docs/next/concepts/database/transactions.html b/docs/next/concepts/database/transactions.html index b4ed96e88..eff56c87f 100644 --- a/docs/next/concepts/database/transactions.html +++ b/docs/next/concepts/database/transactions.html @@ -4,7 +4,7 @@ Transactions | Serverpod - + diff --git a/docs/next/concepts/exceptions.html b/docs/next/concepts/exceptions.html index 1da3e1afb..754fb3efc 100644 --- a/docs/next/concepts/exceptions.html +++ b/docs/next/concepts/exceptions.html @@ -4,7 +4,7 @@ Error handling and exceptions | Serverpod - + diff --git a/docs/next/concepts/experimental.html b/docs/next/concepts/experimental.html index 6c565e776..27008e1a5 100644 --- a/docs/next/concepts/experimental.html +++ b/docs/next/concepts/experimental.html @@ -4,7 +4,7 @@ Experimental features | Serverpod - + diff --git a/docs/next/concepts/file-uploads.html b/docs/next/concepts/file-uploads.html index 2d49f5c57..7a9d8e6ba 100644 --- a/docs/next/concepts/file-uploads.html +++ b/docs/next/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/next/concepts/health-checks.html b/docs/next/concepts/health-checks.html index d11d1c18f..01dae9775 100644 --- a/docs/next/concepts/health-checks.html +++ b/docs/next/concepts/health-checks.html @@ -4,7 +4,7 @@ Health checks | Serverpod - + diff --git a/docs/next/concepts/logging.html b/docs/next/concepts/logging.html index 16acc5515..e0880bb7d 100644 --- a/docs/next/concepts/logging.html +++ b/docs/next/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/next/concepts/models.html b/docs/next/concepts/models.html index 10dc9584b..df1672ea0 100644 --- a/docs/next/concepts/models.html +++ b/docs/next/concepts/models.html @@ -4,7 +4,7 @@ Working with models | Serverpod - + diff --git a/docs/next/concepts/modules.html b/docs/next/concepts/modules.html index 2f738e04e..88fbe49d8 100644 --- a/docs/next/concepts/modules.html +++ b/docs/next/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/next/concepts/scheduling.html b/docs/next/concepts/scheduling.html index 5afd48afe..89c793fd0 100644 --- a/docs/next/concepts/scheduling.html +++ b/docs/next/concepts/scheduling.html @@ -4,7 +4,7 @@ Scheduling | Serverpod - + diff --git a/docs/next/concepts/serialization.html b/docs/next/concepts/serialization.html index c3c8baf82..68a8fc51a 100644 --- a/docs/next/concepts/serialization.html +++ b/docs/next/concepts/serialization.html @@ -4,7 +4,7 @@ Custom serialization | Serverpod - + diff --git a/docs/next/concepts/sessions.html b/docs/next/concepts/sessions.html index 328998f15..a668c9ed1 100644 --- a/docs/next/concepts/sessions.html +++ b/docs/next/concepts/sessions.html @@ -4,7 +4,7 @@ Sessions | Serverpod - + diff --git a/docs/next/concepts/streams.html b/docs/next/concepts/streams.html index 37b61e2db..0070d47a6 100644 --- a/docs/next/concepts/streams.html +++ b/docs/next/concepts/streams.html @@ -4,7 +4,7 @@ Streams and messaging | Serverpod - + diff --git a/docs/next/concepts/testing/advanced-examples.html b/docs/next/concepts/testing/advanced-examples.html index 8381a368c..996b794ce 100644 --- a/docs/next/concepts/testing/advanced-examples.html +++ b/docs/next/concepts/testing/advanced-examples.html @@ -4,7 +4,7 @@ Advanced examples | Serverpod - + diff --git a/docs/next/concepts/testing/best-practises.html b/docs/next/concepts/testing/best-practises.html index 8589671a2..12229d959 100644 --- a/docs/next/concepts/testing/best-practises.html +++ b/docs/next/concepts/testing/best-practises.html @@ -4,7 +4,7 @@ Best practises | Serverpod - + diff --git a/docs/next/concepts/testing/get-started.html b/docs/next/concepts/testing/get-started.html index 96cf7b260..2ef552045 100644 --- a/docs/next/concepts/testing/get-started.html +++ b/docs/next/concepts/testing/get-started.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/next/concepts/testing/the-basics.html b/docs/next/concepts/testing/the-basics.html index f2eea853c..62e499f6e 100644 --- a/docs/next/concepts/testing/the-basics.html +++ b/docs/next/concepts/testing/the-basics.html @@ -4,7 +4,7 @@ The basics | Serverpod - + diff --git a/docs/next/concepts/webserver.html b/docs/next/concepts/webserver.html index fdff010cc..8dbb26c26 100644 --- a/docs/next/concepts/webserver.html +++ b/docs/next/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/next/concepts/working-with-endpoints.html b/docs/next/concepts/working-with-endpoints.html index 12d582468..b14ac8c4e 100644 --- a/docs/next/concepts/working-with-endpoints.html +++ b/docs/next/concepts/working-with-endpoints.html @@ -3,13 +3,13 @@ -Working with endpoints | Serverpod - +Working with endpoints | Serverpod +
Version: Next

Working with endpoints

-

Endpoints are the connection points to the server from the client. With Serverpod, you add methods to your endpoint, and your client code will be generated to make the method call. For the code to be generated, you need to place your endpoint in the endpoints directory of your server. Your endpoint should extend the Endpoint class. For methods to be generated, they need to return a typed Future, and its first argument should be a Session object. The Session object holds information about the call being made and provides access to the database.

+

Endpoints are the connection points to the server from the client. With Serverpod, you add methods to your endpoint, and your client code will be generated to make the method call. For the code to be generated, you need to place the endpoint file anywhere under the lib directory of your server. Your endpoint should extend the Endpoint class. For methods to be generated, they need to return a typed Future, and its first argument should be a Session object. The Session object holds information about the call being made and provides access to the database.

import 'package:serverpod/serverpod.dart';

class ExampleEndpoint extends Endpoint {
Future<String> hello(Session session, String name) async {
return 'Hello $name';
}
}

The above code will create an endpoint called example (the Endpoint suffix will be removed) with the single hello method. To generate the client-side code run serverpod generate in the home directory of the server.

On the client side, you can now call the method by calling:

@@ -25,6 +25,10 @@

Passing p

You can also pass List and Map as parameters, but they need to be strictly typed with one of the types mentioned above. For Map, the keys must be non-nullable strings. E.g., Map<String, int?> is valid, but Map<int, String> is not.

warning

While it's possible to pass binary data through a method call and ByteData, it is not the most efficient way to transfer large files. See our file upload interface. The size of a call is by default limited to 512 kB. It's possible to change by adding the maxRequestSize to your config files. E.g., this will double the request size to 1 MB:

maxRequestSize: 1048576

Return types

-

The return type must be a typed Future. Supported return types are the same as for parameters.

+

The return type must be a typed Future. Supported return types are the same as for parameters.

+

Ignore endpoint definition

+

If you want the code generator to ignore an endpoint definition, you can annotate the class with @ignoreEndpoint, imported from serverpod_shared/annotations.dart. This can be useful if you want to keep the definition in your codebase without generating server or client bindings for it.

+
import 'package:serverpod/serverpod.dart';
import 'package:serverpod_shared/annotations.dart';


class ExampleEndpoint extends Endpoint {
Future<String> hello(Session session, String name) async {
return 'Hello $name';
}
}
+

The above code will not generate any server or client bindings for the example endpoint.

\ No newline at end of file diff --git a/docs/next/contribute.html b/docs/next/contribute.html index 75e598707..6dcdee1ab 100644 --- a/docs/next/contribute.html +++ b/docs/next/contribute.html @@ -4,7 +4,7 @@ Roadmap & contributions | Serverpod - + diff --git a/docs/next/deployments/deploying-to-aws.html b/docs/next/deployments/deploying-to-aws.html index 0d3c6d19c..4e865109e 100644 --- a/docs/next/deployments/deploying-to-aws.html +++ b/docs/next/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ AWS EC2 with Terraform | Serverpod - + diff --git a/docs/next/deployments/deploying-to-gce-terraform.html b/docs/next/deployments/deploying-to-gce-terraform.html index 13908df0d..d043912b9 100644 --- a/docs/next/deployments/deploying-to-gce-terraform.html +++ b/docs/next/deployments/deploying-to-gce-terraform.html @@ -4,7 +4,7 @@ Google Cloud Engine with Terraform | Serverpod - + diff --git a/docs/next/deployments/deploying-to-gcr-console.html b/docs/next/deployments/deploying-to-gcr-console.html index 24ffa6ddf..2b1149cc4 100644 --- a/docs/next/deployments/deploying-to-gcr-console.html +++ b/docs/next/deployments/deploying-to-gcr-console.html @@ -4,7 +4,7 @@ Google Cloud Run with CGP Console | Serverpod - + diff --git a/docs/next/deployments/deployment-strategy.html b/docs/next/deployments/deployment-strategy.html index 7b24f48a3..22354eef6 100644 --- a/docs/next/deployments/deployment-strategy.html +++ b/docs/next/deployments/deployment-strategy.html @@ -4,7 +4,7 @@ Choosing deployment strategy | Serverpod - + diff --git a/docs/next/deployments/general.html b/docs/next/deployments/general.html index ff996e8a2..3509427ac 100644 --- a/docs/next/deployments/general.html +++ b/docs/next/deployments/general.html @@ -4,7 +4,7 @@ Hosting elsewhere | Serverpod - + diff --git a/docs/next/get-started-with-mini.html b/docs/next/get-started-with-mini.html index 4d2dd2f58..91644f0cd 100644 --- a/docs/next/get-started-with-mini.html +++ b/docs/next/get-started-with-mini.html @@ -4,7 +4,7 @@ Get started with Mini | Serverpod - + diff --git a/docs/next/get-started.html b/docs/next/get-started.html index 234856fa1..6e1d0ebf1 100644 --- a/docs/next/get-started.html +++ b/docs/next/get-started.html @@ -4,7 +4,7 @@ Get started | Serverpod - + @@ -45,7 +45,7 @@

Server overv

These are the most important directories:

  • config: These are the configuration files for your Serverpod. These include a password.yaml file with your passwords and configurations for running your server in development, staging, and production. By default, everything is correctly configured to run your server locally.
  • -
  • lib/src/endpoints: This is where you place your server's endpoints. When you add methods to an endpoint, Serverpod will generate the corresponding methods in your client.
  • +
  • lib/src/endpoints: This is the default location for your server's endpoints. When you add methods to an endpoint, Serverpod will generate the corresponding methods in your client.
  • lib/src/models: The model definition files are placed here. The files define the classes you can pass through your API and how they relate to your database. Serverpod generates serializable objects from the model definitions.

Both the endpoints and models directories contain sample files that give a quick idea of how they work. So this a great place to start learning.

diff --git a/docs/next/support.html b/docs/next/support.html index 04615cac9..f60072521 100644 --- a/docs/next/support.html +++ b/docs/next/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/next/tools/insights.html b/docs/next/tools/insights.html index 236304f00..a3b13809b 100644 --- a/docs/next/tools/insights.html +++ b/docs/next/tools/insights.html @@ -4,7 +4,7 @@ Serverpod Insights | Serverpod - + diff --git a/docs/next/tools/lsp.html b/docs/next/tools/lsp.html index 5cd9fd37a..62a2af4a5 100644 --- a/docs/next/tools/lsp.html +++ b/docs/next/tools/lsp.html @@ -4,7 +4,7 @@ LSP server | Serverpod - + diff --git a/docs/next/tutorials/authentication.html b/docs/next/tutorials/authentication.html index 7ceead51d..dbdd0ca7f 100644 --- a/docs/next/tutorials/authentication.html +++ b/docs/next/tutorials/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/next/tutorials/code-example.html b/docs/next/tutorials/code-example.html index 42a253f6c..d70f5dd29 100644 --- a/docs/next/tutorials/code-example.html +++ b/docs/next/tutorials/code-example.html @@ -4,7 +4,7 @@ Code examples | Serverpod - + diff --git a/docs/next/tutorials/first-app.html b/docs/next/tutorials/first-app.html index b23e3fbea..4e2a6f656 100644 --- a/docs/next/tutorials/first-app.html +++ b/docs/next/tutorials/first-app.html @@ -4,7 +4,7 @@ Build your first app | Serverpod - + diff --git a/docs/next/tutorials/real-time-communication.html b/docs/next/tutorials/real-time-communication.html index 3b55d5b01..c6c25a548 100644 --- a/docs/next/tutorials/real-time-communication.html +++ b/docs/next/tutorials/real-time-communication.html @@ -4,7 +4,7 @@ Real-time communication | Serverpod - + diff --git a/docs/next/upgrading/upgrade-from-mini.html b/docs/next/upgrading/upgrade-from-mini.html index 6f83d70bf..1054c3434 100644 --- a/docs/next/upgrading/upgrade-from-mini.html +++ b/docs/next/upgrading/upgrade-from-mini.html @@ -4,7 +4,7 @@ Upgrade from Mini to full | Serverpod - + diff --git a/docs/next/upgrading/upgrade-to-one-point-two.html b/docs/next/upgrading/upgrade-to-one-point-two.html index 6af891ffd..f0585569a 100644 --- a/docs/next/upgrading/upgrade-to-one-point-two.html +++ b/docs/next/upgrading/upgrade-to-one-point-two.html @@ -4,7 +4,7 @@ Upgrade to 1.2 | Serverpod - + diff --git a/docs/next/upgrading/upgrade-to-two-point-two.html b/docs/next/upgrading/upgrade-to-two-point-two.html index 33d4be488..8713c32b1 100644 --- a/docs/next/upgrading/upgrade-to-two-point-two.html +++ b/docs/next/upgrading/upgrade-to-two-point-two.html @@ -4,7 +4,7 @@ Upgrade to 2.2 | Serverpod - + diff --git a/docs/next/upgrading/upgrade-to-two.html b/docs/next/upgrading/upgrade-to-two.html index 4c8d09548..746738a9d 100644 --- a/docs/next/upgrading/upgrade-to-two.html +++ b/docs/next/upgrading/upgrade-to-two.html @@ -4,7 +4,7 @@ Upgrade to 2.0 | Serverpod - + diff --git a/docs/support.html b/docs/support.html index 3ea2de232..ff5489900 100644 --- a/docs/support.html +++ b/docs/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/tools/insights.html b/docs/tools/insights.html index 6e24f7b42..082d6f39d 100644 --- a/docs/tools/insights.html +++ b/docs/tools/insights.html @@ -4,7 +4,7 @@ Serverpod Insights | Serverpod - + diff --git a/docs/tools/lsp.html b/docs/tools/lsp.html index ab04d4411..dcbb98122 100644 --- a/docs/tools/lsp.html +++ b/docs/tools/lsp.html @@ -4,7 +4,7 @@ LSP server | Serverpod - + diff --git a/docs/tutorials/authentication.html b/docs/tutorials/authentication.html index b363983c5..a51a8ab39 100644 --- a/docs/tutorials/authentication.html +++ b/docs/tutorials/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/tutorials/code-example.html b/docs/tutorials/code-example.html index b2f7bb6dc..3c0d0f65f 100644 --- a/docs/tutorials/code-example.html +++ b/docs/tutorials/code-example.html @@ -4,7 +4,7 @@ Code examples | Serverpod - + diff --git a/docs/tutorials/first-app.html b/docs/tutorials/first-app.html index 0d0f12a86..936f0d78e 100644 --- a/docs/tutorials/first-app.html +++ b/docs/tutorials/first-app.html @@ -4,7 +4,7 @@ Build your first app | Serverpod - + diff --git a/docs/tutorials/real-time-communication.html b/docs/tutorials/real-time-communication.html index fad358bf6..10b78dd47 100644 --- a/docs/tutorials/real-time-communication.html +++ b/docs/tutorials/real-time-communication.html @@ -4,7 +4,7 @@ Real-time communication | Serverpod - + diff --git a/docs/upgrading/upgrade-from-mini.html b/docs/upgrading/upgrade-from-mini.html index 619b28730..0959bb949 100644 --- a/docs/upgrading/upgrade-from-mini.html +++ b/docs/upgrading/upgrade-from-mini.html @@ -4,7 +4,7 @@ Upgrade from Mini to full | Serverpod - + diff --git a/docs/upgrading/upgrade-to-one-point-two.html b/docs/upgrading/upgrade-to-one-point-two.html index 3a70461ba..60c7e94e6 100644 --- a/docs/upgrading/upgrade-to-one-point-two.html +++ b/docs/upgrading/upgrade-to-one-point-two.html @@ -4,7 +4,7 @@ Upgrade to 1.2 | Serverpod - + diff --git a/docs/upgrading/upgrade-to-two-point-two.html b/docs/upgrading/upgrade-to-two-point-two.html index 929317063..e653e2812 100644 --- a/docs/upgrading/upgrade-to-two-point-two.html +++ b/docs/upgrading/upgrade-to-two-point-two.html @@ -4,7 +4,7 @@ Upgrade to 2.2 | Serverpod - + diff --git a/docs/upgrading/upgrade-to-two.html b/docs/upgrading/upgrade-to-two.html index 3e0cb327f..223632929 100644 --- a/docs/upgrading/upgrade-to-two.html +++ b/docs/upgrading/upgrade-to-two.html @@ -4,7 +4,7 @@ Upgrade to 2.0 | Serverpod - +