2020-08-26 15:44:50 -07:00
|
|
|
import { IAddChangeLogModalProps } from '@datahub/shared/types/change-management/change-log';
|
2020-08-28 10:31:15 -07:00
|
|
|
import marked from 'marked';
|
2020-08-26 15:44:50 -07:00
|
|
|
|
|
|
|
/**
|
|
|
|
* The local attributes of the class. They mirror the UI representation of how a changeLog looks.
|
|
|
|
*/
|
|
|
|
export interface IChangeLogProperties extends IAddChangeLogModalProps {
|
|
|
|
// ID of the Change Log
|
|
|
|
id: number;
|
|
|
|
// LDAP of the owner who created the log
|
|
|
|
createdBy: string;
|
|
|
|
// Date when the log was added
|
|
|
|
dateAdded: Com.Linkedin.Common.Time;
|
|
|
|
// Entity that owns this Change log
|
|
|
|
owningEntity: Com.Linkedin.DataConstructChangeManagement.OwningEntity;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ChangeLog models the attributes for a Change Management Log
|
|
|
|
*
|
|
|
|
* @class DatasetOwnership
|
|
|
|
*/
|
|
|
|
export class ChangeLog implements IChangeLogProperties {
|
|
|
|
/**
|
|
|
|
* Refer to `IChangeLogProperties` for docs on each of these local properties below in this Class
|
|
|
|
*/
|
|
|
|
|
|
|
|
id: number;
|
|
|
|
createdBy: string;
|
|
|
|
dateAdded: Com.Linkedin.Common.Time;
|
|
|
|
subject: string;
|
|
|
|
content: string;
|
|
|
|
sendEmail: boolean;
|
|
|
|
recipients?: Array<Com.Linkedin.DataConstructChangeManagement.NotificationRecipient>;
|
|
|
|
owningEntity: Com.Linkedin.DataConstructChangeManagement.OwningEntity;
|
|
|
|
|
|
|
|
constructor(changeLogArgs: IChangeLogProperties) {
|
|
|
|
const { id, createdBy, dateAdded, subject, content, sendEmail, recipients, owningEntity } = changeLogArgs;
|
|
|
|
this.id = id;
|
|
|
|
this.createdBy = createdBy;
|
|
|
|
this.dateAdded = dateAdded;
|
|
|
|
this.subject = subject;
|
2020-08-28 10:31:15 -07:00
|
|
|
this.content = marked(content).htmlSafe();
|
2020-08-26 15:44:50 -07:00
|
|
|
this.sendEmail = sendEmail;
|
|
|
|
this.recipients = recipients;
|
|
|
|
this.owningEntity = owningEntity;
|
|
|
|
}
|
|
|
|
}
|