diff --git a/docs/0.9.10.html b/docs/0.9.10.html index ba7496988..4a3e3ea1a 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 e1a3a2150..27aadfc8a 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 8f1d3422f..b37e15b40 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 43558e065..7a9cbdd67 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 46ac81026..b32731f5e 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 613bf02f6..0a8c0899a 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 261534482..acb077834 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 a4534505c..92e56ba3a 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 813f803b0..909d1e44c 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 5a93c4adc..a7f685131 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 9d0f71198..9b1f82b2c 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 47eb2c533..ea0470b77 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 d5dd0818d..50a6df18f 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 0169a48ef..933d9072c 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 4b5717f91..6ae4ed083 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 432bf6058..f2e58f7f5 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 2384ab7e3..a4737ec8a 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 387e43903..9d805f217 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 5e6653d95..a7cb2fd34 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 5a45ef4e1..7fa7d0ed9 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 7af43376e..450a0a7bd 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 30c986146..a52f3b0df 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 e4e1295c8..abf2a5663 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 5e4d0a108..7fdc4d4d9 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 a5bb5206c..2fc821024 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 c0ab81b46..d4c453735 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 2c909779d..03fc374c8 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 03839f2b3..e3f347c78 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 c64b1de7f..0186ca0b0 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 572d524e7..61a78cb42 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 f7c0318ec..ea7520a44 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 3e391279c..cd3c8125c 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 928e80138..7300db0b9 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 50e87db82..0b856ba40 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 6dc0b3e27..44583cc18 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 ab18f6e08..bbc8254d5 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 13e6a46fc..7c8e2cd0d 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 60cad0446..15762363b 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 eeffe4fc1..249cc88e3 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 467363260..d5ec7a756 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 b993e8d47..650f35fc3 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 77b473675..77b55b131 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 e830838cc..9110e75a5 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 9f19fcf22..a600ef980 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 e3892a150..90e0dcf5e 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 dcc80dee7..0e36e7c05 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 a5ccb6f3d..1372f04e9 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 204b7eb33..08255da02 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 b8da788a3..e150fe7fd 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 fbc752efc..9514b5e9a 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 4d582aea0..0fd25c928 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 95ba37c3c..e64ce7c80 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 fce740594..828487475 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 4387b47ce..9b51e3d1f 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 70581db0e..c7b268260 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 ac2dbbfea..20bd7dd11 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 204bd8410..8329956a1 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 aba0c9afc..c5e1ff147 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 6042f71b2..b6859a82b 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 e5eae85ea..5125b4c39 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 7c2e042ae..e1a80f5d0 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 e5325e6bb..6d66c67b2 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 296645100..a66b8879e 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 10ed0bcce..179b5c6b0 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 957b67352..e4ed3b340 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 2fb824b40..ecc215313 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 5f437d789..6b1181729 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 de1e74225..4b52945a4 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 af69d121d..a65c6affa 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 fd3f77e8a..0b581ee1b 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 992b487bb..56985c4d9 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 074943721..ffa6589d1 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 7a972061d..3a58105ad 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 61f246e77..1dfe86f37 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 5cfda7bcd..f6674d150 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 ff2c95548..6423c8a34 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 e40006be4..d7705a9b1 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 4be730f1a..a5245afbb 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 3937f78ff..0650e1f2f 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 a2bb2cdf6..d81597a40 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 034460ba1..c9a92f3e7 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 a7120e455..03d21ea17 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 a414e54c9..18351c88e 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 68bba4f74..db0fc6e37 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 3c8d54fd1..3e21bf50f 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 9e75f6d96..77e7f9f44 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 cbbae44c6..10b5e8dfb 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 79a14da12..2362e0568 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 bf5f38cdd..d9ec321a0 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 d45dbf813..7bb81b67f 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 efbe60e4a..48257684f 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 6a54ad7b5..f880ff943 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 db6b01041..2651fcb77 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 12e4a602f..f86f3dd5c 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 056c00b0c..e0b25177b 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 049a64dfa..91df58a88 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 4356fcde6..28b28fc60 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 5818c6349..b9cae6365 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 25b1a7ad4..8cc6bd4dc 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 0a3a551fb..5c90143ce 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 bb8ae0e60..a14c1de64 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 7ee7d0895..2cb73c742 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 fc90e02e4..3670b3f6d 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 259857f4e..431c44bd3 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 35dcef8f9..4b51b48ac 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 e52b6928f..aa2783851 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 59c99f8f4..32e04242b 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 c28c6d16c..8fee2d618 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 261fd1420..adeb6655f 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 f3053e7fa..4e4b014a8 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 881787205..a402d038a 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 6d06d3411..dc716f1da 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 8073401e1..4e9f24801 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 6bdf82e4c..704081056 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 23a516f6e..3f2af5b06 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 559c64005..661dd97a8 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 b5fcb16fc..2a428320a 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 ed76f87ff..8c60f4ff7 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 84aaef20e..682e64a7e 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 5fe01b929..9ac48a84a 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 1c9eddc6e..a242ba9a6 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 59951efa1..1d2b83579 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 b6b384352..cf44fcda1 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 5d5b20baf..855ef07ee 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 9fc5bb2cc..fbaa62f24 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 a5d1515c3..c1ad8b764 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 194123d1a..4e3beaa24 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 ac11be656..464f40d5d 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 f78e73eb8..2baeef469 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 a26a5d89d..0e5a6e116 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 85de2ad59..4a35038e9 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 de0994167..2d2f465d3 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 d4f28a358..e6a00d330 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 d3ece7fb1..8328bb8e7 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 ba738bb34..a57b8a6da 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 6a66672d5..c4698d0d4 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 bac678a2a..63849810e 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 7e273ee53..752571d60 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 495f8a3cc..8ce071949 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 1a0083e6f..eead8f27a 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 c2c8ad2b3..9d5f6b0bd 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 c2989d454..95b97f52f 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 23e5a0082..4b52ce625 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 3095758fd..e2476f1d1 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 984558ec0..208311a52 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 877f35440..1db1185e4 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 462e480ce..049906c3d 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 0d6da7afd..f72118462 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 28bf7e667..bba0d6b6e 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 7431369ff..9c4545161 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 1e07061c7..50658ec68 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 1e3095a0b..dc32ede93 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 948d82ac4..3268d3878 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 7a719d44a..a135a297c 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 b647ad016..952a8584e 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 d130a61b0..db9730695 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 5c48ecb9a..89881347d 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 f56a53c67..efcdefd8a 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 6f311272a..2d72afb94 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 61ae99853..aeca5d5d9 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 6d035d98c..afd3972b4 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 546bacdcf..32da8a37e 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 5271bbb4b..7bb51025e 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 ecf303484..25fb48d6e 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 04bdab43f..7c7c03e87 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 22e90aaee..88058302d 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 d6c9720bb..896000d0f 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 994890d94..9034562d2 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 bcfb9329d..489a4fcac 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 21152862b..6ca886be1 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 06eb8080f..82418d0db 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 97ca36499..5c3304fbf 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 74afd003f..e2e86b144 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 d40b115d2..c89b33d7a 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 67dba625e..23a81156c 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 fb2ec7e4d..960af242e 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 6f47a0159..b4b0a14af 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 025959a83..6dd2f9d70 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 5af3a3159..9fca524cb 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 2ba1393bf..d646642b2 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 8a1d6ea03..ac99284d7 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 3740f075a..c1b37ad10 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 5afa18f2f..761384b7a 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 ca99d9ba6..a60a6e4e3 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 093837413..846096a99 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 446bde541..2a1d37042 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 db44b649c..7b0204b97 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 fc4707260..f95d0b66a 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 bc622c934..0f6eb101e 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 bcf01398b..d42dbcdee 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 48e439fa6..d83e61d9e 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 72dcc7bca..6abd2ac70 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 f43d5dc55..211003fab 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 b7df8d891..452a2c3c6 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 23930a9d8..b1d5728c6 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 4bc8a85de..58bbdd61e 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 493c95e24..4a5c2d5b2 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 cca967da6..e5d1593c5 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 856c0fd5e..6f22bcf51 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 bacc65942..70df944ea 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 9dda52c4d..a7fea7ab0 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 056ea9363..a57cb6012 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 1f07fcada..9208f6214 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 834077df4..ee70c105b 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 d4aed9258..fd70770ab 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 f3b1a3f24..4f25f1a35 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 2d6ff47b3..136d12c1a 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 a95de61d6..b65c7ac46 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 6af881bfd..d8c502acc 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 548ab5ca7..e835ddbff 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 c7dbdb2af..b94a126f0 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 23144ee4f..68ab560a5 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 247e0dc2c..a4499a9ae 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 eeb680841..088b83997 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 f2a4d79da..451604f51 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 cf0b17600..64ca56e37 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 4f672b750..1ad940d7a 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 9d16cadef..797d9cace 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 d32c5fd25..5c72c2d81 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 a0c19fc9b..a5db501e8 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 6b107a6db..872f027e1 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 c61bc7142..dfbdd5a21 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 4c506e3d5..bc189a942 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 09988a6d7..20f530a95 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 c26cdb6cd..2d4ad8675 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 28a92b5c8..ea41dd728 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 d8b66f136..785d539cb 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 e412863c9..a68af0a63 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 ee15f9c49..7df81428b 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 79fc55979..98d71f9d4 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 7e2cb665e..f6e734339 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 28af64fc0..606d2fb51 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 bda6b33ad..cbfff0165 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 d5dcfe19a..d738eabb1 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 8bf202dfa..18717bfbe 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 eb536cd40..13b121b01 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 c5d26016e..4c63b465e 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 cc42e32b7..34c33f0e9 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 f5f077e1e..eaafcfcb1 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 48095f7fa..01e977673 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 52ee6018e..837d9d462 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 782fc09c5..73b26685e 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 7a88a7b62..e8097af26 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 e1f442784..d0bde4255 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 64fc13109..0a66a7c96 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 bb0b9cb39..7d0299555 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 769f72209..27b97dff6 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 115eb7ee2..2abd5a9e2 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 7a669f7a7..85149781b 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 75e45316b..c196d54d0 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 71e417452..66ed96871 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 65ff2f3ea..63a764b10 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 c332ff628..a8d30e6de 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 7ebb622e7..40f6a804b 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 b5312dfe3..aaedcc147 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 d17c15088..81a947ef2 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 fbaa8c79c..73422379c 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 62d7f2ebe..bc9f0fdf6 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 07bcdb5a3..b8e1d659b 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 8c4795b36..049257bf7 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 de5b5a071..e6c05288f 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 3e182b4aa..6b3e5af80 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 def09791d..bdeb87a3e 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 fe3f29b4d..fb0960c34 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 e4af48ac2..ddef591d7 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 82dc878b1..e5e93bd8e 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 f442b58cf..fe354d69a 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 56d0c6d1e..e1de2bf2f 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 5c68ac93d..37b5744db 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 6fa0556e7..1b0b43fa8 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 a6f715f7e..725ed57de 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 20a720ad9..f3eb98ad1 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 db4d8a131..ad6665039 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 019f5df09..6ef756f35 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 973948eaa..be38eeda3 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 7d2598d5f..642a426d2 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 de341cffa..26b535c9b 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 c94e0d252..650bddc5c 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 7344f13ad..d10c505ef 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 50c80a608..8d0c68caf 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 d5609f2e4..510473e9a 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 7a8a8f6c2..1198c9b40 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 3dd4f2a28..12216c699 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 3d0ebb7dc..ecb45b39f 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 1f4ba9ae0..4b4c88f86 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 6bb94b0a4..fd0e83942 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 797a16ba2..e87b82adc 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 7f8b1f0ea..2a4073584 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 b80dd4a6c..d21140c98 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 6b29db326..32fd7b027 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 a691a535e..74cd5ffce 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 ebeaa3810..a5c10facd 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 d9b347599..febbd1382 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 28e1fd463..b3a614827 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 3216aaa11..f85c09da3 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 8e55ff175..061816b86 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 0b252f7c3..80180162c 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 34d03c974..3e94fa93c 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 cf7fa8a25..259262719 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 04ccd80f4..295ab7317 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 4a9b449f4..73ee65894 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 3ca0fc979..c4c7b9dec 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 9adf77663..26d6ac7a5 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 d2edf4019..f10f52509 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 0d308012d..ffe953483 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 0482246a8..8cb59b7f6 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 86d0e5b15..d3a51919a 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 ac2a9dc81..53846e909 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 ccd63aa8a..b6dc1c82c 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 2e4b4b4e2..826b101ac 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 1ad025b9d..6204d6641 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 44510c2aa..1db365cb1 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 45dc29a88..0b0e141a2 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 0f2bbe984..0aba6447e 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 8fef4cf8b..3cf2613a7 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 650e0c9ca..21dd8d650 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 37556d91b..99e31d62b 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 8d5f1e3bc..1e7bb2026 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 920611e60..86c4c3c20 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 b860cbbc4..4a274c1f8 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 e4815e814..085bfb863 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 b4c29e1d4..f63e418e6 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 b0c175e69..5e1606372 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 4c1ebe540..094ba37d8 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 40d2eed7e..36ba24184 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 7a4957157..8c701d9e1 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 0505f107e..b8ff4288e 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 80befb0b9..1e93393cc 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 8812437c3..20634eaa0 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 78c4c9a0a..f14229639 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 d41507ad1..4cebdbd1e 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 329bd7db3..a228a6087 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 203caa57d..e8c03e6ef 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 e254fff50..6ced20e9d 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 6b3fd2e5c..90dcbcf19 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 80cd459b3..7e05dd16d 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 ffd627f3c..c6c79529a 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 249df1ae8..6e3045047 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 600d51ac0..e81b0256c 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 345c33c3b..c1e22a236 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 6f6a33c4f..43da6e9d2 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 99ab76dc8..ada1c4e40 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 067e61ce9..9b1445cd1 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 6407e2468..cb180b428 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 92ae4cd5e..63cdb361f 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 ed6dfca70..fd73397c5 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 836db22b5..3ab4ca39c 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 7b5fc9534..4e76b186b 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 1f98b6265..d34d919c4 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 2fdf73a58..10edf5196 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 5b138d383..8f6adff6d 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 9ea41b4c3..e29edb958 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 ad6d40a34..24dd7783f 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 597eb55ef..58d938993 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 ee1b7c0b8..a384aabb3 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 dafae7fa3..bd1eeab95 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 8b92312bc..8fd08cca8 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 6115062cd..99bb772b5 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 82b4f77d8..1c4003744 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 0793ec263..84b2c1300 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 66474ebc3..04039c6df 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 024be81e5..916ed4b14 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 8cba9ddd0..1caf7def3 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 f10b17d1f..8357a0571 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 83fb2a270..fa20f4702 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 3ee19b576..580a9de76 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 8b7c2a877..bbc24d0f0 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 a3963da19..3f34cadf2 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 e607c0300..90b7dc762 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 eae9db479..31b2103d8 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 ac46cdd34..140b666fc 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 c0ef5a296..570728872 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 810b47387..594a2eea8 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 a4a7c87ee..254ec5352 100644 --- a/docs/2.1.0/concepts/authentication/basics.html +++ b/docs/2.1.0/concepts/authentication/basics.html @@ -4,14 +4,14 @@ The basics | Serverpod - +
Skip to main content
Version: 2.1.0

The basics

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.

-

The Session object provides information about the current user. A unique userId identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the auth field of the Session object.

-
Future<void> myMethod(Session session) async {
var userId = await session.auth.authenticatedUserId;
...
}
+

The Session object provides information about the current user. A unique userId identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the authenticated asynchronous getter of the Session object.

+
Future<void> myMethod(Session session) async {
final authenticationInfo = await session.authenticated;
final userId = authenticationInfo?.userId;
...
}

You can also use the Session object to check if a user is authenticated:

Future<void> myMethod(Session session) async {
var isSignedIn = await session.isUserSignedIn;
...
}

Requiring authentication on endpoints

diff --git a/docs/2.1.0/concepts/authentication/custom-overrides.html b/docs/2.1.0/concepts/authentication/custom-overrides.html index 73fe06e9f..edd0562f5 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 1a34dd252..9148cd210 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 22844443b..0c173c3e5 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 b80eb275d..83b0294d8 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 9fa21490e..471e6f860 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 97daa305b..5b954d6ad 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 dd1eeef82..5746e6bdd 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 5914fc756..47785f799 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 49db29512..a620f2cec 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 2a0bb1adc..bc32ea246 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 98323d853..e9bb86658 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 cec17acab..3867fb67c 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 6b232c985..887f6e6b1 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 fddd613ee..771db601b 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 f53925615..cb3d766cc 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 4bfe11b23..4a9809eae 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 06ca2d84d..f480d4d8a 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 40be5c6ec..8b40d08f6 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 0da07916d..f4e3d7eed 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 21faa65e1..a43a7cf83 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 3094af143..55b0a7c42 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 5e15156b8..df9621650 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 8e8a525e7..50822879c 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 6e74c692e..c5655827d 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 38938d782..1e4f3453c 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 8121fbec9..0fe6e0e87 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 a5c5d771c..ad44671b2 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 bfe52c2a5..61e930b62 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 6c79dc242..47d5f8c81 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 50d9c2a78..25f4d4401 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 15e93f55c..45f9afc53 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 586104a03..d1264e545 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 c0ff29717..555fed7dc 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 4f37ca034..a12591e74 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 10858a3de..58dd4783a 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 7456cbdff..cf7cf7684 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/server-events.html b/docs/2.1.0/concepts/server-events.html index e36a875d5..0756ceca2 100644 --- a/docs/2.1.0/concepts/server-events.html +++ b/docs/2.1.0/concepts/server-events.html @@ -4,7 +4,7 @@ Server events | Serverpod - + diff --git a/docs/2.1.0/concepts/sessions.html b/docs/2.1.0/concepts/sessions.html index b1ef8287f..955bc4409 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 3315e57fa..e5b193ab9 100644 --- a/docs/2.1.0/concepts/streams.html +++ b/docs/2.1.0/concepts/streams.html @@ -4,7 +4,7 @@ Streams | Serverpod - + diff --git a/docs/2.1.0/concepts/webserver.html b/docs/2.1.0/concepts/webserver.html index 738b23798..9c03757b0 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 7706326d7..170023ec9 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 529b62063..f849b1ff0 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 7463af576..3d83b014d 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 2e41d6fe8..55bb364bf 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 bda9def50..86a7250b1 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 1156fd625..65189e19b 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 a3798956d..2cf7d20f3 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 f7300bf99..113fd4bf2 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 fe572de57..7c63876fe 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 7913aa35c..ffb52fa09 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 3738d23dc..4b9785e34 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 c297a4783..9d95f2069 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 90890c295..c0f0124cc 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 594386702..2f07e7f8c 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 c9a251a6a..67abe12db 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 b4513f2a3..51849e6e1 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 abe832b56..a51e42c5b 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 0fa324741..448edf699 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 dd6800b7d..1014b0e78 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/2.2.0.html b/docs/2.2.0.html index 451b229a5..25bf763c4 100644 --- a/docs/2.2.0.html +++ b/docs/2.2.0.html @@ -4,7 +4,7 @@ Installing Serverpod | Serverpod - + diff --git a/docs/2.2.0/capabilities.html b/docs/2.2.0/capabilities.html index 25e2edbde..151ea530f 100644 --- a/docs/2.2.0/capabilities.html +++ b/docs/2.2.0/capabilities.html @@ -4,7 +4,7 @@ Capabilities | Serverpod - + diff --git a/docs/2.2.0/concepts/authentication/basics.html b/docs/2.2.0/concepts/authentication/basics.html index 7959a92a1..6290e92ec 100644 --- a/docs/2.2.0/concepts/authentication/basics.html +++ b/docs/2.2.0/concepts/authentication/basics.html @@ -4,14 +4,14 @@ The basics | Serverpod - +
Version: 2.2.0

The basics

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.

-

The Session object provides information about the current user. A unique userId identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the authenticated field of the Session object.

-
Future<void> myMethod(Session session) async {
var userId = (await session.authenticated)?.userId;
...
}
+

The Session object provides information about the current user. A unique userId identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the authenticated asynchronous getter of the Session object.

+
Future<void> myMethod(Session session) async {
final authenticationInfo = await session.authenticated;
final userId = authenticationInfo?.userId;
...
}

You can also use the Session object to check if a user is authenticated:

Future<void> myMethod(Session session) async {
var isSignedIn = await session.isUserSignedIn;
...
}

Requiring authentication on endpoints

