Todo's server includes halkyon_base (ADR 0014), configured for Todo: its basics say it serves `todo`, sign-in mails name Halkyon Todo, the source is this repository, minimumAppBuild 1. Authentication through the module (anonymous, GitHub, email codes, server-side sessions) in place of the scaffold's email-and-password provider; the module's pruning scheduled once however often the server starts. The scaffold's greeting, its Flutter web hosting, cloud storage and Docker files go; session logs are never persisted. Todo was never deployed, so its migrations start again with one initial migration. The root's lints apply, with the four constructor rules off as on Learn's server. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
25 lines
1,022 B
Dart
25 lines
1,022 B
Dart
import 'package:halkyon_base_server/base.dart';
|
|
import 'package:halkyon_todo_server/src/generated/serverpod.dart';
|
|
import 'package:halkyon_todo_server/src/pruning.dart';
|
|
import 'package:halkyon_todo_server/src/todo_base.dart';
|
|
import 'package:serverpod_auth_idp_server/core.dart';
|
|
|
|
/// The starting point of Halkyon Todo's server.
|
|
Future<void> run(List<String> args) async {
|
|
// The generated Serverpod is already connected with the generated code.
|
|
final pod = Serverpod(args);
|
|
// What every Halkyon server has (ADR 0014): sign-in, the account and its
|
|
// deletion, the pruning, the instance's basics, set up for Todo.
|
|
HalkyonBase.configure(pod, todoBase());
|
|
// Token managers validate and issue authentication keys; identity
|
|
// providers are the ways people can sign in (halkyon_base's
|
|
// auth_config.dart).
|
|
pod.initializeAuthServices(
|
|
tokenManagerBuilders: tokenManagerBuilders,
|
|
identityProviderBuilders: identityProviderBuilders(pod),
|
|
);
|
|
|
|
await pod.start();
|
|
|
|
await schedulePruning(pod);
|
|
}
|