mirror of
https://github.com/bitwarden/browser
synced 2025-12-11 13:53:34 +00:00
* passwordless login page redesign * passwordless login page redesign * restyled login form to use tailwind * restyled login form to use tailwind * moved texts on login device template to locales * made reactive form changes for clients * added request model * made more changes * added implmentation to auth request api * fixed refrencing issue * renamed model property * Added resend notification functionality * Added new file * login with device first draft * login with device first draft * login with device first draft * login with device first draft * connection to anonymous hub * connection to anonymous hub * refactored confirm login response * removed comment * cleaned up login * changed uptyped form builder * changed uptyped form builder * [SG-168] Update login strategy with passwordless login credentials. * [SG-168] Removed logs. Changed inputs for passwordless logic strategy. Removed tokenRequestPasswordless it is using the same as password. * code cleanup * code cleanup * removed login with device from self hosted * fixed PR comments * added module for login * fixed post request bug * added feature flag * added feature flag * added feature flag Co-authored-by: André Bispo <abispo@bitwarden.com>
114 lines
3.3 KiB
TypeScript
114 lines
3.3 KiB
TypeScript
import { NotificationType } from "../../enums/notificationType";
|
|
|
|
import { BaseResponse } from "./baseResponse";
|
|
|
|
export class NotificationResponse extends BaseResponse {
|
|
contextId: string;
|
|
type: NotificationType;
|
|
payload: any;
|
|
|
|
constructor(response: any) {
|
|
super(response);
|
|
this.contextId = this.getResponseProperty("ContextId");
|
|
this.type = this.getResponseProperty("Type");
|
|
|
|
const payload = this.getResponseProperty("Payload");
|
|
switch (this.type) {
|
|
case NotificationType.SyncCipherCreate:
|
|
case NotificationType.SyncCipherDelete:
|
|
case NotificationType.SyncCipherUpdate:
|
|
case NotificationType.SyncLoginDelete:
|
|
this.payload = new SyncCipherNotification(payload);
|
|
break;
|
|
case NotificationType.SyncFolderCreate:
|
|
case NotificationType.SyncFolderDelete:
|
|
case NotificationType.SyncFolderUpdate:
|
|
this.payload = new SyncFolderNotification(payload);
|
|
break;
|
|
case NotificationType.SyncVault:
|
|
case NotificationType.SyncCiphers:
|
|
case NotificationType.SyncOrgKeys:
|
|
case NotificationType.SyncSettings:
|
|
case NotificationType.LogOut:
|
|
this.payload = new UserNotification(payload);
|
|
break;
|
|
case NotificationType.SyncSendCreate:
|
|
case NotificationType.SyncSendUpdate:
|
|
case NotificationType.SyncSendDelete:
|
|
this.payload = new SyncSendNotification(payload);
|
|
break;
|
|
case NotificationType.AuthRequest:
|
|
case NotificationType.AuthRequestResponse:
|
|
this.payload = new AuthRequestPushNotification(payload);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
export class SyncCipherNotification extends BaseResponse {
|
|
id: string;
|
|
userId: string;
|
|
organizationId: string;
|
|
collectionIds: string[];
|
|
revisionDate: Date;
|
|
|
|
constructor(response: any) {
|
|
super(response);
|
|
this.id = this.getResponseProperty("Id");
|
|
this.userId = this.getResponseProperty("UserId");
|
|
this.organizationId = this.getResponseProperty("OrganizationId");
|
|
this.collectionIds = this.getResponseProperty("CollectionIds");
|
|
this.revisionDate = new Date(this.getResponseProperty("RevisionDate"));
|
|
}
|
|
}
|
|
|
|
export class SyncFolderNotification extends BaseResponse {
|
|
id: string;
|
|
userId: string;
|
|
revisionDate: Date;
|
|
|
|
constructor(response: any) {
|
|
super(response);
|
|
this.id = this.getResponseProperty("Id");
|
|
this.userId = this.getResponseProperty("UserId");
|
|
this.revisionDate = new Date(this.getResponseProperty("RevisionDate"));
|
|
}
|
|
}
|
|
|
|
export class UserNotification extends BaseResponse {
|
|
userId: string;
|
|
date: Date;
|
|
|
|
constructor(response: any) {
|
|
super(response);
|
|
this.userId = this.getResponseProperty("UserId");
|
|
this.date = new Date(this.getResponseProperty("Date"));
|
|
}
|
|
}
|
|
|
|
export class SyncSendNotification extends BaseResponse {
|
|
id: string;
|
|
userId: string;
|
|
revisionDate: Date;
|
|
|
|
constructor(response: any) {
|
|
super(response);
|
|
this.id = this.getResponseProperty("Id");
|
|
this.userId = this.getResponseProperty("UserId");
|
|
this.revisionDate = new Date(this.getResponseProperty("RevisionDate"));
|
|
}
|
|
}
|
|
|
|
export class AuthRequestPushNotification extends BaseResponse {
|
|
id: string;
|
|
userId: string;
|
|
|
|
constructor(response: any) {
|
|
super(response);
|
|
this.id = this.getResponseProperty("Id");
|
|
this.userId = this.getResponseProperty("UserId");
|
|
}
|
|
}
|