diff --git a/lib/gindex.ts b/lib/gindex.ts index 8524005..b7b6233 100644 --- a/lib/gindex.ts +++ b/lib/gindex.ts @@ -263,6 +263,11 @@ export function lastSubmissionStatusGAPI(): Promise { "submittedSitemap", ) as string; + if (!lastSubmittedURL) { + console.log("Record of submission not found"); + process.exit(1); + } + const jwtClient = new google.auth.JWT({ keyFile: constants.serviceAccountFile, scopes: ["https://www.googleapis.com/auth/webmasters"], diff --git a/lib/utils.ts b/lib/utils.ts index b19ecee..e4b4841 100644 --- a/lib/utils.ts +++ b/lib/utils.ts @@ -350,9 +350,20 @@ export function convertTimeinCTZone(ISOTime: string): string { export function lastStateWriter( newObject: Partial, ): void { - const previousDataObject: ranStatusFileStructute = JSON.parse( - readFileSync(constants.ranStatusFile, { encoding: "utf8" }), - ); + let previousDataObject: ranStatusFileStructute; + try { + previousDataObject = JSON.parse( + readFileSync(constants.ranStatusFile, { encoding: "utf8" }), + ); + } catch (err: any) { + if (err.code === "ENOENT") { + previousDataObject = {} as ranStatusFileStructute; + } else { + console.log("Unexpected error ", err); + process.exit(1); + } + } + const updatedDataObject: ranStatusFileStructute = { ...previousDataObject, ...newObject, @@ -366,8 +377,18 @@ export function lastStateWriter( export function lastStateReader( keyName: lastStateKeyNames, ): string | number { - const dataObject: ranStatusFileStructute = JSON.parse( - readFileSync(constants.ranStatusFile, { encoding: "utf8" }), - ); + let dataObject: ranStatusFileStructute; + try { + dataObject = JSON.parse( + readFileSync(constants.ranStatusFile, { encoding: "utf8" }), + ); + } catch (err: any) { + if (err.code === "ENOENT") { + return 0; + } else { + console.log("Unexpected error ", err); + process.exit(1); + } + } return dataObject[keyName]; }