diff --git a/docs/2.2.0/concepts/authentication/custom-overrides.html b/docs/2.2.0/concepts/authentication/custom-overrides.html index 99b7faaca..9ec1e06f7 100644 --- a/docs/2.2.0/concepts/authentication/custom-overrides.html +++ b/docs/2.2.0/concepts/authentication/custom-overrides.html @@ -4,7 +4,7 @@ Custom overrides | Serverpod - + diff --git a/docs/2.2.0/concepts/authentication/providers/apple.html b/docs/2.2.0/concepts/authentication/providers/apple.html index c2d06c346..159517f3c 100644 --- a/docs/2.2.0/concepts/authentication/providers/apple.html +++ b/docs/2.2.0/concepts/authentication/providers/apple.html @@ -4,7 +4,7 @@ Apple | Serverpod - + diff --git a/docs/2.2.0/concepts/authentication/providers/custom-providers.html b/docs/2.2.0/concepts/authentication/providers/custom-providers.html index 4f6fe1429..967561568 100644 --- a/docs/2.2.0/concepts/authentication/providers/custom-providers.html +++ b/docs/2.2.0/concepts/authentication/providers/custom-providers.html @@ -4,7 +4,7 @@ Custom providers | Serverpod - + diff --git a/docs/2.2.0/concepts/authentication/providers/email.html b/docs/2.2.0/concepts/authentication/providers/email.html index 41f0279b6..58dca53ce 100644 --- a/docs/2.2.0/concepts/authentication/providers/email.html +++ b/docs/2.2.0/concepts/authentication/providers/email.html @@ -4,7 +4,7 @@ Email | Serverpod - + diff --git a/docs/2.2.0/concepts/authentication/providers/firebase.html b/docs/2.2.0/concepts/authentication/providers/firebase.html index 8d94f4801..f72fff6cd 100644 --- a/docs/2.2.0/concepts/authentication/providers/firebase.html +++ b/docs/2.2.0/concepts/authentication/providers/firebase.html @@ -4,7 +4,7 @@ Firebase | Serverpod - + diff --git a/docs/2.2.0/concepts/authentication/providers/google.html b/docs/2.2.0/concepts/authentication/providers/google.html index ef2d411ce..0e4835966 100644 --- a/docs/2.2.0/concepts/authentication/providers/google.html +++ b/docs/2.2.0/concepts/authentication/providers/google.html @@ -4,7 +4,7 @@ Google | Serverpod - + diff --git a/docs/2.2.0/concepts/authentication/setup.html b/docs/2.2.0/concepts/authentication/setup.html index 2475f0ed1..443eeffcd 100644 --- a/docs/2.2.0/concepts/authentication/setup.html +++ b/docs/2.2.0/concepts/authentication/setup.html @@ -4,7 +4,7 @@ Setup | Serverpod - + diff --git a/docs/2.2.0/concepts/authentication/working-with-users.html b/docs/2.2.0/concepts/authentication/working-with-users.html index 8450ae7dc..4cd980c25 100644 --- a/docs/2.2.0/concepts/authentication/working-with-users.html +++ b/docs/2.2.0/concepts/authentication/working-with-users.html @@ -4,7 +4,7 @@ Working with users | Serverpod - + diff --git a/docs/2.2.0/concepts/backward-compatibility.html b/docs/2.2.0/concepts/backward-compatibility.html index e23896f1b..939b66907 100644 --- a/docs/2.2.0/concepts/backward-compatibility.html +++ b/docs/2.2.0/concepts/backward-compatibility.html @@ -4,7 +4,7 @@ Backward compatibility | Serverpod - + diff --git a/docs/2.2.0/concepts/caching.html b/docs/2.2.0/concepts/caching.html index 94fdcf115..9ffd9681a 100644 --- a/docs/2.2.0/concepts/caching.html +++ b/docs/2.2.0/concepts/caching.html @@ -4,7 +4,7 @@ Caching | Serverpod - + diff --git a/docs/2.2.0/concepts/configuration.html b/docs/2.2.0/concepts/configuration.html index 42f00bb26..1fbb8a6e9 100644 --- a/docs/2.2.0/concepts/configuration.html +++ b/docs/2.2.0/concepts/configuration.html @@ -4,7 +4,7 @@ Configurations | Serverpod - + diff --git a/docs/2.2.0/concepts/database/connection.html b/docs/2.2.0/concepts/database/connection.html index 17cb5673b..3843f16e2 100644 --- a/docs/2.2.0/concepts/database/connection.html +++ b/docs/2.2.0/concepts/database/connection.html @@ -4,7 +4,7 @@ Connection | Serverpod - + diff --git a/docs/2.2.0/concepts/database/crud.html b/docs/2.2.0/concepts/database/crud.html index 433352295..604e67806 100644 --- a/docs/2.2.0/concepts/database/crud.html +++ b/docs/2.2.0/concepts/database/crud.html @@ -4,7 +4,7 @@ CRUD | Serverpod - + diff --git a/docs/2.2.0/concepts/database/filter.html b/docs/2.2.0/concepts/database/filter.html index 4033df497..70d255fff 100644 --- a/docs/2.2.0/concepts/database/filter.html +++ b/docs/2.2.0/concepts/database/filter.html @@ -4,7 +4,7 @@ Filter | Serverpod - + diff --git a/docs/2.2.0/concepts/database/indexing.html b/docs/2.2.0/concepts/database/indexing.html index 8f2615564..510c0a82d 100644 --- a/docs/2.2.0/concepts/database/indexing.html +++ b/docs/2.2.0/concepts/database/indexing.html @@ -4,7 +4,7 @@ Indexing | Serverpod - + diff --git a/docs/2.2.0/concepts/database/migrations.html b/docs/2.2.0/concepts/database/migrations.html index e8bbd7cb0..cb654f2df 100644 --- a/docs/2.2.0/concepts/database/migrations.html +++ b/docs/2.2.0/concepts/database/migrations.html @@ -4,7 +4,7 @@ Migrations | Serverpod - + diff --git a/docs/2.2.0/concepts/database/models.html b/docs/2.2.0/concepts/database/models.html index 9f3d5d132..d0f70144f 100644 --- a/docs/2.2.0/concepts/database/models.html +++ b/docs/2.2.0/concepts/database/models.html @@ -4,7 +4,7 @@ Models | Serverpod - + diff --git a/docs/2.2.0/concepts/database/pagination.html b/docs/2.2.0/concepts/database/pagination.html index 3a810c854..514285455 100644 --- a/docs/2.2.0/concepts/database/pagination.html +++ b/docs/2.2.0/concepts/database/pagination.html @@ -4,7 +4,7 @@ Pagination | Serverpod - + diff --git a/docs/2.2.0/concepts/database/raw-access.html b/docs/2.2.0/concepts/database/raw-access.html index c611eaf37..4fc27fb7e 100644 --- a/docs/2.2.0/concepts/database/raw-access.html +++ b/docs/2.2.0/concepts/database/raw-access.html @@ -4,7 +4,7 @@ Raw access | Serverpod - + diff --git a/docs/2.2.0/concepts/database/relation-queries.html b/docs/2.2.0/concepts/database/relation-queries.html index 88c5e51db..d98a83e85 100644 --- a/docs/2.2.0/concepts/database/relation-queries.html +++ b/docs/2.2.0/concepts/database/relation-queries.html @@ -4,7 +4,7 @@ Relation queries | Serverpod - + diff --git a/docs/2.2.0/concepts/database/relations/many-to-many.html b/docs/2.2.0/concepts/database/relations/many-to-many.html index fd935560e..9e3faf9fb 100644 --- a/docs/2.2.0/concepts/database/relations/many-to-many.html +++ b/docs/2.2.0/concepts/database/relations/many-to-many.html @@ -4,7 +4,7 @@ Many-to-many | Serverpod - + diff --git a/docs/2.2.0/concepts/database/relations/modules.html b/docs/2.2.0/concepts/database/relations/modules.html index 93cc0f9ef..404f309f8 100644 --- a/docs/2.2.0/concepts/database/relations/modules.html +++ b/docs/2.2.0/concepts/database/relations/modules.html @@ -4,7 +4,7 @@ Relations with modules | Serverpod - + diff --git a/docs/2.2.0/concepts/database/relations/one-to-many.html b/docs/2.2.0/concepts/database/relations/one-to-many.html index cf7cdab04..134793cf8 100644 --- a/docs/2.2.0/concepts/database/relations/one-to-many.html +++ b/docs/2.2.0/concepts/database/relations/one-to-many.html @@ -4,7 +4,7 @@ One-to-many | Serverpod - + diff --git a/docs/2.2.0/concepts/database/relations/one-to-one.html b/docs/2.2.0/concepts/database/relations/one-to-one.html index 1c4bf2419..0c236cff1 100644 --- a/docs/2.2.0/concepts/database/relations/one-to-one.html +++ b/docs/2.2.0/concepts/database/relations/one-to-one.html @@ -4,7 +4,7 @@ One-to-one | Serverpod - + diff --git a/docs/2.2.0/concepts/database/relations/referential-actions.html b/docs/2.2.0/concepts/database/relations/referential-actions.html index c426fc73e..bc7069a8c 100644 --- a/docs/2.2.0/concepts/database/relations/referential-actions.html +++ b/docs/2.2.0/concepts/database/relations/referential-actions.html @@ -4,7 +4,7 @@ Referential actions | Serverpod - + diff --git a/docs/2.2.0/concepts/database/relations/self-relations.html b/docs/2.2.0/concepts/database/relations/self-relations.html index 4679d4a12..d814b2127 100644 --- a/docs/2.2.0/concepts/database/relations/self-relations.html +++ b/docs/2.2.0/concepts/database/relations/self-relations.html @@ -4,7 +4,7 @@ Self-relations | Serverpod - + diff --git a/docs/2.2.0/concepts/database/sort.html b/docs/2.2.0/concepts/database/sort.html index 8e721a9ca..0ea645497 100644 --- a/docs/2.2.0/concepts/database/sort.html +++ b/docs/2.2.0/concepts/database/sort.html @@ -4,7 +4,7 @@ Sort | Serverpod - + diff --git a/docs/2.2.0/concepts/database/transactions.html b/docs/2.2.0/concepts/database/transactions.html index 6b2ec72dc..ffbd61be4 100644 --- a/docs/2.2.0/concepts/database/transactions.html +++ b/docs/2.2.0/concepts/database/transactions.html @@ -4,7 +4,7 @@ Transactions | Serverpod - + diff --git a/docs/2.2.0/concepts/exceptions.html b/docs/2.2.0/concepts/exceptions.html index 2c98e2784..9a2d2beda 100644 --- a/docs/2.2.0/concepts/exceptions.html +++ b/docs/2.2.0/concepts/exceptions.html @@ -4,7 +4,7 @@ Error handling and exceptions | Serverpod - + diff --git a/docs/2.2.0/concepts/experimental.html b/docs/2.2.0/concepts/experimental.html index f5e273a66..7bedcdb45 100644 --- a/docs/2.2.0/concepts/experimental.html +++ b/docs/2.2.0/concepts/experimental.html @@ -4,7 +4,7 @@ Experimental features | Serverpod - + diff --git a/docs/2.2.0/concepts/file-uploads.html b/docs/2.2.0/concepts/file-uploads.html index e118412e2..f6b3c1e0e 100644 --- a/docs/2.2.0/concepts/file-uploads.html +++ b/docs/2.2.0/concepts/file-uploads.html @@ -4,7 +4,7 @@ Uploading files | Serverpod - + diff --git a/docs/2.2.0/concepts/health-checks.html b/docs/2.2.0/concepts/health-checks.html index 0b3124840..3e0fdd8e6 100644 --- a/docs/2.2.0/concepts/health-checks.html +++ b/docs/2.2.0/concepts/health-checks.html @@ -4,7 +4,7 @@ Health checks | Serverpod - + diff --git a/docs/2.2.0/concepts/logging.html b/docs/2.2.0/concepts/logging.html index f7f0de033..145a43b31 100644 --- a/docs/2.2.0/concepts/logging.html +++ b/docs/2.2.0/concepts/logging.html @@ -4,7 +4,7 @@ Logging | Serverpod - + diff --git a/docs/2.2.0/concepts/models.html b/docs/2.2.0/concepts/models.html index 0b90c0519..f7dde6b1e 100644 --- a/docs/2.2.0/concepts/models.html +++ b/docs/2.2.0/concepts/models.html @@ -4,7 +4,7 @@ Working with models | Serverpod - + diff --git a/docs/2.2.0/concepts/modules.html b/docs/2.2.0/concepts/modules.html index e52240617..9a796da4c 100644 --- a/docs/2.2.0/concepts/modules.html +++ b/docs/2.2.0/concepts/modules.html @@ -4,7 +4,7 @@ Modules | Serverpod - + diff --git a/docs/2.2.0/concepts/scheduling.html b/docs/2.2.0/concepts/scheduling.html index 61faf3378..839d581fd 100644 --- a/docs/2.2.0/concepts/scheduling.html +++ b/docs/2.2.0/concepts/scheduling.html @@ -4,7 +4,7 @@ Scheduling | Serverpod - + diff --git a/docs/2.2.0/concepts/serialization.html b/docs/2.2.0/concepts/serialization.html index 6b3e64f0d..680320ab5 100644 --- a/docs/2.2.0/concepts/serialization.html +++ b/docs/2.2.0/concepts/serialization.html @@ -4,7 +4,7 @@ Custom serialization | Serverpod - + diff --git a/docs/2.2.0/concepts/server-events.html b/docs/2.2.0/concepts/server-events.html index 65187211e..18e1ecbf3 100644 --- a/docs/2.2.0/concepts/server-events.html +++ b/docs/2.2.0/concepts/server-events.html @@ -4,7 +4,7 @@ Server events | Serverpod - + diff --git a/docs/2.2.0/concepts/sessions.html b/docs/2.2.0/concepts/sessions.html index bb69acae4..f481538a9 100644 --- a/docs/2.2.0/concepts/sessions.html +++ b/docs/2.2.0/concepts/sessions.html @@ -4,7 +4,7 @@ Sessions | Serverpod - + diff --git a/docs/2.2.0/concepts/streams.html b/docs/2.2.0/concepts/streams.html index 53f0896df..68fb1ba85 100644 --- a/docs/2.2.0/concepts/streams.html +++ b/docs/2.2.0/concepts/streams.html @@ -4,7 +4,7 @@ Streams | Serverpod - + diff --git a/docs/2.2.0/concepts/testing/advanced-examples.html b/docs/2.2.0/concepts/testing/advanced-examples.html index 5ba34bac9..79aaac5f8 100644 --- a/docs/2.2.0/concepts/testing/advanced-examples.html +++ b/docs/2.2.0/concepts/testing/advanced-examples.html @@ -4,7 +4,7 @@ Advanced examples | Serverpod - + diff --git a/docs/2.2.0/concepts/testing/best-practises.html b/docs/2.2.0/concepts/testing/best-practises.html index 6a39242dd..9dec15d96 100644 --- a/docs/2.2.0/concepts/testing/best-practises.html +++ b/docs/2.2.0/concepts/testing/best-practises.html @@ -4,7 +4,7 @@ Best practises | Serverpod - + diff --git a/docs/2.2.0/concepts/testing/get-started.html b/docs/2.2.0/concepts/testing/get-started.html index 5391f402c..2e0503a5e 100644 --- a/docs/2.2.0/concepts/testing/get-started.html +++ b/docs/2.2.0/concepts/testing/get-started.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/2.2.0/concepts/testing/the-basics.html b/docs/2.2.0/concepts/testing/the-basics.html index 357fe7ae8..4c5501a81 100644 --- a/docs/2.2.0/concepts/testing/the-basics.html +++ b/docs/2.2.0/concepts/testing/the-basics.html @@ -4,7 +4,7 @@ The basics | Serverpod - + diff --git a/docs/2.2.0/concepts/webserver.html b/docs/2.2.0/concepts/webserver.html index dcbed57a9..90560a7e5 100644 --- a/docs/2.2.0/concepts/webserver.html +++ b/docs/2.2.0/concepts/webserver.html @@ -4,7 +4,7 @@ Web server | Serverpod - + diff --git a/docs/2.2.0/concepts/working-with-endpoints.html b/docs/2.2.0/concepts/working-with-endpoints.html index 6d17101be..4d637a3ce 100644 --- a/docs/2.2.0/concepts/working-with-endpoints.html +++ b/docs/2.2.0/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/2.2.0/contribute.html b/docs/2.2.0/contribute.html index 22656333b..c5432a33b 100644 --- a/docs/2.2.0/contribute.html +++ b/docs/2.2.0/contribute.html @@ -4,7 +4,7 @@ Roadmap & contributions | Serverpod - + diff --git a/docs/2.2.0/deployments/deploying-to-aws.html b/docs/2.2.0/deployments/deploying-to-aws.html index 6ff13c8b5..a08261c4a 100644 --- a/docs/2.2.0/deployments/deploying-to-aws.html +++ b/docs/2.2.0/deployments/deploying-to-aws.html @@ -4,7 +4,7 @@ AWS EC2 with Terraform | Serverpod - + diff --git a/docs/2.2.0/deployments/deploying-to-gce-terraform.html b/docs/2.2.0/deployments/deploying-to-gce-terraform.html index f9ca9848f..e300c8166 100644 --- a/docs/2.2.0/deployments/deploying-to-gce-terraform.html +++ b/docs/2.2.0/deployments/deploying-to-gce-terraform.html @@ -4,7 +4,7 @@ Google Cloud Engine with Terraform | Serverpod - + diff --git a/docs/2.2.0/deployments/deploying-to-gcr-console.html b/docs/2.2.0/deployments/deploying-to-gcr-console.html index 36bf55211..20f60de6c 100644 --- a/docs/2.2.0/deployments/deploying-to-gcr-console.html +++ b/docs/2.2.0/deployments/deploying-to-gcr-console.html @@ -4,7 +4,7 @@ Google Cloud Run with CGP Console | Serverpod - + diff --git a/docs/2.2.0/deployments/deployment-strategy.html b/docs/2.2.0/deployments/deployment-strategy.html index e574516bc..af16f741c 100644 --- a/docs/2.2.0/deployments/deployment-strategy.html +++ b/docs/2.2.0/deployments/deployment-strategy.html @@ -4,7 +4,7 @@ Choosing deployment strategy | Serverpod - + diff --git a/docs/2.2.0/deployments/general.html b/docs/2.2.0/deployments/general.html index 7c4a1f54c..90fe158d2 100644 --- a/docs/2.2.0/deployments/general.html +++ b/docs/2.2.0/deployments/general.html @@ -4,7 +4,7 @@ Hosting elsewhere | Serverpod - + diff --git a/docs/2.2.0/get-started-with-mini.html b/docs/2.2.0/get-started-with-mini.html index a69f058ef..86aa4b848 100644 --- a/docs/2.2.0/get-started-with-mini.html +++ b/docs/2.2.0/get-started-with-mini.html @@ -4,7 +4,7 @@ Get started with Mini | Serverpod - + diff --git a/docs/2.2.0/get-started.html b/docs/2.2.0/get-started.html index f1e820774..c8199de12 100644 --- a/docs/2.2.0/get-started.html +++ b/docs/2.2.0/get-started.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/2.2.0/support.html b/docs/2.2.0/support.html index 3f438b9f3..65873aa6c 100644 --- a/docs/2.2.0/support.html +++ b/docs/2.2.0/support.html @@ -4,7 +4,7 @@ Support & community | Serverpod - + diff --git a/docs/2.2.0/tools/insights.html b/docs/2.2.0/tools/insights.html index d4b7a41f2..7c2355df4 100644 --- a/docs/2.2.0/tools/insights.html +++ b/docs/2.2.0/tools/insights.html @@ -4,7 +4,7 @@ Serverpod Insights | Serverpod - + diff --git a/docs/2.2.0/tools/lsp.html b/docs/2.2.0/tools/lsp.html index 7e725f924..af686575d 100644 --- a/docs/2.2.0/tools/lsp.html +++ b/docs/2.2.0/tools/lsp.html @@ -4,7 +4,7 @@ LSP server | Serverpod - + diff --git a/docs/2.2.0/tutorials/authentication.html b/docs/2.2.0/tutorials/authentication.html index e5410c4bd..02af9521e 100644 --- a/docs/2.2.0/tutorials/authentication.html +++ b/docs/2.2.0/tutorials/authentication.html @@ -4,7 +4,7 @@ Authentication | Serverpod - + diff --git a/docs/2.2.0/tutorials/code-example.html b/docs/2.2.0/tutorials/code-example.html index 827ce8656..d5ccb5492 100644 --- a/docs/2.2.0/tutorials/code-example.html +++ b/docs/2.2.0/tutorials/code-example.html @@ -4,7 +4,7 @@ Code examples | Serverpod - + diff --git a/docs/2.2.0/tutorials/first-app.html b/docs/2.2.0/tutorials/first-app.html index 28278e544..38d264e42 100644 --- a/docs/2.2.0/tutorials/first-app.html +++ b/docs/2.2.0/tutorials/first-app.html @@ -4,7 +4,7 @@ Build your first app | Serverpod - + diff --git a/docs/2.2.0/tutorials/real-time-communication.html b/docs/2.2.0/tutorials/real-time-communication.html index c248d4f3a..7163e6a83 100644 --- a/docs/2.2.0/tutorials/real-time-communication.html +++ b/docs/2.2.0/tutorials/real-time-communication.html @@ -4,7 +4,7 @@ Real-time communication | Serverpod - + diff --git a/docs/2.2.0/upgrading/upgrade-from-mini.html b/docs/2.2.0/upgrading/upgrade-from-mini.html index da1415156..6ab17dc7d 100644 --- a/docs/2.2.0/upgrading/upgrade-from-mini.html +++ b/docs/2.2.0/upgrading/upgrade-from-mini.html @@ -4,7 +4,7 @@ Upgrade from Mini to full | Serverpod - + diff --git a/docs/2.2.0/upgrading/upgrade-to-one-point-two.html b/docs/2.2.0/upgrading/upgrade-to-one-point-two.html index 65c5add64..dd193e395 100644 --- a/docs/2.2.0/upgrading/upgrade-to-one-point-two.html +++ b/docs/2.2.0/upgrading/upgrade-to-one-point-two.html @@ -4,7 +4,7 @@ Upgrade to 1.2 | Serverpod - + diff --git a/docs/2.2.0/upgrading/upgrade-to-two-point-two.html b/docs/2.2.0/upgrading/upgrade-to-two-point-two.html index 2dea9a48e..8ee2a183c 100644 --- a/docs/2.2.0/upgrading/upgrade-to-two-point-two.html +++ b/docs/2.2.0/upgrading/upgrade-to-two-point-two.html @@ -4,7 +4,7 @@ Upgrade to 2.2 | Serverpod - + diff --git a/docs/2.2.0/upgrading/upgrade-to-two.html b/docs/2.2.0/upgrading/upgrade-to-two.html index 5b5eab94c..787bbf9f5 100644 --- a/docs/2.2.0/upgrading/upgrade-to-two.html +++ b/docs/2.2.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 731abe5c2..58a19bcd8 100644 --- a/docs/404.html +++ b/docs/404.html @@ -4,7 +4,7 @@ Serverpod - + diff --git a/docs/assets/js/2890c80c.2d156f2f.js b/docs/assets/js/2890c80c.2d156f2f.js new file mode 100644 index 000000000..d634524ac --- /dev/null +++ b/docs/assets/js/2890c80c.2d156f2f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[6308],{85986:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"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.","source":"@site/versioned_docs/version-2.1.0/06-concepts/11-authentication/02-basics.md","sourceDirName":"06-concepts/11-authentication","slug":"/concepts/authentication/basics","permalink":"/2.1.0/concepts/authentication/basics","draft":false,"unlisted":false,"editUrl":"https://github.com/serverpod/serverpod_docs/tree/main/versioned_docs/version-2.1.0/06-concepts/11-authentication/02-basics.md","tags":[],"version":"2.1.0","sidebarPosition":2,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Setup","permalink":"/2.1.0/concepts/authentication/setup"},"next":{"title":"Working with users","permalink":"/2.1.0/concepts/authentication/working-with-users"}}');var o=s(74848),i=s(28453);const r={},c="The basics",a={},d=[{value:"Requiring authentication on endpoints",id:"requiring-authentication-on-endpoints",level:2},{value:"Authorization on endpoints",id:"authorization-on-endpoints",level:2},{value:"Managing scopes",id:"managing-scopes",level:3},{value:"Custom scopes",id:"custom-scopes",level:3}];function u(e){const n={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"the-basics",children:"The basics"})}),"\n",(0,o.jsxs)(n.p,{children:["Serverpod automatically checks if the user is logged in and if the user has the right privileges to access the endpoint. When using the ",(0,o.jsx)(n.code,{children:"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."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"Session"})," object provides information about the current user. A unique ",(0,o.jsx)(n.code,{children:"userId"})," identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the ",(0,o.jsx)(n.code,{children:"authenticated"})," asynchronous getter of the ",(0,o.jsx)(n.code,{children:"Session"})," object."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n final authenticationInfo = await session.authenticated;\n final userId = authenticationInfo?.userId;\n ...\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"You can also use the Session object to check if a user is authenticated:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n var isSignedIn = await session.isUserSignedIn;\n ...\n}\n"})}),"\n",(0,o.jsx)(n.h2,{id:"requiring-authentication-on-endpoints",children:"Requiring authentication on endpoints"}),"\n",(0,o.jsxs)(n.p,{children:["It is common to want to restrict access to an endpoint to users that have signed in. You can do this by overriding the ",(0,o.jsx)(n.code,{children:"requireLogin"})," property of the ",(0,o.jsx)(n.code,{children:"Endpoint"})," class."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,o.jsx)(n.h2,{id:"authorization-on-endpoints",children:"Authorization on endpoints"}),"\n",(0,o.jsxs)(n.p,{children:["Serverpod also supports scopes for restricting access. One or more scopes can be associated with a user. For instance, this can be used to give admin access to a specific user. To restrict access for an endpoint, override the ",(0,o.jsx)(n.code,{children:"requiredScopes"})," property. Note that setting ",(0,o.jsx)(n.code,{children:"requiredScopes"})," implicitly sets ",(0,o.jsx)(n.code,{children:"requireLogin"})," to true."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {Scope.admin};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"managing-scopes",children:"Managing scopes"}),"\n",(0,o.jsxs)(n.p,{children:["New users are created without any scopes. To update a user's scopes, use the ",(0,o.jsx)(n.code,{children:"Users"})," class's ",(0,o.jsx)(n.code,{children:"updateUserScopes"})," method (requires the ",(0,o.jsx)(n.code,{children:"serverpod_auth_server"})," package). This method replaces all previously stored scopes."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"await Users.updateUserScopes(session, userId, {Scope.admin});\n"})}),"\n",(0,o.jsx)(n.h3,{id:"custom-scopes",children:"Custom scopes"}),"\n",(0,o.jsx)(n.p,{children:"You may need more granular access control for specific endpoints. To create custom scopes, extend the Scope class, as shown below:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"class CustomScope extends Scope {\n const CustomScope(String name) : super(name);\n\n static const userRead = CustomScope('userRead');\n static const userWrite = CustomScope('userWrite');\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"Then use the custom scopes like this:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {CustomScope.userRead, CustomScope.userWrite};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"caution",children:(0,o.jsx)(n.p,{children:"Keep in mind that a scope is merely an arbitrary string and can be written in any format you prefer. However, it's crucial to use unique strings for each scope, as duplicated scope strings may lead to unintentional data exposure."})})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>c});var t=s(96540);const o={},i=t.createContext(o);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/2890c80c.5f3e0e5b.js b/docs/assets/js/2890c80c.5f3e0e5b.js deleted file mode 100644 index 4078e586d..000000000 --- a/docs/assets/js/2890c80c.5f3e0e5b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[6308],{85986:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"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.","source":"@site/versioned_docs/version-2.1.0/06-concepts/11-authentication/02-basics.md","sourceDirName":"06-concepts/11-authentication","slug":"/concepts/authentication/basics","permalink":"/2.1.0/concepts/authentication/basics","draft":false,"unlisted":false,"editUrl":"https://github.com/serverpod/serverpod_docs/tree/main/versioned_docs/version-2.1.0/06-concepts/11-authentication/02-basics.md","tags":[],"version":"2.1.0","sidebarPosition":2,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Setup","permalink":"/2.1.0/concepts/authentication/setup"},"next":{"title":"Working with users","permalink":"/2.1.0/concepts/authentication/working-with-users"}}');var o=s(74848),i=s(28453);const r={},c="The basics",a={},d=[{value:"Requiring authentication on endpoints",id:"requiring-authentication-on-endpoints",level:2},{value:"Authorization on endpoints",id:"authorization-on-endpoints",level:2},{value:"Managing scopes",id:"managing-scopes",level:3},{value:"Custom scopes",id:"custom-scopes",level:3}];function u(e){const n={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"the-basics",children:"The basics"})}),"\n",(0,o.jsxs)(n.p,{children:["Serverpod automatically checks if the user is logged in and if the user has the right privileges to access the endpoint. When using the ",(0,o.jsx)(n.code,{children:"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."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"Session"})," object provides information about the current user. A unique ",(0,o.jsx)(n.code,{children:"userId"})," identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the ",(0,o.jsx)(n.code,{children:"auth"})," field of the ",(0,o.jsx)(n.code,{children:"Session"})," object."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n var userId = await session.auth.authenticatedUserId;\n ...\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"You can also use the Session object to check if a user is authenticated:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n var isSignedIn = await session.isUserSignedIn;\n ...\n}\n"})}),"\n",(0,o.jsx)(n.h2,{id:"requiring-authentication-on-endpoints",children:"Requiring authentication on endpoints"}),"\n",(0,o.jsxs)(n.p,{children:["It is common to want to restrict access to an endpoint to users that have signed in. You can do this by overriding the ",(0,o.jsx)(n.code,{children:"requireLogin"})," property of the ",(0,o.jsx)(n.code,{children:"Endpoint"})," class."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,o.jsx)(n.h2,{id:"authorization-on-endpoints",children:"Authorization on endpoints"}),"\n",(0,o.jsxs)(n.p,{children:["Serverpod also supports scopes for restricting access. One or more scopes can be associated with a user. For instance, this can be used to give admin access to a specific user. To restrict access for an endpoint, override the ",(0,o.jsx)(n.code,{children:"requiredScopes"})," property. Note that setting ",(0,o.jsx)(n.code,{children:"requiredScopes"})," implicitly sets ",(0,o.jsx)(n.code,{children:"requireLogin"})," to true."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {Scope.admin};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"managing-scopes",children:"Managing scopes"}),"\n",(0,o.jsxs)(n.p,{children:["New users are created without any scopes. To update a user's scopes, use the ",(0,o.jsx)(n.code,{children:"Users"})," class's ",(0,o.jsx)(n.code,{children:"updateUserScopes"})," method (requires the ",(0,o.jsx)(n.code,{children:"serverpod_auth_server"})," package). This method replaces all previously stored scopes."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"await Users.updateUserScopes(session, userId, {Scope.admin});\n"})}),"\n",(0,o.jsx)(n.h3,{id:"custom-scopes",children:"Custom scopes"}),"\n",(0,o.jsx)(n.p,{children:"You may need more granular access control for specific endpoints. To create custom scopes, extend the Scope class, as shown below:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"class CustomScope extends Scope {\n const CustomScope(String name) : super(name);\n\n static const userRead = CustomScope('userRead');\n static const userWrite = CustomScope('userWrite');\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"Then use the custom scopes like this:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {CustomScope.userRead, CustomScope.userWrite};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"caution",children:(0,o.jsx)(n.p,{children:"Keep in mind that a scope is merely an arbitrary string and can be written in any format you prefer. However, it's crucial to use unique strings for each scope, as duplicated scope strings may lead to unintentional data exposure."})})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>c});var t=s(96540);const o={},i=t.createContext(o);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/2a36564f.5b900962.js b/docs/assets/js/2a36564f.c67865e5.js similarity index 52% rename from docs/assets/js/2a36564f.5b900962.js rename to docs/assets/js/2a36564f.c67865e5.js index a6230eb0d..06220cb11 100644 --- a/docs/assets/js/2a36564f.5b900962.js +++ b/docs/assets/js/2a36564f.c67865e5.js @@ -1 +1 @@ -"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[27800],{9086:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"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.","source":"@site/versioned_docs/version-2.2.0/06-concepts/11-authentication/02-basics.md","sourceDirName":"06-concepts/11-authentication","slug":"/concepts/authentication/basics","permalink":"/2.2.0/concepts/authentication/basics","draft":false,"unlisted":false,"editUrl":"https://github.com/serverpod/serverpod_docs/tree/main/versioned_docs/version-2.2.0/06-concepts/11-authentication/02-basics.md","tags":[],"version":"2.2.0","sidebarPosition":2,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Setup","permalink":"/2.2.0/concepts/authentication/setup"},"next":{"title":"Working with users","permalink":"/2.2.0/concepts/authentication/working-with-users"}}');var t=s(74848),o=s(28453);const r={},a="The basics",c={},d=[{value:"Requiring authentication on endpoints",id:"requiring-authentication-on-endpoints",level:2},{value:"Authorization on endpoints",id:"authorization-on-endpoints",level:2},{value:"Managing scopes",id:"managing-scopes",level:3},{value:"Custom scopes",id:"custom-scopes",level:3},{value:"User authentication",id:"user-authentication",level:2},{value:"Sign out device",id:"sign-out-device",level:4},{value:"Sign out all devices",id:"sign-out-all-devices",level:4}];function u(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",mdxAdmonitionTitle:"mdxAdmonitionTitle",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"the-basics",children:"The basics"})}),"\n",(0,t.jsxs)(n.p,{children:["Serverpod automatically checks if the user is logged in and if the user has the right privileges to access the endpoint. When using the ",(0,t.jsx)(n.code,{children:"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."]}),"\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.code,{children:"Session"})," object provides information about the current user. A unique ",(0,t.jsx)(n.code,{children:"userId"})," identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the ",(0,t.jsx)(n.code,{children:"authenticated"})," field of the ",(0,t.jsx)(n.code,{children:"Session"})," object."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n var userId = (await session.authenticated)?.userId;\n ...\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"You can also use the Session object to check if a user is authenticated:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n var isSignedIn = await session.isUserSignedIn;\n ...\n}\n"})}),"\n",(0,t.jsx)(n.h2,{id:"requiring-authentication-on-endpoints",children:"Requiring authentication on endpoints"}),"\n",(0,t.jsxs)(n.p,{children:["It is common to want to restrict access to an endpoint to users that have signed in. You can do this by overriding the ",(0,t.jsx)(n.code,{children:"requireLogin"})," property of the ",(0,t.jsx)(n.code,{children:"Endpoint"})," class."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,t.jsx)(n.h2,{id:"authorization-on-endpoints",children:"Authorization on endpoints"}),"\n",(0,t.jsxs)(n.p,{children:["Serverpod also supports scopes for restricting access. One or more scopes can be associated with a user. For instance, this can be used to give admin access to a specific user. To restrict access for an endpoint, override the ",(0,t.jsx)(n.code,{children:"requiredScopes"})," property. Note that setting ",(0,t.jsx)(n.code,{children:"requiredScopes"})," implicitly sets ",(0,t.jsx)(n.code,{children:"requireLogin"})," to true."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {Scope.admin};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,t.jsx)(n.h3,{id:"managing-scopes",children:"Managing scopes"}),"\n",(0,t.jsxs)(n.p,{children:["New users are created without any scopes. To update a user's scopes, use the ",(0,t.jsx)(n.code,{children:"Users"})," class's ",(0,t.jsx)(n.code,{children:"updateUserScopes"})," method (requires the ",(0,t.jsx)(n.code,{children:"serverpod_auth_server"})," package). This method replaces all previously stored scopes."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"await Users.updateUserScopes(session, userId, {Scope.admin});\n"})}),"\n",(0,t.jsx)(n.h3,{id:"custom-scopes",children:"Custom scopes"}),"\n",(0,t.jsx)(n.p,{children:"You may need more granular access control for specific endpoints. To create custom scopes, extend the Scope class, as shown below:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"class CustomScope extends Scope {\n const CustomScope(String name) : super(name);\n\n static const userRead = CustomScope('userRead');\n static const userWrite = CustomScope('userWrite');\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"Then use the custom scopes like this:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {CustomScope.userRead, CustomScope.userWrite};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,t.jsx)(n.admonition,{type:"caution",children:(0,t.jsx)(n.p,{children:"Keep in mind that a scope is merely an arbitrary string and can be written in any format you prefer. However, it's crucial to use unique strings for each scope, as duplicated scope strings may lead to unintentional data exposure."})}),"\n",(0,t.jsx)(n.h2,{id:"user-authentication",children:"User authentication"}),"\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.code,{children:"StatusEndpoint"})," class includes methods for handling user sign-outs, whether from a single device or all devices."]}),"\n",(0,t.jsxs)(n.admonition,{type:"info",children:[(0,t.jsxs)(n.p,{children:["In addition to the ",(0,t.jsx)(n.code,{children:"StatusEndpoint"})," methods, Serverpod provides more comprehensive tools for managing user authentication and sign-out processes across multiple devices."]}),(0,t.jsxs)(n.p,{children:["For more detailed information on managing and revoking authentication keys, please refer to the ",(0,t.jsx)(n.a,{href:"providers/custom-providers#revoking-authentication-keys",children:"Revoking authentication keys"})," section."]})]}),"\n",(0,t.jsx)(n.h4,{id:"sign-out-device",children:"Sign out device"}),"\n",(0,t.jsx)(n.p,{children:"To sign out a single device:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOutDevice();\n"})}),"\n",(0,t.jsx)(n.p,{children:"This status endpoint method obtains the authentication key from session's authentication information, then revokes that key."}),"\n",(0,t.jsx)(n.h4,{id:"sign-out-all-devices",children:"Sign out all devices"}),"\n",(0,t.jsx)(n.p,{children:"To sign the user out across all devices:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOutAllDevices();\n"})}),"\n",(0,t.jsx)(n.p,{children:"This status endpoint retrieves the user ID from session's authentication information, then revokes all authentication keys related to that user."}),"\n",(0,t.jsxs)(n.admonition,{type:"info",children:[(0,t.jsx)(n.mdxAdmonitionTitle,{}),(0,t.jsx)("span",{id:"deprecated-signout-endpoint"}),(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.code,{children:"signOut"})," status endpoint is deprecated. Use ",(0,t.jsx)(n.code,{children:"signOutDevice"})," or ",(0,t.jsx)(n.code,{children:"signOutAllDevices"})," instead."]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOut(); // Deprecated\n"})}),(0,t.jsxs)(n.p,{children:["The behavior of ",(0,t.jsx)(n.code,{children:"signOut"})," is controlled by ",(0,t.jsx)(n.code,{children:"legacyUserSignOutBehavior"}),", which you can adjust in the ",(0,t.jsx)(n.a,{href:"setup#configure-authentication",children:"configure authentication"})," section. This allows you to control the signout behaviour of already shipped clients."]})]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>a});var i=s(96540);const t={},o=i.createContext(t);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[27800],{9086:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"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.","source":"@site/versioned_docs/version-2.2.0/06-concepts/11-authentication/02-basics.md","sourceDirName":"06-concepts/11-authentication","slug":"/concepts/authentication/basics","permalink":"/2.2.0/concepts/authentication/basics","draft":false,"unlisted":false,"editUrl":"https://github.com/serverpod/serverpod_docs/tree/main/versioned_docs/version-2.2.0/06-concepts/11-authentication/02-basics.md","tags":[],"version":"2.2.0","sidebarPosition":2,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Setup","permalink":"/2.2.0/concepts/authentication/setup"},"next":{"title":"Working with users","permalink":"/2.2.0/concepts/authentication/working-with-users"}}');var i=s(74848),o=s(28453);const r={},a="The basics",c={},d=[{value:"Requiring authentication on endpoints",id:"requiring-authentication-on-endpoints",level:2},{value:"Authorization on endpoints",id:"authorization-on-endpoints",level:2},{value:"Managing scopes",id:"managing-scopes",level:3},{value:"Custom scopes",id:"custom-scopes",level:3},{value:"User authentication",id:"user-authentication",level:2},{value:"Sign out device",id:"sign-out-device",level:4},{value:"Sign out all devices",id:"sign-out-all-devices",level:4}];function u(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",mdxAdmonitionTitle:"mdxAdmonitionTitle",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"the-basics",children:"The basics"})}),"\n",(0,i.jsxs)(n.p,{children:["Serverpod automatically checks if the user is logged in and if the user has the right privileges to access the endpoint. When using the ",(0,i.jsx)(n.code,{children:"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."]}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"Session"})," object provides information about the current user. A unique ",(0,i.jsx)(n.code,{children:"userId"})," identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the ",(0,i.jsx)(n.code,{children:"authenticated"})," asynchronous getter of the ",(0,i.jsx)(n.code,{children:"Session"})," object."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n final authenticationInfo = await session.authenticated;\n final userId = authenticationInfo?.userId;\n ...\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"You can also use the Session object to check if a user is authenticated:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n var isSignedIn = await session.isUserSignedIn;\n ...\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"requiring-authentication-on-endpoints",children:"Requiring authentication on endpoints"}),"\n",(0,i.jsxs)(n.p,{children:["It is common to want to restrict access to an endpoint to users that have signed in. You can do this by overriding the ",(0,i.jsx)(n.code,{children:"requireLogin"})," property of the ",(0,i.jsx)(n.code,{children:"Endpoint"})," class."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"authorization-on-endpoints",children:"Authorization on endpoints"}),"\n",(0,i.jsxs)(n.p,{children:["Serverpod also supports scopes for restricting access. One or more scopes can be associated with a user. For instance, this can be used to give admin access to a specific user. To restrict access for an endpoint, override the ",(0,i.jsx)(n.code,{children:"requiredScopes"})," property. Note that setting ",(0,i.jsx)(n.code,{children:"requiredScopes"})," implicitly sets ",(0,i.jsx)(n.code,{children:"requireLogin"})," to true."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {Scope.admin};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"managing-scopes",children:"Managing scopes"}),"\n",(0,i.jsxs)(n.p,{children:["New users are created without any scopes. To update a user's scopes, use the ",(0,i.jsx)(n.code,{children:"Users"})," class's ",(0,i.jsx)(n.code,{children:"updateUserScopes"})," method (requires the ",(0,i.jsx)(n.code,{children:"serverpod_auth_server"})," package). This method replaces all previously stored scopes."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await Users.updateUserScopes(session, userId, {Scope.admin});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"custom-scopes",children:"Custom scopes"}),"\n",(0,i.jsx)(n.p,{children:"You may need more granular access control for specific endpoints. To create custom scopes, extend the Scope class, as shown below:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class CustomScope extends Scope {\n const CustomScope(String name) : super(name);\n\n static const userRead = CustomScope('userRead');\n static const userWrite = CustomScope('userWrite');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Then use the custom scopes like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {CustomScope.userRead, CustomScope.userWrite};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"caution",children:(0,i.jsx)(n.p,{children:"Keep in mind that a scope is merely an arbitrary string and can be written in any format you prefer. However, it's crucial to use unique strings for each scope, as duplicated scope strings may lead to unintentional data exposure."})}),"\n",(0,i.jsx)(n.h2,{id:"user-authentication",children:"User authentication"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"StatusEndpoint"})," class includes methods for handling user sign-outs, whether from a single device or all devices."]}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsxs)(n.p,{children:["In addition to the ",(0,i.jsx)(n.code,{children:"StatusEndpoint"})," methods, Serverpod provides more comprehensive tools for managing user authentication and sign-out processes across multiple devices."]}),(0,i.jsxs)(n.p,{children:["For more detailed information on managing and revoking authentication keys, please refer to the ",(0,i.jsx)(n.a,{href:"providers/custom-providers#revoking-authentication-keys",children:"Revoking authentication keys"})," section."]})]}),"\n",(0,i.jsx)(n.h4,{id:"sign-out-device",children:"Sign out device"}),"\n",(0,i.jsx)(n.p,{children:"To sign out a single device:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOutDevice();\n"})}),"\n",(0,i.jsx)(n.p,{children:"This status endpoint method obtains the authentication key from session's authentication information, then revokes that key."}),"\n",(0,i.jsx)(n.h4,{id:"sign-out-all-devices",children:"Sign out all devices"}),"\n",(0,i.jsx)(n.p,{children:"To sign the user out across all devices:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOutAllDevices();\n"})}),"\n",(0,i.jsx)(n.p,{children:"This status endpoint retrieves the user ID from session's authentication information, then revokes all authentication keys related to that user."}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsx)(n.mdxAdmonitionTitle,{}),(0,i.jsx)("span",{id:"deprecated-signout-endpoint"}),(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"signOut"})," status endpoint is deprecated. Use ",(0,i.jsx)(n.code,{children:"signOutDevice"})," or ",(0,i.jsx)(n.code,{children:"signOutAllDevices"})," instead."]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOut(); // Deprecated\n"})}),(0,i.jsxs)(n.p,{children:["The behavior of ",(0,i.jsx)(n.code,{children:"signOut"})," is controlled by ",(0,i.jsx)(n.code,{children:"legacyUserSignOutBehavior"}),", which you can adjust in the ",(0,i.jsx)(n.a,{href:"setup#configure-authentication",children:"configure authentication"})," section. This allows you to control the signout behaviour of already shipped clients."]})]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>a});var t=s(96540);const i={},o=t.createContext(i);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5144cf5e.2fa57623.js b/docs/assets/js/5144cf5e.0930c9ed.js similarity index 96% rename from docs/assets/js/5144cf5e.2fa57623.js rename to docs/assets/js/5144cf5e.0930c9ed.js index 65f67835a..91d40f456 100644 --- a/docs/assets/js/5144cf5e.2fa57623.js +++ b/docs/assets/js/5144cf5e.0930c9ed.js @@ -1 +1 @@ -"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[58800],{17059:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"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.","source":"@site/docs/06-concepts/11-authentication/02-basics.md","sourceDirName":"06-concepts/11-authentication","slug":"/concepts/authentication/basics","permalink":"/next/concepts/authentication/basics","draft":false,"unlisted":false,"editUrl":"https://github.com/serverpod/serverpod_docs/tree/main/docs/06-concepts/11-authentication/02-basics.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Setup","permalink":"/next/concepts/authentication/setup"},"next":{"title":"Working with users","permalink":"/next/concepts/authentication/working-with-users"}}');var i=s(74848),o=s(28453);const r={},a="The basics",c={},d=[{value:"Requiring authentication on endpoints",id:"requiring-authentication-on-endpoints",level:2},{value:"Authorization on endpoints",id:"authorization-on-endpoints",level:2},{value:"Managing scopes",id:"managing-scopes",level:3},{value:"Custom scopes",id:"custom-scopes",level:3},{value:"User authentication",id:"user-authentication",level:2},{value:"Sign out device",id:"sign-out-device",level:4},{value:"Sign out all devices",id:"sign-out-all-devices",level:4}];function u(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",mdxAdmonitionTitle:"mdxAdmonitionTitle",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"the-basics",children:"The basics"})}),"\n",(0,i.jsxs)(n.p,{children:["Serverpod automatically checks if the user is logged in and if the user has the right privileges to access the endpoint. When using the ",(0,i.jsx)(n.code,{children:"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."]}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"Session"})," object provides information about the current user. A unique ",(0,i.jsx)(n.code,{children:"userId"})," identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the ",(0,i.jsx)(n.code,{children:"authenticated"})," field of the ",(0,i.jsx)(n.code,{children:"Session"})," object."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n var userId = (await session.authenticated)?.userId;\n ...\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"You can also use the Session object to check if a user is authenticated:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n var isSignedIn = await session.isUserSignedIn;\n ...\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"requiring-authentication-on-endpoints",children:"Requiring authentication on endpoints"}),"\n",(0,i.jsxs)(n.p,{children:["It is common to want to restrict access to an endpoint to users that have signed in. You can do this by overriding the ",(0,i.jsx)(n.code,{children:"requireLogin"})," property of the ",(0,i.jsx)(n.code,{children:"Endpoint"})," class."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"authorization-on-endpoints",children:"Authorization on endpoints"}),"\n",(0,i.jsxs)(n.p,{children:["Serverpod also supports scopes for restricting access. One or more scopes can be associated with a user. For instance, this can be used to give admin access to a specific user. To restrict access for an endpoint, override the ",(0,i.jsx)(n.code,{children:"requiredScopes"})," property. Note that setting ",(0,i.jsx)(n.code,{children:"requiredScopes"})," implicitly sets ",(0,i.jsx)(n.code,{children:"requireLogin"})," to true."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {Scope.admin};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"managing-scopes",children:"Managing scopes"}),"\n",(0,i.jsxs)(n.p,{children:["New users are created without any scopes. To update a user's scopes, use the ",(0,i.jsx)(n.code,{children:"Users"})," class's ",(0,i.jsx)(n.code,{children:"updateUserScopes"})," method (requires the ",(0,i.jsx)(n.code,{children:"serverpod_auth_server"})," package). This method replaces all previously stored scopes."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await Users.updateUserScopes(session, userId, {Scope.admin});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"custom-scopes",children:"Custom scopes"}),"\n",(0,i.jsx)(n.p,{children:"You may need more granular access control for specific endpoints. To create custom scopes, extend the Scope class, as shown below:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class CustomScope extends Scope {\n const CustomScope(String name) : super(name);\n\n static const userRead = CustomScope('userRead');\n static const userWrite = CustomScope('userWrite');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Then use the custom scopes like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {CustomScope.userRead, CustomScope.userWrite};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"caution",children:(0,i.jsx)(n.p,{children:"Keep in mind that a scope is merely an arbitrary string and can be written in any format you prefer. However, it's crucial to use unique strings for each scope, as duplicated scope strings may lead to unintentional data exposure."})}),"\n",(0,i.jsx)(n.h2,{id:"user-authentication",children:"User authentication"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"StatusEndpoint"})," class includes methods for handling user sign-outs, whether from a single device or all devices."]}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsxs)(n.p,{children:["In addition to the ",(0,i.jsx)(n.code,{children:"StatusEndpoint"})," methods, Serverpod provides more comprehensive tools for managing user authentication and sign-out processes across multiple devices."]}),(0,i.jsxs)(n.p,{children:["For more detailed information on managing and revoking authentication keys, please refer to the ",(0,i.jsx)(n.a,{href:"providers/custom-providers#revoking-authentication-keys",children:"Revoking authentication keys"})," section."]})]}),"\n",(0,i.jsx)(n.h4,{id:"sign-out-device",children:"Sign out device"}),"\n",(0,i.jsx)(n.p,{children:"To sign out a single device:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOutDevice();\n"})}),"\n",(0,i.jsx)(n.p,{children:"This status endpoint method obtains the authentication key from session's authentication information, then revokes that key."}),"\n",(0,i.jsx)(n.h4,{id:"sign-out-all-devices",children:"Sign out all devices"}),"\n",(0,i.jsx)(n.p,{children:"To sign the user out across all devices:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOutAllDevices();\n"})}),"\n",(0,i.jsx)(n.p,{children:"This status endpoint retrieves the user ID from session's authentication information, then revokes all authentication keys related to that user."}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsx)(n.mdxAdmonitionTitle,{}),(0,i.jsx)("span",{id:"deprecated-signout-endpoint"}),(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"signOut"})," status endpoint is deprecated. Use ",(0,i.jsx)(n.code,{children:"signOutDevice"})," or ",(0,i.jsx)(n.code,{children:"signOutAllDevices"})," instead."]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOut(); // Deprecated\n"})}),(0,i.jsxs)(n.p,{children:["The behavior of ",(0,i.jsx)(n.code,{children:"signOut"})," is controlled by ",(0,i.jsx)(n.code,{children:"legacyUserSignOutBehavior"}),", which you can adjust in the ",(0,i.jsx)(n.a,{href:"setup#configure-authentication",children:"configure authentication"})," section. This allows you to control the signout behaviour of already shipped clients."]})]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>a});var t=s(96540);const i={},o=t.createContext(i);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[58800],{17059:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"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.","source":"@site/docs/06-concepts/11-authentication/02-basics.md","sourceDirName":"06-concepts/11-authentication","slug":"/concepts/authentication/basics","permalink":"/next/concepts/authentication/basics","draft":false,"unlisted":false,"editUrl":"https://github.com/serverpod/serverpod_docs/tree/main/docs/06-concepts/11-authentication/02-basics.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Setup","permalink":"/next/concepts/authentication/setup"},"next":{"title":"Working with users","permalink":"/next/concepts/authentication/working-with-users"}}');var i=s(74848),o=s(28453);const r={},a="The basics",c={},d=[{value:"Requiring authentication on endpoints",id:"requiring-authentication-on-endpoints",level:2},{value:"Authorization on endpoints",id:"authorization-on-endpoints",level:2},{value:"Managing scopes",id:"managing-scopes",level:3},{value:"Custom scopes",id:"custom-scopes",level:3},{value:"User authentication",id:"user-authentication",level:2},{value:"Sign out device",id:"sign-out-device",level:4},{value:"Sign out all devices",id:"sign-out-all-devices",level:4}];function u(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",mdxAdmonitionTitle:"mdxAdmonitionTitle",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"the-basics",children:"The basics"})}),"\n",(0,i.jsxs)(n.p,{children:["Serverpod automatically checks if the user is logged in and if the user has the right privileges to access the endpoint. When using the ",(0,i.jsx)(n.code,{children:"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."]}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"Session"})," object provides information about the current user. A unique ",(0,i.jsx)(n.code,{children:"userId"})," identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the ",(0,i.jsx)(n.code,{children:"authenticated"})," asynchronous getter of the ",(0,i.jsx)(n.code,{children:"Session"})," object."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n final authenticationInfo = await session.authenticated;\n final userId = authenticationInfo?.userId;\n ...\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"You can also use the Session object to check if a user is authenticated:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n var isSignedIn = await session.isUserSignedIn;\n ...\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"requiring-authentication-on-endpoints",children:"Requiring authentication on endpoints"}),"\n",(0,i.jsxs)(n.p,{children:["It is common to want to restrict access to an endpoint to users that have signed in. You can do this by overriding the ",(0,i.jsx)(n.code,{children:"requireLogin"})," property of the ",(0,i.jsx)(n.code,{children:"Endpoint"})," class."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"authorization-on-endpoints",children:"Authorization on endpoints"}),"\n",(0,i.jsxs)(n.p,{children:["Serverpod also supports scopes for restricting access. One or more scopes can be associated with a user. For instance, this can be used to give admin access to a specific user. To restrict access for an endpoint, override the ",(0,i.jsx)(n.code,{children:"requiredScopes"})," property. Note that setting ",(0,i.jsx)(n.code,{children:"requiredScopes"})," implicitly sets ",(0,i.jsx)(n.code,{children:"requireLogin"})," to true."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {Scope.admin};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"managing-scopes",children:"Managing scopes"}),"\n",(0,i.jsxs)(n.p,{children:["New users are created without any scopes. To update a user's scopes, use the ",(0,i.jsx)(n.code,{children:"Users"})," class's ",(0,i.jsx)(n.code,{children:"updateUserScopes"})," method (requires the ",(0,i.jsx)(n.code,{children:"serverpod_auth_server"})," package). This method replaces all previously stored scopes."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await Users.updateUserScopes(session, userId, {Scope.admin});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"custom-scopes",children:"Custom scopes"}),"\n",(0,i.jsx)(n.p,{children:"You may need more granular access control for specific endpoints. To create custom scopes, extend the Scope class, as shown below:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class CustomScope extends Scope {\n const CustomScope(String name) : super(name);\n\n static const userRead = CustomScope('userRead');\n static const userWrite = CustomScope('userWrite');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Then use the custom scopes like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {CustomScope.userRead, CustomScope.userWrite};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"caution",children:(0,i.jsx)(n.p,{children:"Keep in mind that a scope is merely an arbitrary string and can be written in any format you prefer. However, it's crucial to use unique strings for each scope, as duplicated scope strings may lead to unintentional data exposure."})}),"\n",(0,i.jsx)(n.h2,{id:"user-authentication",children:"User authentication"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"StatusEndpoint"})," class includes methods for handling user sign-outs, whether from a single device or all devices."]}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsxs)(n.p,{children:["In addition to the ",(0,i.jsx)(n.code,{children:"StatusEndpoint"})," methods, Serverpod provides more comprehensive tools for managing user authentication and sign-out processes across multiple devices."]}),(0,i.jsxs)(n.p,{children:["For more detailed information on managing and revoking authentication keys, please refer to the ",(0,i.jsx)(n.a,{href:"providers/custom-providers#revoking-authentication-keys",children:"Revoking authentication keys"})," section."]})]}),"\n",(0,i.jsx)(n.h4,{id:"sign-out-device",children:"Sign out device"}),"\n",(0,i.jsx)(n.p,{children:"To sign out a single device:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOutDevice();\n"})}),"\n",(0,i.jsx)(n.p,{children:"This status endpoint method obtains the authentication key from session's authentication information, then revokes that key."}),"\n",(0,i.jsx)(n.h4,{id:"sign-out-all-devices",children:"Sign out all devices"}),"\n",(0,i.jsx)(n.p,{children:"To sign the user out across all devices:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOutAllDevices();\n"})}),"\n",(0,i.jsx)(n.p,{children:"This status endpoint retrieves the user ID from session's authentication information, then revokes all authentication keys related to that user."}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsx)(n.mdxAdmonitionTitle,{}),(0,i.jsx)("span",{id:"deprecated-signout-endpoint"}),(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"signOut"})," status endpoint is deprecated. Use ",(0,i.jsx)(n.code,{children:"signOutDevice"})," or ",(0,i.jsx)(n.code,{children:"signOutAllDevices"})," instead."]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOut(); // Deprecated\n"})}),(0,i.jsxs)(n.p,{children:["The behavior of ",(0,i.jsx)(n.code,{children:"signOut"})," is controlled by ",(0,i.jsx)(n.code,{children:"legacyUserSignOutBehavior"}),", which you can adjust in the ",(0,i.jsx)(n.a,{href:"setup#configure-authentication",children:"configure authentication"})," section. This allows you to control the signout behaviour of already shipped clients."]})]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>a});var t=s(96540);const i={},o=t.createContext(i);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/747fb5d3.b9fa52c9.js b/docs/assets/js/747fb5d3.f1fe028b.js similarity index 53% rename from docs/assets/js/747fb5d3.b9fa52c9.js rename to docs/assets/js/747fb5d3.f1fe028b.js index 264685512..88ab7ef44 100644 --- a/docs/assets/js/747fb5d3.b9fa52c9.js +++ b/docs/assets/js/747fb5d3.f1fe028b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[94493],{34092:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"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.","source":"@site/versioned_docs/version-2.3.0/06-concepts/11-authentication/02-basics.md","sourceDirName":"06-concepts/11-authentication","slug":"/concepts/authentication/basics","permalink":"/concepts/authentication/basics","draft":false,"unlisted":false,"editUrl":"https://github.com/serverpod/serverpod_docs/tree/main/versioned_docs/version-2.3.0/06-concepts/11-authentication/02-basics.md","tags":[],"version":"2.3.0","sidebarPosition":2,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Setup","permalink":"/concepts/authentication/setup"},"next":{"title":"Working with users","permalink":"/concepts/authentication/working-with-users"}}');var t=s(74848),o=s(28453);const r={},a="The basics",c={},d=[{value:"Requiring authentication on endpoints",id:"requiring-authentication-on-endpoints",level:2},{value:"Authorization on endpoints",id:"authorization-on-endpoints",level:2},{value:"Managing scopes",id:"managing-scopes",level:3},{value:"Custom scopes",id:"custom-scopes",level:3},{value:"User authentication",id:"user-authentication",level:2},{value:"Sign out device",id:"sign-out-device",level:4},{value:"Sign out all devices",id:"sign-out-all-devices",level:4}];function u(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",mdxAdmonitionTitle:"mdxAdmonitionTitle",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"the-basics",children:"The basics"})}),"\n",(0,t.jsxs)(n.p,{children:["Serverpod automatically checks if the user is logged in and if the user has the right privileges to access the endpoint. When using the ",(0,t.jsx)(n.code,{children:"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."]}),"\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.code,{children:"Session"})," object provides information about the current user. A unique ",(0,t.jsx)(n.code,{children:"userId"})," identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the ",(0,t.jsx)(n.code,{children:"authenticated"})," field of the ",(0,t.jsx)(n.code,{children:"Session"})," object."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n var userId = (await session.authenticated)?.userId;\n ...\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"You can also use the Session object to check if a user is authenticated:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n var isSignedIn = await session.isUserSignedIn;\n ...\n}\n"})}),"\n",(0,t.jsx)(n.h2,{id:"requiring-authentication-on-endpoints",children:"Requiring authentication on endpoints"}),"\n",(0,t.jsxs)(n.p,{children:["It is common to want to restrict access to an endpoint to users that have signed in. You can do this by overriding the ",(0,t.jsx)(n.code,{children:"requireLogin"})," property of the ",(0,t.jsx)(n.code,{children:"Endpoint"})," class."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,t.jsx)(n.h2,{id:"authorization-on-endpoints",children:"Authorization on endpoints"}),"\n",(0,t.jsxs)(n.p,{children:["Serverpod also supports scopes for restricting access. One or more scopes can be associated with a user. For instance, this can be used to give admin access to a specific user. To restrict access for an endpoint, override the ",(0,t.jsx)(n.code,{children:"requiredScopes"})," property. Note that setting ",(0,t.jsx)(n.code,{children:"requiredScopes"})," implicitly sets ",(0,t.jsx)(n.code,{children:"requireLogin"})," to true."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {Scope.admin};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,t.jsx)(n.h3,{id:"managing-scopes",children:"Managing scopes"}),"\n",(0,t.jsxs)(n.p,{children:["New users are created without any scopes. To update a user's scopes, use the ",(0,t.jsx)(n.code,{children:"Users"})," class's ",(0,t.jsx)(n.code,{children:"updateUserScopes"})," method (requires the ",(0,t.jsx)(n.code,{children:"serverpod_auth_server"})," package). This method replaces all previously stored scopes."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"await Users.updateUserScopes(session, userId, {Scope.admin});\n"})}),"\n",(0,t.jsx)(n.h3,{id:"custom-scopes",children:"Custom scopes"}),"\n",(0,t.jsx)(n.p,{children:"You may need more granular access control for specific endpoints. To create custom scopes, extend the Scope class, as shown below:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"class CustomScope extends Scope {\n const CustomScope(String name) : super(name);\n\n static const userRead = CustomScope('userRead');\n static const userWrite = CustomScope('userWrite');\n}\n"})}),"\n",(0,t.jsx)(n.p,{children:"Then use the custom scopes like this:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {CustomScope.userRead, CustomScope.userWrite};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,t.jsx)(n.admonition,{type:"caution",children:(0,t.jsx)(n.p,{children:"Keep in mind that a scope is merely an arbitrary string and can be written in any format you prefer. However, it's crucial to use unique strings for each scope, as duplicated scope strings may lead to unintentional data exposure."})}),"\n",(0,t.jsx)(n.h2,{id:"user-authentication",children:"User authentication"}),"\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.code,{children:"StatusEndpoint"})," class includes methods for handling user sign-outs, whether from a single device or all devices."]}),"\n",(0,t.jsxs)(n.admonition,{type:"info",children:[(0,t.jsxs)(n.p,{children:["In addition to the ",(0,t.jsx)(n.code,{children:"StatusEndpoint"})," methods, Serverpod provides more comprehensive tools for managing user authentication and sign-out processes across multiple devices."]}),(0,t.jsxs)(n.p,{children:["For more detailed information on managing and revoking authentication keys, please refer to the ",(0,t.jsx)(n.a,{href:"providers/custom-providers#revoking-authentication-keys",children:"Revoking authentication keys"})," section."]})]}),"\n",(0,t.jsx)(n.h4,{id:"sign-out-device",children:"Sign out device"}),"\n",(0,t.jsx)(n.p,{children:"To sign out a single device:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOutDevice();\n"})}),"\n",(0,t.jsx)(n.p,{children:"This status endpoint method obtains the authentication key from session's authentication information, then revokes that key."}),"\n",(0,t.jsx)(n.h4,{id:"sign-out-all-devices",children:"Sign out all devices"}),"\n",(0,t.jsx)(n.p,{children:"To sign the user out across all devices:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOutAllDevices();\n"})}),"\n",(0,t.jsx)(n.p,{children:"This status endpoint retrieves the user ID from session's authentication information, then revokes all authentication keys related to that user."}),"\n",(0,t.jsxs)(n.admonition,{type:"info",children:[(0,t.jsx)(n.mdxAdmonitionTitle,{}),(0,t.jsx)("span",{id:"deprecated-signout-endpoint"}),(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.code,{children:"signOut"})," status endpoint is deprecated. Use ",(0,t.jsx)(n.code,{children:"signOutDevice"})," or ",(0,t.jsx)(n.code,{children:"signOutAllDevices"})," instead."]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOut(); // Deprecated\n"})}),(0,t.jsxs)(n.p,{children:["The behavior of ",(0,t.jsx)(n.code,{children:"signOut"})," is controlled by ",(0,t.jsx)(n.code,{children:"legacyUserSignOutBehavior"}),", which you can adjust in the ",(0,t.jsx)(n.a,{href:"setup#configure-authentication",children:"configure authentication"})," section. This allows you to control the signout behaviour of already shipped clients."]})]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>a});var i=s(96540);const t={},o=i.createContext(t);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkserverpod_docs=self.webpackChunkserverpod_docs||[]).push([[94493],{34092:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"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.","source":"@site/versioned_docs/version-2.3.0/06-concepts/11-authentication/02-basics.md","sourceDirName":"06-concepts/11-authentication","slug":"/concepts/authentication/basics","permalink":"/concepts/authentication/basics","draft":false,"unlisted":false,"editUrl":"https://github.com/serverpod/serverpod_docs/tree/main/versioned_docs/version-2.3.0/06-concepts/11-authentication/02-basics.md","tags":[],"version":"2.3.0","sidebarPosition":2,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Setup","permalink":"/concepts/authentication/setup"},"next":{"title":"Working with users","permalink":"/concepts/authentication/working-with-users"}}');var i=s(74848),o=s(28453);const r={},a="The basics",c={},d=[{value:"Requiring authentication on endpoints",id:"requiring-authentication-on-endpoints",level:2},{value:"Authorization on endpoints",id:"authorization-on-endpoints",level:2},{value:"Managing scopes",id:"managing-scopes",level:3},{value:"Custom scopes",id:"custom-scopes",level:3},{value:"User authentication",id:"user-authentication",level:2},{value:"Sign out device",id:"sign-out-device",level:4},{value:"Sign out all devices",id:"sign-out-all-devices",level:4}];function u(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",mdxAdmonitionTitle:"mdxAdmonitionTitle",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"the-basics",children:"The basics"})}),"\n",(0,i.jsxs)(n.p,{children:["Serverpod automatically checks if the user is logged in and if the user has the right privileges to access the endpoint. When using the ",(0,i.jsx)(n.code,{children:"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."]}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"Session"})," object provides information about the current user. A unique ",(0,i.jsx)(n.code,{children:"userId"})," identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the ",(0,i.jsx)(n.code,{children:"authenticated"})," asynchronous getter of the ",(0,i.jsx)(n.code,{children:"Session"})," object."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n final authenticationInfo = await session.authenticated;\n final userId = authenticationInfo?.userId;\n ...\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"You can also use the Session object to check if a user is authenticated:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"Future myMethod(Session session) async {\n var isSignedIn = await session.isUserSignedIn;\n ...\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"requiring-authentication-on-endpoints",children:"Requiring authentication on endpoints"}),"\n",(0,i.jsxs)(n.p,{children:["It is common to want to restrict access to an endpoint to users that have signed in. You can do this by overriding the ",(0,i.jsx)(n.code,{children:"requireLogin"})," property of the ",(0,i.jsx)(n.code,{children:"Endpoint"})," class."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"authorization-on-endpoints",children:"Authorization on endpoints"}),"\n",(0,i.jsxs)(n.p,{children:["Serverpod also supports scopes for restricting access. One or more scopes can be associated with a user. For instance, this can be used to give admin access to a specific user. To restrict access for an endpoint, override the ",(0,i.jsx)(n.code,{children:"requiredScopes"})," property. Note that setting ",(0,i.jsx)(n.code,{children:"requiredScopes"})," implicitly sets ",(0,i.jsx)(n.code,{children:"requireLogin"})," to true."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {Scope.admin};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"managing-scopes",children:"Managing scopes"}),"\n",(0,i.jsxs)(n.p,{children:["New users are created without any scopes. To update a user's scopes, use the ",(0,i.jsx)(n.code,{children:"Users"})," class's ",(0,i.jsx)(n.code,{children:"updateUserScopes"})," method (requires the ",(0,i.jsx)(n.code,{children:"serverpod_auth_server"})," package). This method replaces all previously stored scopes."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await Users.updateUserScopes(session, userId, {Scope.admin});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"custom-scopes",children:"Custom scopes"}),"\n",(0,i.jsx)(n.p,{children:"You may need more granular access control for specific endpoints. To create custom scopes, extend the Scope class, as shown below:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class CustomScope extends Scope {\n const CustomScope(String name) : super(name);\n\n static const userRead = CustomScope('userRead');\n static const userWrite = CustomScope('userWrite');\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Then use the custom scopes like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"class MyEndpoint extends Endpoint {\n @override\n bool get requireLogin => true;\n\n @override\n Set get requiredScopes => {CustomScope.userRead, CustomScope.userWrite};\n\n Future myMethod(Session session) async {\n ...\n }\n ...\n}\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"caution",children:(0,i.jsx)(n.p,{children:"Keep in mind that a scope is merely an arbitrary string and can be written in any format you prefer. However, it's crucial to use unique strings for each scope, as duplicated scope strings may lead to unintentional data exposure."})}),"\n",(0,i.jsx)(n.h2,{id:"user-authentication",children:"User authentication"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"StatusEndpoint"})," class includes methods for handling user sign-outs, whether from a single device or all devices."]}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsxs)(n.p,{children:["In addition to the ",(0,i.jsx)(n.code,{children:"StatusEndpoint"})," methods, Serverpod provides more comprehensive tools for managing user authentication and sign-out processes across multiple devices."]}),(0,i.jsxs)(n.p,{children:["For more detailed information on managing and revoking authentication keys, please refer to the ",(0,i.jsx)(n.a,{href:"providers/custom-providers#revoking-authentication-keys",children:"Revoking authentication keys"})," section."]})]}),"\n",(0,i.jsx)(n.h4,{id:"sign-out-device",children:"Sign out device"}),"\n",(0,i.jsx)(n.p,{children:"To sign out a single device:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOutDevice();\n"})}),"\n",(0,i.jsx)(n.p,{children:"This status endpoint method obtains the authentication key from session's authentication information, then revokes that key."}),"\n",(0,i.jsx)(n.h4,{id:"sign-out-all-devices",children:"Sign out all devices"}),"\n",(0,i.jsx)(n.p,{children:"To sign the user out across all devices:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOutAllDevices();\n"})}),"\n",(0,i.jsx)(n.p,{children:"This status endpoint retrieves the user ID from session's authentication information, then revokes all authentication keys related to that user."}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsx)(n.mdxAdmonitionTitle,{}),(0,i.jsx)("span",{id:"deprecated-signout-endpoint"}),(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"signOut"})," status endpoint is deprecated. Use ",(0,i.jsx)(n.code,{children:"signOutDevice"})," or ",(0,i.jsx)(n.code,{children:"signOutAllDevices"})," instead."]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-dart",children:"await client.modules.auth.status.signOut(); // Deprecated\n"})}),(0,i.jsxs)(n.p,{children:["The behavior of ",(0,i.jsx)(n.code,{children:"signOut"})," is controlled by ",(0,i.jsx)(n.code,{children:"legacyUserSignOutBehavior"}),", which you can adjust in the ",(0,i.jsx)(n.a,{href:"setup#configure-authentication",children:"configure authentication"})," section. This allows you to control the signout behaviour of already shipped clients."]})]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>a});var t=s(96540);const i={},o=t.createContext(i);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/runtime~main.42b5377a.js b/docs/assets/js/runtime~main.6fc25181.js similarity index 99% rename from docs/assets/js/runtime~main.42b5377a.js rename to docs/assets/js/runtime~main.6fc25181.js index 7a6f6bc99..c4f116519 100644 --- a/docs/assets/js/runtime~main.42b5377a.js +++ b/docs/assets/js/runtime~main.6fc25181.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,d,f,c,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,f,c)=>{if(!d){var b=1/0;for(n=0;n=c)&&Object.keys(t.O).every((e=>t.O[e](d[o])))?d.splice(o--,1):(r=!1,c0&&e[n-1][2]>c;n--)e[n]=e[n-1];e[n]=[d,f,c]},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,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var c=Object.create(null);t.r(c);var b={};a=a||[null,d({}),d([]),d(d)];for(var r=2&f&&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(c,b),c},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",589:"3f4d54c7",762:"cdc118a8",1006:"f8dd123c",1160:"638e38ae",1171:"b685e31b",1441:"af9b8c85",1572:"02c0cfe0",1705:"1921e4ca",1832:"bdc5a52e",1871:"2796447e",1923:"b32c213b",1970:"dbf9e27d",2278:"27e827f8",2295:"0a5c01b2",2316:"a1610459",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",4645:"9644aa4e",5e3:"da698f4c",5268:"beab84d5",5344:"8baf194b",5352:"52f87500",5441:"af1c5d2b",5547:"ebd4b56d",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",7956:"51dd138a",8271:"94b2bc9a",8349:"06a408fe",8500:"4c5c4c2e",8734:"82e43b76",8927:"b8787c81",9215:"02e914fe",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",12902:"f02fca7f",13018:"076cf272",13019:"d3938b1f",13455:"5839343c",13535:"e84b4e80",13585:"ea237062",13650:"2d11a680",14080:"f4322d5c",14237:"95a5d2b2",14432:"f5e72c0a",14578:"8612c3ac",14936:"7c8e5227",15066:"fe3f3783",15246:"83c6f999",15422:"fc471c47",15447:"30bd0f5b",15536:"baba055e",15955:"fe7002a3",16029:"e839f599",16328:"reactPlayerDailyMotion",16602:"616631fd",16678:"710ac1c1",16869:"444a6d4e",16884:"4ed1e0ac",16945:"5596dd05",17021:"828ace52",17209:"f9bde383",17289:"45939ed5",17320:"55f37562",17776:"070c8c93",17820:"ebd05845",18025:"4b539d9d",18093:"0841186f",18401:"17896441",18446:"reactPlayerYouTube",18776:"c36ed66b",19049:"2fca5c64",19738:"87ab7385",20033:"986f0f98",20210:"68401255",20423:"22f51758",20515:"704545ab",20681:"e66f2658",20773:"d4fc3158",20826:"4ab30eec",21611:"82444e58",21983:"57012fa6",22309:"3020aab5",22422:"d3af5b3c",22447:"ceb48fe7",22451:"f5a589e7",22611:"59df87e8",22701:"fb6429ba",22750:"141135bb",23321:"676f1bdb",23452:"5af30237",23453:"ed64c12e",23619:"f6affd6e",23870:"956829f8",23983:"44dc7864",24078:"ec91ff36",24158:"1d39c85d",24295:"96523456",24636:"d158719f",24796:"8423508e",24832:"02e41de2",25362:"5bc657fa",25427:"3edac44d",25504:"0f2c2e36",25666:"522ca66b",25691:"9a594c98",25692:"7ca2e59a",26173:"reactPlayerVimeo",26376:"431ffdb5",26411:"93ae665a",26499:"a4adf53f",26622:"d9107a6a",26766:"fe33edfa",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",30067:"373bc822",30248:"b1218054",30418:"6feb7661",30473:"3141060a",30528:"1323771c",30765:"85d514f3",30773:"38e9742f",30799:"1a39ee04",30941:"4aa94ec1",31080:"626d8d5f",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",32744:"fde0b76a",32759:"7800d508",32789:"f9de1e68",32944:"272aa200",33048:"25c6d77a",33098:"71ba2dc1",33460:"9107c65f",33577:"a32c313f",33588:"10933a93",33701:"4e5965c3",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",37655:"6decf956",37710:"abd13aa2",37758:"0e764995",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",39294:"438ea691",39408:"fe2e2e26",39431:"cdd4a9c6",39482:"327b0a57",39558:"50f2f9f3",39757:"9e0c2c37",39823:"5ed5f7a9",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",43949:"9aaed8b4",44046:"5d707891",44103:"75829dda",44141:"cb43ed9b",44164:"a24f0440",44189:"f5602aa3",44486:"c0650537",44602:"69fcd2fc",44609:"c5313007",44630:"65b7208a",44769:"4a7af9ca",44816:"36fcb744",44947:"39ec0930",45072:"7c299f6a",45141:"b1394c86",45268:"ef4456b5",45295:"f29fc884",45474:"79d28454",45655:"4a55fe3a",45679:"50d72525",45724:"8dfd8953",45742:"c377a04b",46119:"d58f1ee2",46268:"26ad82e9",46364:"fe522f67",46429:"6e1b24e9",46563:"aeef55f7",46643:"53d20392",46688:"ac3101e9",46921:"d0b9ca74",46961:"2bbc2deb",47108:"075f0e80",47120:"dcbfe205",47127:"999788b8",47256:"7b09383e",47264:"b9ec56c8",47322:"a7f9f0ff",47341:"7f0714d1",47452:"a7b0b2b7",47472:"71f9ed0c",47527:"93dcedec",47627:"reactPlayerStreamable",47719:"b7ea99f7",47758:"1b9544a9",48099:"12a78962",48124:"8f509517",48134:"356ce494",48235:"df15bc7d",48276:"b467d32a",48436:"f6adf820",48552:"954e932f",48579:"566f49fb",48665:"0f4a5c74",49316:"510b9307",49406:"b26210db",49455:"c8139b75",49625:"ff61db29",49658:"0d76317c",49921:"fc8b5a5d",50041:"ac002d2b",50404:"98f4e1ec",50734:"eb44eb85",50765:"bf519c8d",50908:"3fbaac07",51143:"fc6f07d2",51205:"db42f242",51349:"4aec9039",51379:"17f04a83",51637:"81e4ed6a",51780:"eecc43ff",51782:"09ca145d",51865:"a768738b",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",54705:"33af2f09",54905:"98d962c5",55011:"49145cdf",55324:"c94e1931",55388:"b2419a00",55664:"169f3d24",56264:"46eeb6cb",56282:"d636c09f",56417:"538bb064",56420:"fd4b36bb",56449:"6bb5bff7",56532:"4205d879",56660:"f30d2866",56684:"378935ce",56764:"805a59dc",57035:"f527bef3",57356:"bb9c591b",57694:"21b7a589",57790:"1b218eaa",57869:"a7edc2bd",58022:"c134ef8a",58718:"afb7a97b",58800:"5144cf5e",59032:"8ffcd916",59075:"6e29a506",59221:"76259cc3",59327:"03db70c9",59409:"a64b2578",59599:"1e1f8072",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",62814:"7a9b3614",62921:"1d7c691c",62929:"f5fed352",63474:"98c94590",63538:"06393fc1",63706:"2b67eda4",63737:"53e9dd7a",63747:"fb72d7b2",63960:"a6397568",64019:"6fb78fba",64284:"13ee52e7",64558:"b91fbf2a",64641:"eac16e1d",64651:"4c781063",64665:"6f44ab90",65110:"063d75bd",65142:"eb4c176e",65312:"729daf19",65352:"ed3aad8c",65433:"616bfcf6",65542:"af754a1f",65571:"a1df5076",65655:"1ebbfca8",65755:"bafd283f",65784:"90239e6e",65847:"e49a3b4b",65866:"419cd6b8",66225:"9f8e6d57",66339:"03b2528f",66811:"3e87058f",66850:"0c695afe",66868:"3c4af576",66885:"5e253f2f",66912:"51907bd1",66929:"da54b976",67016:"dc576323",67059:"9e6051e1",67068:"ae0eacdd",67098:"a7bd4aaa",67217:"726a6c22",67349:"61ff6850",67458:"0d271e1e",67532:"49fed513",67570:"reactPlayerMixcloud",67706:"e7f4b98d",67714:"9d7352c0",68230:"3cf6fa35",68251:"eaa4efd8",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",70669:"b018547e",70843:"a518290b",70934:"d44e0d1c",71247:"308471de",71341:"f7ebdce2",71383:"087cd58c",71826:"a4c89d62",71907:"86a8bb6c",71967:"4fa4eafa",72074:"71319bec",72132:"83ac10ed",72188:"44b88e48",72231:"fe170cc9",72422:"521e3baf",72561:"adce8179",73107:"646cbece",73379:"9d779d8b",73480:"b2aeaed7",73932:"2020ed93",73939:"2ed96714",74081:"ce4dbf6d",74431:"f18da6aa",74520:"9addcfc7",74583:"4bfca71d",74780:"ebde045d",74834:"d26a73b8",74860:"00d14154",74961:"5c7e11fb",75412:"5390e21f",75702:"307525ba",75822:"2db99065",75868:"071f33a8",75965:"b48f41b9",76093:"7d63aba8",76224:"03b3cfd2",76238:"8615e055",76350:"9b933485",76372:"d802bb56",76768:"8bed5a26",76973:"78ae7ec8",77137:"42abcd4d",77313:"ee65edec",77318:"67e77328",77567:"4dc6f423",77757:"f6f476f1",78007:"8eead450",78416:"068743c8",78630:"959ac691",78631:"b7b014bf",78702:"82ea7079",79028:"6b48b7b8",79048:"a94703ab",79052:"6d717251",79225:"526e379a",79354:"4118187a",79526:"75a33358",79628:"a24a5808",79825:"2d4af3bf",79956:"9e09f891",79983:"a7f483d1",80124:"97efa4fc",80190:"be6201fa",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",84092:"19e2305b",84219:"51e50f95",84492:"ba51d442",84605:"8552f549",84656:"813cfb2f",84750:"aefdd881",84850:"bc03f89b",85026:"83fd2af9",85155:"f640cf83",85462:"9270ba4f",85527:"5143312c",85528:"21e10cde",85556:"21a4ba71",85943:"05fbef88",86012:"da202fdd",86037:"eaeab60b",86057:"9fbfaf6d",86106:"1877d9d5",86298:"e2d6ba1f",86546:"8a63049b",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",90642:"07006f9e",90780:"098f2604",90899:"609f97b9",90986:"6028a11d",91131:"468d57a9",91194:"cf401e04",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",94205:"39fe1b84",94493:"747fb5d3",94594:"c7507218",94642:"da19ecb4",94725:"dd31e7e9",94811:"da071cb8",95191:"c75d145e",95223:"4f4aa41c",95409:"94f11012",95909:"896258c1",96414:"794a8057",96449:"19a6be06",96815:"8d02075b",96991:"4eee9c87",97034:"0ddd0e66",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",99340:"reactPlayerWistia",99341:"a1154d73",99591:"e0bec135",99644:"1ba60223",99989:"51ddac88"}[e]||e)+"."+{456:"3bf529f7",565:"bed1c850",589:"0befdfa9",762:"d2174ca0",1006:"31f96bab",1160:"bdb31d58",1171:"43543aa9",1441:"fd7b300b",1572:"0cfa3362",1705:"2528c13d",1832:"68bd5dfc",1871:"575e687f",1923:"f4dc4250",1970:"cc3f99ad",2278:"52a102f5",2295:"5302c2da",2316:"6dfad0b4",2496:"48da3b37",2730:"a304021f",3202:"503450b2",3230:"e99996b9",3249:"cad0d93e",3392:"8464e17b",3607:"41af52b1",3705:"08936b46",3783:"04c7a56f",3877:"bbb12f8a",3900:"4eee5db3",4272:"5327c9b2",4276:"0ff680f6",4499:"8a0343dd",4550:"800c1410",4645:"a270f8fb",5e3:"65b6fa57",5268:"c5f6e420",5344:"4fb59513",5352:"5c276b6d",5441:"a0d10636",5547:"f81de728",5623:"b20ed08c",5819:"12ce2193",5827:"3e25f443",5885:"24306e07",6129:"049e2657",6157:"eff98bd1",6215:"31ae42b7",6231:"e9adaca6",6236:"13db7b1d",6262:"e675b845",6265:"12404f60",6308:"5f3e0e5b",6463:"bec1a06c",6486:"22f47090",6497:"fadb7e82",6615:"e0733f11",6918:"cef59c19",7161:"09ca0649",7267:"2eb42cd5",7606:"b220f86c",7656:"a4a92bc4",7681:"a424d259",7701:"49318b54",7785:"2a8785a9",7848:"8ea818c7",7956:"2e3fbdcc",8271:"cbe74f6b",8349:"5f85a47c",8500:"d7bf511f",8734:"29b499c2",8927:"6f999770",9215:"5574cece",9264:"7fdd1f29",9524:"e29aaf6f",9606:"1957caed",9640:"6a5d88d6",9647:"cac24016",9671:"e8d1d6ac",9837:"2990961f",10348:"78f9f4e8",10443:"29567304",10700:"ce11f188",10845:"6add59b6",10907:"cf9dba7a",11139:"7e17d20e",11184:"b3a25d5a",11301:"15f51fd1",11567:"37a3cdad",11607:"a1c095dc",11721:"ddee74d7",11784:"3d5cf7c1",11934:"1770953b",11965:"d777c784",12007:"0a983281",12042:"a0c42814",12219:"401c0d07",12237:"a9b0cc23",12716:"5099e1c9",12744:"616414a6",12766:"cb4da8e3",12827:"6118b61c",12902:"444cec4c",13018:"3383df8d",13019:"600402c2",13455:"7278ce8a",13535:"8c2fe49b",13585:"00bae75a",13650:"d1b07f39",14080:"6a723b72",14237:"9cb32cf1",14432:"b2c74608",14578:"9cd22e2b",14936:"082570fa",15066:"95c7a677",15246:"740dce57",15422:"f8904b6d",15447:"04e69fb0",15536:"0591c7e4",15955:"6cdb02af",16029:"a1ecc271",16328:"4fa8d3c8",16602:"031b46ad",16678:"6f234e7f",16869:"81a2a888",16884:"07f5d6a4",16945:"46037186",17021:"481eaf6f",17209:"ad9bd8b6",17289:"48e0340f",17320:"baac871f",17776:"c0410a93",17820:"ecdb30e3",18025:"ec1649c0",18093:"88a93afb",18401:"30c4f83a",18446:"150ff8a0",18776:"01b81203",19049:"cc505400",19738:"5bbb4e27",20033:"4d9de467",20210:"4987d48c",20423:"9464251e",20515:"ed6cf262",20681:"895a60b0",20773:"7b374ff9",20826:"4abb5e3c",21611:"2812dc09",21983:"dbbb4174",22309:"248029f7",22422:"7b57c7c1",22447:"67663617",22451:"0d9f4fa7",22611:"66463762",22701:"8b651e24",22750:"a8cb4c36",23321:"2095330e",23452:"52cb7538",23453:"2cb5d6e7",23619:"d3f9ca62",23870:"0c70301a",23983:"34ff443e",24078:"40b61f09",24158:"9e048aeb",24295:"b02c6044",24636:"63cf56d9",24796:"6cf0f3ca",24832:"7934d2f9",25362:"969e76f4",25427:"f4fc9661",25504:"c5325f85",25666:"49b116a0",25691:"b202a53f",25692:"22af4f62",26173:"076fef9c",26376:"82580212",26411:"02cefa64",26499:"ed5ef33e",26622:"33a2684a",26766:"939d4598",27168:"ea09aa96",27350:"b622f983",27547:"02ef84ba",27646:"ab0d6065",27685:"2e22137f",27740:"085fef8a",27800:"5b900962",28235:"1004749b",29248:"098f61c2",29250:"748fbf44",29285:"c6a44719",29436:"4d0944b8",29773:"3ce3a554",30067:"89867601",30248:"63c91dea",30418:"5eff8ee1",30473:"3550d0ba",30528:"d0410269",30765:"2cb51d03",30773:"a71ee3b7",30799:"17eeaa9c",30941:"c3f340a8",31080:"f9af4c7d",31165:"2403bfef",31267:"4162a3e6",31471:"9b6dda95",31474:"d994a20f",31727:"1543b3aa",32055:"a70c3cf6",32096:"49650e68",32111:"a59aa3ce",32141:"94108e98",32163:"c9c0455c",32178:"f452c1e3",32406:"388ba990",32461:"df6ca91d",32492:"0022b426",32504:"a3895f2a",32741:"f7508f8d",32744:"eddf052b",32759:"c7341e25",32789:"eef1db39",32944:"3ad81361",33048:"180175a3",33098:"b42f86fd",33460:"1321c8ed",33577:"a15d143b",33588:"cd17ca2f",33701:"25bfd469",33992:"b6f5c86d",34321:"3fca4d77",34438:"60e905e1",34662:"fb2368a3",34726:"72d38370",34750:"1e7df9e7",34935:"2d5f4656",34975:"e4112614",35223:"d00b6e10",35540:"87aff258",35563:"ea252326",35654:"07e62338",35742:"e08a145a",35748:"7b09cedb",35884:"22aa93e5",36058:"6a13b234",36100:"0502fbc3",36132:"937c33f0",36353:"4de9bab6",36572:"edfed652",36731:"658424dc",36886:"8aaaa526",36920:"2ffe0535",37107:"457955a3",37296:"c4fdf168",37516:"ae64149c",37655:"a4336309",37710:"f06b9e79",37758:"4da11cb1",37850:"6e674056",37990:"d75149ed",38031:"f0396c00",38419:"c1191973",38471:"fe6a6334",38527:"15bc909b",38610:"8b43a310",38691:"16fea600",38717:"2a439f75",38792:"89e64fc5",38853:"a5515f03",38864:"72f6fb46",39026:"5334a226",39056:"ee74fe7d",39080:"b0585cee",39228:"441ef16c",39294:"9634b173",39408:"422c6350",39431:"529c6ee9",39482:"4451e89f",39503:"18fac5cf",39558:"74c339d9",39757:"e8a4973d",39823:"653ca755",39911:"46e0568e",40271:"5e6bd9c0",40374:"7ed0227f",40563:"2a5279fd",40575:"149c4540",41237:"78ef8b62",41507:"83abc862",41865:"01c485ca",42083:"a1723a5f",42206:"18d5693f",42434:"532ca6ec",42800:"fa5732a8",42901:"da14ef8e",43174:"1ae5b0b4",43246:"c0703b79",43444:"7d8b1654",43773:"1b7ff4ab",43834:"4f342163",43848:"92cfe76c",43888:"aa8fd92a",43903:"e4c94057",43949:"29ab9758",44046:"8058817e",44103:"0c150d88",44141:"fb31070e",44164:"0218091d",44189:"c688c3ac",44486:"0d44e3b2",44602:"0f818018",44609:"461b4926",44630:"e873d45b",44769:"ad7087e8",44816:"76259a84",44947:"793e3f30",45072:"17eb9a78",45141:"0422a0ee",45268:"cfd0889c",45295:"4248d016",45474:"49030196",45655:"6beda4fc",45679:"c8514dc5",45724:"3d7416ea",45742:"f2db22e3",46119:"5d911f90",46268:"cebacb03",46364:"7fab948c",46429:"0275aaf8",46563:"798407c3",46643:"5cd43758",46688:"9745b4ab",46921:"97629923",46961:"8a1f635a",47108:"06b66793",47120:"78fb2058",47127:"76fbb443",47256:"57880651",47264:"4aed6d18",47322:"f0ea7d7b",47341:"0492598d",47452:"5e9a2459",47472:"063e336f",47527:"0e612b80",47627:"bb35fa43",47719:"16d15d6b",47758:"e8864681",48099:"9dc1013b",48124:"a99c83c4",48134:"8bdfbff2",48235:"8037e889",48276:"0ac13bb2",48436:"61a45365",48552:"4a8f654e",48579:"78921083",48665:"0ada6aae",49316:"5363916a",49406:"424eb54b",49455:"648c4ce5",49625:"80c70c34",49658:"c4861fb8",49921:"fc6d4e12",50041:"7ed6da9f",50404:"8fb196bc",50734:"c4703693",50765:"616b4b7f",50908:"0ee266e6",51143:"1b201809",51205:"010f2df3",51349:"e99f8c5a",51379:"493dd3c5",51637:"ff7c1499",51780:"b133e3d9",51782:"2d007aca",51865:"3a6d59b9",52302:"c6b53e5d",52365:"b26e6537",52529:"9c10b4e2",52723:"3e4df075",52961:"a184b649",53084:"bdba8810",53148:"011ea0b4",53357:"b36dd3e8",53774:"e1ef7d5d",54049:"eee29418",54220:"8448c1c4",54530:"23a82c91",54582:"a5d7603c",54705:"3f738e4b",54905:"bc44bc6d",55011:"a6788f4d",55324:"148ff9a6",55388:"4fe45eee",55664:"17b9e76d",56264:"6318e439",56282:"3e130e49",56417:"0cd41893",56420:"7334a2e9",56449:"62146a1b",56532:"0263ed6f",56660:"b925dfa2",56684:"f0421b7a",56764:"8b28de2e",57035:"e5ba70d9",57356:"ab90e540",57694:"817841bd",57790:"794c39eb",57869:"7d3d53bd",58022:"760b5b6c",58718:"afd35ec4",58800:"2fa57623",59032:"5f666fa6",59075:"71f01f4d",59221:"7947d799",59327:"2ee22f03",59409:"2cccb1fe",59599:"dcf9c22e",59949:"b6f2d6a3",60071:"e18d75db",60365:"c53174c4",60759:"979081a2",60880:"4a5af84f",60886:"2988e127",60893:"262267dc",60908:"631ff7e3",61114:"dfddc8b1",61252:"d531b1a5",61273:"a36f2fd4",61291:"6cda27f6",61358:"1867a69b",61368:"aeef1db6",61505:"1a21d780",61730:"6ea4f6a4",61977:"32a24abf",62059:"34998d9d",62134:"9ffaf69c",62357:"7888230a",62362:"6e67f6cf",62573:"432f0db1",62814:"e4db8fbd",62921:"aeda3551",62929:"90a8e262",63474:"bdf60564",63538:"49330bae",63706:"79076a44",63737:"8dc4c8aa",63747:"4a61d19d",63960:"ec034579",64019:"28758d03",64284:"2bd77eda",64558:"4d1cac39",64641:"913ae86b",64651:"0f464cda",64665:"76eda960",65110:"a963d653",65142:"b24dbfa5",65312:"8f50addd",65352:"24ab1a2a",65433:"a26cc163",65542:"e83efb34",65571:"542635f9",65655:"486883bf",65755:"7fde95d5",65784:"c9e4936e",65847:"1c50deb4",65866:"70fe52c2",66225:"1845c31b",66339:"bd5d4432",66811:"0da3ceb7",66850:"a8558aef",66868:"c54fe4d0",66885:"3909e763",66912:"acc66a5a",66929:"d218d95f",67016:"f8e07181",67059:"ed96df7a",67068:"36e6731b",67098:"03929b29",67217:"f0457378",67349:"4808f8ab",67458:"5bae4e2e",67532:"0f008a1a",67570:"12aff88e",67706:"b0edda93",67714:"7fbd772f",68230:"8cdcec50",68251:"27190b16",68364:"3826ed74",68391:"15261a3f",68700:"878eb230",68874:"e157169d",68912:"868278bd",68915:"0ed0c714",68960:"5c27a458",68962:"70b6a4d6",69050:"24536720",69779:"f46c10f0",69816:"cd56545f",69891:"3eb6da45",69979:"f8f19bc3",70115:"6fdf9a7d",70326:"23742192",70669:"1c903b6c",70843:"18511ed0",70934:"aacde903",71247:"444da1bc",71341:"704bb2ba",71383:"9560230b",71826:"91727c5e",71907:"6087ac78",71967:"515cc3c8",72074:"9823718c",72132:"61d0fb6e",72188:"c6457b90",72231:"a16562c3",72422:"13084b4a",72561:"b8c15734",73107:"c8f5d06c",73379:"f8579888",73480:"53c5dffd",73932:"7e71812f",73939:"1bcf9a4e",74081:"f369eae2",74431:"05faa640",74520:"26e37902",74583:"8fcc3b93",74780:"9ef3091a",74834:"6e4020d0",74860:"8b2e9676",74961:"18868c0e",75412:"851da555",75702:"af81e46c",75822:"af84bb3c",75868:"73753a39",75965:"87f800a3",76093:"5e402a98",76224:"4a337291",76238:"37095157",76350:"cdc406f8",76372:"427b7110",76768:"ec9c773c",76973:"36cad622",77137:"aedda13e",77313:"7c49672d",77318:"079c2535",77567:"f077f609",77757:"55c5f717",78007:"bffb3aa0",78416:"92157af7",78630:"52cb145d",78631:"32793266",78702:"e42a8268",79028:"1c5e1b17",79048:"0f54d2a9",79052:"2597209b",79225:"2b405a5e",79354:"c4b8e5cf",79526:"8c4d4ea3",79628:"aba47b7f",79825:"487d4fe6",79956:"b44a93bb",79983:"8fb557e5",80124:"cf03d623",80190:"2151b287",80549:"927ce320",80721:"724f52f5",81291:"34d69721",81445:"8e63aeb1",81509:"ffa79dd6",81657:"e9c4c968",81790:"70944d29",81805:"06277f56",81849:"7c7a86cc",82075:"05c5cb73",82099:"ceeaa266",82201:"abce6fa4",82237:"787c04ec",82261:"56d05024",82439:"6e17edce",82477:"c1a9fb74",83072:"4a3c32da",83287:"3bd3171e",83294:"99d774e2",83720:"f1655082",83752:"0e738f7e",83943:"a64bf43a",84092:"8037d74d",84219:"c9a52c69",84492:"aac2578e",84605:"dda220f4",84656:"ee4b1f89",84750:"3cb9395a",84850:"30a1320a",85026:"b146d7bd",85155:"f5746601",85462:"8305afa0",85527:"cd83bdd9",85528:"74b87448",85556:"8952cc16",85943:"47cbb047",86012:"713ed951",86037:"3e3ca792",86057:"390bd7e1",86106:"28a6ab59",86298:"2b90b295",86546:"5dd8e541",86886:"25742600",86887:"508da014",86992:"813995a0",87012:"9b3d3cfe",87126:"70ffb610",87402:"211c0534",87501:"ed510fe4",87510:"3ce53dbf",87760:"d2b2d2c3",88048:"fcbe8eff",88131:"b632d02c",88494:"f9f8f001",88495:"452f0be1",88790:"84a2be5e",88843:"152ff9f1",88946:"d896746f",89598:"9564b3ff",90049:"631f2ec4",90642:"b825e084",90780:"3a2bb595",90899:"dce9458d",90986:"7bcc0576",91131:"d5558d28",91194:"407298e3",91258:"15aee314",91395:"16f406a0",92113:"4ea6c011",92170:"83684ee4",92205:"7094ab16",92687:"bb260a5c",92811:"a99fae46",92896:"bdb85543",93036:"51251aca",93087:"64286f41",93203:"09ea14b1",93503:"89a06a4a",93833:"bad49015",93842:"99bd467c",94205:"c4d761cb",94493:"b9fa52c9",94594:"705d29b8",94642:"88355706",94725:"6d9c4ec3",94811:"37da4193",95191:"dc4962af",95223:"7d26a2a6",95409:"8393e70e",95909:"d9e176aa",96414:"68c49e52",96449:"bd671d71",96815:"28aa9d74",96991:"c38bcb59",97034:"8a120790",97191:"8f5992aa",97289:"b468ced8",97458:"036de6e1",97499:"c9fc3141",97785:"62f0f347",97847:"a4d3ea63",98042:"a7352085",98116:"bdc39478",98175:"b82b2d9f",98484:"480e97fc",98498:"90e26889",98548:"290650fe",98601:"9ad80dce",98996:"8b6044d3",99094:"bb03c5f6",99340:"c5c0cf6c",99341:"f242f189",99591:"823e72a3",99644:"134ec1cf",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),f={},c="serverpod-docs:",t.l=(e,a,d,b)=>{if(f[e])f[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 c=f[e];if(delete f[e],r.parentNode&&r.parentNode.removeChild(r),c&&c.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",68401255:"20210",79840965:"3877",91633089:"7656",92466816:"39911",96331245:"68700",96523456:"24295",cb867d98:"456","3f04b2f3":"565","3f4d54c7":"589",cdc118a8:"762",f8dd123c:"1006","638e38ae":"1160",b685e31b:"1171",af9b8c85:"1441","02c0cfe0":"1572","1921e4ca":"1705",bdc5a52e:"1832","2796447e":"1871",b32c213b:"1923",dbf9e27d:"1970","27e827f8":"2278","0a5c01b2":"2295",a1610459:"2316","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","9644aa4e":"4645",da698f4c:"5000",beab84d5:"5268","8baf194b":"5344","52f87500":"5352",af1c5d2b:"5441",ebd4b56d:"5547","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","51dd138a":"7956","94b2bc9a":"8271","06a408fe":"8349","4c5c4c2e":"8500","82e43b76":"8734",b8787c81:"8927","02e914fe":"9215","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",f02fca7f:"12902","076cf272":"13018",d3938b1f:"13019","5839343c":"13455",e84b4e80:"13535",ea237062:"13585","2d11a680":"13650",f4322d5c:"14080","95a5d2b2":"14237",f5e72c0a:"14432","8612c3ac":"14578","7c8e5227":"14936",fe3f3783:"15066","83c6f999":"15246",fc471c47:"15422","30bd0f5b":"15447",baba055e:"15536",fe7002a3:"15955",e839f599:"16029",reactPlayerDailyMotion:"16328","616631fd":"16602","710ac1c1":"16678","444a6d4e":"16869","4ed1e0ac":"16884","5596dd05":"16945","828ace52":"17021",f9bde383:"17209","45939ed5":"17289","55f37562":"17320","070c8c93":"17776",ebd05845:"17820","4b539d9d":"18025","0841186f":"18093",reactPlayerYouTube:"18446",c36ed66b:"18776","2fca5c64":"19049","87ab7385":"19738","986f0f98":"20033","22f51758":"20423","704545ab":"20515",e66f2658:"20681",d4fc3158:"20773","4ab30eec":"20826","82444e58":"21611","57012fa6":"21983","3020aab5":"22309",d3af5b3c:"22422",ceb48fe7:"22447",f5a589e7:"22451","59df87e8":"22611",fb6429ba:"22701","141135bb":"22750","676f1bdb":"23321","5af30237":"23452",ed64c12e:"23453",f6affd6e:"23619","956829f8":"23870","44dc7864":"23983",ec91ff36:"24078","1d39c85d":"24158",d158719f:"24636","8423508e":"24796","02e41de2":"24832","5bc657fa":"25362","3edac44d":"25427","0f2c2e36":"25504","522ca66b":"25666","9a594c98":"25691","7ca2e59a":"25692",reactPlayerVimeo:"26173","431ffdb5":"26376","93ae665a":"26411",a4adf53f:"26499",d9107a6a:"26622",fe33edfa:"26766","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","373bc822":"30067",b1218054:"30248","6feb7661":"30418","3141060a":"30473","1323771c":"30528","85d514f3":"30765","38e9742f":"30773","1a39ee04":"30799","4aa94ec1":"30941","626d8d5f":"31080","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",fde0b76a:"32744","7800d508":"32759",f9de1e68:"32789","272aa200":"32944","25c6d77a":"33048","71ba2dc1":"33098","9107c65f":"33460",a32c313f:"33577","10933a93":"33588","4e5965c3":"33701",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","6decf956":"37655",abd13aa2:"37710","0e764995":"37758",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","438ea691":"39294",fe2e2e26:"39408",cdd4a9c6:"39431","327b0a57":"39482","50f2f9f3":"39558","9e0c2c37":"39757","5ed5f7a9":"39823","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","9aaed8b4":"43949","5d707891":"44046","75829dda":"44103",cb43ed9b:"44141",a24f0440:"44164",f5602aa3:"44189",c0650537:"44486","69fcd2fc":"44602",c5313007:"44609","65b7208a":"44630","4a7af9ca":"44769","36fcb744":"44816","39ec0930":"44947","7c299f6a":"45072",b1394c86:"45141",ef4456b5:"45268",f29fc884:"45295","79d28454":"45474","4a55fe3a":"45655","50d72525":"45679","8dfd8953":"45724",c377a04b:"45742",d58f1ee2:"46119","26ad82e9":"46268",fe522f67:"46364","6e1b24e9":"46429",aeef55f7:"46563","53d20392":"46643",ac3101e9:"46688",d0b9ca74:"46921","2bbc2deb":"46961","075f0e80":"47108",dcbfe205:"47120","999788b8":"47127","7b09383e":"47256",b9ec56c8:"47264",a7f9f0ff:"47322","7f0714d1":"47341",a7b0b2b7:"47452","71f9ed0c":"47472","93dcedec":"47527",reactPlayerStreamable:"47627",b7ea99f7:"47719","1b9544a9":"47758","12a78962":"48099","8f509517":"48124","356ce494":"48134",df15bc7d:"48235",b467d32a:"48276",f6adf820:"48436","954e932f":"48552","566f49fb":"48579","0f4a5c74":"48665","510b9307":"49316",b26210db:"49406",c8139b75:"49455",ff61db29:"49625","0d76317c":"49658",fc8b5a5d:"49921",ac002d2b:"50041","98f4e1ec":"50404",eb44eb85:"50734",bf519c8d:"50765","3fbaac07":"50908",fc6f07d2:"51143",db42f242:"51205","4aec9039":"51349","17f04a83":"51379","81e4ed6a":"51637",eecc43ff:"51780","09ca145d":"51782",a768738b:"51865",e7ee6027:"52302","280af06a":"52365",e3d58533:"52529",reactPlayerMux:"52723","8bf57c9f":"52961","23975af2":"53084","9b4ab8cd":"53148","1577f7ed":"53357","4867e743":"54049","092bf57d":"54220",a271ef09:"54530","984d6493":"54582","33af2f09":"54705","98d962c5":"54905","49145cdf":"55011",c94e1931:"55324",b2419a00:"55388","169f3d24":"55664","46eeb6cb":"56264",d636c09f:"56282","538bb064":"56417",fd4b36bb:"56420","6bb5bff7":"56449","4205d879":"56532",f30d2866:"56660","378935ce":"56684","805a59dc":"56764",f527bef3:"57035",bb9c591b:"57356","21b7a589":"57694","1b218eaa":"57790",a7edc2bd:"57869",c134ef8a:"58022",afb7a97b:"58718","5144cf5e":"58800","8ffcd916":"59032","6e29a506":"59075","76259cc3":"59221","03db70c9":"59327",a64b2578:"59409","1e1f8072":"59599","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","7a9b3614":"62814","1d7c691c":"62921",f5fed352:"62929","98c94590":"63474","06393fc1":"63538","2b67eda4":"63706","53e9dd7a":"63737",fb72d7b2:"63747",a6397568:"63960","6fb78fba":"64019","13ee52e7":"64284",b91fbf2a:"64558",eac16e1d:"64641","4c781063":"64651","6f44ab90":"64665","063d75bd":"65110",eb4c176e:"65142","729daf19":"65312",ed3aad8c:"65352","616bfcf6":"65433",af754a1f:"65542",a1df5076:"65571","1ebbfca8":"65655",bafd283f:"65755","90239e6e":"65784",e49a3b4b:"65847","419cd6b8":"65866","9f8e6d57":"66225","03b2528f":"66339","3e87058f":"66811","0c695afe":"66850","3c4af576":"66868","5e253f2f":"66885","51907bd1":"66912",da54b976:"66929",dc576323:"67016","9e6051e1":"67059",ae0eacdd:"67068",a7bd4aaa:"67098","726a6c22":"67217","61ff6850":"67349","0d271e1e":"67458","49fed513":"67532",reactPlayerMixcloud:"67570",e7f4b98d:"67706","9d7352c0":"67714","3cf6fa35":"68230",eaa4efd8:"68251","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",b018547e:"70669",a518290b:"70843",d44e0d1c:"70934","308471de":"71247",f7ebdce2:"71341","087cd58c":"71383",a4c89d62:"71826","86a8bb6c":"71907","4fa4eafa":"71967","71319bec":"72074","83ac10ed":"72132","44b88e48":"72188",fe170cc9:"72231","521e3baf":"72422",adce8179:"72561","646cbece":"73107","9d779d8b":"73379",b2aeaed7:"73480","2020ed93":"73932","2ed96714":"73939",ce4dbf6d:"74081",f18da6aa:"74431","9addcfc7":"74520","4bfca71d":"74583",ebde045d:"74780",d26a73b8:"74834","00d14154":"74860","5c7e11fb":"74961","5390e21f":"75412","307525ba":"75702","2db99065":"75822","071f33a8":"75868",b48f41b9:"75965","7d63aba8":"76093","03b3cfd2":"76224","8615e055":"76238","9b933485":"76350",d802bb56:"76372","8bed5a26":"76768","78ae7ec8":"76973","42abcd4d":"77137",ee65edec:"77313","67e77328":"77318","4dc6f423":"77567",f6f476f1:"77757","8eead450":"78007","068743c8":"78416","959ac691":"78630",b7b014bf:"78631","82ea7079":"78702","6b48b7b8":"79028",a94703ab:"79048","6d717251":"79052","526e379a":"79225","4118187a":"79354","75a33358":"79526",a24a5808:"79628","2d4af3bf":"79825","9e09f891":"79956",a7f483d1:"79983","97efa4fc":"80124",be6201fa:"80190",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","19e2305b":"84092","51e50f95":"84219",ba51d442:"84492","8552f549":"84605","813cfb2f":"84656",aefdd881:"84750",bc03f89b:"84850","83fd2af9":"85026",f640cf83:"85155","9270ba4f":"85462","5143312c":"85527","21e10cde":"85528","21a4ba71":"85556","05fbef88":"85943",da202fdd:"86012",eaeab60b:"86037","9fbfaf6d":"86057","1877d9d5":"86106",e2d6ba1f:"86298","8a63049b":"86546","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","07006f9e":"90642","098f2604":"90780","609f97b9":"90899","6028a11d":"90986","468d57a9":"91131",cf401e04:"91194","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","39fe1b84":"94205","747fb5d3":"94493",c7507218:"94594",da19ecb4:"94642",dd31e7e9:"94725",da071cb8:"94811",c75d145e:"95191","4f4aa41c":"95223","94f11012":"95409","896258c1":"95909","794a8057":"96414","19a6be06":"96449","8d02075b":"96815","4eee9c87":"96991","0ddd0e66":"97034","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",reactPlayerWistia:"99340",a1154d73:"99341",e0bec135:"99591","1ba60223":"99644","51ddac88":"99989"}[e]||e,t.p+t.u(e)},(()=>{var e={45354:0,71869:0};t.f.j=(a,d)=>{var f=t.o(e,a)?e[a]:void 0;if(0!==f)if(f)d.push(f[2]);else if(/^(45354|71869)$/.test(a))e[a]=0;else{var c=new Promise(((d,c)=>f=e[a]=[d,c]));d.push(f[2]=c);var b=t.p+t.u(a),r=new Error;t.l(b,(d=>{if(t.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var c=d&&("load"===d.type?"missing":d.type),b=d&&d.target&&d.target.src;r.message="Loading chunk "+a+" failed.\n("+c+": "+b+")",r.name="ChunkLoadError",r.type=c,r.request=b,f[1](r)}}),"chunk-"+a,a)}},t.O.j=a=>0===e[a];var a=(a,d)=>{var f,c,b=d[0],r=d[1],o=d[2],l=0;if(b.some((a=>0!==e[a]))){for(f in r)t.o(r,f)&&(t.m[f]=r[f]);if(o)var n=o(t)}for(a&&a(d);l{"use strict";var e,a,d,f,c,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,f,c)=>{if(!d){var b=1/0;for(n=0;n=c)&&Object.keys(t.O).every((e=>t.O[e](d[o])))?d.splice(o--,1):(r=!1,c0&&e[n-1][2]>c;n--)e[n]=e[n-1];e[n]=[d,f,c]},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,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var c=Object.create(null);t.r(c);var b={};a=a||[null,d({}),d([]),d(d)];for(var r=2&f&&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(c,b),c},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",589:"3f4d54c7",762:"cdc118a8",1006:"f8dd123c",1160:"638e38ae",1171:"b685e31b",1441:"af9b8c85",1572:"02c0cfe0",1705:"1921e4ca",1832:"bdc5a52e",1871:"2796447e",1923:"b32c213b",1970:"dbf9e27d",2278:"27e827f8",2295:"0a5c01b2",2316:"a1610459",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",4645:"9644aa4e",5e3:"da698f4c",5268:"beab84d5",5344:"8baf194b",5352:"52f87500",5441:"af1c5d2b",5547:"ebd4b56d",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",7956:"51dd138a",8271:"94b2bc9a",8349:"06a408fe",8500:"4c5c4c2e",8734:"82e43b76",8927:"b8787c81",9215:"02e914fe",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",12902:"f02fca7f",13018:"076cf272",13019:"d3938b1f",13455:"5839343c",13535:"e84b4e80",13585:"ea237062",13650:"2d11a680",14080:"f4322d5c",14237:"95a5d2b2",14432:"f5e72c0a",14578:"8612c3ac",14936:"7c8e5227",15066:"fe3f3783",15246:"83c6f999",15422:"fc471c47",15447:"30bd0f5b",15536:"baba055e",15955:"fe7002a3",16029:"e839f599",16328:"reactPlayerDailyMotion",16602:"616631fd",16678:"710ac1c1",16869:"444a6d4e",16884:"4ed1e0ac",16945:"5596dd05",17021:"828ace52",17209:"f9bde383",17289:"45939ed5",17320:"55f37562",17776:"070c8c93",17820:"ebd05845",18025:"4b539d9d",18093:"0841186f",18401:"17896441",18446:"reactPlayerYouTube",18776:"c36ed66b",19049:"2fca5c64",19738:"87ab7385",20033:"986f0f98",20210:"68401255",20423:"22f51758",20515:"704545ab",20681:"e66f2658",20773:"d4fc3158",20826:"4ab30eec",21611:"82444e58",21983:"57012fa6",22309:"3020aab5",22422:"d3af5b3c",22447:"ceb48fe7",22451:"f5a589e7",22611:"59df87e8",22701:"fb6429ba",22750:"141135bb",23321:"676f1bdb",23452:"5af30237",23453:"ed64c12e",23619:"f6affd6e",23870:"956829f8",23983:"44dc7864",24078:"ec91ff36",24158:"1d39c85d",24295:"96523456",24636:"d158719f",24796:"8423508e",24832:"02e41de2",25362:"5bc657fa",25427:"3edac44d",25504:"0f2c2e36",25666:"522ca66b",25691:"9a594c98",25692:"7ca2e59a",26173:"reactPlayerVimeo",26376:"431ffdb5",26411:"93ae665a",26499:"a4adf53f",26622:"d9107a6a",26766:"fe33edfa",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",30067:"373bc822",30248:"b1218054",30418:"6feb7661",30473:"3141060a",30528:"1323771c",30765:"85d514f3",30773:"38e9742f",30799:"1a39ee04",30941:"4aa94ec1",31080:"626d8d5f",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",32744:"fde0b76a",32759:"7800d508",32789:"f9de1e68",32944:"272aa200",33048:"25c6d77a",33098:"71ba2dc1",33460:"9107c65f",33577:"a32c313f",33588:"10933a93",33701:"4e5965c3",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",37655:"6decf956",37710:"abd13aa2",37758:"0e764995",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",39294:"438ea691",39408:"fe2e2e26",39431:"cdd4a9c6",39482:"327b0a57",39558:"50f2f9f3",39757:"9e0c2c37",39823:"5ed5f7a9",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",43949:"9aaed8b4",44046:"5d707891",44103:"75829dda",44141:"cb43ed9b",44164:"a24f0440",44189:"f5602aa3",44486:"c0650537",44602:"69fcd2fc",44609:"c5313007",44630:"65b7208a",44769:"4a7af9ca",44816:"36fcb744",44947:"39ec0930",45072:"7c299f6a",45141:"b1394c86",45268:"ef4456b5",45295:"f29fc884",45474:"79d28454",45655:"4a55fe3a",45679:"50d72525",45724:"8dfd8953",45742:"c377a04b",46119:"d58f1ee2",46268:"26ad82e9",46364:"fe522f67",46429:"6e1b24e9",46563:"aeef55f7",46643:"53d20392",46688:"ac3101e9",46921:"d0b9ca74",46961:"2bbc2deb",47108:"075f0e80",47120:"dcbfe205",47127:"999788b8",47256:"7b09383e",47264:"b9ec56c8",47322:"a7f9f0ff",47341:"7f0714d1",47452:"a7b0b2b7",47472:"71f9ed0c",47527:"93dcedec",47627:"reactPlayerStreamable",47719:"b7ea99f7",47758:"1b9544a9",48099:"12a78962",48124:"8f509517",48134:"356ce494",48235:"df15bc7d",48276:"b467d32a",48436:"f6adf820",48552:"954e932f",48579:"566f49fb",48665:"0f4a5c74",49316:"510b9307",49406:"b26210db",49455:"c8139b75",49625:"ff61db29",49658:"0d76317c",49921:"fc8b5a5d",50041:"ac002d2b",50404:"98f4e1ec",50734:"eb44eb85",50765:"bf519c8d",50908:"3fbaac07",51143:"fc6f07d2",51205:"db42f242",51349:"4aec9039",51379:"17f04a83",51637:"81e4ed6a",51780:"eecc43ff",51782:"09ca145d",51865:"a768738b",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",54705:"33af2f09",54905:"98d962c5",55011:"49145cdf",55324:"c94e1931",55388:"b2419a00",55664:"169f3d24",56264:"46eeb6cb",56282:"d636c09f",56417:"538bb064",56420:"fd4b36bb",56449:"6bb5bff7",56532:"4205d879",56660:"f30d2866",56684:"378935ce",56764:"805a59dc",57035:"f527bef3",57356:"bb9c591b",57694:"21b7a589",57790:"1b218eaa",57869:"a7edc2bd",58022:"c134ef8a",58718:"afb7a97b",58800:"5144cf5e",59032:"8ffcd916",59075:"6e29a506",59221:"76259cc3",59327:"03db70c9",59409:"a64b2578",59599:"1e1f8072",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",62814:"7a9b3614",62921:"1d7c691c",62929:"f5fed352",63474:"98c94590",63538:"06393fc1",63706:"2b67eda4",63737:"53e9dd7a",63747:"fb72d7b2",63960:"a6397568",64019:"6fb78fba",64284:"13ee52e7",64558:"b91fbf2a",64641:"eac16e1d",64651:"4c781063",64665:"6f44ab90",65110:"063d75bd",65142:"eb4c176e",65312:"729daf19",65352:"ed3aad8c",65433:"616bfcf6",65542:"af754a1f",65571:"a1df5076",65655:"1ebbfca8",65755:"bafd283f",65784:"90239e6e",65847:"e49a3b4b",65866:"419cd6b8",66225:"9f8e6d57",66339:"03b2528f",66811:"3e87058f",66850:"0c695afe",66868:"3c4af576",66885:"5e253f2f",66912:"51907bd1",66929:"da54b976",67016:"dc576323",67059:"9e6051e1",67068:"ae0eacdd",67098:"a7bd4aaa",67217:"726a6c22",67349:"61ff6850",67458:"0d271e1e",67532:"49fed513",67570:"reactPlayerMixcloud",67706:"e7f4b98d",67714:"9d7352c0",68230:"3cf6fa35",68251:"eaa4efd8",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",70669:"b018547e",70843:"a518290b",70934:"d44e0d1c",71247:"308471de",71341:"f7ebdce2",71383:"087cd58c",71826:"a4c89d62",71907:"86a8bb6c",71967:"4fa4eafa",72074:"71319bec",72132:"83ac10ed",72188:"44b88e48",72231:"fe170cc9",72422:"521e3baf",72561:"adce8179",73107:"646cbece",73379:"9d779d8b",73480:"b2aeaed7",73932:"2020ed93",73939:"2ed96714",74081:"ce4dbf6d",74431:"f18da6aa",74520:"9addcfc7",74583:"4bfca71d",74780:"ebde045d",74834:"d26a73b8",74860:"00d14154",74961:"5c7e11fb",75412:"5390e21f",75702:"307525ba",75822:"2db99065",75868:"071f33a8",75965:"b48f41b9",76093:"7d63aba8",76224:"03b3cfd2",76238:"8615e055",76350:"9b933485",76372:"d802bb56",76768:"8bed5a26",76973:"78ae7ec8",77137:"42abcd4d",77313:"ee65edec",77318:"67e77328",77567:"4dc6f423",77757:"f6f476f1",78007:"8eead450",78416:"068743c8",78630:"959ac691",78631:"b7b014bf",78702:"82ea7079",79028:"6b48b7b8",79048:"a94703ab",79052:"6d717251",79225:"526e379a",79354:"4118187a",79526:"75a33358",79628:"a24a5808",79825:"2d4af3bf",79956:"9e09f891",79983:"a7f483d1",80124:"97efa4fc",80190:"be6201fa",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",84092:"19e2305b",84219:"51e50f95",84492:"ba51d442",84605:"8552f549",84656:"813cfb2f",84750:"aefdd881",84850:"bc03f89b",85026:"83fd2af9",85155:"f640cf83",85462:"9270ba4f",85527:"5143312c",85528:"21e10cde",85556:"21a4ba71",85943:"05fbef88",86012:"da202fdd",86037:"eaeab60b",86057:"9fbfaf6d",86106:"1877d9d5",86298:"e2d6ba1f",86546:"8a63049b",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",90642:"07006f9e",90780:"098f2604",90899:"609f97b9",90986:"6028a11d",91131:"468d57a9",91194:"cf401e04",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",94205:"39fe1b84",94493:"747fb5d3",94594:"c7507218",94642:"da19ecb4",94725:"dd31e7e9",94811:"da071cb8",95191:"c75d145e",95223:"4f4aa41c",95409:"94f11012",95909:"896258c1",96414:"794a8057",96449:"19a6be06",96815:"8d02075b",96991:"4eee9c87",97034:"0ddd0e66",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",99340:"reactPlayerWistia",99341:"a1154d73",99591:"e0bec135",99644:"1ba60223",99989:"51ddac88"}[e]||e)+"."+{456:"3bf529f7",565:"bed1c850",589:"0befdfa9",762:"d2174ca0",1006:"31f96bab",1160:"bdb31d58",1171:"43543aa9",1441:"fd7b300b",1572:"0cfa3362",1705:"2528c13d",1832:"68bd5dfc",1871:"575e687f",1923:"f4dc4250",1970:"cc3f99ad",2278:"52a102f5",2295:"5302c2da",2316:"6dfad0b4",2496:"48da3b37",2730:"a304021f",3202:"503450b2",3230:"e99996b9",3249:"cad0d93e",3392:"8464e17b",3607:"41af52b1",3705:"08936b46",3783:"04c7a56f",3877:"bbb12f8a",3900:"4eee5db3",4272:"5327c9b2",4276:"0ff680f6",4499:"8a0343dd",4550:"800c1410",4645:"a270f8fb",5e3:"65b6fa57",5268:"c5f6e420",5344:"4fb59513",5352:"5c276b6d",5441:"a0d10636",5547:"f81de728",5623:"b20ed08c",5819:"12ce2193",5827:"3e25f443",5885:"24306e07",6129:"049e2657",6157:"eff98bd1",6215:"31ae42b7",6231:"e9adaca6",6236:"13db7b1d",6262:"e675b845",6265:"12404f60",6308:"2d156f2f",6463:"bec1a06c",6486:"22f47090",6497:"fadb7e82",6615:"e0733f11",6918:"cef59c19",7161:"09ca0649",7267:"2eb42cd5",7606:"b220f86c",7656:"a4a92bc4",7681:"a424d259",7701:"49318b54",7785:"2a8785a9",7848:"8ea818c7",7956:"2e3fbdcc",8271:"cbe74f6b",8349:"5f85a47c",8500:"d7bf511f",8734:"29b499c2",8927:"6f999770",9215:"5574cece",9264:"7fdd1f29",9524:"e29aaf6f",9606:"1957caed",9640:"6a5d88d6",9647:"cac24016",9671:"e8d1d6ac",9837:"2990961f",10348:"78f9f4e8",10443:"29567304",10700:"ce11f188",10845:"6add59b6",10907:"cf9dba7a",11139:"7e17d20e",11184:"b3a25d5a",11301:"15f51fd1",11567:"37a3cdad",11607:"a1c095dc",11721:"ddee74d7",11784:"3d5cf7c1",11934:"1770953b",11965:"d777c784",12007:"0a983281",12042:"a0c42814",12219:"401c0d07",12237:"a9b0cc23",12716:"5099e1c9",12744:"616414a6",12766:"cb4da8e3",12827:"6118b61c",12902:"444cec4c",13018:"3383df8d",13019:"600402c2",13455:"7278ce8a",13535:"8c2fe49b",13585:"00bae75a",13650:"d1b07f39",14080:"6a723b72",14237:"9cb32cf1",14432:"b2c74608",14578:"9cd22e2b",14936:"082570fa",15066:"95c7a677",15246:"740dce57",15422:"f8904b6d",15447:"04e69fb0",15536:"0591c7e4",15955:"6cdb02af",16029:"a1ecc271",16328:"4fa8d3c8",16602:"031b46ad",16678:"6f234e7f",16869:"81a2a888",16884:"07f5d6a4",16945:"46037186",17021:"481eaf6f",17209:"ad9bd8b6",17289:"48e0340f",17320:"baac871f",17776:"c0410a93",17820:"ecdb30e3",18025:"ec1649c0",18093:"88a93afb",18401:"30c4f83a",18446:"150ff8a0",18776:"01b81203",19049:"cc505400",19738:"5bbb4e27",20033:"4d9de467",20210:"4987d48c",20423:"9464251e",20515:"ed6cf262",20681:"895a60b0",20773:"7b374ff9",20826:"4abb5e3c",21611:"2812dc09",21983:"dbbb4174",22309:"248029f7",22422:"7b57c7c1",22447:"67663617",22451:"0d9f4fa7",22611:"66463762",22701:"8b651e24",22750:"a8cb4c36",23321:"2095330e",23452:"52cb7538",23453:"2cb5d6e7",23619:"d3f9ca62",23870:"0c70301a",23983:"34ff443e",24078:"40b61f09",24158:"9e048aeb",24295:"b02c6044",24636:"63cf56d9",24796:"6cf0f3ca",24832:"7934d2f9",25362:"969e76f4",25427:"f4fc9661",25504:"c5325f85",25666:"49b116a0",25691:"b202a53f",25692:"22af4f62",26173:"076fef9c",26376:"82580212",26411:"02cefa64",26499:"ed5ef33e",26622:"33a2684a",26766:"939d4598",27168:"ea09aa96",27350:"b622f983",27547:"02ef84ba",27646:"ab0d6065",27685:"2e22137f",27740:"085fef8a",27800:"c67865e5",28235:"1004749b",29248:"098f61c2",29250:"748fbf44",29285:"c6a44719",29436:"4d0944b8",29773:"3ce3a554",30067:"89867601",30248:"63c91dea",30418:"5eff8ee1",30473:"3550d0ba",30528:"d0410269",30765:"2cb51d03",30773:"a71ee3b7",30799:"17eeaa9c",30941:"c3f340a8",31080:"f9af4c7d",31165:"2403bfef",31267:"4162a3e6",31471:"9b6dda95",31474:"d994a20f",31727:"1543b3aa",32055:"a70c3cf6",32096:"49650e68",32111:"a59aa3ce",32141:"94108e98",32163:"c9c0455c",32178:"f452c1e3",32406:"388ba990",32461:"df6ca91d",32492:"0022b426",32504:"a3895f2a",32741:"f7508f8d",32744:"eddf052b",32759:"c7341e25",32789:"eef1db39",32944:"3ad81361",33048:"180175a3",33098:"b42f86fd",33460:"1321c8ed",33577:"a15d143b",33588:"cd17ca2f",33701:"25bfd469",33992:"b6f5c86d",34321:"3fca4d77",34438:"60e905e1",34662:"fb2368a3",34726:"72d38370",34750:"1e7df9e7",34935:"2d5f4656",34975:"e4112614",35223:"d00b6e10",35540:"87aff258",35563:"ea252326",35654:"07e62338",35742:"e08a145a",35748:"7b09cedb",35884:"22aa93e5",36058:"6a13b234",36100:"0502fbc3",36132:"937c33f0",36353:"4de9bab6",36572:"edfed652",36731:"658424dc",36886:"8aaaa526",36920:"2ffe0535",37107:"457955a3",37296:"c4fdf168",37516:"ae64149c",37655:"a4336309",37710:"f06b9e79",37758:"4da11cb1",37850:"6e674056",37990:"d75149ed",38031:"f0396c00",38419:"c1191973",38471:"fe6a6334",38527:"15bc909b",38610:"8b43a310",38691:"16fea600",38717:"2a439f75",38792:"89e64fc5",38853:"a5515f03",38864:"72f6fb46",39026:"5334a226",39056:"ee74fe7d",39080:"b0585cee",39228:"441ef16c",39294:"9634b173",39408:"422c6350",39431:"529c6ee9",39482:"4451e89f",39503:"18fac5cf",39558:"74c339d9",39757:"e8a4973d",39823:"653ca755",39911:"46e0568e",40271:"5e6bd9c0",40374:"7ed0227f",40563:"2a5279fd",40575:"149c4540",41237:"78ef8b62",41507:"83abc862",41865:"01c485ca",42083:"a1723a5f",42206:"18d5693f",42434:"532ca6ec",42800:"fa5732a8",42901:"da14ef8e",43174:"1ae5b0b4",43246:"c0703b79",43444:"7d8b1654",43773:"1b7ff4ab",43834:"4f342163",43848:"92cfe76c",43888:"aa8fd92a",43903:"e4c94057",43949:"29ab9758",44046:"8058817e",44103:"0c150d88",44141:"fb31070e",44164:"0218091d",44189:"c688c3ac",44486:"0d44e3b2",44602:"0f818018",44609:"461b4926",44630:"e873d45b",44769:"ad7087e8",44816:"76259a84",44947:"793e3f30",45072:"17eb9a78",45141:"0422a0ee",45268:"cfd0889c",45295:"4248d016",45474:"49030196",45655:"6beda4fc",45679:"c8514dc5",45724:"3d7416ea",45742:"f2db22e3",46119:"5d911f90",46268:"cebacb03",46364:"7fab948c",46429:"0275aaf8",46563:"798407c3",46643:"5cd43758",46688:"9745b4ab",46921:"97629923",46961:"8a1f635a",47108:"06b66793",47120:"78fb2058",47127:"76fbb443",47256:"57880651",47264:"4aed6d18",47322:"f0ea7d7b",47341:"0492598d",47452:"5e9a2459",47472:"063e336f",47527:"0e612b80",47627:"bb35fa43",47719:"16d15d6b",47758:"e8864681",48099:"9dc1013b",48124:"a99c83c4",48134:"8bdfbff2",48235:"8037e889",48276:"0ac13bb2",48436:"61a45365",48552:"4a8f654e",48579:"78921083",48665:"0ada6aae",49316:"5363916a",49406:"424eb54b",49455:"648c4ce5",49625:"80c70c34",49658:"c4861fb8",49921:"fc6d4e12",50041:"7ed6da9f",50404:"8fb196bc",50734:"c4703693",50765:"616b4b7f",50908:"0ee266e6",51143:"1b201809",51205:"010f2df3",51349:"e99f8c5a",51379:"493dd3c5",51637:"ff7c1499",51780:"b133e3d9",51782:"2d007aca",51865:"3a6d59b9",52302:"c6b53e5d",52365:"b26e6537",52529:"9c10b4e2",52723:"3e4df075",52961:"a184b649",53084:"bdba8810",53148:"011ea0b4",53357:"b36dd3e8",53774:"e1ef7d5d",54049:"eee29418",54220:"8448c1c4",54530:"23a82c91",54582:"a5d7603c",54705:"3f738e4b",54905:"bc44bc6d",55011:"a6788f4d",55324:"148ff9a6",55388:"4fe45eee",55664:"17b9e76d",56264:"6318e439",56282:"3e130e49",56417:"0cd41893",56420:"7334a2e9",56449:"62146a1b",56532:"0263ed6f",56660:"b925dfa2",56684:"f0421b7a",56764:"8b28de2e",57035:"e5ba70d9",57356:"ab90e540",57694:"817841bd",57790:"794c39eb",57869:"7d3d53bd",58022:"760b5b6c",58718:"afd35ec4",58800:"0930c9ed",59032:"5f666fa6",59075:"71f01f4d",59221:"7947d799",59327:"2ee22f03",59409:"2cccb1fe",59599:"dcf9c22e",59949:"b6f2d6a3",60071:"e18d75db",60365:"c53174c4",60759:"979081a2",60880:"4a5af84f",60886:"2988e127",60893:"262267dc",60908:"631ff7e3",61114:"dfddc8b1",61252:"d531b1a5",61273:"a36f2fd4",61291:"6cda27f6",61358:"1867a69b",61368:"aeef1db6",61505:"1a21d780",61730:"6ea4f6a4",61977:"32a24abf",62059:"34998d9d",62134:"9ffaf69c",62357:"7888230a",62362:"6e67f6cf",62573:"432f0db1",62814:"e4db8fbd",62921:"aeda3551",62929:"90a8e262",63474:"bdf60564",63538:"49330bae",63706:"79076a44",63737:"8dc4c8aa",63747:"4a61d19d",63960:"ec034579",64019:"28758d03",64284:"2bd77eda",64558:"4d1cac39",64641:"913ae86b",64651:"0f464cda",64665:"76eda960",65110:"a963d653",65142:"b24dbfa5",65312:"8f50addd",65352:"24ab1a2a",65433:"a26cc163",65542:"e83efb34",65571:"542635f9",65655:"486883bf",65755:"7fde95d5",65784:"c9e4936e",65847:"1c50deb4",65866:"70fe52c2",66225:"1845c31b",66339:"bd5d4432",66811:"0da3ceb7",66850:"a8558aef",66868:"c54fe4d0",66885:"3909e763",66912:"acc66a5a",66929:"d218d95f",67016:"f8e07181",67059:"ed96df7a",67068:"36e6731b",67098:"03929b29",67217:"f0457378",67349:"4808f8ab",67458:"5bae4e2e",67532:"0f008a1a",67570:"12aff88e",67706:"b0edda93",67714:"7fbd772f",68230:"8cdcec50",68251:"27190b16",68364:"3826ed74",68391:"15261a3f",68700:"878eb230",68874:"e157169d",68912:"868278bd",68915:"0ed0c714",68960:"5c27a458",68962:"70b6a4d6",69050:"24536720",69779:"f46c10f0",69816:"cd56545f",69891:"3eb6da45",69979:"f8f19bc3",70115:"6fdf9a7d",70326:"23742192",70669:"1c903b6c",70843:"18511ed0",70934:"aacde903",71247:"444da1bc",71341:"704bb2ba",71383:"9560230b",71826:"91727c5e",71907:"6087ac78",71967:"515cc3c8",72074:"9823718c",72132:"61d0fb6e",72188:"c6457b90",72231:"a16562c3",72422:"13084b4a",72561:"b8c15734",73107:"c8f5d06c",73379:"f8579888",73480:"53c5dffd",73932:"7e71812f",73939:"1bcf9a4e",74081:"f369eae2",74431:"05faa640",74520:"26e37902",74583:"8fcc3b93",74780:"9ef3091a",74834:"6e4020d0",74860:"8b2e9676",74961:"18868c0e",75412:"851da555",75702:"af81e46c",75822:"af84bb3c",75868:"73753a39",75965:"87f800a3",76093:"5e402a98",76224:"4a337291",76238:"37095157",76350:"cdc406f8",76372:"427b7110",76768:"ec9c773c",76973:"36cad622",77137:"aedda13e",77313:"7c49672d",77318:"079c2535",77567:"f077f609",77757:"55c5f717",78007:"bffb3aa0",78416:"92157af7",78630:"52cb145d",78631:"32793266",78702:"e42a8268",79028:"1c5e1b17",79048:"0f54d2a9",79052:"2597209b",79225:"2b405a5e",79354:"c4b8e5cf",79526:"8c4d4ea3",79628:"aba47b7f",79825:"487d4fe6",79956:"b44a93bb",79983:"8fb557e5",80124:"cf03d623",80190:"2151b287",80549:"927ce320",80721:"724f52f5",81291:"34d69721",81445:"8e63aeb1",81509:"ffa79dd6",81657:"e9c4c968",81790:"70944d29",81805:"06277f56",81849:"7c7a86cc",82075:"05c5cb73",82099:"ceeaa266",82201:"abce6fa4",82237:"787c04ec",82261:"56d05024",82439:"6e17edce",82477:"c1a9fb74",83072:"4a3c32da",83287:"3bd3171e",83294:"99d774e2",83720:"f1655082",83752:"0e738f7e",83943:"a64bf43a",84092:"8037d74d",84219:"c9a52c69",84492:"aac2578e",84605:"dda220f4",84656:"ee4b1f89",84750:"3cb9395a",84850:"30a1320a",85026:"b146d7bd",85155:"f5746601",85462:"8305afa0",85527:"cd83bdd9",85528:"74b87448",85556:"8952cc16",85943:"47cbb047",86012:"713ed951",86037:"3e3ca792",86057:"390bd7e1",86106:"28a6ab59",86298:"2b90b295",86546:"5dd8e541",86886:"25742600",86887:"508da014",86992:"813995a0",87012:"9b3d3cfe",87126:"70ffb610",87402:"211c0534",87501:"ed510fe4",87510:"3ce53dbf",87760:"d2b2d2c3",88048:"fcbe8eff",88131:"b632d02c",88494:"f9f8f001",88495:"452f0be1",88790:"84a2be5e",88843:"152ff9f1",88946:"d896746f",89598:"9564b3ff",90049:"631f2ec4",90642:"b825e084",90780:"3a2bb595",90899:"dce9458d",90986:"7bcc0576",91131:"d5558d28",91194:"407298e3",91258:"15aee314",91395:"16f406a0",92113:"4ea6c011",92170:"83684ee4",92205:"7094ab16",92687:"bb260a5c",92811:"a99fae46",92896:"bdb85543",93036:"51251aca",93087:"64286f41",93203:"09ea14b1",93503:"89a06a4a",93833:"bad49015",93842:"99bd467c",94205:"c4d761cb",94493:"f1fe028b",94594:"705d29b8",94642:"88355706",94725:"6d9c4ec3",94811:"37da4193",95191:"dc4962af",95223:"7d26a2a6",95409:"8393e70e",95909:"d9e176aa",96414:"68c49e52",96449:"bd671d71",96815:"28aa9d74",96991:"c38bcb59",97034:"8a120790",97191:"8f5992aa",97289:"b468ced8",97458:"036de6e1",97499:"c9fc3141",97785:"62f0f347",97847:"a4d3ea63",98042:"a7352085",98116:"bdc39478",98175:"b82b2d9f",98484:"480e97fc",98498:"90e26889",98548:"290650fe",98601:"9ad80dce",98996:"8b6044d3",99094:"bb03c5f6",99340:"c5c0cf6c",99341:"f242f189",99591:"823e72a3",99644:"134ec1cf",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),f={},c="serverpod-docs:",t.l=(e,a,d,b)=>{if(f[e])f[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 c=f[e];if(delete f[e],r.parentNode&&r.parentNode.removeChild(r),c&&c.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",68401255:"20210",79840965:"3877",91633089:"7656",92466816:"39911",96331245:"68700",96523456:"24295",cb867d98:"456","3f04b2f3":"565","3f4d54c7":"589",cdc118a8:"762",f8dd123c:"1006","638e38ae":"1160",b685e31b:"1171",af9b8c85:"1441","02c0cfe0":"1572","1921e4ca":"1705",bdc5a52e:"1832","2796447e":"1871",b32c213b:"1923",dbf9e27d:"1970","27e827f8":"2278","0a5c01b2":"2295",a1610459:"2316","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","9644aa4e":"4645",da698f4c:"5000",beab84d5:"5268","8baf194b":"5344","52f87500":"5352",af1c5d2b:"5441",ebd4b56d:"5547","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","51dd138a":"7956","94b2bc9a":"8271","06a408fe":"8349","4c5c4c2e":"8500","82e43b76":"8734",b8787c81:"8927","02e914fe":"9215","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",f02fca7f:"12902","076cf272":"13018",d3938b1f:"13019","5839343c":"13455",e84b4e80:"13535",ea237062:"13585","2d11a680":"13650",f4322d5c:"14080","95a5d2b2":"14237",f5e72c0a:"14432","8612c3ac":"14578","7c8e5227":"14936",fe3f3783:"15066","83c6f999":"15246",fc471c47:"15422","30bd0f5b":"15447",baba055e:"15536",fe7002a3:"15955",e839f599:"16029",reactPlayerDailyMotion:"16328","616631fd":"16602","710ac1c1":"16678","444a6d4e":"16869","4ed1e0ac":"16884","5596dd05":"16945","828ace52":"17021",f9bde383:"17209","45939ed5":"17289","55f37562":"17320","070c8c93":"17776",ebd05845:"17820","4b539d9d":"18025","0841186f":"18093",reactPlayerYouTube:"18446",c36ed66b:"18776","2fca5c64":"19049","87ab7385":"19738","986f0f98":"20033","22f51758":"20423","704545ab":"20515",e66f2658:"20681",d4fc3158:"20773","4ab30eec":"20826","82444e58":"21611","57012fa6":"21983","3020aab5":"22309",d3af5b3c:"22422",ceb48fe7:"22447",f5a589e7:"22451","59df87e8":"22611",fb6429ba:"22701","141135bb":"22750","676f1bdb":"23321","5af30237":"23452",ed64c12e:"23453",f6affd6e:"23619","956829f8":"23870","44dc7864":"23983",ec91ff36:"24078","1d39c85d":"24158",d158719f:"24636","8423508e":"24796","02e41de2":"24832","5bc657fa":"25362","3edac44d":"25427","0f2c2e36":"25504","522ca66b":"25666","9a594c98":"25691","7ca2e59a":"25692",reactPlayerVimeo:"26173","431ffdb5":"26376","93ae665a":"26411",a4adf53f:"26499",d9107a6a:"26622",fe33edfa:"26766","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","373bc822":"30067",b1218054:"30248","6feb7661":"30418","3141060a":"30473","1323771c":"30528","85d514f3":"30765","38e9742f":"30773","1a39ee04":"30799","4aa94ec1":"30941","626d8d5f":"31080","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",fde0b76a:"32744","7800d508":"32759",f9de1e68:"32789","272aa200":"32944","25c6d77a":"33048","71ba2dc1":"33098","9107c65f":"33460",a32c313f:"33577","10933a93":"33588","4e5965c3":"33701",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","6decf956":"37655",abd13aa2:"37710","0e764995":"37758",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","438ea691":"39294",fe2e2e26:"39408",cdd4a9c6:"39431","327b0a57":"39482","50f2f9f3":"39558","9e0c2c37":"39757","5ed5f7a9":"39823","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","9aaed8b4":"43949","5d707891":"44046","75829dda":"44103",cb43ed9b:"44141",a24f0440:"44164",f5602aa3:"44189",c0650537:"44486","69fcd2fc":"44602",c5313007:"44609","65b7208a":"44630","4a7af9ca":"44769","36fcb744":"44816","39ec0930":"44947","7c299f6a":"45072",b1394c86:"45141",ef4456b5:"45268",f29fc884:"45295","79d28454":"45474","4a55fe3a":"45655","50d72525":"45679","8dfd8953":"45724",c377a04b:"45742",d58f1ee2:"46119","26ad82e9":"46268",fe522f67:"46364","6e1b24e9":"46429",aeef55f7:"46563","53d20392":"46643",ac3101e9:"46688",d0b9ca74:"46921","2bbc2deb":"46961","075f0e80":"47108",dcbfe205:"47120","999788b8":"47127","7b09383e":"47256",b9ec56c8:"47264",a7f9f0ff:"47322","7f0714d1":"47341",a7b0b2b7:"47452","71f9ed0c":"47472","93dcedec":"47527",reactPlayerStreamable:"47627",b7ea99f7:"47719","1b9544a9":"47758","12a78962":"48099","8f509517":"48124","356ce494":"48134",df15bc7d:"48235",b467d32a:"48276",f6adf820:"48436","954e932f":"48552","566f49fb":"48579","0f4a5c74":"48665","510b9307":"49316",b26210db:"49406",c8139b75:"49455",ff61db29:"49625","0d76317c":"49658",fc8b5a5d:"49921",ac002d2b:"50041","98f4e1ec":"50404",eb44eb85:"50734",bf519c8d:"50765","3fbaac07":"50908",fc6f07d2:"51143",db42f242:"51205","4aec9039":"51349","17f04a83":"51379","81e4ed6a":"51637",eecc43ff:"51780","09ca145d":"51782",a768738b:"51865",e7ee6027:"52302","280af06a":"52365",e3d58533:"52529",reactPlayerMux:"52723","8bf57c9f":"52961","23975af2":"53084","9b4ab8cd":"53148","1577f7ed":"53357","4867e743":"54049","092bf57d":"54220",a271ef09:"54530","984d6493":"54582","33af2f09":"54705","98d962c5":"54905","49145cdf":"55011",c94e1931:"55324",b2419a00:"55388","169f3d24":"55664","46eeb6cb":"56264",d636c09f:"56282","538bb064":"56417",fd4b36bb:"56420","6bb5bff7":"56449","4205d879":"56532",f30d2866:"56660","378935ce":"56684","805a59dc":"56764",f527bef3:"57035",bb9c591b:"57356","21b7a589":"57694","1b218eaa":"57790",a7edc2bd:"57869",c134ef8a:"58022",afb7a97b:"58718","5144cf5e":"58800","8ffcd916":"59032","6e29a506":"59075","76259cc3":"59221","03db70c9":"59327",a64b2578:"59409","1e1f8072":"59599","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","7a9b3614":"62814","1d7c691c":"62921",f5fed352:"62929","98c94590":"63474","06393fc1":"63538","2b67eda4":"63706","53e9dd7a":"63737",fb72d7b2:"63747",a6397568:"63960","6fb78fba":"64019","13ee52e7":"64284",b91fbf2a:"64558",eac16e1d:"64641","4c781063":"64651","6f44ab90":"64665","063d75bd":"65110",eb4c176e:"65142","729daf19":"65312",ed3aad8c:"65352","616bfcf6":"65433",af754a1f:"65542",a1df5076:"65571","1ebbfca8":"65655",bafd283f:"65755","90239e6e":"65784",e49a3b4b:"65847","419cd6b8":"65866","9f8e6d57":"66225","03b2528f":"66339","3e87058f":"66811","0c695afe":"66850","3c4af576":"66868","5e253f2f":"66885","51907bd1":"66912",da54b976:"66929",dc576323:"67016","9e6051e1":"67059",ae0eacdd:"67068",a7bd4aaa:"67098","726a6c22":"67217","61ff6850":"67349","0d271e1e":"67458","49fed513":"67532",reactPlayerMixcloud:"67570",e7f4b98d:"67706","9d7352c0":"67714","3cf6fa35":"68230",eaa4efd8:"68251","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",b018547e:"70669",a518290b:"70843",d44e0d1c:"70934","308471de":"71247",f7ebdce2:"71341","087cd58c":"71383",a4c89d62:"71826","86a8bb6c":"71907","4fa4eafa":"71967","71319bec":"72074","83ac10ed":"72132","44b88e48":"72188",fe170cc9:"72231","521e3baf":"72422",adce8179:"72561","646cbece":"73107","9d779d8b":"73379",b2aeaed7:"73480","2020ed93":"73932","2ed96714":"73939",ce4dbf6d:"74081",f18da6aa:"74431","9addcfc7":"74520","4bfca71d":"74583",ebde045d:"74780",d26a73b8:"74834","00d14154":"74860","5c7e11fb":"74961","5390e21f":"75412","307525ba":"75702","2db99065":"75822","071f33a8":"75868",b48f41b9:"75965","7d63aba8":"76093","03b3cfd2":"76224","8615e055":"76238","9b933485":"76350",d802bb56:"76372","8bed5a26":"76768","78ae7ec8":"76973","42abcd4d":"77137",ee65edec:"77313","67e77328":"77318","4dc6f423":"77567",f6f476f1:"77757","8eead450":"78007","068743c8":"78416","959ac691":"78630",b7b014bf:"78631","82ea7079":"78702","6b48b7b8":"79028",a94703ab:"79048","6d717251":"79052","526e379a":"79225","4118187a":"79354","75a33358":"79526",a24a5808:"79628","2d4af3bf":"79825","9e09f891":"79956",a7f483d1:"79983","97efa4fc":"80124",be6201fa:"80190",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","19e2305b":"84092","51e50f95":"84219",ba51d442:"84492","8552f549":"84605","813cfb2f":"84656",aefdd881:"84750",bc03f89b:"84850","83fd2af9":"85026",f640cf83:"85155","9270ba4f":"85462","5143312c":"85527","21e10cde":"85528","21a4ba71":"85556","05fbef88":"85943",da202fdd:"86012",eaeab60b:"86037","9fbfaf6d":"86057","1877d9d5":"86106",e2d6ba1f:"86298","8a63049b":"86546","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","07006f9e":"90642","098f2604":"90780","609f97b9":"90899","6028a11d":"90986","468d57a9":"91131",cf401e04:"91194","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","39fe1b84":"94205","747fb5d3":"94493",c7507218:"94594",da19ecb4:"94642",dd31e7e9:"94725",da071cb8:"94811",c75d145e:"95191","4f4aa41c":"95223","94f11012":"95409","896258c1":"95909","794a8057":"96414","19a6be06":"96449","8d02075b":"96815","4eee9c87":"96991","0ddd0e66":"97034","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",reactPlayerWistia:"99340",a1154d73:"99341",e0bec135:"99591","1ba60223":"99644","51ddac88":"99989"}[e]||e,t.p+t.u(e)},(()=>{var e={45354:0,71869:0};t.f.j=(a,d)=>{var f=t.o(e,a)?e[a]:void 0;if(0!==f)if(f)d.push(f[2]);else if(/^(45354|71869)$/.test(a))e[a]=0;else{var c=new Promise(((d,c)=>f=e[a]=[d,c]));d.push(f[2]=c);var b=t.p+t.u(a),r=new Error;t.l(b,(d=>{if(t.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var c=d&&("load"===d.type?"missing":d.type),b=d&&d.target&&d.target.src;r.message="Loading chunk "+a+" failed.\n("+c+": "+b+")",r.name="ChunkLoadError",r.type=c,r.request=b,f[1](r)}}),"chunk-"+a,a)}},t.O.j=a=>0===e[a];var a=(a,d)=>{var f,c,b=d[0],r=d[1],o=d[2],l=0;if(b.some((a=>0!==e[a]))){for(f in r)t.o(r,f)&&(t.m[f]=r[f]);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 a19b5267e..b19a99ace 100644 --- a/docs/concepts/authentication/basics.html +++ b/docs/concepts/authentication/basics.html @@ -4,14 +4,14 @@ The basics | Serverpod - +
Version: 2.3.0

