mirror of
https://github.com/ente-io/ente.git
synced 2025-08-07 15:09:09 +00:00
[mob] Allow internal user to approve recovery for testing
This commit is contained in:
parent
c4799a719b
commit
ebf92dba94
@ -11,6 +11,7 @@ import "package:photos/emergency/other_contact_page.dart";
|
||||
import "package:photos/emergency/select_contact_page.dart";
|
||||
import "package:photos/generated/l10n.dart";
|
||||
import "package:photos/l10n/l10n.dart";
|
||||
import "package:photos/service_locator.dart";
|
||||
import "package:photos/theme/colors.dart";
|
||||
import 'package:photos/theme/ente_theme.dart';
|
||||
import "package:photos/ui/common/loading_widget.dart";
|
||||
@ -512,18 +513,22 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
},
|
||||
isInAlert: true,
|
||||
),
|
||||
// if (kDebugMode)
|
||||
// ButtonWidget(
|
||||
// labelText: "Approve recovery",
|
||||
// buttonType: ButtonType.primary,
|
||||
// buttonSize: ButtonSize.large,
|
||||
// buttonAction: ButtonAction.second,
|
||||
// shouldStickToDarkTheme: true,
|
||||
// onTap: () async {
|
||||
// showToast(context, "Coming soon for internal users");
|
||||
// },
|
||||
// isInAlert: true,
|
||||
// ),
|
||||
if (flagService.internalUser)
|
||||
ButtonWidget(
|
||||
labelText: "Approve recovery (internal)",
|
||||
buttonType: ButtonType.primary,
|
||||
buttonSize: ButtonSize.large,
|
||||
buttonAction: ButtonAction.second,
|
||||
shouldStickToDarkTheme: true,
|
||||
onTap: () async {
|
||||
await EmergencyContactService.instance.approveRecovery(session);
|
||||
if (mounted) {
|
||||
setState(() {});
|
||||
}
|
||||
unawaited(_fetchData());
|
||||
},
|
||||
isInAlert: true,
|
||||
),
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).cancel,
|
||||
buttonType: ButtonType.tertiary,
|
||||
|
@ -152,6 +152,22 @@ class EmergencyContactService {
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> approveRecovery(RecoverySessions session) async {
|
||||
try {
|
||||
await _enteDio.post(
|
||||
"/emergency-contacts/approve-recovery",
|
||||
data: {
|
||||
"userID": session.user.id,
|
||||
"emergencyContactID": session.emergencyContact.id,
|
||||
"id": session.id,
|
||||
},
|
||||
);
|
||||
} catch (e, s) {
|
||||
Logger("EmergencyContact").severe('failed to approve recovery', e, s);
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
Future<(String, KeyAttributes)> getRecoveryInfo(
|
||||
RecoverySessions sessions,
|
||||
) async {
|
||||
|
@ -9,4 +9,4 @@ DROP INDEX IF EXISTS idx_emergency_recovery_limit_active_recovery;
|
||||
DROP TABLE IF EXISTS emergency_recovery;
|
||||
DROP TABLE IF EXISTS emergency_contact;
|
||||
|
||||
DROP FUNCTION IF EXISTS trigger_updated_at_microseconds_column;
|
||||
DROP FUNCTION IF EXISTS trigger_updated_at_microseconds_column;
|
||||
|
@ -73,9 +73,9 @@ func (repo *Repository) UpdateRecoveryStatusForID(ctx context.Context, sessionID
|
||||
result, err = repo.DB.ExecContext(ctx, `UPDATE emergency_recovery SET status=$1, wait_till=$2 WHERE id=$3 and status = ANY($4)`, status, time.Microseconds(), sessionID, pq.Array(validPrevStatus))
|
||||
} else {
|
||||
result, err = repo.DB.ExecContext(ctx, `UPDATE emergency_recovery SET status=$1 WHERE id=$2 and status = ANY($3)`, status, sessionID, pq.Array(validPrevStatus))
|
||||
if err != nil {
|
||||
return false, stacktrace.Propagate(err, "")
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
return false, stacktrace.Propagate(err, "")
|
||||
}
|
||||
rows, _ := result.RowsAffected()
|
||||
return rows > 0, nil
|
||||
@ -106,7 +106,6 @@ func validPreviousStatus(newStatus ente.RecoveryStatus) []ente.RecoveryStatus {
|
||||
break
|
||||
case ente.RecoveryStatusReady:
|
||||
result = append(result, ente.RecoveryStatusWaiting, ente.RecoveryStatusReady)
|
||||
break
|
||||
case ente.RecoveryStatusStopped:
|
||||
result = append(result, ente.RecoveryStatusWaiting, ente.RecoveryStatusReady)
|
||||
case ente.RecoveryStatusRejected:
|
||||
|
Loading…
x
Reference in New Issue
Block a user