chore(server,mobile): remove device info entity (#1527)

* chore(server): remove unused device info code

* chore: generate open api

* remove any DeviceTypeEnum usage from mobile

* chore: coverage

* fix: drop device info table

---------

Co-authored-by: Fynn Petersen-Frey <zody22@gmail.com>
This commit is contained in:
Jason Rasmussen
2023-04-28 16:01:03 -04:00
committed by GitHub
parent 1e97407025
commit e22cdea485
46 changed files with 34 additions and 1315 deletions

View File

@@ -32,7 +32,6 @@ part 'api/api_key_api.dart';
part 'api/album_api.dart';
part 'api/asset_api.dart';
part 'api/authentication_api.dart';
part 'api/device_info_api.dart';
part 'api/job_api.dart';
part 'api/o_auth_api.dart';
part 'api/search_api.dart';
@@ -76,8 +75,6 @@ part 'model/curated_objects_response_dto.dart';
part 'model/delete_asset_dto.dart';
part 'model/delete_asset_response_dto.dart';
part 'model/delete_asset_status.dart';
part 'model/device_info_response_dto.dart';
part 'model/device_type_enum.dart';
part 'model/download_files_dto.dart';
part 'model/edit_shared_link_dto.dart';
part 'model/exif_response_dto.dart';
@@ -127,7 +124,6 @@ part 'model/update_album_dto.dart';
part 'model/update_asset_dto.dart';
part 'model/update_tag_dto.dart';
part 'model/update_user_dto.dart';
part 'model/upsert_device_info_dto.dart';
part 'model/usage_by_user_dto.dart';
part 'model/user_count_response_dto.dart';
part 'model/user_response_dto.dart';

View File

@@ -1,65 +0,0 @@
//
// AUTO-GENERATED FILE, DO NOT MODIFY!
//
// @dart=2.12
// ignore_for_file: unused_element, unused_import
// ignore_for_file: always_put_required_named_parameters_first
// ignore_for_file: constant_identifier_names
// ignore_for_file: lines_longer_than_80_chars
part of openapi.api;
class DeviceInfoApi {
DeviceInfoApi([ApiClient? apiClient]) : apiClient = apiClient ?? defaultApiClient;
final ApiClient apiClient;
/// Performs an HTTP 'PUT /device-info' operation and returns the [Response].
/// Parameters:
///
/// * [UpsertDeviceInfoDto] upsertDeviceInfoDto (required):
Future<Response> upsertDeviceInfoWithHttpInfo(UpsertDeviceInfoDto upsertDeviceInfoDto,) async {
// ignore: prefer_const_declarations
final path = r'/device-info';
// ignore: prefer_final_locals
Object? postBody = upsertDeviceInfoDto;
final queryParams = <QueryParam>[];
final headerParams = <String, String>{};
final formParams = <String, String>{};
const contentTypes = <String>['application/json'];
return apiClient.invokeAPI(
path,
'PUT',
queryParams,
postBody,
headerParams,
formParams,
contentTypes.isEmpty ? null : contentTypes.first,
);
}
/// Parameters:
///
/// * [UpsertDeviceInfoDto] upsertDeviceInfoDto (required):
Future<DeviceInfoResponseDto?> upsertDeviceInfo(UpsertDeviceInfoDto upsertDeviceInfoDto,) async {
final response = await upsertDeviceInfoWithHttpInfo(upsertDeviceInfoDto,);
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
}
// When a remote server returns no body with a status of 204, we shall not decode it.
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
// FormatException when trying to decode an empty string.
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'DeviceInfoResponseDto',) as DeviceInfoResponseDto;
}
return null;
}
}

View File