The basics

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.

-

The Session object provides information about the current user. A unique userId identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the authenticated field of the Session object.

-
Future<void> myMethod(Session session) async {
var userId = (await session.authenticated)?.userId;
...
}
+

The Session object provides information about the current user. A unique userId identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the authenticated asynchronous getter of the Session object.

+
Future<void> myMethod(Session session) async {
final authenticationInfo = await session.authenticated;
final userId = authenticationInfo?.userId;
...
}

You can also use the Session object to check if a user is authenticated:

Future<void> myMethod(Session session) async {
var isSignedIn = await session.isUserSignedIn;
...
}

Requiring authentication on endpoints

diff --git a/docs/concepts/authentication/custom-overrides.html b/docs/concepts/authentication/custom-overrides.html index 028db01ae..a64e00adf 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 58c4282e6..0083ab677 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 88d8a5315..6e866c22e 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 9918a6fd2..b7dfaeef8 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 e315afc03..ae03ea925 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 73b36ac95..565d2c4e1 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 8bc308a53..1705468ac 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 9c0ab73c7..0ccf14ad2 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 f29dc2ead..061e9b8a3 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 d13359d0d..0d3c4eaa4 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 7a1a5a9d6..4cc701c64 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 e426930d5..3c6d7beb2 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 455550e9a..c9b4d5476 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 aaf0fa0f0..8ab8a6ba2 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 56baa8521..7d517c06f 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 6a155ea3c..db8903523 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 aef8247a5..34912c349 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 84c448713..b6dc9aa09 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 350cf1162..e5ae8863f 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 41fc5b907..b70bfcf4e 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 16250abf7..a5d0aa268 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 4ed9787b8..fbb0e2173 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 280b785b9..840934580 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 839fc3280..6abe7684e 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 f10dfe54a..8105dead7 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 dfdbff7d6..9dc97f22d 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 50e914e77..f946eb55c 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 39677b19f..3dabd996d 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 8c22fcbb5..7c1844eaf 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 2dd36c638..fa0e903a8 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 ca9c2ed74..a1d4b076c 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 f1756ef65..9bc0f1f5c 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 59bf067c0..0cd897623 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 f2eac3c2f..4d00765e5 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 be87282b6..ebec2da45 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 13633a5f9..4facfa342 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 87834165f..1e3ff3579 100644 --- a/docs/concepts/serialization.html +++ b/docs/concepts/serialization.html @@ -4,7 +4,7 @@ Custom serialization | Serverpod - + diff --git a/docs/concepts/server-events.html b/docs/concepts/server-events.html index 5376feee5..812df15cc 100644 --- a/docs/concepts/server-events.html +++ b/docs/concepts/server-events.html @@ -4,7 +4,7 @@ Server events | Serverpod - + diff --git a/docs/concepts/sessions.html b/docs/concepts/sessions.html index 8493879e6..2b25b0324 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 6ff5c76e8..659f9ca77 100644 --- a/docs/concepts/streams.html +++ b/docs/concepts/streams.html @@ -4,7 +4,7 @@ Streams | Serverpod - + diff --git a/docs/concepts/testing/advanced-examples.html b/docs/concepts/testing/advanced-examples.html index c1d617212..07f1a003a 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 8d22dd37c..fb6f075f9 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 ddc46d267..e88f8ac0e 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 eb1c86b2d..1266881fc 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 a18a4d819..e0ec58794 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 23e5081ba..7c45f42d4 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 8275cc778..a6dc17cdc 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 42ea6f64f..58e60880a 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 461d8156d..e82459598 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 e800c50ab..69b58a371 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 5ea229951..b95a16a62 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 40791b57e..c7ac88b70 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 7c250c792..ef54b3047 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 2546c3508..c21624c36 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 0907d46aa..82555e125 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 226168c4b..73e341747 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 6f6111d35..614d28e93 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 cd2669d5f..70a78c892 100644 --- a/docs/next/concepts/authentication/basics.html +++ b/docs/next/concepts/authentication/basics.html @@ -4,14 +4,14 @@ The basics | Serverpod - +
Version: Next

