|
|
- interface IRestoreInfo {
- /**
- * Whether the restoration is ongoing
- * If a RestoreObject request is sent but the restoration is not complete, the value is true.
- * If a RestoreObject request is sent and the restoration is complete, the value is false.
- */
- ongoingRequest: boolean;
- /**
- * The time before which the restored object can be read.
- * If a RestoreObject request is sent but the restoration is not complete, the value is undefined.
- * If a RestoreObject request is sent and the restoration is complete, the value is Date.
- */
- expiryDate?: Date;
- }
-
- export const parseRestoreInfo = (originalRestoreInfo?: string): IRestoreInfo | undefined => {
- let tempRestoreInfo: IRestoreInfo | undefined;
-
- if (originalRestoreInfo) {
- tempRestoreInfo = {
- ongoingRequest: originalRestoreInfo.includes('true')
- };
-
- if (!tempRestoreInfo.ongoingRequest) {
- const matchArray = originalRestoreInfo.match(/expiry-date="(.*)"/);
-
- if (matchArray && matchArray[1]) {
- tempRestoreInfo.expiryDate = new Date(matchArray[1]);
- }
- }
- }
-
- return tempRestoreInfo;
- };
|