2018-03-20 11:32:51 -07:00
|
|
|
import { AccessControlAccessType } from 'wherehows-web/utils/datasets/acl-access';
|
2018-04-10 12:19:29 -07:00
|
|
|
import { IDropDownOption } from 'wherehows-web/typings/app/dataset-compliance';
|
2018-02-07 12:32:03 -08:00
|
|
|
|
|
|
|
/**
|
2018-03-20 11:32:51 -07:00
|
|
|
* Describes the interface for an AccessControlEntry object
|
|
|
|
* @interface IAccessControlEntry
|
2018-02-07 12:32:03 -08:00
|
|
|
*/
|
2018-03-20 11:32:51 -07:00
|
|
|
export interface IAccessControlEntry {
|
2018-02-07 12:32:03 -08:00
|
|
|
principal: string;
|
2018-03-20 11:32:51 -07:00
|
|
|
accessType: Array<string>;
|
2018-02-07 12:32:03 -08:00
|
|
|
businessJustification: string;
|
2018-03-20 11:32:51 -07:00
|
|
|
expiresAt: number | null;
|
2018-02-07 12:32:03 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2018-03-20 11:32:51 -07:00
|
|
|
* Describes the interface for an AccessControl AccessType dropdown
|
|
|
|
* @interface IAccessControlAccessTypeOption
|
2018-02-07 12:32:03 -08:00
|
|
|
*/
|
2018-03-20 11:32:51 -07:00
|
|
|
export interface IAccessControlAccessTypeOption extends IDropDownOption<AccessControlAccessType> {}
|
2018-02-07 12:32:03 -08:00
|
|
|
|
|
|
|
/**
|
2018-03-20 11:32:51 -07:00
|
|
|
* Describes the interface for an IRequestAccessControlEntry object
|
|
|
|
* @interface IRequestAccessControlEntry
|
2018-02-07 12:32:03 -08:00
|
|
|
*/
|
2018-03-20 11:32:51 -07:00
|
|
|
export type IRequestAccessControlEntry = Pick<IAccessControlEntry, 'businessJustification'> & {
|
|
|
|
expiresAt?: IAccessControlEntry['expiresAt'];
|
|
|
|
accessType: string;
|
|
|
|
};
|
2018-02-07 12:32:03 -08:00
|
|
|
|
2018-03-20 11:32:51 -07:00
|
|
|
export type IGetAclsResponse = Array<IAccessControlEntry>;
|