Func.fromMap constructor

Func.fromMap(
  1. Map<String, dynamic> map
)

Implementation

factory Func.fromMap(
  Map<String, dynamic> map,
) {
  map = {
    '\$id': "",
    '\$createdAt': "",
    '\$updatedAt': "",
    'execute': [],
    'name': "",
    'description': "",
    'enabled': true,
    'live': true,
    'logging': true,
    'runtime': "",
    'deploymentRetention': 0,
    'deploymentId': "",
    'deploymentCreatedAt': "",
    'latestDeploymentId': "",
    'latestDeploymentCreatedAt': "",
    'latestDeploymentStatus': "",
    'scopes': [],
    'vars': [],
    'events': [],
    'schedule': "",
    'timeout': 15,
    'entrypoint': "",
    'commands': "",
    'version': "v5",
    'installationId': "",
    'providerRepositoryId': "",
    'providerBranch': "",
    'providerRootDirectory': "",
    'providerSilentMode': false,
    'providerBranches': [],
    'providerPaths': [],
    'buildSpecification': "s-1vcpu-512mb",
    'runtimeSpecification': "s-1vcpu-512mb",
    'emailEnabled': false,
    ...map,
  };

  return Func(
    $id: map['\$id'].toString(),
    $createdAt: map['\$createdAt'].toString(),
    $updatedAt: map['\$updatedAt'].toString(),
    execute: List.from(map['execute'] ?? []),
    name: map['name'].toString(),
    description: map['description'].toString(),
    enabled: map['enabled'],
    live: map['live'],
    logging: map['logging'],
    runtime: map['runtime'].toString(),
    deploymentRetention: map['deploymentRetention'],
    deploymentId: map['deploymentId'].toString(),
    deploymentCreatedAt: map['deploymentCreatedAt'].toString(),
    latestDeploymentId: map['latestDeploymentId'].toString(),
    latestDeploymentCreatedAt: map['latestDeploymentCreatedAt'].toString(),
    latestDeploymentStatus: map['latestDeploymentStatus'].toString(),
    scopes: List.from(map['scopes'] ?? []),
    vars: List<Variable>.from(
      map['vars'].map((p) => Variable.fromMap(p)),
    ),
    events: List.from(map['events'] ?? []),
    schedule: map['schedule'].toString(),
    interval: map['interval'],
    timeout: map['timeout'],
    entrypoint: map['entrypoint'].toString(),
    commands: map['commands'].toString(),
    version: map['version'].toString(),
    installationId: map['installationId'].toString(),
    providerRepositoryId: map['providerRepositoryId'].toString(),
    providerBranch: map['providerBranch'].toString(),
    providerRootDirectory: map['providerRootDirectory'].toString(),
    providerSilentMode: map['providerSilentMode'],
    providerBranches: List.from(map['providerBranches'] ?? []),
    providerPaths: List.from(map['providerPaths'] ?? []),
    buildSpecification: map['buildSpecification'].toString(),
    runtimeSpecification: map['runtimeSpecification'].toString(),
    emailEnabled: map['emailEnabled'],
  );
}