chore: open api

fix: missing action in cli.service.ts
This commit is contained in:
izzy
2025-11-18 17:35:12 +00:00
parent 7e7d6af66b
commit b01b63b25a
5 changed files with 35 additions and 6 deletions

View File

@@ -25,11 +25,13 @@ class MaintenanceAction {
static const start = MaintenanceAction._(r'start'); static const start = MaintenanceAction._(r'start');
static const end = MaintenanceAction._(r'end'); static const end = MaintenanceAction._(r'end');
static const restoreDatabase = MaintenanceAction._(r'restore_database');
/// List of all possible values in this [enum][MaintenanceAction]. /// List of all possible values in this [enum][MaintenanceAction].
static const values = <MaintenanceAction>[ static const values = <MaintenanceAction>[
start, start,
end, end,
restoreDatabase,
]; ];
static MaintenanceAction? fromJson(dynamic value) => MaintenanceActionTypeTransformer().decode(value); static MaintenanceAction? fromJson(dynamic value) => MaintenanceActionTypeTransformer().decode(value);
@@ -70,6 +72,7 @@ class MaintenanceActionTypeTransformer {
switch (data) { switch (data) {
case r'start': return MaintenanceAction.start; case r'start': return MaintenanceAction.start;
case r'end': return MaintenanceAction.end; case r'end': return MaintenanceAction.end;
case r'restore_database': return MaintenanceAction.restoreDatabase;
default: default:
if (!allowNull) { if (!allowNull) {
throw ArgumentError('Unknown enum value to decode: $data'); throw ArgumentError('Unknown enum value to decode: $data');

View File

@@ -14,25 +14,41 @@ class SetMaintenanceModeDto {
/// Returns a new [SetMaintenanceModeDto] instance. /// Returns a new [SetMaintenanceModeDto] instance.
SetMaintenanceModeDto({ SetMaintenanceModeDto({
required this.action, required this.action,
this.restoreBackupFilename,
}); });
MaintenanceAction action; MaintenanceAction action;
///
/// Please note: This property should have been non-nullable! Since the specification file
/// does not include a default value (using the "default:" property), however, the generated
/// source code must fall back to having a nullable type.
/// Consider adding a "default:" property in the specification file to hide this note.
///
String? restoreBackupFilename;
@override @override
bool operator ==(Object other) => identical(this, other) || other is SetMaintenanceModeDto && bool operator ==(Object other) => identical(this, other) || other is SetMaintenanceModeDto &&
other.action == action; other.action == action &&
other.restoreBackupFilename == restoreBackupFilename;
@override @override
int get hashCode => int get hashCode =>
// ignore: unnecessary_parenthesis // ignore: unnecessary_parenthesis
(action.hashCode); (action.hashCode) +
(restoreBackupFilename == null ? 0 : restoreBackupFilename!.hashCode);
@override @override
String toString() => 'SetMaintenanceModeDto[action=$action]'; String toString() => 'SetMaintenanceModeDto[action=$action, restoreBackupFilename=$restoreBackupFilename]';
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final json = <String, dynamic>{}; final json = <String, dynamic>{};
json[r'action'] = this.action; json[r'action'] = this.action;
if (this.restoreBackupFilename != null) {
json[r'restoreBackupFilename'] = this.restoreBackupFilename;
} else {
// json[r'restoreBackupFilename'] = null;
}
return json; return json;
} }
@@ -46,6 +62,7 @@ class SetMaintenanceModeDto {
return SetMaintenanceModeDto( return SetMaintenanceModeDto(
action: MaintenanceAction.fromJson(json[r'action'])!, action: MaintenanceAction.fromJson(json[r'action'])!,
restoreBackupFilename: mapValueOfType<String>(json, r'restoreBackupFilename'),
); );
} }
return null; return null;

View File

@@ -16526,7 +16526,8 @@
"MaintenanceAction": { "MaintenanceAction": {
"enum": [ "enum": [
"start", "start",
"end" "end",
"restore_database"
], ],
"type": "string" "type": "string"
}, },
@@ -19133,6 +19134,9 @@
"$ref": "#/components/schemas/MaintenanceAction" "$ref": "#/components/schemas/MaintenanceAction"
} }
] ]
},
"restoreBackupFilename": {
"type": "string"
} }
}, },
"required": [ "required": [

View File

@@ -42,6 +42,7 @@ export type ActivityStatisticsResponseDto = {
}; };
export type SetMaintenanceModeDto = { export type SetMaintenanceModeDto = {
action: MaintenanceAction; action: MaintenanceAction;
restoreBackupFilename?: string;
}; };
export type MaintenanceLoginDto = { export type MaintenanceLoginDto = {
token?: string; token?: string;
@@ -5053,7 +5054,8 @@ export enum UserAvatarColor {
} }
export enum MaintenanceAction { export enum MaintenanceAction {
Start = "start", Start = "start",
End = "end" End = "end",
RestoreDatabase = "restore_database"
} }
export enum NotificationLevel { export enum NotificationLevel {
Success = "success", Success = "success",

View File

@@ -3,7 +3,7 @@ import { isAbsolute } from 'node:path';
import { SALT_ROUNDS } from 'src/constants'; import { SALT_ROUNDS } from 'src/constants';
import { MaintenanceAuthDto } from 'src/dtos/maintenance.dto'; import { MaintenanceAuthDto } from 'src/dtos/maintenance.dto';
import { UserAdminResponseDto, mapUserAdmin } from 'src/dtos/user.dto'; import { UserAdminResponseDto, mapUserAdmin } from 'src/dtos/user.dto';
import { SystemMetadataKey } from 'src/enum'; import { MaintenanceAction, SystemMetadataKey } from 'src/enum';
import { BaseService } from 'src/services/base.service'; import { BaseService } from 'src/services/base.service';
import { createMaintenanceLoginUrl, generateMaintenanceSecret, sendOneShotAppRestart } from 'src/utils/maintenance'; import { createMaintenanceLoginUrl, generateMaintenanceSecret, sendOneShotAppRestart } from 'src/utils/maintenance';
import { getExternalDomain } from 'src/utils/misc'; import { getExternalDomain } from 'src/utils/misc';
@@ -87,6 +87,9 @@ export class CliService extends BaseService {
await this.systemMetadataRepository.set(SystemMetadataKey.MaintenanceMode, { await this.systemMetadataRepository.set(SystemMetadataKey.MaintenanceMode, {
isMaintenanceMode: true, isMaintenanceMode: true,
secret, secret,
action: {
action: MaintenanceAction.Start,
},
}); });
sendOneShotAppRestart({ sendOneShotAppRestart({