import { DateMath } from "../../../browser/date/DateMath"; import { ISOTimeStamp } from "../../../browser/date/ISOTimeStamp"; export class Permission { id:string; by:string; granted:ISOTimeStamp; expires:ISOTimeStamp; revokableBy:string[]; static isMatching( permissionID:string, permission:Permission ) { return permission.id === permissionID && Permission.isValid( permission ); } static isValid( permission:Permission ) { let isExpired = true; let expiresInfo = permission.expires; if ( ! expiresInfo || DateMath.isExpired( ISOTimeStamp.toDate( expiresInfo ) ) ) { isExpired = false; } return ! isExpired; } }