diff --git a/package.json b/package.json index 09cb21c..a56411d 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ }, "dependencies": { "@apiglobal/typedrequest-interfaces": "^2.0.1", - "@tsclass/tsclass": "^4.0.34" + "@tsclass/tsclass": "^4.0.38" }, "files": [ "ts/**/*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 90b08b4..2d3f317 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,8 +5,8 @@ dependencies: specifier: ^2.0.1 version: 2.0.1 '@tsclass/tsclass': - specifier: ^4.0.34 - version: 4.0.34 + specifier: ^4.0.38 + version: 4.0.38 devDependencies: '@gitzone/tsbuild': @@ -452,7 +452,7 @@ packages: '@pushrocks/smartrequest': 2.0.11 '@pushrocks/smartsitemap': 2.0.1 '@pushrocks/smarttime': 4.0.1 - '@tsclass/tsclass': 4.0.34 + '@tsclass/tsclass': 4.0.38 '@types/compression': 1.7.2 '@types/cors': 2.8.13 '@types/express': 4.17.17 @@ -626,7 +626,7 @@ packages: '@pushrocks/smartpromise': 3.1.7 '@pushrocks/smartpuppeteer': 2.0.2 '@pushrocks/smartunique': 3.0.3 - '@tsclass/tsclass': 4.0.34 + '@tsclass/tsclass': 4.0.38 '@types/express': 4.17.17 express: 4.18.2 pdf-merger-js: 3.4.0 @@ -903,10 +903,10 @@ packages: type-fest: 2.19.0 dev: true - /@tsclass/tsclass@4.0.34: - resolution: {integrity: sha512-Fk4y/cKfzAjq+9HcsR/CRvWDn7ERrKxd75oPVASrfjECyA/Mf7zDKbPfLwZyAq4zk4abkg1RydfNjQWRLXHdTA==} + /@tsclass/tsclass@4.0.38: + resolution: {integrity: sha512-dwxW8MkmAAi8BYO//yYLb0x01BqtUh3kN6t5pq163GEMBYZ9pNSLs/7cafQFPX1/Ia9gknlOphYH0uYZwJET/g==} dependencies: - type-fest: 3.7.2 + type-fest: 3.8.0 /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} @@ -4204,8 +4204,8 @@ packages: engines: {node: '>=12.20'} dev: true - /type-fest@3.7.2: - resolution: {integrity: sha512-f9BHrLjRJ4MYkfOsnC/53PNDzZJcVo14MqLp2+hXE39p5bgwqohxR5hDZztwxlbxmIVuvC2EFAKrAkokq23PLA==} + /type-fest@3.8.0: + resolution: {integrity: sha512-FVNSzGQz9Th+/9R6Lvv7WIAkstylfHN2/JYxkyhhmKFYh9At2DST8t6L6Lref9eYO8PXFTfG9Sg1Agg0K3vq3Q==} engines: {node: '>=14.16'} /type-is@1.6.18: diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index fdfafb9..75feda3 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@uptime.link/interfaces', - version: '2.0.20', + version: '2.0.21', description: 'TypeScript interface for the uptime.link API and modules' } diff --git a/ts/data/domainsnapshot.ts b/ts/data/domainsnapshot.ts index b9a3405..c499fca 100644 --- a/ts/data/domainsnapshot.ts +++ b/ts/data/domainsnapshot.ts @@ -1,4 +1,5 @@ import * as plugins from '../ul-interfaces.plugins.js'; +import { ILinkSnapshot } from './linksnapshot.js'; export interface IDomainSnapshot { registration: { @@ -7,13 +8,7 @@ export interface IDomainSnapshot { createdDate: number; expiryDate: number; }; - delegation: { - domainWithoutSuffix: string; - publicSuffix: string; - subdomain: string; - isIcann: boolean; - dnsSecEnabled: boolean; - }; + delegation: plugins.tsclass.network.IDomainDelegation; phishingFlags: { listName: string; }[]; @@ -27,7 +22,8 @@ export interface IDomainSnapshot { specialRecords: { dmarc: plugins.tsclass.network.IDnsRecord[]; } - }[] + }[]; + linkSnapshots: ILinkSnapshot[]; whoisServers: { serverUrl: string; content: string; diff --git a/ts/data/linksnapshot.ts b/ts/data/linksnapshot.ts index 310cf7d..7144947 100644 --- a/ts/data/linksnapshot.ts +++ b/ts/data/linksnapshot.ts @@ -1,14 +1,29 @@ import * as plugins from '../ul-interfaces.plugins.js'; export interface ILinkSnapshot { + /** + * the link base on which the snapshot was taken + */ + linkBaseUrl: string; httpsSupport: boolean; httpHttpsParity: boolean; httpToHttpsRedirect: boolean; - wwwToRootRedirect: boolean; - rootToWwwRedirect: boolean; + fromWwwRedirect: boolean; + toWwwRedirect: boolean; statusCode: number; fullPageLoadSize: number; fullPageLoadTimeMs: number; cookies: any[]; - gdprCompliance: boolean; + httpRequest: { + statusCode: number; + headers: { + [key: string]: string; + } + }; + httpsRequest: { + statusCode: number; + headers: { + [key: string]: string; + } + }; } \ No newline at end of file