The basics

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.

-

The Session object provides information about the current user. A unique userId identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the authenticated field of the Session object.

-
Future<void> myMethod(Session session) async {
var userId = (await session.authenticated)?.userId;
...
}
+

The Session object provides information about the current user. A unique userId identifies a user. You should use this id whenever you a referring to a user. Access the id of a signed-in user through the authenticated asynchronous getter of the Session object.

+
Future<void> myMethod(Session session) async {
final authenticationInfo = await session.authenticated;
final userId = authenticationInfo?.userId;
...
}

You can also use the Session object to check if a user is authenticated:

Future<void> myMethod(Session session) async {
var isSignedIn = await session.isUserSignedIn;
...
}

Requiring authentication on endpoints

diff --git a/docs/next/concepts/authentication/custom-overrides.html b/docs/next/concepts/authentication/custom-overrides.html index cd2ffb331..613090e4d 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 acac11fe2..c544b6ec9 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 f2c150c34..490941517 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 79ae03d25..bd2b5b414 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 7b05d2698..e8fd8240b 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 61049767b..0635fa413 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 5f2a54527..900d28791 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 c0723a0e1..6b3fb9fa5 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 d53b562c4..e6820a8d6 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 0866cdce2..b0f62bf53 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 abfa696a1..11a031380 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 2dc23c842..465e26240 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 93f88e55c..c22db11d8 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 8a7b7bd04..8171ae106 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 96509e721..06ceb3868 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 228608295..4c23394ef 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 d471aaf9f..046532f46 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 62e7806af..875bd56ce 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 ed692465f..e18dc8519 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 c0fb0572e..c85f9c6a2 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 1dc6e7b62..efccee095 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 260718131..ed9329a01 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 cfafe700c..9cd130b1c 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 eb944ab70..3440a2394 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 499a5b060..74b3ad26e 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 126dd13bc..a320bec69 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 16872b2d0..d3b9b17aa 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 9a0590ac1..31c84c4fe 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 23c6bd222..5276a610b 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 0bd521ff0..97c69dd46 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 95fe3c3a3..8b7157cba 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 9474ca6ff..9b988fcb8 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 eec44352f..8a5f99714 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 2379c9985..33bfeb87e 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 c8b7b98ec..70b31ea55 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 ff11050c6..1ab3a161b 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 0e89abe87..c2004e063 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/server-events.html b/docs/next/concepts/server-events.html index 7db0a7d0f..0dca5016c 100644 --- a/docs/next/concepts/server-events.html +++ b/docs/next/concepts/server-events.html @@ -4,7 +4,7 @@ Server events | Serverpod - + diff --git a/docs/next/concepts/sessions.html b/docs/next/concepts/sessions.html index fc908296f..c7ed0e7cd 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 4b44e03c2..230116c50 100644 --- a/docs/next/concepts/streams.html +++ b/docs/next/concepts/streams.html @@ -4,7 +4,7 @@ Streams | Serverpod - + diff --git a/docs/next/concepts/testing/advanced-examples.html b/docs/next/concepts/testing/advanced-examples.html index 039360e3e..a63f82409 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 a93614fd0..e330e8cdd 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 02052f37f..50b02c490 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 9881fd6ae..346ff3428 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 a2d8c5447..27ec882ac 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 77cfe176c..5a5361e12 100644 --- a/docs/next/concepts/working-with-endpoints.html +++ b/docs/next/concepts/working-with-endpoints.html @@ -4,7 +4,7 @@ Working with endpoints | Serverpod - + diff --git a/docs/next/contribute.html b/docs/next/contribute.html index c9af0e79d..249333e07 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 bb1fe7cf8..bac494508 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 007eb1895..66e01a17f 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 f1bd7161e..41fbdc849 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 20bd4bce9..28d2b4e32 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 c3e513c0d..5f56e0803 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 b4223d657..2dd83ee14 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 19b935381..255e1535d 100644 --- a/docs/next/get-started.html +++ b/docs/next/get-started.html @@ -4,7 +4,7 @@ Get started | Serverpod - + diff --git a/docs/next/support.html b/docs/next/support.html index d900d0088..fdac96141 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 93078e6e1..1532f7c18 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 693867ae8..621220ae3 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 dd0bfbfc1..6c8ee8993 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 a88ea3a9c..3f9e66fb2 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 c5de36a3e..8fe4f79b9 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 6bc358c82..642eb1054 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 d3e1c26d6..c90d968ca 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 76a436821..d2c0c3d3c 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 c9a1f755a..ddee937f4 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 4478127ed..7ce2441c7 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 388bc46bb..6b87e0bf5 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 4bd342154..64e39953e 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 1d39a5ad5..8b46c7513 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 7822f8bb6..20069a7f1 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 5cd835500..517084746 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 33938b25d..a2d3fdc6c 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 1354be8f0..6b64e4402 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 08b0d69b8..089a9eeee 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 023a3d32e..ad07eb70f 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 ae45eac0f..35cf114a4 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 3bc16b3d6..56e443bc9 100644 --- a/docs/upgrading/upgrade-to-two.html +++ b/docs/upgrading/upgrade-to-two.html @@ -4,7 +4,7 @@ Upgrade to 2.0 | Serverpod - +