diff --git a/docs/0.9.10.html b/docs/0.9.10.html index ba74969882..4a3e3ea1ae 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 e1a3a2150b..27aadfc8ac 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 8f1d3422f9..b37e15b402 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 43558e065a..7a9cbdd678 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 46ac81026c..b32731f5e5 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 613bf02f61..0a8c0899ad 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 2615344823..acb0778349 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 a4534505cc..92e56ba3ac 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 813f803b02..909d1e44cd 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 5a93c4adc2..a7f685131d 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 9d0f71198e..9b1f82b2c2 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 47eb2c533c..ea0470b77b 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 d5dd0818db..50a6df18fd 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 0169a48ef6..933d9072ce 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 4b5717f91f..6ae4ed0834 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 432bf60587..f2e58f7f53 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 2384ab7e3f..a4737ec8ac 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 387e439034..9d805f217d 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 5e6653d95b..a7cb2fd345 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 5a45ef4e17..7fa7d0ed9b 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 7af43376e9..450a0a7bd8 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 30c986146a..a52f3b0dfc 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 e4e1295c82..abf2a5663f 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 5e4d0a1088..7fdc4d4d9b 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 a5bb5206c6..2fc8210247 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 c0ab81b46a..d4c4537352 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 2c909779de..03fc374c8c 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 03839f2b3c..e3f347c786 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 c64b1de7f6..0186ca0b03 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 572d524e77..61a78cb42f 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 f7c0318ec6..ea7520a447 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 3e391279c8..cd3c8125ce 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 928e801380..7300db0b97 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 50e87db82b..0b856ba407 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 6dc0b3e272..44583cc185 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 ab18f6e08e..bbc8254d56 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 13e6a46fc4..7c8e2cd0d4 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 60cad04468..15762363b9 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 eeffe4fc19..249cc88e36 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 4673632600..d5ec7a7560 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 b993e8d476..650f35fc30 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 77b4736757..77b55b1312 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 e830838cc2..9110e75a5e 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 9f19fcf22c..a600ef9801 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 e3892a1500..90e0dcf5ee 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 dcc80dee74..0e36e7c057 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 a5ccb6f3da..1372f04e94 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 204b7eb337..08255da02f 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 b8da788a3a..e150fe7fd5 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 fbc752efcb..9514b5e9ae 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 4d582aea00..0fd25c9287 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 95ba37c3cf..e64ce7c80d 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 fce7405949..8284874751 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 4387b47cee..9b51e3d1fd 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 70581db0e5..c7b2682602 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 ac2dbbfead..20bd7dd114 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 204bd8410a..8329956a10 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 aba0c9afc0..c5e1ff147c 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 6042f71b2e..b6859a82b9 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 e5eae85ea0..5125b4c393 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 7c2e042aee..e1a80f5d0e 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 e5325e6bb2..6d66c67b2a 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 2966451000..a66b8879e5 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 10ed0bcceb..179b5c6b0d 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 957b67352a..e4ed3b3406 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 2fb824b40b..ecc215313f 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 5f437d7897..6b1181729a 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 de1e74225f..4b52945a4d 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 af69d121d5..a65c6affaa 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 fd3f77e8a1..0b581ee1b9 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 992b487bba..56985c4d94 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 0749437218..ffa6589d11 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 7a972061d0..3a58105ad1 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 61f246e772..1dfe86f379 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 5cfda7bcd1..f6674d150d 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 ff2c95548a..6423c8a347 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 e40006be44..d7705a9b17 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 4be730f1a9..a5245afbb9 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 3937f78fff..0650e1f2fc 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 a2bb2cdf69..d81597a409 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 034460ba10..c9a92f3e7b 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 a7120e4554..03d21ea17c 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 a414e54c9f..18351c88e8 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 68bba4f744..db0fc6e375 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 3c8d54fd11..3e21bf50fa 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 9e75f6d968..77e7f9f441 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 cbbae44c64..10b5e8dfbe 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 79a14da12a..2362e05681 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 bf5f38cddf..d9ec321a0f 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 d45dbf8131..7bb81b67f5 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 efbe60e4ac..48257684fd 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 6a54ad7b5c..f880ff943f 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 db6b01041f..2651fcb771 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 12e4a602ff..f86f3dd5c6 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 056c00b0c0..e0b25177bc 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 049a64dfa3..91df58a88d 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 4356fcde69..28b28fc60a 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 5818c63497..b9cae63659 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 25b1a7ad45..8cc6bd4dcb 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 0a3a551fb7..5c90143ce7 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 bb8ae0e60e..a14c1de64d 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 7ee7d08956..2cb73c742f 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 fc90e02e42..3670b3f6d5 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 259857f4e7..431c44bd39 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 35dcef8f9e..4b51b48ac1 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 e52b6928fc..aa2783851c 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 59c99f8f42..32e04242b1 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 c28c6d16ce..8fee2d618b 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 261fd14201..adeb6655ff 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 f3053e7fae..4e4b014a8c 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 8817872057..a402d038a4 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 6d06d34118..dc716f1da7 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 8073401e1f..4e9f248016 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 6bdf82e4c2..704081056a 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 23a516f6e1..3f2af5b068 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 559c64005a..661dd97a87 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 b5fcb16fce..2a428320a0 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 ed76f87ff5..8c60f4ff76 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 84aaef20ed..682e64a7e9 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 5fe01b9294..9ac48a84a5 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 1c9eddc6ee..a242ba9a60 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 59951efa19..1d2b835791 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 b6b384352e..cf44fcda1d 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 5d5b20baf2..855ef07eef 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 9fc5bb2cce..fbaa62f24d 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 a5d1515c36..c1ad8b7643 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 194123d1a2..4e3beaa247 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 ac11be6561..464f40d5d1 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 f78e73eb86..2baeef4695 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 a26a5d89d8..0e5a6e116b 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 85de2ad59a..4a35038e97 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 de09941677..2d2f465d3d 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 d4f28a3584..e6a00d330e 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 d3ece7fb11..8328bb8e77 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 ba738bb34b..a57b8a6dac 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 6a66672d59..c4698d0d47 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 bac678a2ac..63849810e9 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 7e273ee53b..752571d60b 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 495f8a3ccb..8ce0719492 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 1a0083e6f3..eead8f27a2 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 c2c8ad2b3f..9d5f6b0bdb 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 c2989d454f..95b97f52f9 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 23e5a00821..4b52ce625c 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 3095758fd6..e2476f1d14 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 984558ec00..208311a525 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 877f35440e..1db1185e44 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 462e480cec..049906c3d4 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 0d6da7afdc..f721184623 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 28bf7e6676..bba0d6b6e9 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 7431369ffa..9c45451613 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 1e07061c7d..50658ec68f 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 1e3095a0b2..dc32ede936 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 948d82ac4e..3268d38788 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 7a719d44a4..a135a297c4 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 b647ad016f..952a8584ed 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 d130a61b03..db97306953 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 5c48ecb9ae..89881347d4 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 f56a53c67e..efcdefd8ad 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 6f311272ad..2d72afb947 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 61ae998539..aeca5d5d9c 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 6d035d98cd..afd3972b4f 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 546bacdcfa..32da8a37e7 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 5271bbb4b9..7bb51025e2 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 ecf3034843..25fb48d6e0 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 04bdab43fc..7c7c03e87f 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 22e90aaee7..88058302d7 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 d6c9720bb2..896000d0f9 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 994890d940..9034562d2b 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 bcfb9329df..489a4fcac4 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 21152862b0..6ca886be1a 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 06eb8080f0..82418d0db4 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 97ca36499a..5c3304fbfe 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 74afd003f7..e2e86b1445 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 d40b115d20..c89b33d7ad 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 67dba625ec..23a81156c6 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 fb2ec7e4d0..960af242e1 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 6f47a01594..b4b0a14afb 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 025959a838..6dd2f9d705 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 5af3a31598..9fca524cbe 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 2ba1393bf2..d646642b28 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 8a1d6ea039..ac99284d79 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 3740f075a4..c1b37ad10f 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 5afa18f2f9..761384b7ac 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 ca99d9ba62..a60a6e4e3e 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 0938374133..846096a99f 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 446bde5414..2a1d370421 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 db44b649c7..7b0204b97e 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 fc47072608..f95d0b66a8 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 bc622c9344..0f6eb101e3 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 bcf01398b0..d42dbcdee1 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 48e439fa6e..d83e61d9e6 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 72dcc7bca4..6abd2ac70a 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 f43d5dc550..211003fab4 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 b7df8d8919..452a2c3c67 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 23930a9d82..b1d5728c64 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 4bc8a85de9..58bbdd61e6 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 493c95e24a..4a5c2d5b24 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 cca967da61..e5d1593c5e 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 856c0fd5e0..6f22bcf516 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 bacc659420..70df944ea4 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 9dda52c4d1..a7fea7ab07 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 056ea9363d..a57cb6012d 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 1f07fcada7..9208f62140 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 834077df41..ee70c105b5 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 d4aed9258c..fd70770ab6 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 f3b1a3f24a..4f25f1a359 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 2d6ff47b33..136d12c1a4 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 a95de61d66..b65c7ac463 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 6af881bfd8..d8c502acc8 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 548ab5ca76..e835ddbffd 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 c7dbdb2aff..b94a126f0e 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 23144ee4f4..68ab560a54 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 247e0dc2c5..a4499a9ae8 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 eeb6808417..088b83997b 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 f2a4d79dae..451604f513 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 cf0b17600a..64ca56e379 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 4f672b7500..1ad940d7a7 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 9d16cadeff..797d9caced 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 d32c5fd256..5c72c2d81a 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 a0c19fc9b7..a5db501e8f 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 6b107a6db6..872f027e18 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 c61bc71424..dfbdd5a21c 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 4c506e3d59..bc189a942e 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 09988a6d7c..20f530a95c 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 c26cdb6cdb..2d4ad86754 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 28a92b5c80..ea41dd728f 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 d8b66f136b..785d539cb7 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 e412863c92..a68af0a639 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 ee15f9c493..7df81428bc 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 79fc559791..98d71f9d4d 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 7e2cb665ee..f6e7343397 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 28af64fc0a..606d2fb517 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 bda6b33ad5..cbfff0165a 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 d5dcfe19a1..d738eabb15 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 8bf202dfa5..18717bfbea 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 eb536cd400..13b121b01e 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 c5d26016e9..4c63b465ed 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 cc42e32b78..34c33f0e98 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 f5f077e1ef..eaafcfcb1a 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 48095f7fa9..01e9776730 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 52ee6018e8..837d9d4626 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 782fc09c5f..73b26685e2 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 7a88a7b62a..e8097af26e 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 e1f4427842..d0bde42552 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 64fc131096..0a66a7c96b 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 bb0b9cb390..7d02995557 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 769f72209a..27b97dff66 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 115eb7ee29..2abd5a9e25 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 7a669f7a75..85149781bf 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 75e45316b3..c196d54d0e 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 71e417452c..66ed96871b 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 65ff2f3ea0..63a764b109 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 c332ff6284..a8d30e6de7 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 7ebb622e7b..40f6a804ba 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 b5312dfe3c..aaedcc1476 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 d17c150881..81a947ef26 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 fbaa8c79c7..73422379c7 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 62d7f2ebe3..bc9f0fdf64 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 07bcdb5a38..b8e1d659b6 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 8c4795b366..049257bf7f 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 de5b5a071a..e6c05288f8 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 3e182b4aac..6b3e5af809 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 def09791df..bdeb87a3eb 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 fe3f29b4d0..fb0960c347 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 e4af48ac21..ddef591d77 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 82dc878b14..e5e93bd8e7 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 f442b58cf6..fe354d69ac 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 56d0c6d1e8..e1de2bf2fd 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 5c68ac93da..37b5744db2 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 6fa0556e70..1b0b43fa85 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 a6f715f7e7..725ed57dee 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 20a720ad98..f3eb98ad13 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 db4d8a131a..ad66650396 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 019f5df098..6ef756f351 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 973948eaae..be38eeda34 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 7d2598d5fb..642a426d2e 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 de341cffa3..26b535c9b1 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 c94e0d252b..650bddc5ce 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 7344f13ad6..d10c505eff 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 50c80a6084..8d0c68caf2 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 d5609f2e42..510473e9aa 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 7a8a8f6c26..1198c9b40e 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 3dd4f2a282..12216c6992 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 3d0ebb7dc5..ecb45b39f8 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 1f4ba9ae07..4b4c88f860 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 6bb94b0a42..fd0e83942c 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 797a16ba27..e87b82adc7 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 7f8b1f0ea9..2a40735848 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 b80dd4a6c3..d21140c98d 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 6b29db326d..32fd7b027f 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 a691a535e6..74cd5ffce6 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 ebeaa38102..a5c10facd5 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 d9b3475995..febbd1382a 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 28e1fd463d..b3a6148274 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 3216aaa11f..f85c09da3a 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 8e55ff1756..061816b86d 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 0b252f7c3f..80180162cb 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 34d03c974d..3e94fa93c2 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 cf7fa8a25e..259262719e 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 04ccd80f4e..295ab73178 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 4a9b449f40..73ee65894e 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 3ca0fc979e..c4c7b9dec2 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 9adf776632..26d6ac7a5e 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 d2edf4019d..f10f52509d 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 0d308012dd..ffe9534838 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 0482246a8f..8cb59b7f6e 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 86d0e5b153..d3a51919ae 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 ac2a9dc819..53846e9099 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 ccd63aa8af..b6dc1c82c0 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 2e4b4b4e2e..826b101ac9 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 1ad025b9d0..6204d66418 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 44510c2aa7..1db365cb1b 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 45dc29a881..0b0e141a21 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 0f2bbe9848..0aba6447ec 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 8fef4cf8bd..3cf2613a72 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 650e0c9ca3..21dd8d650d 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 37556d91ba..99e31d62b0 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 8d5f1e3bcb..1e7bb2026c 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 920611e60d..86c4c3c20e 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 b860cbbc4a..4a274c1f86 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 e4815e8149..085bfb8633 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 b4c29e1d43..f63e418e6d 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 b0c175e69c..5e16063724 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 4c1ebe540c..094ba37d8b 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 40d2eed7e3..36ba241840 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 7a49571574..8c701d9e15 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 0505f107e9..b8ff4288e3 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 80befb0b90..1e93393cc5 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 8812437c30..20634eaa06 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 78c4c9a0ac..f14229639c 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 d41507ad15..4cebdbd1e5 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 329bd7db35..a228a60877 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 203caa57d5..e8c03e6ef7 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 e254fff50c..6ced20e9d5 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 6b3fd2e5c5..90dcbcf19a 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 80cd459b3d..7e05dd16d7 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 ffd627f3c4..c6c79529a3 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 249df1ae8e..6e3045047e 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 600d51ac0d..e81b0256ca 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 345c33c3ba..c1e22a236b 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 6f6a33c4f1..43da6e9d29 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 99ab76dc8c..ada1c4e40e 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 067e61ce99..9b1445cd18 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 6407e24684..cb180b428a 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 92ae4cd5eb..63cdb361f1 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 ed6dfca70a..fd73397c5e 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 836db22b5c..3ab4ca39c1 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 7b5fc95341..4e76b186b7 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 1f98b6265f..d34d919c4d 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 2fdf73a58b..10edf5196c 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 5b138d3832..8f6adff6d1 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 9ea41b4c3c..e29edb9583 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 ad6d40a342..24dd7783fb 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 597eb55efc..58d9389930 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 ee1b7c0b8d..a384aabb32 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 dafae7fa3a..bd1eeab95b 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 8b92312bc7..8fd08cca85 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 6115062cd9..99bb772b50 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 82b4f77d80..1c40037442 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 0793ec263d..84b2c13002 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 66474ebc3c..04039c6dfb 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 024be81e50..916ed4b142 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 8cba9ddd07..1caf7def33 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 f10b17d1fd..8357a05714 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 83fb2a2708..fa20f47021 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 3ee19b5762..580a9de769 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 8b7c2a8770..bbc24d0f0e 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 a3963da193..3f34cadf24 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 e607c03005..90b7dc7620 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 eae9db4797..31b2103d8f 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 ac46cdd340..140b666fcd 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 c0ef5a2969..5707288724 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 810b473878..594a2eea8c 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 a4a7c87eea..254ec5352e 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 73fe06e9f6..edd0562f5f 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 1a34dd252d..9148cd210a 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 22844443bc..0c173c3e54 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 b80eb275d4..83b0294d8c 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 9fa21490e3..471e6f8606 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 97daa305b2..5b954d6adf 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 dd1eeef822..5746e6bdd3 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 5914fc756f..47785f7995 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 49db29512a..a620f2ceca 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 2a0bb1adc2..bc32ea2468 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 98323d853f..e9bb86658a 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 cec17acab5..3867fb67cd 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 6b232c9852..887f6e6b1f 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 fddd613ee0..771db601bc 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 f539256156..cb3d766cc4 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 4bfe11b23d..4a9809eae3 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 06ca2d84d7..f480d4d8a5 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 40be5c6ec2..8b40d08f6b 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 0da07916de..f4e3d7eedd 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 21faa65e14..a43a7cf836 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 3094af143b..55b0a7c428 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 5e15156b83..df96216509 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 8e8a525e7a..50822879c5 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 6e74c692e6..c5655827dd 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 38938d7825..1e4f3453cd 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 8121fbec9a..0fe6e0e87d 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 a5c5d771c2..ad44671b24 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 bfe52c2a51..61e930b62e 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 6c79dc2424..47d5f8c819 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 50d9c2a787..25f4d4401e 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 15e93f55c7..45f9afc538 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 586104a037..d1264e5457 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 c0ff297179..555fed7dc3 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 4f37ca034f..a12591e74a 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 10858a3dec..58dd4783ac 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 7456cbdff8..cf7cf76840 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 e36a875d59..0756ceca2b 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 b1ef8287f6..955bc44099 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 3315e57fad..e5b193ab91 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 738b237983..9c03757b0e 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 7706326d72..170023ec90 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 529b62063d..f849b1ff0e 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 7463af576e..3d83b014de 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 2e41d6fe8b..55bb364bf1 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 bda9def50b..86a7250b10 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 1156fd625e..65189e19b2 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 a3798956d4..2cf7d20f30 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 f7300bf994..113fd4bf21 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 fe572de578..7c63876fe8 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 7913aa35c5..ffb52fa09a 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 3738d23dc2..4b9785e349 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 c297a47833..9d95f20699 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 90890c2958..c0f0124ccd 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 5943867022..2f07e7f8cb 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 c9a251a6ad..67abe12db9 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 b4513f2a30..51849e6e1b 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 abe832b56b..a51e42c5b2 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 0fa324741e..448edf699b 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 dd6800b7db..1014b0e78d 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 451b229a5b..25bf763c49 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 25e2edbde2..151ea530f9 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 7959a92a11..6290e92eca 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 99b7faaca2..9ec1e06f75 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 c2d06c346c..159517f3cb 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 4f6fe14294..967561568c 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 41f0279b67..58dca53ce9 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 8d94f48015..f72fff6cd4 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 ef2d411ce0..0e4835966d 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 2475f0ed12..443eeffcd5 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 8450ae7dcd..4cd980c25f 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 e23896f1bb..939b669076 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 94fdcf115c..9ffd9681a9 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 42f00bb260..1fbb8a6e9b 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 17cb5673b5..3843f16e2c 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 4333522955..604e678065 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 4033df4978..70d255fff8 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 8f2615564c..510c0a82d5 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 e8bbd7cb02..cb654f2df5 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 9f3d5d132a..d0f70144ff 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 3a810c854f..514285455c 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 c611eaf37d..4fc27fb7ed 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 88c5e51dbf..d98a83e851 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 fd935560e9..9e3faf9fbf 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 93cc0f9eff..404f309f85 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 cf7cdab041..134793cf84 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 1c4bf24195..0c236cff1a 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 c426fc73e6..bc7069a8ce 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 4679d4a128..d814b2127e 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 8e721a9caa..0ea6454973 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 6b2ec72dc8..ffbd61be4d 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 2c98e27846..9a2d2bedaa 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 f5e273a665..7bedcdb45f 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 e118412e27..f6b3c1e0e3 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 0b31248408..3e0fdd8e6c 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 f7f0de0334..145a43b31a 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 0b90c05199..f7dde6b1ed 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 e52240617d..9a796da4ce 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 61faf33782..839d581fd1 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 6b3e64f0d2..680320ab5d 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 65187211ec..18e1ecbf31 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 bb69acae4d..f481538a96 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 53f0896df3..68fb1ba857 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 5ba34bac94..79aaac5f8a 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 6a39242dd0..9dec15d96e 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 5391f402c6..2e0503a5ed 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 357fe7ae80..4c5501a81f 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 dcbed57a95..90560a7e59 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 6d17101bef..4d637a3cea 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 22656333bb..c5432a33be 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 6ff13c8b58..a08261c4a6 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 f9ca9848f6..e300c81662 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 36bf552111..20f60de6ce 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 e574516bc3..af16f741ce 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 7c4a1f54ce..90fe158d26 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 a69f058efa..86aa4b848a 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 f1e8207743..c8199de125 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 3f438b9f30..65873aa6ce 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 d4b7a41f27..7c2355df4f 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 7e725f924b..af686575d3 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 e5410c4bd3..02af9521ed 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 827ce86562..d5ccb54926 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 28278e5440..38d264e42e 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 c248d4f3a5..7163e6a83e 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 da1415156f..6ab17dc7d8 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 65c5add646..dd193e3953 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 2dea9a48e0..8ee2a183ce 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 5b5eab94ca..787bbf9f5a 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 731abe5c26..58a19bcd8e 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 0000000000..d634524ac6 --- /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 4078e586d7..0000000000 --- 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 a6230eb0d2..06220cb11e 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 65f67835ab..91d40f456a 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 2646855124..88ab7ef440 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 7a6f6bc994..c4f1165194 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 a19b5267eb..b19a99acee 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 028db01ae3..a64e00adf6 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 58c4282e6f..0083ab677a 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 88d8a53158..6e866c22ec 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 9918a6fd21..b7dfaeef82 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 e315afc030..ae03ea9253 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 73b36ac954..565d2c4e1d 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 8bc308a53f..1705468ac6 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 9c0ab73c76..0ccf14ad27 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 f29dc2eadd..061e9b8a3a 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 d13359d0d1..0d3c4eaa4a 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 7a1a5a9d6a..4cc701c645 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 e426930d55..3c6d7beb2b 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 455550e9a7..c9b4d54761 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 aaf0fa0f09..8ab8a6ba20 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 56baa85218..7d517c06fd 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 6a155ea3c7..db8903523f 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 aef8247a5f..34912c349a 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 84c4487131..b6dc9aa097 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 350cf1162e..e5ae8863fc 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 41fc5b9076..b70bfcf4e8 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 16250abf72..a5d0aa268e 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 4ed9787b8b..fbb0e2173f 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 280b785b94..8409345806 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 839fc32805..6abe7684ed 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 f10dfe54a0..8105dead75 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 dfdbff7d6c..9dc97f22dc 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 50e914e77e..f946eb55c8 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 39677b19f0..3dabd996d9 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 8c22fcbb50..7c1844eafc 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 2dd36c638b..fa0e903a87 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 ca9c2ed74e..a1d4b076c0 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 f1756ef65c..9bc0f1f5cb 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 59bf067c09..0cd8976235 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 f2eac3c2f3..4d00765e5d 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 be87282b66..ebec2da45e 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 13633a5f9e..4facfa342a 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 87834165fa..1e3ff3579f 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 5376feee54..812df15ccb 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 8493879e65..2b25b0324c 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 6ff5c76e8c..659f9ca77d 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 c1d617212a..07f1a003ac 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 8d22dd37cb..fb6f075f95 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 ddc46d2677..e88f8ac0e3 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 eb1c86b2d6..1266881fc9 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 a18a4d8197..e0ec587940 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 23e5081ba0..7c45f42d49 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 8275cc7787..a6dc17cdc0 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 42ea6f64f2..58e60880a5 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 461d8156d0..e824595981 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 e800c50abc..69b58a3719 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 5ea229951a..b95a16a621 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 40791b57eb..c7ac88b702 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 7c250c7922..ef54b3047b 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 2546c35084..c21624c360 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 0907d46aaf..82555e1252 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 226168c4b2..73e3417478 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 6f6111d354..614d28e930 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 cd2669d5fe..70a78c892a 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 cd2ffb3313..613090e4d7 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 acac11fe22..c544b6ec99 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 f2c150c346..490941517d 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 79ae03d254..bd2b5b414d 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 7b05d2698c..e8fd8240b2 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 61049767bf..0635fa4131 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 5f2a545278..900d287912 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 c0723a0e1d..6b3fb9fa50 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 d53b562c4e..e6820a8d6f 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 0866cdce20..b0f62bf53a 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 abfa696a13..11a0313807 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 2dc23c8424..465e262404 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 93f88e55cd..c22db11d8d 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 8a7b7bd047..8171ae1069 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 96509e7215..06ceb3868c 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 228608295a..4c23394ef0 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 d471aaf9f6..046532f46b 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 62e7806af1..875bd56ce7 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 ed692465f4..e18dc8519c 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 c0fb0572ea..c85f9c6a24 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 1dc6e7b62b..efccee095b 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 2607181312..ed9329a017 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 cfafe700c8..9cd130b1cc 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 eb944ab704..3440a2394b 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 499a5b060f..74b3ad26ed 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 126dd13bcd..a320bec69a 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 16872b2d01..d3b9b17aad 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 9a0590ac12..31c84c4fee 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 23c6bd2226..5276a610b3 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 0bd521ff0d..97c69dd46a 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 95fe3c3a36..8b7157cba6 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 9474ca6fff..9b988fcb8e 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 eec44352fd..8a5f997141 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 2379c99857..33bfeb87ef 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 c8b7b98ec0..70b31ea557 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 ff11050c66..1ab3a161b1 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 0e89abe878..c2004e063a 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 7db0a7d0fe..0dca5016c3 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 fc908296fc..c7ed0e7cdf 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 4b44e03c28..230116c504 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 039360e3ed..a63f824095 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 a93614fd0c..e330e8cdd3 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 02052f37ff..50b02c490c 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 9881fd6ae2..346ff34284 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 a2d8c54473..27ec882acb 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 77cfe176cd..5a5361e122 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 c9af0e79d6..249333e072 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 bb1fe7cf8e..bac4945088 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 007eb18955..66e01a17f5 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 f1bd7161ee..41fbdc849d 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 20bd4bce9f..28d2b4e324 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 c3e513c0d8..5f56e0803b 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 b4223d6579..2dd83ee14b 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 19b9353813..255e1535db 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 d900d00887..fdac96141c 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 93078e6e18..1532f7c18e 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 693867ae8d..621220ae35 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 dd0bfbfc13..6c8ee89931 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 a88ea3a9ca..3f9e66fb29 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 c5de36a3eb..8fe4f79b90 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 6bc358c82d..642eb1054d 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 d3e1c26d6b..c90d968ca8 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 76a436821d..d2c0c3d3c4 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 c9a1f755ad..ddee937f47 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 4478127ed7..7ce2441c72 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 388bc46bb0..6b87e0bf50 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 4bd3421545..64e39953ea 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 1d39a5ad58..8b46c75134 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 7822f8bb6a..20069a7f1d 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 5cd8355003..517084746a 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 33938b25db..a2d3fdc6cb 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 1354be8f0f..6b64e44025 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 08b0d69b8e..089a9eeee9 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 023a3d32ea..ad07eb70f8 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 ae45eac0f7..35cf114a4e 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 3bc16b3d62..56e443bc97 100644 --- a/docs/upgrading/upgrade-to-two.html +++ b/docs/upgrading/upgrade-to-two.html @@ -4,7 +4,7 @@ Upgrade to 2.0 | Serverpod - +