fromEntityPlus static method

Future<AppModel?> fromEntityPlus(
  1. String documentID,
  2. AppEntity? entity, {
  3. String? appId,
})

Implementation

static Future<AppModel?> fromEntityPlus(String documentID, AppEntity? entity,
    {String? appId}) async {
  if (entity == null) return null;

  PublicMediumModel? anonymousProfilePhotoHolder;
  if (entity.anonymousProfilePhotoId != null) {
    try {
      anonymousProfilePhotoHolder =
          await publicMediumRepository(appId: appId)!
              .get(entity.anonymousProfilePhotoId);
    } on Exception catch (e) {
      print('Error whilst trying to initialise anonymousProfilePhoto');
      print(
          'Error whilst retrieving publicMedium with id ${entity.anonymousProfilePhotoId}');
      print('Exception: $e');
    }
  }

  PublicMediumModel? logoHolder;
  if (entity.logoId != null) {
    try {
      logoHolder =
          await publicMediumRepository(appId: appId)!.get(entity.logoId);
    } on Exception catch (e) {
      print('Error whilst trying to initialise logo');
      print('Error whilst retrieving publicMedium with id ${entity.logoId}');
      print('Exception: $e');
    }
  }

  return AppModel(
    documentID: documentID,
    ownerID: entity.ownerID ?? '',
    title: entity.title,
    homeURL: entity.homeURL,
    email: entity.email,
    description: entity.description,
    appStatus: toAppStatus(entity.appStatus),
    anonymousProfilePhoto: anonymousProfilePhotoHolder,
    homePages: await AppHomePageReferencesModel.fromEntityPlus(
        entity.homePages,
        appId: appId),
    logo: logoHolder,
    styleFamily: entity.styleFamily,
    styleName: entity.styleName,
    autoPrivileged1: entity.autoPrivileged1,
    isFeatured: entity.isFeatured,
    includeShippingAddress: entity.includeShippingAddress,
    includeInvoiceAddress: entity.includeInvoiceAddress,
    includeSubscriptions: entity.includeSubscriptions,
    welcomeMessage: entity.welcomeMessage,
  );
}