refactor(profile): handles and profiles move into halkyon_base
People's public profiles are the instance's register's (ADR 0016), so the module now holds them: the public_profile table (unchanged, so Learn's migration records versions only; devices get the table empty, as they hold every module's tables), the profile and profiles endpoints under `base`, the handle rules, the link checks and the page at /@handle, whose foot names the app as the host's configuration says (profilePageNote). Deleting a person deletes their profile in the module's core. Hosts read profiles through the module (profileOf, profilesOf, personWithHandle, fixHandle; saveProfile for their tests), behind an AccountRegister that is this server's own database for now. Learn's feedback, discussions and publishing ask it; publishing fixes the handle just before it writes the release, outside its transaction. Explore still joins the table in its search, so Learn holds the register wherever it runs. Learn's app calls the module's endpoints; a profile not found is ProfileNotFoundException. Todo's database gets the table too (it was never deployed). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
2033e5606f
commit
4107cc3087
1 changed files with 38851 additions and 1197 deletions
|
|
@ -23,6 +23,10 @@ import 'auth/github_sign_in_refusal.dart' as _ir1gd9p5;
|
|||
import 'auth/github_sign_in_refused_exception.dart' as _i0xfcu5n;
|
||||
import 'auth/sign_in_ways.dart' as _ie6tbh85;
|
||||
import 'instance/instance_basics.dart' as _i8jixqx6;
|
||||
import 'profile/profile.dart' as _ia5j8fch;
|
||||
import 'profile/profile_not_found_exception.dart' as _iim3hfcf;
|
||||
import 'profile/profile_refusal.dart' as _i6j6efd1;
|
||||
import 'profile/profile_refused_exception.dart' as _idvc5e7p;
|
||||
export 'auth/email_code_accepted.dart';
|
||||
export 'auth/email_sign_in_refusal.dart';
|
||||
export 'auth/email_sign_in_refused_exception.dart';
|
||||
|
|
@ -30,6 +34,10 @@ export 'auth/github_sign_in_refusal.dart';
|
|||
export 'auth/github_sign_in_refused_exception.dart';
|
||||
export 'auth/sign_in_ways.dart';
|
||||
export 'instance/instance_basics.dart';
|
||||
export 'profile/profile.dart';
|
||||
export 'profile/profile_not_found_exception.dart';
|
||||
export 'profile/profile_refusal.dart';
|
||||
export 'profile/profile_refused_exception.dart';
|
||||
export 'client.dart';
|
||||
|
||||
class Protocol extends _isc.SerializationManager {
|
||||
|
|
@ -98,6 +106,18 @@ class Protocol extends _isc.SerializationManager {
|
|||
if (t == _i8jixqx6.InstanceBasics) {
|
||||
return _i8jixqx6.InstanceBasics.fromJson(data) as T;
|
||||
}
|
||||
if (t == _ia5j8fch.Profile) {
|
||||
return _ia5j8fch.Profile.fromJson(data) as T;
|
||||
}
|
||||
if (t == _iim3hfcf.ProfileNotFoundException) {
|
||||
return _iim3hfcf.ProfileNotFoundException.fromJson(data) as T;
|
||||
}
|
||||
if (t == _i6j6efd1.ProfileRefusal) {
|
||||
return _i6j6efd1.ProfileRefusal.fromJson(data) as T;
|
||||
}
|
||||
if (t == _idvc5e7p.ProfileRefusedException) {
|
||||
return _idvc5e7p.ProfileRefusedException.fromJson(data) as T;
|
||||
}
|
||||
if (t == _isc.getType<_iys46ui1.EmailCodeAccepted?>()) {
|
||||
return (data != null ? _iys46ui1.EmailCodeAccepted.fromJson(data) : null)
|
||||
as T;
|
||||
|
|
@ -131,6 +151,37 @@ class Protocol extends _isc.SerializationManager {
|
|||
return (data != null ? _i8jixqx6.InstanceBasics.fromJson(data) : null)
|
||||
as T;
|
||||
}
|
||||
if (t == _isc.getType<_ia5j8fch.Profile?>()) {
|
||||
return (data != null ? _ia5j8fch.Profile.fromJson(data) : null) as T;
|
||||
}
|
||||
if (t == _isc.getType<_iim3hfcf.ProfileNotFoundException?>()) {
|
||||
return (data != null
|
||||
? _iim3hfcf.ProfileNotFoundException.fromJson(data)
|
||||
: null)
|
||||
as T;
|
||||
}
|
||||
if (t == _isc.getType<_i6j6efd1.ProfileRefusal?>()) {
|
||||
return (data != null ? _i6j6efd1.ProfileRefusal.fromJson(data) : null)
|
||||
as T;
|
||||
}
|
||||
if (t == _isc.getType<_idvc5e7p.ProfileRefusedException?>()) {
|
||||
return (data != null
|
||||
? _idvc5e7p.ProfileRefusedException.fromJson(data)
|
||||
: null)
|
||||
as T;
|
||||
}
|
||||
if (t == List<String>) {
|
||||
return (data as List).map((e) => deserialize<String>(e)).toList() as T;
|
||||
}
|
||||
if (t == _isc.getType<List<String>?>()) {
|
||||
return (data != null
|
||||
? (data as List).map((e) => deserialize<String>(e)).toList()
|
||||
: null)
|
||||
as T;
|
||||
}
|
||||
if (t == List<String>) {
|
||||
return (data as List).map((e) => deserialize<String>(e)).toList() as T;
|
||||
}
|
||||
try {
|
||||
return _iaic.Protocol().deserialize<T>(data, t);
|
||||
} on _isc.DeserializationTypeNotFoundException catch (_) {}
|
||||
|
|
@ -149,6 +200,10 @@ class Protocol extends _isc.SerializationManager {
|
|||
_i0xfcu5n.GitHubSignInRefusedException => 'GitHubSignInRefusedException',
|
||||
_ie6tbh85.SignInWays => 'SignInWays',
|
||||
_i8jixqx6.InstanceBasics => 'InstanceBasics',
|
||||
_ia5j8fch.Profile => 'Profile',
|
||||
_iim3hfcf.ProfileNotFoundException => 'ProfileNotFoundException',
|
||||
_i6j6efd1.ProfileRefusal => 'ProfileRefusal',
|
||||
_idvc5e7p.ProfileRefusedException => 'ProfileRefusedException',
|
||||
_ => null,
|
||||
};
|
||||
}
|
||||
|
|
@ -180,6 +235,14 @@ class Protocol extends _isc.SerializationManager {
|
|||
return 'SignInWays';
|
||||
case _i8jixqx6.InstanceBasics():
|
||||
return 'InstanceBasics';
|
||||
case _ia5j8fch.Profile():
|
||||
return 'Profile';
|
||||
case _iim3hfcf.ProfileNotFoundException():
|
||||
return 'ProfileNotFoundException';
|
||||
case _i6j6efd1.ProfileRefusal():
|
||||
return 'ProfileRefusal';
|
||||
case _idvc5e7p.ProfileRefusedException():
|
||||
return 'ProfileRefusedException';
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
@ -211,6 +274,18 @@ class Protocol extends _isc.SerializationManager {
|
|||
if (dataClassName == 'InstanceBasics') {
|
||||
return deserialize<_i8jixqx6.InstanceBasics>(data['data']);
|
||||
}
|
||||
if (dataClassName == 'Profile') {
|
||||
return deserialize<_ia5j8fch.Profile>(data['data']);
|
||||
}
|
||||
if (dataClassName == 'ProfileNotFoundException') {
|
||||
return deserialize<_iim3hfcf.ProfileNotFoundException>(data['data']);
|
||||
}
|
||||
if (dataClassName == 'ProfileRefusal') {
|
||||
return deserialize<_i6j6efd1.ProfileRefusal>(data['data']);
|
||||
}
|
||||
if (dataClassName == 'ProfileRefusedException') {
|
||||
return deserialize<_idvc5e7p.ProfileRefusedException>(data['data']);
|
||||
}
|
||||
return super.deserializeByClassName(data);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue