map method

  1. @override
User map(
  1. Map<String, dynamic> data, {
  2. String? tablePrefix,
})
override

Maps the given row returned by the database into the fitting data class.

Implementation

@override
User map(Map<String, dynamic> data, {String? tablePrefix}) {
  final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
  return User(
    id: attachedDatabase.typeMapping.read(
      DriftSqlType.int,
      data['${effectivePrefix}id'],
    )!,
    fetchedAt: attachedDatabase.typeMapping.read(
      DriftSqlType.dateTime,
      data['${effectivePrefix}fetched_at'],
    ),
    studentId: attachedDatabase.typeMapping.read(
      DriftSqlType.string,
      data['${effectivePrefix}student_id'],
    )!,
    nameZh: attachedDatabase.typeMapping.read(
      DriftSqlType.string,
      data['${effectivePrefix}name_zh'],
    )!,
    nameEn: attachedDatabase.typeMapping.read(
      DriftSqlType.string,
      data['${effectivePrefix}name_en'],
    ),
    dateOfBirth: attachedDatabase.typeMapping.read(
      DriftSqlType.dateTime,
      data['${effectivePrefix}date_of_birth'],
    ),
    programZh: attachedDatabase.typeMapping.read(
      DriftSqlType.string,
      data['${effectivePrefix}program_zh'],
    ),
    programEn: attachedDatabase.typeMapping.read(
      DriftSqlType.string,
      data['${effectivePrefix}program_en'],
    ),
    departmentZh: attachedDatabase.typeMapping.read(
      DriftSqlType.string,
      data['${effectivePrefix}department_zh'],
    ),
    departmentEn: attachedDatabase.typeMapping.read(
      DriftSqlType.string,
      data['${effectivePrefix}department_en'],
    ),
    avatarFilename: attachedDatabase.typeMapping.read(
      DriftSqlType.string,
      data['${effectivePrefix}avatar_filename'],
    )!,
    email: attachedDatabase.typeMapping.read(
      DriftSqlType.string,
      data['${effectivePrefix}email'],
    )!,
    passwordExpiresInDays: attachedDatabase.typeMapping.read(
      DriftSqlType.int,
      data['${effectivePrefix}password_expires_in_days'],
    ),
    semestersFetchedAt: attachedDatabase.typeMapping.read(
      DriftSqlType.dateTime,
      data['${effectivePrefix}semesters_fetched_at'],
    ),
  );
}