34 lines
1.7 KiB
Dart
34 lines
1.7 KiB
Dart
|
|
import 'package:halkyon_base_server/base.dart';
|
||
|
|
import 'package:halkyon_meditate_server/src/meditate_data.dart';
|
||
|
|
|
||
|
|
/// Where this project's source is published, which the instance names
|
||
|
|
/// unless its operator sets `SOURCE_URL`. Both licences require offering it
|
||
|
|
/// to the people who use the instance (AGPL-3.0-or-later for the app,
|
||
|
|
/// SSPL-1.0 for the server).
|
||
|
|
const upstreamSourceCodeUrl =
|
||
|
|
'https://code.halkyon.app/project-halkyon/halkyon';
|
||
|
|
|
||
|
|
/// The oldest build of the app this server works with (the number after `+`
|
||
|
|
/// in the app's version); apps below it are asked to update. Raise it in the
|
||
|
|
/// commit that breaks older apps, to the build of the first that works again.
|
||
|
|
const minimumAppBuild = 1;
|
||
|
|
|
||
|
|
/// How Halkyon Meditate sets halkyon_base up (ADR 0014), the module giving every
|
||
|
|
/// Halkyon server its sign-in, the account and its deletion, the pruning and
|
||
|
|
/// the instance's basics: the instance says it serves `meditate` (the app accepts
|
||
|
|
/// only such an instance; never change it), sign-in mails name the app, and
|
||
|
|
/// the instance names this project's source. A person's sittings and keys go
|
||
|
|
/// with them ([deleteMeditateData]). It holds the instance's
|
||
|
|
/// register, or is a member of the one [accounts] names (ADR 0016; the
|
||
|
|
/// server reads it from the operator's environment, `ACCOUNT_REGISTER_URL`).
|
||
|
|
/// The server sets it up before it starts (`server.dart`), and so do its
|
||
|
|
/// tests.
|
||
|
|
HalkyonBase meditateBase({AccountsMode accounts = const HoldsRegister()}) =>
|
||
|
|
HalkyonBase(
|
||
|
|
app: 'meditate',
|
||
|
|
appName: 'Halkyon Meditate',
|
||
|
|
upstreamSourceCodeUrl: upstreamSourceCodeUrl,
|
||
|
|
minimumAppBuild: minimumAppBuild,
|
||
|
|
deletePersonData: const [deleteMeditateData],
|
||
|
|
accounts: accounts,
|
||
|
|
);
|