abstract class DatabaseStorageKey {}

enum ProfileStorageKey implements DatabaseStorageKey {
  userEmail('fre_userEmail'),
  devUUID('fre_devUUID'),
  userUUID('fre_userUUID'),
  userDevUUID('fre_userDevUUID'),
  status('fre_status'),
  userName('fre_userName'),
  clientUUID('fre_cliUUID'),
  ownerUUID('fre_ownerUUID'),
  clientName('fre_cliName'),
  ownerName('fre_ownerName');

  final String key;

  const ProfileStorageKey(this.key);

  static const String table = 'profileTable';

  static List<String> get keys =>
      ProfileStorageKey.values.map((e) => e.key).toList();
}

enum LocalsStorageKey implements DatabaseStorageKey {
  petAmount('fre_petAmountRegister'),
  whatsapp('fre_whatsapp'),
  provisional('fre_provisional'),
  pets('fre_pets'),
  local('fre_local'),
  notify('fre_notify'),
  fingerprint('fre_fingerprint'),
  access('fre_access'),
  panic('fre_panic'),
  person('fre_person'),
  requestOSNotification('fre_requestOSnotification'),
  isNewVersion('fre_isNewVersion');

  final String key;

  const LocalsStorageKey(this.key);

  static const String table = 'LocalsStorageKey';

  static List<String> get keys =>
      LocalsStorageKey.values.map((e) => e.key).toList();
}
