chore: Update scheme.graphql and its models

pull/228/head
NaiJi ✨ 2023-06-22 23:22:48 -03:00
parent f05bedf460
commit feca9d3b06
11 changed files with 1484 additions and 860 deletions

View File

@ -14,7 +14,8 @@ query BackupConfiguration {
query AllBackupSnapshots {
backup {
allSnapshots {
...backupSnapshotFields
id
createdAt
service {
displayName
id
@ -38,31 +39,41 @@ fragment genericBackupConfigReturn on GenericBackupConfigReturn {
}
mutation ForceSnapshotsReload {
forceSnapshotsReload {
...basicMutationReturnFields
backup {
forceSnapshotsReload {
...basicMutationReturnFields
}
}
}
mutation StartBackup($serviceId: String = null) {
startBackup(serviceId: $serviceId) {
backup {
startBackup(serviceId: $serviceId) {
...basicMutationReturnFields
}
}
}
mutation SetAutobackupPeriod($period: Int = null) {
setAutobackupPeriod(period: $period) {
...genericBackupConfigReturn
backup {
setAutobackupPeriod(period: $period) {
...genericBackupConfigReturn
}
}
}
mutation RemoveRepository {
removeRepository {
...genericBackupConfigReturn
backup {
removeRepository {
...genericBackupConfigReturn
}
}
}
mutation InitializeRepository($repository: InitializeRepositoryInput!) {
initializeRepository(repository: $repository) {
...genericBackupConfigReturn
backup {
initializeRepository(repository: $repository) {
...genericBackupConfigReturn
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -38,6 +38,16 @@ type ApiKeyMutationReturn implements MutationReturnInterface {
key: String
}
type ApiMutations {
getNewRecoveryApiKey(limits: RecoveryKeyLimitsInput = null): ApiKeyMutationReturn!
useRecoveryApiKey(input: UseRecoveryKeyInput!): DeviceApiTokenMutationReturn!
refreshDeviceApiToken: DeviceApiTokenMutationReturn!
deleteDeviceApiToken(device: String!): GenericMutationReturn!
getNewDeviceApiKey: ApiKeyMutationReturn!
invalidateNewDeviceApiKey: GenericMutationReturn!
authorizeWithNewDeviceApiKey(input: UseNewDeviceKeyInput!): DeviceApiTokenMutationReturn!
}
type ApiRecoveryKeyStatus {
exists: Boolean!
valid: Boolean!
@ -78,6 +88,15 @@ type BackupConfiguration {
locationId: String
}
type BackupMutations {
initializeRepository(repository: InitializeRepositoryInput!): GenericBackupConfigReturn!
removeRepository: GenericBackupConfigReturn!
setAutobackupPeriod(period: Int = null): GenericBackupConfigReturn!
startBackup(serviceId: String!): GenericJobMutationReturn!
restoreBackup(snapshotId: String!): GenericJobMutationReturn!
forceSnapshotsReload: GenericMutationReturn!
}
enum BackupProvider {
BACKBLAZE
NONE
@ -96,9 +115,9 @@ type DeviceApiTokenMutationReturn implements MutationReturnInterface {
}
enum DnsProvider {
CLOUDFLARE,
DESEC,
CLOUDFLARE
DIGITALOCEAN
DESEC
}
type DnsRecord {
@ -142,6 +161,10 @@ type Job {
getJob(jobId: String!): ApiJob
}
type JobMutations {
removeJob(jobId: String!): GenericMutationReturn!
}
input MigrateToBindsInput {
emailBlockDevice: String!
bitwardenBlockDevice: String!
@ -156,42 +179,43 @@ input MoveServiceInput {
}
type Mutation {
getNewRecoveryApiKey(limits: RecoveryKeyLimitsInput = null): ApiKeyMutationReturn!
useRecoveryApiKey(input: UseRecoveryKeyInput!): DeviceApiTokenMutationReturn!
refreshDeviceApiToken: DeviceApiTokenMutationReturn!
deleteDeviceApiToken(device: String!): GenericMutationReturn!
getNewDeviceApiKey: ApiKeyMutationReturn!
invalidateNewDeviceApiKey: GenericMutationReturn!
authorizeWithNewDeviceApiKey(input: UseNewDeviceKeyInput!): DeviceApiTokenMutationReturn!
changeTimezone(timezone: String!): TimezoneMutationReturn!
changeAutoUpgradeSettings(settings: AutoUpgradeSettingsInput!): AutoUpgradeSettingsMutationReturn!
runSystemRebuild: GenericMutationReturn!
runSystemRollback: GenericMutationReturn!
runSystemUpgrade: GenericMutationReturn!
rebootSystem: GenericMutationReturn!
pullRepositoryChanges: GenericMutationReturn!
createUser(user: UserMutationInput!): UserMutationReturn!
deleteUser(username: String!): GenericMutationReturn!
updateUser(user: UserMutationInput!): UserMutationReturn!
addSshKey(sshInput: SshMutationInput!): UserMutationReturn!
removeSshKey(sshInput: SshMutationInput!): UserMutationReturn!
resizeVolume(name: String!): GenericMutationReturn!
mountVolume(name: String!): GenericMutationReturn!
unmountVolume(name: String!): GenericMutationReturn!
migrateToBinds(input: MigrateToBindsInput!): GenericJobMutationReturn!
enableService(serviceId: String!): ServiceMutationReturn!
disableService(serviceId: String!): ServiceMutationReturn!
stopService(serviceId: String!): ServiceMutationReturn!
startService(serviceId: String!): ServiceMutationReturn!
restartService(serviceId: String!): ServiceMutationReturn!
moveService(input: MoveServiceInput!): ServiceJobMutationReturn!
removeJob(jobId: String!): GenericMutationReturn!
initializeRepository(repository: InitializeRepositoryInput!): GenericBackupConfigReturn!
removeRepository: GenericBackupConfigReturn!
setAutobackupPeriod(period: Int = null): GenericBackupConfigReturn!
startBackup(serviceId: String = null): GenericJobMutationReturn!
restoreBackup(snapshotId: String!): GenericJobMutationReturn!
forceSnapshotsReload: GenericMutationReturn!
getNewRecoveryApiKey(limits: RecoveryKeyLimitsInput = null): ApiKeyMutationReturn! @deprecated(reason: "Use `api.get_new_recovery_api_key` instead")
useRecoveryApiKey(input: UseRecoveryKeyInput!): DeviceApiTokenMutationReturn! @deprecated(reason: "Use `api.use_recovery_api_key` instead")
refreshDeviceApiToken: DeviceApiTokenMutationReturn! @deprecated(reason: "Use `api.refresh_device_api_token` instead")
deleteDeviceApiToken(device: String!): GenericMutationReturn! @deprecated(reason: "Use `api.delete_device_api_token` instead")
getNewDeviceApiKey: ApiKeyMutationReturn! @deprecated(reason: "Use `api.get_new_device_api_key` instead")
invalidateNewDeviceApiKey: GenericMutationReturn! @deprecated(reason: "Use `api.invalidate_new_device_api_key` instead")
authorizeWithNewDeviceApiKey(input: UseNewDeviceKeyInput!): DeviceApiTokenMutationReturn! @deprecated(reason: "Use `api.authorize_with_new_device_api_key` instead")
changeTimezone(timezone: String!): TimezoneMutationReturn! @deprecated(reason: "Use `system.change_timezone` instead")
changeAutoUpgradeSettings(settings: AutoUpgradeSettingsInput!): AutoUpgradeSettingsMutationReturn! @deprecated(reason: "Use `system.change_auto_upgrade_settings` instead")
runSystemRebuild: GenericMutationReturn! @deprecated(reason: "Use `system.run_system_rebuild` instead")
runSystemRollback: GenericMutationReturn! @deprecated(reason: "Use `system.run_system_rollback` instead")
runSystemUpgrade: GenericMutationReturn! @deprecated(reason: "Use `system.run_system_upgrade` instead")
rebootSystem: GenericMutationReturn! @deprecated(reason: "Use `system.reboot_system` instead")
pullRepositoryChanges: GenericMutationReturn! @deprecated(reason: "Use `system.pull_repository_changes` instead")
createUser(user: UserMutationInput!): UserMutationReturn! @deprecated(reason: "Use `users.create_user` instead")
deleteUser(username: String!): GenericMutationReturn! @deprecated(reason: "Use `users.delete_user` instead")
updateUser(user: UserMutationInput!): UserMutationReturn! @deprecated(reason: "Use `users.update_user` instead")
addSshKey(sshInput: SshMutationInput!): UserMutationReturn! @deprecated(reason: "Use `users.add_ssh_key` instead")
removeSshKey(sshInput: SshMutationInput!): UserMutationReturn! @deprecated(reason: "Use `users.remove_ssh_key` instead")
resizeVolume(name: String!): GenericMutationReturn! @deprecated(reason: "Use `storage.resize_volume` instead")
mountVolume(name: String!): GenericMutationReturn! @deprecated(reason: "Use `storage.mount_volume` instead")
unmountVolume(name: String!): GenericMutationReturn! @deprecated(reason: "Use `storage.unmount_volume` instead")
migrateToBinds(input: MigrateToBindsInput!): GenericJobMutationReturn! @deprecated(reason: "Use `storage.migrate_to_binds` instead")
enableService(serviceId: String!): ServiceMutationReturn! @deprecated(reason: "Use `services.enable_service` instead")
disableService(serviceId: String!): ServiceMutationReturn! @deprecated(reason: "Use `services.disable_service` instead")
stopService(serviceId: String!): ServiceMutationReturn! @deprecated(reason: "Use `services.stop_service` instead")
startService(serviceId: String!): ServiceMutationReturn! @deprecated(reason: "Use `services.start_service` instead")
restartService(serviceId: String!): ServiceMutationReturn! @deprecated(reason: "Use `services.restart_service` instead")
moveService(input: MoveServiceInput!): ServiceJobMutationReturn! @deprecated(reason: "Use `services.move_service` instead")
removeJob(jobId: String!): GenericMutationReturn! @deprecated(reason: "Use `jobs.remove_job` instead")
api: ApiMutations!
system: SystemMutations!
users: UsersMutations!
storage: StorageMutations!
services: ServicesMutations!
jobs: JobMutations!
backup: BackupMutations!
testMutation: GenericMutationReturn!
}
@ -202,8 +226,8 @@ interface MutationReturnInterface {
}
type Query {
system: System!
api: Api!
system: System!
users: Users!
storage: Storage!
jobs: Job!
@ -272,6 +296,15 @@ type Services {
allServices: [Service!]!
}
type ServicesMutations {
enableService(serviceId: String!): ServiceMutationReturn!
disableService(serviceId: String!): ServiceMutationReturn!
stopService(serviceId: String!): ServiceMutationReturn!
startService(serviceId: String!): ServiceMutationReturn!
restartService(serviceId: String!): ServiceMutationReturn!
moveService(input: MoveServiceInput!): ServiceJobMutationReturn!
}
enum Severity {
INFO
WARNING
@ -301,6 +334,13 @@ type Storage {
volumes: [StorageVolume!]!
}
type StorageMutations {
resizeVolume(name: String!): GenericMutationReturn!
mountVolume(name: String!): GenericMutationReturn!
unmountVolume(name: String!): GenericMutationReturn!
migrateToBinds(input: MigrateToBindsInput!): GenericJobMutationReturn!
}
interface StorageUsageInterface {
usedSpace: String!
volume: StorageVolume
@ -346,6 +386,16 @@ type SystemInfo {
usingBinds: Boolean!
}
type SystemMutations {
changeTimezone(timezone: String!): TimezoneMutationReturn!
changeAutoUpgradeSettings(settings: AutoUpgradeSettingsInput!): AutoUpgradeSettingsMutationReturn!
runSystemRebuild: GenericMutationReturn!
runSystemRollback: GenericMutationReturn!
runSystemUpgrade: GenericMutationReturn!
rebootSystem: GenericMutationReturn!
pullRepositoryChanges: GenericMutationReturn!
}
type SystemProviderInfo {
provider: ServerProvider!
id: String!
@ -403,15 +453,10 @@ type Users {
getUser(username: String!): User
}
fragment dnsRecordFields on DnsRecord {
content
name
priority
recordType
ttl
}
fragment backupSnapshotFields on SnapshotInfo {
id
createdAt
type UsersMutations {
createUser(user: UserMutationInput!): UserMutationReturn!
deleteUser(username: String!): GenericMutationReturn!
updateUser(user: UserMutationInput!): UserMutationReturn!
addSshKey(sshInput: SshMutationInput!): UserMutationReturn!
removeSshKey(sshInput: SshMutationInput!): UserMutationReturn!
}

View File

@ -1,5 +1,3 @@
import 'package:gql/ast.dart';
import 'package:graphql/client.dart' as graphql;
import 'package:selfprivacy/utils/scalars.dart';
class Input$AutoUpgradeSettingsInput {
@ -1312,16 +1310,16 @@ Enum$BackupProvider fromJson$Enum$BackupProvider(String value) {
}
}
enum Enum$DnsProvider { CLOUDFLARE, DESEC, DIGITALOCEAN, $unknown }
enum Enum$DnsProvider { CLOUDFLARE, DIGITALOCEAN, DESEC, $unknown }
String toJson$Enum$DnsProvider(Enum$DnsProvider e) {
switch (e) {
case Enum$DnsProvider.CLOUDFLARE:
return r'CLOUDFLARE';
case Enum$DnsProvider.DESEC:
return r'DESEC';
case Enum$DnsProvider.DIGITALOCEAN:
return r'DIGITALOCEAN';
case Enum$DnsProvider.DESEC:
return r'DESEC';
case Enum$DnsProvider.$unknown:
return r'$unknown';
}
@ -1331,10 +1329,10 @@ Enum$DnsProvider fromJson$Enum$DnsProvider(String value) {
switch (value) {
case r'CLOUDFLARE':
return Enum$DnsProvider.CLOUDFLARE;
case r'DESEC':
return Enum$DnsProvider.DESEC;
case r'DIGITALOCEAN':
return Enum$DnsProvider.DIGITALOCEAN;
case r'DESEC':
return Enum$DnsProvider.DESEC;
default:
return Enum$DnsProvider.$unknown;
}
@ -1481,517 +1479,6 @@ Enum$UserType fromJson$Enum$UserType(String value) {
}
}
class Fragment$dnsRecordFields {
Fragment$dnsRecordFields({
required this.content,
required this.name,
this.priority,
required this.recordType,
required this.ttl,
this.$__typename = 'DnsRecord',
});
factory Fragment$dnsRecordFields.fromJson(Map<String, dynamic> json) {
final l$content = json['content'];
final l$name = json['name'];
final l$priority = json['priority'];
final l$recordType = json['recordType'];
final l$ttl = json['ttl'];
final l$$__typename = json['__typename'];
return Fragment$dnsRecordFields(
content: (l$content as String),
name: (l$name as String),
priority: (l$priority as int?),
recordType: (l$recordType as String),
ttl: (l$ttl as int),
$__typename: (l$$__typename as String),
);
}
final String content;
final String name;
final int? priority;
final String recordType;
final int ttl;
final String $__typename;
Map<String, dynamic> toJson() {
final _resultData = <String, dynamic>{};
final l$content = content;
_resultData['content'] = l$content;
final l$name = name;
_resultData['name'] = l$name;
final l$priority = priority;
_resultData['priority'] = l$priority;
final l$recordType = recordType;
_resultData['recordType'] = l$recordType;
final l$ttl = ttl;
_resultData['ttl'] = l$ttl;
final l$$__typename = $__typename;
_resultData['__typename'] = l$$__typename;
return _resultData;
}
@override
int get hashCode {
final l$content = content;
final l$name = name;
final l$priority = priority;
final l$recordType = recordType;
final l$ttl = ttl;
final l$$__typename = $__typename;
return Object.hashAll([
l$content,
l$name,
l$priority,
l$recordType,
l$ttl,
l$$__typename,
]);
}
@override
bool operator ==(Object other) {
if (identical(this, other)) {
return true;
}
if (!(other is Fragment$dnsRecordFields) ||
runtimeType != other.runtimeType) {
return false;
}
final l$content = content;
final lOther$content = other.content;
if (l$content != lOther$content) {
return false;
}
final l$name = name;
final lOther$name = other.name;
if (l$name != lOther$name) {
return false;
}
final l$priority = priority;
final lOther$priority = other.priority;
if (l$priority != lOther$priority) {
return false;
}
final l$recordType = recordType;
final lOther$recordType = other.recordType;
if (l$recordType != lOther$recordType) {
return false;
}
final l$ttl = ttl;
final lOther$ttl = other.ttl;
if (l$ttl != lOther$ttl) {
return false;
}
final l$$__typename = $__typename;
final lOther$$__typename = other.$__typename;
if (l$$__typename != lOther$$__typename) {
return false;
}
return true;
}
}
extension UtilityExtension$Fragment$dnsRecordFields
on Fragment$dnsRecordFields {
CopyWith$Fragment$dnsRecordFields<Fragment$dnsRecordFields> get copyWith =>
CopyWith$Fragment$dnsRecordFields(
this,
(i) => i,
);
}
abstract class CopyWith$Fragment$dnsRecordFields<TRes> {
factory CopyWith$Fragment$dnsRecordFields(
Fragment$dnsRecordFields instance,
TRes Function(Fragment$dnsRecordFields) then,
) = _CopyWithImpl$Fragment$dnsRecordFields;
factory CopyWith$Fragment$dnsRecordFields.stub(TRes res) =
_CopyWithStubImpl$Fragment$dnsRecordFields;
TRes call({
String? content,
String? name,
int? priority,
String? recordType,
int? ttl,
String? $__typename,
});
}
class _CopyWithImpl$Fragment$dnsRecordFields<TRes>
implements CopyWith$Fragment$dnsRecordFields<TRes> {
_CopyWithImpl$Fragment$dnsRecordFields(
this._instance,
this._then,
);
final Fragment$dnsRecordFields _instance;
final TRes Function(Fragment$dnsRecordFields) _then;
static const _undefined = <dynamic, dynamic>{};
TRes call({
Object? content = _undefined,
Object? name = _undefined,
Object? priority = _undefined,
Object? recordType = _undefined,
Object? ttl = _undefined,
Object? $__typename = _undefined,
}) =>
_then(Fragment$dnsRecordFields(
content: content == _undefined || content == null
? _instance.content
: (content as String),
name: name == _undefined || name == null
? _instance.name
: (name as String),
priority:
priority == _undefined ? _instance.priority : (priority as int?),
recordType: recordType == _undefined || recordType == null
? _instance.recordType
: (recordType as String),
ttl: ttl == _undefined || ttl == null ? _instance.ttl : (ttl as int),
$__typename: $__typename == _undefined || $__typename == null
? _instance.$__typename
: ($__typename as String),
));
}
class _CopyWithStubImpl$Fragment$dnsRecordFields<TRes>
implements CopyWith$Fragment$dnsRecordFields<TRes> {
_CopyWithStubImpl$Fragment$dnsRecordFields(this._res);
TRes _res;
call({
String? content,
String? name,
int? priority,
String? recordType,
int? ttl,
String? $__typename,
}) =>
_res;
}
const fragmentDefinitiondnsRecordFields = FragmentDefinitionNode(
name: NameNode(value: 'dnsRecordFields'),
typeCondition: TypeConditionNode(
on: NamedTypeNode(
name: NameNode(value: 'DnsRecord'),
isNonNull: false,
)),
directives: [],
selectionSet: SelectionSetNode(selections: [
FieldNode(
name: NameNode(value: 'content'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
FieldNode(
name: NameNode(value: 'name'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
FieldNode(
name: NameNode(value: 'priority'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
FieldNode(
name: NameNode(value: 'recordType'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
FieldNode(
name: NameNode(value: 'ttl'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
FieldNode(
name: NameNode(value: '__typename'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
]),
);
const documentNodeFragmentdnsRecordFields = DocumentNode(definitions: [
fragmentDefinitiondnsRecordFields,
]);
extension ClientExtension$Fragment$dnsRecordFields on graphql.GraphQLClient {
void writeFragment$dnsRecordFields({
required Fragment$dnsRecordFields data,
required Map<String, dynamic> idFields,
bool broadcast = true,
}) =>
this.writeFragment(
graphql.FragmentRequest(
idFields: idFields,
fragment: const graphql.Fragment(
fragmentName: 'dnsRecordFields',
document: documentNodeFragmentdnsRecordFields,
),
),
data: data.toJson(),
broadcast: broadcast,
);
Fragment$dnsRecordFields? readFragment$dnsRecordFields({
required Map<String, dynamic> idFields,
bool optimistic = true,
}) {
final result = this.readFragment(
graphql.FragmentRequest(
idFields: idFields,
fragment: const graphql.Fragment(
fragmentName: 'dnsRecordFields',
document: documentNodeFragmentdnsRecordFields,
),
),
optimistic: optimistic,
);
return result == null ? null : Fragment$dnsRecordFields.fromJson(result);
}
}
class Fragment$backupSnapshotFields {
Fragment$backupSnapshotFields({
required this.id,
required this.createdAt,
this.$__typename = 'SnapshotInfo',
});
factory Fragment$backupSnapshotFields.fromJson(Map<String, dynamic> json) {
final l$id = json['id'];
final l$createdAt = json['createdAt'];
final l$$__typename = json['__typename'];
return Fragment$backupSnapshotFields(
id: (l$id as String),
createdAt: dateTimeFromJson(l$createdAt),
$__typename: (l$$__typename as String),
);
}
final String id;
final DateTime createdAt;
final String $__typename;
Map<String, dynamic> toJson() {
final _resultData = <String, dynamic>{};
final l$id = id;
_resultData['id'] = l$id;
final l$createdAt = createdAt;
_resultData['createdAt'] = dateTimeToJson(l$createdAt);
final l$$__typename = $__typename;
_resultData['__typename'] = l$$__typename;
return _resultData;
}
@override
int get hashCode {
final l$id = id;
final l$createdAt = createdAt;
final l$$__typename = $__typename;
return Object.hashAll([
l$id,
l$createdAt,
l$$__typename,
]);
}
@override
bool operator ==(Object other) {
if (identical(this, other)) {
return true;
}
if (!(other is Fragment$backupSnapshotFields) ||
runtimeType != other.runtimeType) {
return false;
}
final l$id = id;
final lOther$id = other.id;
if (l$id != lOther$id) {
return false;
}
final l$createdAt = createdAt;
final lOther$createdAt = other.createdAt;
if (l$createdAt != lOther$createdAt) {
return false;
}
final l$$__typename = $__typename;
final lOther$$__typename = other.$__typename;
if (l$$__typename != lOther$$__typename) {
return false;
}
return true;
}
}
extension UtilityExtension$Fragment$backupSnapshotFields
on Fragment$backupSnapshotFields {
CopyWith$Fragment$backupSnapshotFields<Fragment$backupSnapshotFields>
get copyWith => CopyWith$Fragment$backupSnapshotFields(
this,
(i) => i,
);
}
abstract class CopyWith$Fragment$backupSnapshotFields<TRes> {
factory CopyWith$Fragment$backupSnapshotFields(
Fragment$backupSnapshotFields instance,
TRes Function(Fragment$backupSnapshotFields) then,
) = _CopyWithImpl$Fragment$backupSnapshotFields;
factory CopyWith$Fragment$backupSnapshotFields.stub(TRes res) =
_CopyWithStubImpl$Fragment$backupSnapshotFields;
TRes call({
String? id,
DateTime? createdAt,
String? $__typename,
});
}
class _CopyWithImpl$Fragment$backupSnapshotFields<TRes>
implements CopyWith$Fragment$backupSnapshotFields<TRes> {
_CopyWithImpl$Fragment$backupSnapshotFields(
this._instance,
this._then,
);
final Fragment$backupSnapshotFields _instance;
final TRes Function(Fragment$backupSnapshotFields) _then;
static const _undefined = <dynamic, dynamic>{};
TRes call({
Object? id = _undefined,
Object? createdAt = _undefined,
Object? $__typename = _undefined,
}) =>
_then(Fragment$backupSnapshotFields(
id: id == _undefined || id == null ? _instance.id : (id as String),
createdAt: createdAt == _undefined || createdAt == null
? _instance.createdAt
: (createdAt as DateTime),
$__typename: $__typename == _undefined || $__typename == null
? _instance.$__typename
: ($__typename as String),
));
}
class _CopyWithStubImpl$Fragment$backupSnapshotFields<TRes>
implements CopyWith$Fragment$backupSnapshotFields<TRes> {
_CopyWithStubImpl$Fragment$backupSnapshotFields(this._res);
TRes _res;
call({
String? id,
DateTime? createdAt,
String? $__typename,
}) =>
_res;
}
const fragmentDefinitionbackupSnapshotFields = FragmentDefinitionNode(
name: NameNode(value: 'backupSnapshotFields'),
typeCondition: TypeConditionNode(
on: NamedTypeNode(
name: NameNode(value: 'SnapshotInfo'),
isNonNull: false,
)),
directives: [],
selectionSet: SelectionSetNode(selections: [
FieldNode(
name: NameNode(value: 'id'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
FieldNode(
name: NameNode(value: 'createdAt'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
FieldNode(
name: NameNode(value: '__typename'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
]),
);
const documentNodeFragmentbackupSnapshotFields = DocumentNode(definitions: [
fragmentDefinitionbackupSnapshotFields,
]);
extension ClientExtension$Fragment$backupSnapshotFields
on graphql.GraphQLClient {
void writeFragment$backupSnapshotFields({
required Fragment$backupSnapshotFields data,
required Map<String, dynamic> idFields,
bool broadcast = true,
}) =>
this.writeFragment(
graphql.FragmentRequest(
idFields: idFields,
fragment: const graphql.Fragment(
fragmentName: 'backupSnapshotFields',
document: documentNodeFragmentbackupSnapshotFields,
),
),
data: data.toJson(),
broadcast: broadcast,
);
Fragment$backupSnapshotFields? readFragment$backupSnapshotFields({
required Map<String, dynamic> idFields,
bool optimistic = true,
}) {
final result = this.readFragment(
graphql.FragmentRequest(
idFields: idFields,
fragment: const graphql.Fragment(
fragmentName: 'backupSnapshotFields',
document: documentNodeFragmentbackupSnapshotFields,
),
),
optimistic: optimistic,
);
return result == null
? null
: Fragment$backupSnapshotFields.fromJson(result);
}
}
const possibleTypesMap = <String, Set<String>>{
'MutationReturnInterface': {
'ApiKeyMutationReturn',

View File

@ -28,6 +28,14 @@ query SystemIsUsingBinds {
}
}
fragment fragmentDnsRecords on DnsRecord {
recordType
name
content
ttl
priority
}
query DomainInfo {
system {
domainInfo {
@ -35,7 +43,7 @@ query DomainInfo {
hostname
provider
requiredDnsRecords {
...dnsRecordFields
...fragmentDnsRecords
}
}
}

View File

@ -2282,6 +2282,300 @@ class _CopyWithStubImpl$Fragment$basicMutationReturnFields$$UserMutationReturn<
_res;
}
class Fragment$fragmentDnsRecords {
Fragment$fragmentDnsRecords({
required this.recordType,
required this.name,
required this.content,
required this.ttl,
this.priority,
this.$__typename = 'DnsRecord',
});
factory Fragment$fragmentDnsRecords.fromJson(Map<String, dynamic> json) {
final l$recordType = json['recordType'];
final l$name = json['name'];
final l$content = json['content'];
final l$ttl = json['ttl'];
final l$priority = json['priority'];
final l$$__typename = json['__typename'];
return Fragment$fragmentDnsRecords(
recordType: (l$recordType as String),
name: (l$name as String),
content: (l$content as String),
ttl: (l$ttl as int),
priority: (l$priority as int?),
$__typename: (l$$__typename as String),
);
}
final String recordType;
final String name;
final String content;
final int ttl;
final int? priority;
final String $__typename;
Map<String, dynamic> toJson() {
final _resultData = <String, dynamic>{};
final l$recordType = recordType;
_resultData['recordType'] = l$recordType;
final l$name = name;
_resultData['name'] = l$name;
final l$content = content;
_resultData['content'] = l$content;
final l$ttl = ttl;
_resultData['ttl'] = l$ttl;
final l$priority = priority;
_resultData['priority'] = l$priority;
final l$$__typename = $__typename;
_resultData['__typename'] = l$$__typename;
return _resultData;
}
@override
int get hashCode {
final l$recordType = recordType;
final l$name = name;
final l$content = content;
final l$ttl = ttl;
final l$priority = priority;
final l$$__typename = $__typename;
return Object.hashAll([
l$recordType,
l$name,
l$content,
l$ttl,
l$priority,
l$$__typename,
]);
}
@override
bool operator ==(Object other) {
if (identical(this, other)) {
return true;
}
if (!(other is Fragment$fragmentDnsRecords) ||
runtimeType != other.runtimeType) {
return false;
}
final l$recordType = recordType;
final lOther$recordType = other.recordType;
if (l$recordType != lOther$recordType) {
return false;
}
final l$name = name;
final lOther$name = other.name;
if (l$name != lOther$name) {
return false;
}
final l$content = content;
final lOther$content = other.content;
if (l$content != lOther$content) {
return false;
}
final l$ttl = ttl;
final lOther$ttl = other.ttl;
if (l$ttl != lOther$ttl) {
return false;
}
final l$priority = priority;
final lOther$priority = other.priority;
if (l$priority != lOther$priority) {
return false;
}
final l$$__typename = $__typename;
final lOther$$__typename = other.$__typename;
if (l$$__typename != lOther$$__typename) {
return false;
}
return true;
}
}
extension UtilityExtension$Fragment$fragmentDnsRecords
on Fragment$fragmentDnsRecords {
CopyWith$Fragment$fragmentDnsRecords<Fragment$fragmentDnsRecords>
get copyWith => CopyWith$Fragment$fragmentDnsRecords(
this,
(i) => i,
);
}
abstract class CopyWith$Fragment$fragmentDnsRecords<TRes> {
factory CopyWith$Fragment$fragmentDnsRecords(
Fragment$fragmentDnsRecords instance,
TRes Function(Fragment$fragmentDnsRecords) then,
) = _CopyWithImpl$Fragment$fragmentDnsRecords;
factory CopyWith$Fragment$fragmentDnsRecords.stub(TRes res) =
_CopyWithStubImpl$Fragment$fragmentDnsRecords;
TRes call({
String? recordType,
String? name,
String? content,
int? ttl,
int? priority,
String? $__typename,
});
}
class _CopyWithImpl$Fragment$fragmentDnsRecords<TRes>
implements CopyWith$Fragment$fragmentDnsRecords<TRes> {
_CopyWithImpl$Fragment$fragmentDnsRecords(
this._instance,
this._then,
);
final Fragment$fragmentDnsRecords _instance;
final TRes Function(Fragment$fragmentDnsRecords) _then;
static const _undefined = <dynamic, dynamic>{};
TRes call({
Object? recordType = _undefined,
Object? name = _undefined,
Object? content = _undefined,
Object? ttl = _undefined,
Object? priority = _undefined,
Object? $__typename = _undefined,
}) =>
_then(Fragment$fragmentDnsRecords(
recordType: recordType == _undefined || recordType == null
? _instance.recordType
: (recordType as String),
name: name == _undefined || name == null
? _instance.name
: (name as String),
content: content == _undefined || content == null
? _instance.content
: (content as String),
ttl: ttl == _undefined || ttl == null ? _instance.ttl : (ttl as int),
priority:
priority == _undefined ? _instance.priority : (priority as int?),
$__typename: $__typename == _undefined || $__typename == null
? _instance.$__typename
: ($__typename as String),
));
}
class _CopyWithStubImpl$Fragment$fragmentDnsRecords<TRes>
implements CopyWith$Fragment$fragmentDnsRecords<TRes> {
_CopyWithStubImpl$Fragment$fragmentDnsRecords(this._res);
TRes _res;
call({
String? recordType,
String? name,
String? content,
int? ttl,
int? priority,
String? $__typename,
}) =>
_res;
}
const fragmentDefinitionfragmentDnsRecords = FragmentDefinitionNode(
name: NameNode(value: 'fragmentDnsRecords'),
typeCondition: TypeConditionNode(
on: NamedTypeNode(
name: NameNode(value: 'DnsRecord'),
isNonNull: false,
)),
directives: [],
selectionSet: SelectionSetNode(selections: [
FieldNode(
name: NameNode(value: 'recordType'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
FieldNode(
name: NameNode(value: 'name'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
FieldNode(
name: NameNode(value: 'content'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
FieldNode(
name: NameNode(value: 'ttl'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
FieldNode(
name: NameNode(value: 'priority'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
FieldNode(
name: NameNode(value: '__typename'),
alias: null,
arguments: [],
directives: [],
selectionSet: null,
),
]),
);
const documentNodeFragmentfragmentDnsRecords = DocumentNode(definitions: [
fragmentDefinitionfragmentDnsRecords,
]);
extension ClientExtension$Fragment$fragmentDnsRecords on graphql.GraphQLClient {
void writeFragment$fragmentDnsRecords({
required Fragment$fragmentDnsRecords data,
required Map<String, dynamic> idFields,
bool broadcast = true,
}) =>
this.writeFragment(
graphql.FragmentRequest(
idFields: idFields,
fragment: const graphql.Fragment(
fragmentName: 'fragmentDnsRecords',
document: documentNodeFragmentfragmentDnsRecords,
),
),
data: data.toJson(),
broadcast: broadcast,
);
Fragment$fragmentDnsRecords? readFragment$fragmentDnsRecords({
required Map<String, dynamic> idFields,
bool optimistic = true,
}) {
final result = this.readFragment(
graphql.FragmentRequest(
idFields: idFields,
fragment: const graphql.Fragment(
fragmentName: 'fragmentDnsRecords',
document: documentNodeFragmentfragmentDnsRecords,
),
),
optimistic: optimistic,
);
return result == null ? null : Fragment$fragmentDnsRecords.fromJson(result);
}
}
class Query$SystemSettings {
Query$SystemSettings({
required this.system,
@ -4019,7 +4313,7 @@ const documentNodeQueryDomainInfo = DocumentNode(definitions: [
directives: [],
selectionSet: SelectionSetNode(selections: [
FragmentSpreadNode(
name: NameNode(value: 'dnsRecordFields'),
name: NameNode(value: 'fragmentDnsRecords'),
directives: [],
),
FieldNode(
@ -4058,7 +4352,7 @@ const documentNodeQueryDomainInfo = DocumentNode(definitions: [
),
]),
),
fragmentDefinitiondnsRecordFields,
fragmentDefinitionfragmentDnsRecords,
]);
Query$DomainInfo _parserFn$Query$DomainInfo(Map<String, dynamic> data) =>
Query$DomainInfo.fromJson(data);
@ -4331,7 +4625,7 @@ class Query$DomainInfo$system$domainInfo {
provider: fromJson$Enum$DnsProvider((l$provider as String)),
requiredDnsRecords: (l$requiredDnsRecords as List<dynamic>)
.map((e) =>
Fragment$dnsRecordFields.fromJson((e as Map<String, dynamic>)))
Fragment$fragmentDnsRecords.fromJson((e as Map<String, dynamic>)))
.toList(),
$__typename: (l$$__typename as String),
);
@ -4343,7 +4637,7 @@ class Query$DomainInfo$system$domainInfo {
final Enum$DnsProvider provider;
final List<Fragment$dnsRecordFields> requiredDnsRecords;
final List<Fragment$fragmentDnsRecords> requiredDnsRecords;
final String $__typename;
@ -4447,13 +4741,14 @@ abstract class CopyWith$Query$DomainInfo$system$domainInfo<TRes> {
String? domain,
String? hostname,
Enum$DnsProvider? provider,
List<Fragment$dnsRecordFields>? requiredDnsRecords,
List<Fragment$fragmentDnsRecords>? requiredDnsRecords,
String? $__typename,
});
TRes requiredDnsRecords(
Iterable<Fragment$dnsRecordFields> Function(
Iterable<Fragment$fragmentDnsRecords> Function(
Iterable<
CopyWith$Fragment$dnsRecordFields<Fragment$dnsRecordFields>>)
CopyWith$Fragment$fragmentDnsRecords<
Fragment$fragmentDnsRecords>>)
_fn);
}
@ -4490,20 +4785,20 @@ class _CopyWithImpl$Query$DomainInfo$system$domainInfo<TRes>
requiredDnsRecords:
requiredDnsRecords == _undefined || requiredDnsRecords == null
? _instance.requiredDnsRecords
: (requiredDnsRecords as List<Fragment$dnsRecordFields>),
: (requiredDnsRecords as List<Fragment$fragmentDnsRecords>),
$__typename: $__typename == _undefined || $__typename == null
? _instance.$__typename
: ($__typename as String),
));
TRes requiredDnsRecords(
Iterable<Fragment$dnsRecordFields> Function(
Iterable<Fragment$fragmentDnsRecords> Function(
Iterable<
CopyWith$Fragment$dnsRecordFields<
Fragment$dnsRecordFields>>)
CopyWith$Fragment$fragmentDnsRecords<
Fragment$fragmentDnsRecords>>)
_fn) =>
call(
requiredDnsRecords: _fn(_instance.requiredDnsRecords
.map((e) => CopyWith$Fragment$dnsRecordFields(
.map((e) => CopyWith$Fragment$fragmentDnsRecords(
e,
(i) => i,
))).toList());
@ -4519,7 +4814,7 @@ class _CopyWithStubImpl$Query$DomainInfo$system$domainInfo<TRes>
String? domain,
String? hostname,
Enum$DnsProvider? provider,
List<Fragment$dnsRecordFields>? requiredDnsRecords,
List<Fragment$fragmentDnsRecords>? requiredDnsRecords,
String? $__typename,
}) =>
_res;

View File

@ -10,7 +10,7 @@ query AllServices {
description
displayName
dnsRecords {
...dnsRecordFields
...fragmentDnsRecords
}
id
isEnabled

View File

@ -3,6 +3,7 @@ import 'package:gql/ast.dart';
import 'package:graphql/client.dart' as graphql;
import 'package:selfprivacy/utils/scalars.dart';
import 'schema.graphql.dart';
import 'server_settings.graphql.dart';
class Fragment$basicMutationReturnFields {
Fragment$basicMutationReturnFields({
@ -2454,7 +2455,7 @@ const documentNodeQueryAllServices = DocumentNode(definitions: [
directives: [],
selectionSet: SelectionSetNode(selections: [
FragmentSpreadNode(
name: NameNode(value: 'dnsRecordFields'),
name: NameNode(value: 'fragmentDnsRecords'),
directives: [],
),
FieldNode(
@ -2593,7 +2594,7 @@ const documentNodeQueryAllServices = DocumentNode(definitions: [
),
]),
),
fragmentDefinitiondnsRecordFields,
fragmentDefinitionfragmentDnsRecords,
]);
Query$AllServices _parserFn$Query$AllServices(Map<String, dynamic> data) =>
Query$AllServices.fromJson(data);
@ -2901,7 +2902,7 @@ class Query$AllServices$services$allServices {
displayName: (l$displayName as String),
dnsRecords: (l$dnsRecords as List<dynamic>?)
?.map((e) =>
Fragment$dnsRecordFields.fromJson((e as Map<String, dynamic>)))
Fragment$fragmentDnsRecords.fromJson((e as Map<String, dynamic>)))
.toList(),
id: (l$id as String),
isEnabled: (l$isEnabled as bool),
@ -2921,7 +2922,7 @@ class Query$AllServices$services$allServices {
final String displayName;
final List<Fragment$dnsRecordFields>? dnsRecords;
final List<Fragment$fragmentDnsRecords>? dnsRecords;
final String id;
@ -3106,7 +3107,7 @@ abstract class CopyWith$Query$AllServices$services$allServices<TRes> {
TRes call({
String? description,
String? displayName,
List<Fragment$dnsRecordFields>? dnsRecords,
List<Fragment$fragmentDnsRecords>? dnsRecords,
String? id,
bool? isEnabled,
bool? isMovable,
@ -3118,9 +3119,10 @@ abstract class CopyWith$Query$AllServices$services$allServices<TRes> {
String? $__typename,
});
TRes dnsRecords(
Iterable<Fragment$dnsRecordFields>? Function(
Iterable<Fragment$fragmentDnsRecords>? Function(
Iterable<
CopyWith$Fragment$dnsRecordFields<Fragment$dnsRecordFields>>?)
CopyWith$Fragment$fragmentDnsRecords<
Fragment$fragmentDnsRecords>>?)
_fn);
CopyWith$Query$AllServices$services$allServices$storageUsage<TRes>
get storageUsage;
@ -3162,7 +3164,7 @@ class _CopyWithImpl$Query$AllServices$services$allServices<TRes>
: (displayName as String),
dnsRecords: dnsRecords == _undefined
? _instance.dnsRecords
: (dnsRecords as List<Fragment$dnsRecordFields>?),
: (dnsRecords as List<Fragment$fragmentDnsRecords>?),
id: id == _undefined || id == null ? _instance.id : (id as String),
isEnabled: isEnabled == _undefined || isEnabled == null
? _instance.isEnabled
@ -3189,14 +3191,14 @@ class _CopyWithImpl$Query$AllServices$services$allServices<TRes>
: ($__typename as String),
));
TRes dnsRecords(
Iterable<Fragment$dnsRecordFields>? Function(
Iterable<Fragment$fragmentDnsRecords>? Function(
Iterable<
CopyWith$Fragment$dnsRecordFields<
Fragment$dnsRecordFields>>?)
CopyWith$Fragment$fragmentDnsRecords<
Fragment$fragmentDnsRecords>>?)
_fn) =>
call(
dnsRecords: _fn(_instance.dnsRecords
?.map((e) => CopyWith$Fragment$dnsRecordFields(
?.map((e) => CopyWith$Fragment$fragmentDnsRecords(
e,
(i) => i,
)))?.toList());
@ -3217,7 +3219,7 @@ class _CopyWithStubImpl$Query$AllServices$services$allServices<TRes>
call({
String? description,
String? displayName,
List<Fragment$dnsRecordFields>? dnsRecords,
List<Fragment$fragmentDnsRecords>? dnsRecords,
String? id,
bool? isEnabled,
bool? isMovable,

View File

@ -289,8 +289,10 @@ class ServerApi extends GraphQLApiMap
}
records = response.parsedData!.system.domainInfo.requiredDnsRecords
.map<DnsRecord>(
(final Fragment$dnsRecordFields fragment) =>
DnsRecord.fromGraphQL(fragment),
(
final Fragment$fragmentDnsRecords record,
) =>
DnsRecord.fromGraphQL(record),
)
.toList();
} catch (e) {

View File

@ -1,5 +1,5 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:selfprivacy/logic/api_maps/graphql_maps/schema/schema.graphql.dart';
import 'package:selfprivacy/logic/api_maps/graphql_maps/schema/server_settings.graphql.dart';
part 'dns_records.g.dart';
@ -16,7 +16,7 @@ class DnsRecord {
});
DnsRecord.fromGraphQL(
final Fragment$dnsRecordFields record,
final Fragment$fragmentDnsRecords record,
) : this(
type: record.recordType,
name: record.name,

View File

@ -6,6 +6,8 @@ import 'package:selfprivacy/logic/api_maps/graphql_maps/schema/services.graphql.
import 'package:selfprivacy/logic/models/disk_size.dart';
import 'package:selfprivacy/logic/models/json/dns_records.dart';
import '../api_maps/graphql_maps/schema/server_settings.graphql.dart';
class Service {
Service.fromGraphQL(final Query$AllServices$services$allServices service)
: this(
@ -24,7 +26,9 @@ class Service {
svgIcon: utf8.decode(base64.decode(service.svgIcon)),
dnsRecords: service.dnsRecords
?.map(
(final Fragment$dnsRecordFields record) =>
(
final Fragment$fragmentDnsRecords record,
) =>
DnsRecord.fromGraphQL(record),
)
.toList() ??