public CipherData(CipherResponse response, string userId = null, HashSet <string> collectionIds = null) { Id = response.Id; OrganizationId = response.OrganizationId; FolderId = response.FolderId; UserId = userId; Edit = response.Edit; ViewPassword = response.ViewPassword; OrganizationUseTotp = response.OrganizationUseTotp; Favorite = response.Favorite; RevisionDate = response.RevisionDate; Type = response.Type; Name = response.Name; Notes = response.Notes; CollectionIds = collectionIds?.ToList() ?? response.CollectionIds; Reprompt = response.Reprompt; try // Added to address Issue (https://github.com/bitwarden/mobile/issues/1006) { switch (Type) { case Enums.CipherType.Login: Login = new LoginData(response.Login); break; case Enums.CipherType.SecureNote: SecureNote = new SecureNoteData(response.SecureNote); break; case Enums.CipherType.Card: Card = new CardData(response.Card); break; case Enums.CipherType.Identity: Identity = new IdentityData(response.Identity); break; default: break; } } catch { System.Diagnostics.Trace.WriteLine(new StringBuilder() .Append("BitWarden CipherData constructor failed to initialize CyperType '") .Append(Type) .Append("'; id = {") .Append(Id) .AppendLine("}") .ToString(), "BitWarden CipherData constructor"); } Fields = response.Fields?.Select(f => new FieldData(f)).ToList(); Attachments = response.Attachments?.Select(a => new AttachmentData(a)).ToList(); PasswordHistory = response.PasswordHistory?.Select(ph => new PasswordHistoryData(ph)).ToList(); DeletedDate = response.DeletedDate; }
public CipherData(CipherResponse response, string userId = null, HashSet <string> collectionIds = null) { Id = response.Id; OrganizationId = response.OrganizationId; FolderId = response.FolderId; UserId = userId; Edit = response.Edit; ViewPassword = response.ViewPassword; OrganizationUseTotp = response.OrganizationUseTotp; Favorite = response.Favorite; RevisionDate = response.RevisionDate; Type = response.Type; Name = response.Name; Notes = response.Notes; CollectionIds = collectionIds?.ToList() ?? response.CollectionIds; switch (Type) { case Enums.CipherType.Login: Login = new LoginData(response.Login); break; case Enums.CipherType.SecureNote: SecureNote = new SecureNoteData(response.SecureNote); break; case Enums.CipherType.Card: Card = new CardData(response.Card); break; case Enums.CipherType.Identity: Identity = new IdentityData(response.Identity); break; default: break; } Fields = response.Fields?.Select(f => new FieldData(f)).ToList(); Attachments = response.Attachments?.Select(a => new AttachmentData(a)).ToList(); PasswordHistory = response.PasswordHistory?.Select(ph => new PasswordHistoryData(ph)).ToList(); DeletedDate = response.DeletedDate; }