ServerInit.fromReader constructor

ServerInit.fromReader(
  1. TeleportObjectReader reader
)

Implementation

factory ServerInit.fromReader(TeleportObjectReader reader) {
    final instance = ServerInit();
    TeleportField? field;
    while ((field = reader.next()) != null) {
        if (field!.isNull) continue;
        switch (field.fieldId) {
            case fieldIdIkonBackendUrl: {
                instance.ikonBackendUrl = field.asString();
                break;
            }
            case fieldIdIkonBackendToken: {
                instance.ikonBackendToken = field.asString();
                break;
            }
            case fieldIdSpaceId: {
                instance.spaceId = field.asString();
                break;
            }
            case fieldIdChannelId: {
                instance.channelId = field.asString();
                break;
            }
            case fieldIdPlugins: {
                final ar = field.asArray();
                final list = <ServerPluginInit>[];
                TeleportArrayElement? el;
                while ((el = ar.next()) != null) {
                    list.add(ServerPluginInit.fromReader(el!.asObject()));
                }
                instance.plugins = list;
                break;
            }
            case fieldIdPrimaryUserId: {
                instance.primaryUserId = field.asString();
                break;
            }
            case fieldIdChannelInstanceId: {
                instance.channelInstanceId = field.asString();
                break;
            }
            case fieldIdChannelUrl: {
                instance.channelUrl = field.asString();
                break;
            }
            case fieldIdExtensions: {
                final ar = field.asArray();
                final list = <ServerExtensionInit>[];
                TeleportArrayElement? el;
                while ((el = ar.next()) != null) {
                    list.add(ServerExtensionInit.fromReader(el!.asObject()));
                }
                instance.extensions = list;
                break;
            }
            case fieldIdDynamicConfigObsolete: {
                final dr = field.asDictionary();
                final map = <String, String>{};
                TeleportDictEntry? en;
                while ((en = dr.next()) != null) {
                    final entry = en!;
                    map[entry.keyAsString()] = entry.valueAsField().asString();
                }
                instance.dynamicConfigObsolete = map;
                break;
            }
            case fieldIdOrganisationName: {
                instance.organisationName = field.asString();
                break;
            }
            case fieldIdSpaceName: {
                instance.spaceName = field.asString();
                break;
            }
            case fieldIdChannelName: {
                instance.channelName = field.asString();
                break;
            }
            case fieldIdDynamicConfigJsonContent: {
                instance.dynamicConfigJsonContent = field.asString();
                break;
            }
            case fieldIdSpaceGitRepositoryUrl: {
                instance.spaceGitRepositoryUrl = field.asString();
                break;
            }
            case fieldIdSessionId: {
                instance.sessionId = field.asString();
                break;
            }
            case fieldIdLegacyChannelCode: {
                instance.legacyChannelCode = field.asString();
                break;
            }
            case fieldIdDisableLegacyDefaultExtensions: {
                instance.disableLegacyDefaultExtensions = field.asBool();
                break;
            }
            case fieldIdSessionIdentity: {
                final dr = field.asDictionary();
                final map = <String, String>{};
                TeleportDictEntry? en;
                while ((en = dr.next()) != null) {
                    final entry = en!;
                    map[entry.keyAsString()] = entry.valueAsField().asString();
                }
                instance.sessionIdentity = map;
                break;
            }
            case fieldIdEndpointRequests: {
                final ar = field.asArray();
                final list = <ServerInitEndpointRequest>[];
                TeleportArrayElement? el;
                while ((el = ar.next()) != null) {
                    list.add(ServerInitEndpointRequest.fromReader(el!.asObject()));
                }
                instance.endpointRequests = list;
                break;
            }
            case fieldIdFrontendPort: {
                instance.frontendPort = field.asInt32();
                break;
            }
            case fieldIdAppSourceType: {
                instance.appSourceType = AppSourceType.fromValue(field.asInt32());
                break;
            }
            case fieldIdDebugMode: {
                instance.debugMode = field.asBool();
                break;
            }
            case fieldIdDatabaseConnectionInfos: {
                final ar = field.asArray();
                final list = <ServerInitDatabaseConnectionInfo>[];
                TeleportArrayElement? el;
                while ((el = ar.next()) != null) {
                    list.add(ServerInitDatabaseConnectionInfo.fromReader(el!.asObject()));
                }
                instance.databaseConnectionInfos = list;
                break;
            }
            case fieldIdRunTarget: {
                instance.runTarget = field.asString();
                break;
            }
        }
    }
    return instance;
}