@@ -249,10 +249,6 @@ class ApiClient {
return DeleteAssetResponseDto.fromJson(value);
case 'DeleteAssetStatus':
return DeleteAssetStatusTypeTransformer().decode(value);
case 'DeviceInfoResponseDto':
return DeviceInfoResponseDto.fromJson(value);
case 'DeviceTypeEnum':
return DeviceTypeEnumTypeTransformer().decode(value);
case 'DownloadFilesDto':
return DownloadFilesDto.fromJson(value);
case 'EditSharedLinkDto':
@@ -351,8 +347,6 @@ class ApiClient {
return UpdateTagDto.fromJson(value);
case 'UpdateUserDto':
return UpdateUserDto.fromJson(value);
case 'UpsertDeviceInfoDto':
return UpsertDeviceInfoDto.fromJson(value);
case 'UsageByUserDto':
return UsageByUserDto.fromJson(value);
case 'UserCountResponseDto':

View File

@@ -61,9 +61,6 @@ String parameterToString(dynamic value) {
if (value is DeleteAssetStatus) {
return DeleteAssetStatusTypeTransformer().encode(value).toString();
}
if (value is DeviceTypeEnum) {
return DeviceTypeEnumTypeTransformer().encode(value).toString();
}
if (value is JobCommand) {
return JobCommandTypeTransformer().encode(value).toString();
}

View File

@@ -1,151 +0,0 @@
//
// AUTO-GENERATED FILE, DO NOT MODIFY!
//
// @dart=2.12
// ignore_for_file: unused_element, unused_import
// ignore_for_file: always_put_required_named_parameters_first
// ignore_for_file: constant_identifier_names
// ignore_for_file: lines_longer_than_80_chars
part of openapi.api;
class DeviceInfoResponseDto {
/// Returns a new [DeviceInfoResponseDto] instance.
DeviceInfoResponseDto({
required this.id,
required this.deviceType,
required this.userId,
required this.deviceId,
required this.createdAt,
required this.isAutoBackup,
});
int id;
DeviceTypeEnum deviceType;
String userId;
String deviceId;
String createdAt;
bool isAutoBackup;
@override
bool operator ==(Object other) => identical(this, other) || other is DeviceInfoResponseDto &&
other.id == id &&
other.deviceType == deviceType &&
other.userId == userId &&
other.deviceId == deviceId &&
other.createdAt == createdAt &&
other.isAutoBackup == isAutoBackup;
@override
int get hashCode =>
// ignore: unnecessary_parenthesis
(id.hashCode) +
(deviceType.hashCode) +
(userId.hashCode) +
(deviceId.hashCode) +
(createdAt.hashCode) +
(isAutoBackup.hashCode);
@override
String toString() => 'DeviceInfoResponseDto[id=$id, deviceType=$deviceType, userId=$userId, deviceId=$deviceId, createdAt=$createdAt, isAutoBackup=$isAutoBackup]';
Map<String, dynamic> toJson() {
final json = <String, dynamic>{};
json[r'id'] = this.id;
json[r'deviceType'] = this.deviceType;
json[r'userId'] = this.userId;
json[r'deviceId'] = this.deviceId;
json[r'createdAt'] = this.createdAt;
json[r'isAutoBackup'] = this.isAutoBackup;
return json;
}
/// Returns a new [DeviceInfoResponseDto] instance and imports its values from
/// [value] if it's a [Map], null otherwise.
// ignore: prefer_constructors_over_static_methods
static DeviceInfoResponseDto? fromJson(dynamic value) {
if (value is Map) {
final json = value.cast<String, dynamic>();
// Ensure that the map contains the required keys.
// Note 1: the values aren't checked for validity beyond being non-null.
// Note 2: this code is stripped in release mode!
assert(() {
requiredKeys.forEach((key) {
assert(json.containsKey(key), 'Required key "DeviceInfoResponseDto[$key]" is missing from JSON.');
assert(json[key] != null, 'Required key "DeviceInfoResponseDto[$key]" has a null value in JSON.');
});
return true;
}());
return DeviceInfoResponseDto(
id: mapValueOfType<int>(json, r'id')!,
deviceType: DeviceTypeEnum.fromJson(json[r'deviceType'])!,
userId: mapValueOfType<String>(json, r'userId')!,
deviceId: mapValueOfType<String>(json, r'deviceId')!,
createdAt: mapValueOfType<String>(json, r'createdAt')!,
isAutoBackup: mapValueOfType<bool>(json, r'isAutoBackup')!,
);
}
return null;
}
static List<DeviceInfoResponseDto>? listFromJson(dynamic json, {bool growable = false,}) {
final result = <DeviceInfoResponseDto>[];
if (json is List && json.isNotEmpty) {
for (final row in json) {
final value = DeviceInfoResponseDto.fromJson(row);
if (value != null) {
result.add(value);
}
}
}
return result.toList(growable: growable);
}
static Map<String, DeviceInfoResponseDto> mapFromJson(dynamic json) {
final map = <String, DeviceInfoResponseDto>{};
if (json is Map && json.isNotEmpty) {
json = json.cast<String, dynamic>(); // ignore: parameter_assignments
for (final entry in json.entries) {
final value = DeviceInfoResponseDto.fromJson(entry.value);
if (value != null) {
map[entry.key] = value;
}
}
}
return map;
}
// maps a json object with a list of DeviceInfoResponseDto-objects as value to a dart map
static Map<String, List<DeviceInfoResponseDto>> mapListFromJson(dynamic json, {bool growable = false,}) {
final map = <String, List<DeviceInfoResponseDto>>{};
if (json is Map && json.isNotEmpty) {
json = json.cast<String, dynamic>(); // ignore: parameter_assignments
for (final entry in json.entries) {
final value = DeviceInfoResponseDto.listFromJson(entry.value, growable: growable,);
if (value != null) {
map[entry.key] = value;
}
}
}
return map;
}
/// The list of required keys that must be present in a JSON.
static const requiredKeys = <String>{
'id',
'deviceType',
'userId',
'deviceId',
'createdAt',
'isAutoBackup',
};
}

View File

@@ -1,88 +0,0 @@
//
// AUTO-GENERATED FILE, DO NOT MODIFY!
//
// @dart=2.12
// ignore_for_file: unused_element, unused_import
// ignore_for_file: always_put_required_named_parameters_first
// ignore_for_file: constant_identifier_names
// ignore_for_file: lines_longer_than_80_chars
part of openapi.api;
class DeviceTypeEnum {
/// Instantiate a new enum with the provided [value].
const DeviceTypeEnum._(this.value);
/// The underlying value of this enum member.
final String value;
@override
String toString() => value;
String toJson() => value;
static const IOS = DeviceTypeEnum._(r'IOS');
static const ANDROID = DeviceTypeEnum._(r'ANDROID');
static const WEB = DeviceTypeEnum._(r'WEB');
/// List of all possible values in this [enum][DeviceTypeEnum].
static const values = <DeviceTypeEnum>[
IOS,
ANDROID,
WEB,
];
static DeviceTypeEnum? fromJson(dynamic value) => DeviceTypeEnumTypeTransformer().decode(value);
static List<DeviceTypeEnum>? listFromJson(dynamic json, {bool growable = false,}) {
final result = <DeviceTypeEnum>[];
if (json is List && json.isNotEmpty) {
for (final row in json) {
final value = DeviceTypeEnum.fromJson(row);
if (value != null) {
result.add(value);
}
}
}
return result.toList(growable: growable);
}
}
/// Transformation class that can [encode] an instance of [DeviceTypeEnum] to String,
/// and [decode] dynamic data back to [DeviceTypeEnum].
class DeviceTypeEnumTypeTransformer {
factory DeviceTypeEnumTypeTransformer() => _instance ??= const DeviceTypeEnumTypeTransformer._();
const DeviceTypeEnumTypeTransformer._();
String encode(DeviceTypeEnum data) => data.value;
/// Decodes a [dynamic value][data] to a DeviceTypeEnum.
///
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
/// cannot be decoded successfully, then an [UnimplementedError] is thrown.
///
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
/// and users are still using an old app with the old code.
DeviceTypeEnum? decode(dynamic data, {bool allowNull = true}) {
if (data != null) {
switch (data) {
case r'IOS': return DeviceTypeEnum.IOS;
case r'ANDROID': return DeviceTypeEnum.ANDROID;
case r'WEB': return DeviceTypeEnum.WEB;
default:
if (!allowNull) {
throw ArgumentError('Unknown enum value to decode: $data');
}
}
}
return null;
}
/// Singleton [DeviceTypeEnumTypeTransformer] instance.
static DeviceTypeEnumTypeTransformer? _instance;
}

View File

@@ -1,136 +0,0 @@
//
// AUTO-GENERATED FILE, DO NOT MODIFY!
//
// @dart=2.12
// ignore_for_file: unused_element, unused_import
// ignore_for_file: always_put_required_named_parameters_first
// ignore_for_file: constant_identifier_names
// ignore_for_file: lines_longer_than_80_chars
part of openapi.api;
class UpsertDeviceInfoDto {
/// Returns a new [UpsertDeviceInfoDto] instance.
UpsertDeviceInfoDto({
required this.deviceType,
required this.deviceId,
this.isAutoBackup,
});
DeviceTypeEnum deviceType;
String deviceId;
///
/// 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.
///
bool? isAutoBackup;
@override
bool operator ==(Object other) => identical(this, other) || other is UpsertDeviceInfoDto &&
other.deviceType == deviceType &&
other.deviceId == deviceId &&
other.isAutoBackup == isAutoBackup;
@override
int get hashCode =>
// ignore: unnecessary_parenthesis
(deviceType.hashCode) +
(deviceId.hashCode) +
(isAutoBackup == null ? 0 : isAutoBackup!.hashCode);
@override
String toString() => 'UpsertDeviceInfoDto[deviceType=$deviceType, deviceId=$deviceId, isAutoBackup=$isAutoBackup]';
Map<String, dynamic> toJson() {
final json = <String, dynamic>{};
json[r'deviceType'] = this.deviceType;
json[r'deviceId'] = this.deviceId;
if (this.isAutoBackup != null) {
json[r'isAutoBackup'] = this.isAutoBackup;
} else {
// json[r'isAutoBackup'] = null;
}
return json;
}
/// Returns a new [UpsertDeviceInfoDto] instance and imports its values from
/// [value] if it's a [Map], null otherwise.
// ignore: prefer_constructors_over_static_methods
static UpsertDeviceInfoDto? fromJson(dynamic value) {
if (value is Map) {
final json = value.cast<String, dynamic>();
// Ensure that the map contains the required keys.
// Note 1: the values aren't checked for validity beyond being non-null.
// Note 2: this code is stripped in release mode!
assert(() {
requiredKeys.forEach((key) {
assert(json.containsKey(key), 'Required key "UpsertDeviceInfoDto[$key]" is missing from JSON.');
assert(json[key] != null, 'Required key "UpsertDeviceInfoDto[$key]" has a null value in JSON.');
});
return true;
}());
return UpsertDeviceInfoDto(
deviceType: DeviceTypeEnum.fromJson(json[r'deviceType'])!,
deviceId: mapValueOfType<String>(json, r'deviceId')!,
isAutoBackup: mapValueOfType<bool>(json, r'isAutoBackup'),
);
}
return null;
}
static List<UpsertDeviceInfoDto>? listFromJson(dynamic json, {bool growable = false,}) {
final result = <UpsertDeviceInfoDto>[];
if (json is List && json.isNotEmpty) {
for (final row in json) {
final value = UpsertDeviceInfoDto.fromJson(row);
if (value != null) {
result.add(value);
}
}
}
return result.toList(growable: growable);
}
static Map<String, UpsertDeviceInfoDto> mapFromJson(dynamic json) {
final map = <String, UpsertDeviceInfoDto>{};
if (json is Map && json.isNotEmpty) {
json = json.cast<String, dynamic>(); // ignore: parameter_assignments
for (final entry in json.entries) {
final value = UpsertDeviceInfoDto.fromJson(entry.value);
if (value != null) {
map[entry.key] = value;
}
}
}
return map;
}
// maps a json object with a list of UpsertDeviceInfoDto-objects as value to a dart map
static Map<String, List<UpsertDeviceInfoDto>> mapListFromJson(dynamic json, {bool growable = false,}) {
final map = <String, List<UpsertDeviceInfoDto>>{};
if (json is Map && json.isNotEmpty) {
json = json.cast<String, dynamic>(); // ignore: parameter_assignments
for (final entry in json.entries) {
final value = UpsertDeviceInfoDto.listFromJson(entry.value, growable: growable,);
if (value != null) {
map[entry.key] = value;
}
}
}
return map;
}
/// The list of required keys that must be present in a JSON.
static const requiredKeys = <String>{
'deviceType',
'deviceId',
};
}