@datadome/fraud-sdk-node
Advanced tools
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.truncationSize = truncationSize; | ||
| exports.truncateValue = truncateValue; | ||
| function truncationSize(fieldName) { | ||
| switch (fieldName) { | ||
| case 'SecCHDeviceMemory': | ||
| case 'SecCHUAMobile': | ||
| return 8; | ||
| case 'SecCHUAArch': | ||
| return 16; | ||
| case 'SecCHUAPlatform': | ||
| return 32; | ||
| case 'AcceptCharset': | ||
| case 'AcceptEncoding': | ||
| case 'ClientID': | ||
| case 'Connection': | ||
| case 'ContentType': | ||
| case 'From': | ||
| case 'SecCHUA': | ||
| case 'SecCHUAModel': | ||
| case 'XRealIp': | ||
| return 128; | ||
| case 'AcceptLanguage': | ||
| case 'SecCHUAFullVersionList': | ||
| return 256; | ||
| case 'Accept': | ||
| case 'Origin': | ||
| case 'ServerHostname': | ||
| case 'Host': | ||
| return 512; | ||
| case 'UserAgent': | ||
| return 768; | ||
| case 'Referer': | ||
| return 1024; | ||
| case 'Request': | ||
| return 2048; | ||
| case 'XForwardedForIp': | ||
| return -512; | ||
| case 'AddressCountryCode': | ||
| return 2; | ||
| case 'UserExternalUrl': | ||
| case 'UserPictureUrl': | ||
| return 10; | ||
| case 'AddressRegionCode': | ||
| case 'AddressZipCode': | ||
| return 15; | ||
| case 'UserPhone': | ||
| return 16; | ||
| case 'UserFirstName': | ||
| case 'UserLastName': | ||
| case 'AddressName': | ||
| return 50; | ||
| case 'UserDisplayName': | ||
| return 100; | ||
| case 'AddressLine1': | ||
| case 'AddressLine2': | ||
| case 'AddressCity': | ||
| case 'SessionId': | ||
| return 255; | ||
| case 'Account': | ||
| case 'UserId': | ||
| case 'UserEmail': | ||
| case 'UserDescription': | ||
| return 320; | ||
| case 'UserUrlItem': | ||
| return 2048; | ||
| default: | ||
| return 0; | ||
| } | ||
| } | ||
| function truncateValue(value, maxLength) { | ||
| if (value === undefined) { | ||
| return ''; | ||
| } | ||
| if (maxLength == null || maxLength === 0) { | ||
| return value; | ||
| } | ||
| return maxLength < 0 ? value.slice(maxLength) : value.slice(0, maxLength); | ||
| } | ||
| //# sourceMappingURL=utils.js.map |
| {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AA8CA,wCAmFC;AAED,sCAQC;AA7FD,SAAgB,cAAc,CAAC,SAA6C;IACxE,QAAQ,SAAS,EAAE,CAAC;QAEhB,KAAK,mBAAmB,CAAC;QACzB,KAAK,eAAe;YAChB,OAAO,CAAC,CAAC;QACb,KAAK,aAAa;YACd,OAAO,EAAE,CAAC;QACd,KAAK,iBAAiB;YAClB,OAAO,EAAE,CAAC;QACd,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB,CAAC;QACtB,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa,CAAC;QACnB,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,cAAc,CAAC;QACpB,KAAK,SAAS;YACV,OAAO,GAAG,CAAC;QAEf,KAAK,gBAAgB,CAAC;QACtB,KAAK,wBAAwB;YACzB,OAAO,GAAG,CAAC;QAEf,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,MAAM;YACP,OAAO,GAAG,CAAC;QAEf,KAAK,WAAW;YACZ,OAAO,GAAG,CAAC;QAEf,KAAK,SAAS;YACV,OAAO,IAAI,CAAC;QAEhB,KAAK,SAAS;YACV,OAAO,IAAI,CAAC;QAEhB,KAAK,iBAAiB;YAClB,OAAO,CAAC,GAAG,CAAC;QAGhB,KAAK,oBAAoB;YACrB,OAAO,CAAC,CAAC;QAEb,KAAK,iBAAiB,CAAC;QACvB,KAAK,gBAAgB;YACjB,OAAO,EAAE,CAAC;QAEd,KAAK,mBAAmB,CAAC;QACzB,KAAK,gBAAgB;YACjB,OAAO,EAAE,CAAC;QAEd,KAAK,WAAW;YACZ,OAAO,EAAE,CAAC;QAEd,KAAK,eAAe,CAAC;QACrB,KAAK,cAAc,CAAC;QACpB,KAAK,aAAa;YACd,OAAO,EAAE,CAAC;QAEd,KAAK,iBAAiB;YAClB,OAAO,GAAG,CAAC;QAEf,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc,CAAC;QACpB,KAAK,aAAa,CAAC;QACnB,KAAK,WAAW;YACZ,OAAO,GAAG,CAAC;QAEf,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,iBAAiB;YAClB,OAAO,GAAG,CAAC;QAEf,KAAK,aAAa;YACd,OAAO,IAAI,CAAC;QAChB;YACI,OAAO,CAAC,CAAC;IACjB,CAAC;AACL,CAAC;AAED,SAAgB,aAAa,CAAC,KAAc,EAAE,SAAkB;IAC5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC9E,CAAC","sourcesContent":["export type HeaderFieldName =\n | 'Accept'\n | 'AcceptCharset'\n | 'AcceptEncoding'\n | 'AcceptLanguage'\n | 'ClientID'\n | 'Connection'\n | 'ContentType'\n | 'From'\n | 'Host'\n | 'Origin'\n | 'Referer'\n | 'Request'\n | 'SecCHDeviceMemory'\n | 'SecCHUA'\n | 'SecCHUAArch'\n | 'SecCHUAFullVersionList'\n | 'SecCHUAMobile'\n | 'SecCHUAModel'\n | 'SecCHUAPlatform'\n | 'ServerHostname'\n | 'UserAgent'\n | 'XForwardedForIp'\n | 'XRealIp';\n\nexport type PayloadFieldName =\n | 'Account'\n | 'AddressCity'\n | 'AddressCountryCode'\n | 'AddressLine1'\n | 'AddressLine2'\n | 'AddressName'\n | 'AddressRegionCode'\n | 'AddressZipCode'\n | 'UserDescription'\n | 'UserDisplayName'\n | 'UserEmail'\n | 'UserExternalUrl'\n | 'UserFirstName'\n | 'UserId'\n | 'UserLastName'\n | 'UserPhone'\n | 'UserPictureUrl'\n | 'UserUrlItem'\n | 'SessionId';\n\nexport function truncationSize(fieldName: HeaderFieldName | PayloadFieldName): number {\n switch (fieldName) {\n // Header field limits\n case 'SecCHDeviceMemory':\n case 'SecCHUAMobile':\n return 8;\n case 'SecCHUAArch':\n return 16;\n case 'SecCHUAPlatform':\n return 32;\n case 'AcceptCharset':\n case 'AcceptEncoding':\n case 'ClientID':\n case 'Connection':\n case 'ContentType':\n case 'From':\n case 'SecCHUA':\n case 'SecCHUAModel':\n case 'XRealIp':\n return 128;\n\n case 'AcceptLanguage':\n case 'SecCHUAFullVersionList':\n return 256;\n\n case 'Accept':\n case 'Origin':\n case 'ServerHostname':\n case 'Host':\n return 512;\n\n case 'UserAgent':\n return 768;\n\n case 'Referer':\n return 1024;\n\n case 'Request':\n return 2048;\n\n case 'XForwardedForIp':\n return -512;\n\n // Payload field limits\n case 'AddressCountryCode':\n return 2;\n\n case 'UserExternalUrl':\n case 'UserPictureUrl':\n return 10;\n\n case 'AddressRegionCode':\n case 'AddressZipCode':\n return 15;\n\n case 'UserPhone':\n return 16;\n\n case 'UserFirstName':\n case 'UserLastName':\n case 'AddressName':\n return 50;\n\n case 'UserDisplayName':\n return 100;\n\n case 'AddressLine1':\n case 'AddressLine2':\n case 'AddressCity':\n case 'SessionId':\n return 255;\n\n case 'Account':\n case 'UserId':\n case 'UserEmail':\n case 'UserDescription':\n return 320;\n\n case 'UserUrlItem':\n return 2048;\n default:\n return 0;\n }\n}\n\nexport function truncateValue(value?: string, maxLength?: number) {\n if (value === undefined) {\n return '';\n }\n if (maxLength == null || maxLength === 0) {\n return value;\n }\n return maxLength < 0 ? value.slice(maxLength) : value.slice(0, maxLength);\n}\n"]} |
| export function truncationSize(fieldName) { | ||
| switch (fieldName) { | ||
| case 'SecCHDeviceMemory': | ||
| case 'SecCHUAMobile': | ||
| return 8; | ||
| case 'SecCHUAArch': | ||
| return 16; | ||
| case 'SecCHUAPlatform': | ||
| return 32; | ||
| case 'AcceptCharset': | ||
| case 'AcceptEncoding': | ||
| case 'ClientID': | ||
| case 'Connection': | ||
| case 'ContentType': | ||
| case 'From': | ||
| case 'SecCHUA': | ||
| case 'SecCHUAModel': | ||
| case 'XRealIp': | ||
| return 128; | ||
| case 'AcceptLanguage': | ||
| case 'SecCHUAFullVersionList': | ||
| return 256; | ||
| case 'Accept': | ||
| case 'Origin': | ||
| case 'ServerHostname': | ||
| case 'Host': | ||
| return 512; | ||
| case 'UserAgent': | ||
| return 768; | ||
| case 'Referer': | ||
| return 1024; | ||
| case 'Request': | ||
| return 2048; | ||
| case 'XForwardedForIp': | ||
| return -512; | ||
| case 'AddressCountryCode': | ||
| return 2; | ||
| case 'UserExternalUrl': | ||
| case 'UserPictureUrl': | ||
| return 10; | ||
| case 'AddressRegionCode': | ||
| case 'AddressZipCode': | ||
| return 15; | ||
| case 'UserPhone': | ||
| return 16; | ||
| case 'UserFirstName': | ||
| case 'UserLastName': | ||
| case 'AddressName': | ||
| return 50; | ||
| case 'UserDisplayName': | ||
| return 100; | ||
| case 'AddressLine1': | ||
| case 'AddressLine2': | ||
| case 'AddressCity': | ||
| case 'SessionId': | ||
| return 255; | ||
| case 'Account': | ||
| case 'UserId': | ||
| case 'UserEmail': | ||
| case 'UserDescription': | ||
| return 320; | ||
| case 'UserUrlItem': | ||
| return 2048; | ||
| default: | ||
| return 0; | ||
| } | ||
| } | ||
| export function truncateValue(value, maxLength) { | ||
| if (value === undefined) { | ||
| return ''; | ||
| } | ||
| if (maxLength == null || maxLength === 0) { | ||
| return value; | ||
| } | ||
| return maxLength < 0 ? value.slice(maxLength) : value.slice(0, maxLength); | ||
| } | ||
| //# sourceMappingURL=utils.js.map |
| {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AA8CA,MAAM,UAAU,cAAc,CAAC,SAA6C;IACxE,QAAQ,SAAS,EAAE,CAAC;QAEhB,KAAK,mBAAmB,CAAC;QACzB,KAAK,eAAe;YAChB,OAAO,CAAC,CAAC;QACb,KAAK,aAAa;YACd,OAAO,EAAE,CAAC;QACd,KAAK,iBAAiB;YAClB,OAAO,EAAE,CAAC;QACd,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB,CAAC;QACtB,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa,CAAC;QACnB,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,cAAc,CAAC;QACpB,KAAK,SAAS;YACV,OAAO,GAAG,CAAC;QAEf,KAAK,gBAAgB,CAAC;QACtB,KAAK,wBAAwB;YACzB,OAAO,GAAG,CAAC;QAEf,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,MAAM;YACP,OAAO,GAAG,CAAC;QAEf,KAAK,WAAW;YACZ,OAAO,GAAG,CAAC;QAEf,KAAK,SAAS;YACV,OAAO,IAAI,CAAC;QAEhB,KAAK,SAAS;YACV,OAAO,IAAI,CAAC;QAEhB,KAAK,iBAAiB;YAClB,OAAO,CAAC,GAAG,CAAC;QAGhB,KAAK,oBAAoB;YACrB,OAAO,CAAC,CAAC;QAEb,KAAK,iBAAiB,CAAC;QACvB,KAAK,gBAAgB;YACjB,OAAO,EAAE,CAAC;QAEd,KAAK,mBAAmB,CAAC;QACzB,KAAK,gBAAgB;YACjB,OAAO,EAAE,CAAC;QAEd,KAAK,WAAW;YACZ,OAAO,EAAE,CAAC;QAEd,KAAK,eAAe,CAAC;QACrB,KAAK,cAAc,CAAC;QACpB,KAAK,aAAa;YACd,OAAO,EAAE,CAAC;QAEd,KAAK,iBAAiB;YAClB,OAAO,GAAG,CAAC;QAEf,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc,CAAC;QACpB,KAAK,aAAa,CAAC;QACnB,KAAK,WAAW;YACZ,OAAO,GAAG,CAAC;QAEf,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,iBAAiB;YAClB,OAAO,GAAG,CAAC;QAEf,KAAK,aAAa;YACd,OAAO,IAAI,CAAC;QAChB;YACI,OAAO,CAAC,CAAC;IACjB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,SAAkB;IAC5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC9E,CAAC","sourcesContent":["export type HeaderFieldName =\n | 'Accept'\n | 'AcceptCharset'\n | 'AcceptEncoding'\n | 'AcceptLanguage'\n | 'ClientID'\n | 'Connection'\n | 'ContentType'\n | 'From'\n | 'Host'\n | 'Origin'\n | 'Referer'\n | 'Request'\n | 'SecCHDeviceMemory'\n | 'SecCHUA'\n | 'SecCHUAArch'\n | 'SecCHUAFullVersionList'\n | 'SecCHUAMobile'\n | 'SecCHUAModel'\n | 'SecCHUAPlatform'\n | 'ServerHostname'\n | 'UserAgent'\n | 'XForwardedForIp'\n | 'XRealIp';\n\nexport type PayloadFieldName =\n | 'Account'\n | 'AddressCity'\n | 'AddressCountryCode'\n | 'AddressLine1'\n | 'AddressLine2'\n | 'AddressName'\n | 'AddressRegionCode'\n | 'AddressZipCode'\n | 'UserDescription'\n | 'UserDisplayName'\n | 'UserEmail'\n | 'UserExternalUrl'\n | 'UserFirstName'\n | 'UserId'\n | 'UserLastName'\n | 'UserPhone'\n | 'UserPictureUrl'\n | 'UserUrlItem'\n | 'SessionId';\n\nexport function truncationSize(fieldName: HeaderFieldName | PayloadFieldName): number {\n switch (fieldName) {\n // Header field limits\n case 'SecCHDeviceMemory':\n case 'SecCHUAMobile':\n return 8;\n case 'SecCHUAArch':\n return 16;\n case 'SecCHUAPlatform':\n return 32;\n case 'AcceptCharset':\n case 'AcceptEncoding':\n case 'ClientID':\n case 'Connection':\n case 'ContentType':\n case 'From':\n case 'SecCHUA':\n case 'SecCHUAModel':\n case 'XRealIp':\n return 128;\n\n case 'AcceptLanguage':\n case 'SecCHUAFullVersionList':\n return 256;\n\n case 'Accept':\n case 'Origin':\n case 'ServerHostname':\n case 'Host':\n return 512;\n\n case 'UserAgent':\n return 768;\n\n case 'Referer':\n return 1024;\n\n case 'Request':\n return 2048;\n\n case 'XForwardedForIp':\n return -512;\n\n // Payload field limits\n case 'AddressCountryCode':\n return 2;\n\n case 'UserExternalUrl':\n case 'UserPictureUrl':\n return 10;\n\n case 'AddressRegionCode':\n case 'AddressZipCode':\n return 15;\n\n case 'UserPhone':\n return 16;\n\n case 'UserFirstName':\n case 'UserLastName':\n case 'AddressName':\n return 50;\n\n case 'UserDisplayName':\n return 100;\n\n case 'AddressLine1':\n case 'AddressLine2':\n case 'AddressCity':\n case 'SessionId':\n return 255;\n\n case 'Account':\n case 'UserId':\n case 'UserEmail':\n case 'UserDescription':\n return 320;\n\n case 'UserUrlItem':\n return 2048;\n default:\n return 0;\n }\n}\n\nexport function truncateValue(value?: string, maxLength?: number) {\n if (value === undefined) {\n return '';\n }\n if (maxLength == null || maxLength === 0) {\n return value;\n }\n return maxLength < 0 ? value.slice(maxLength) : value.slice(0, maxLength);\n}\n"]} |
| export type HeaderFieldName = 'Accept' | 'AcceptCharset' | 'AcceptEncoding' | 'AcceptLanguage' | 'ClientID' | 'Connection' | 'ContentType' | 'From' | 'Host' | 'Origin' | 'Referer' | 'Request' | 'SecCHDeviceMemory' | 'SecCHUA' | 'SecCHUAArch' | 'SecCHUAFullVersionList' | 'SecCHUAMobile' | 'SecCHUAModel' | 'SecCHUAPlatform' | 'ServerHostname' | 'UserAgent' | 'XForwardedForIp' | 'XRealIp'; | ||
| export type PayloadFieldName = 'Account' | 'AddressCity' | 'AddressCountryCode' | 'AddressLine1' | 'AddressLine2' | 'AddressName' | 'AddressRegionCode' | 'AddressZipCode' | 'UserDescription' | 'UserDisplayName' | 'UserEmail' | 'UserExternalUrl' | 'UserFirstName' | 'UserId' | 'UserLastName' | 'UserPhone' | 'UserPictureUrl' | 'UserUrlItem' | 'SessionId'; | ||
| export declare function truncationSize(fieldName: HeaderFieldName | PayloadFieldName): number; | ||
| export declare function truncateValue(value?: string, maxLength?: number): string; | ||
| //# sourceMappingURL=utils.d.ts.map |
| {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACrB,QAAQ,GACR,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,UAAU,GACV,YAAY,GACZ,aAAa,GACb,MAAM,GACN,MAAM,GACN,QAAQ,GACR,SAAS,GACT,SAAS,GACT,mBAAmB,GACnB,SAAS,GACT,aAAa,GACb,wBAAwB,GACxB,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,gBAAgB,GAChB,WAAW,GACX,iBAAiB,GACjB,SAAS,CAAC;AAEhB,MAAM,MAAM,gBAAgB,GACtB,SAAS,GACT,aAAa,GACb,oBAAoB,GACpB,cAAc,GACd,cAAc,GACd,aAAa,GACb,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,WAAW,GACX,iBAAiB,GACjB,eAAe,GACf,QAAQ,GACR,cAAc,GACd,WAAW,GACX,gBAAgB,GAChB,aAAa,GACb,WAAW,CAAC;AAElB,wBAAgB,cAAc,CAAC,SAAS,EAAE,eAAe,GAAG,gBAAgB,GAAG,MAAM,CAmFpF;AAED,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,UAQ/D"} |
@@ -6,4 +6,4 @@ "use strict"; | ||
| exports.DATADOME_TIMEOUT = 1500; | ||
| exports.SDK_VERSION = '2.0.1'; | ||
| exports.SDK_VERSION = '2.1.0'; | ||
| exports.SDK_NAME = 'Fraud SDK Node.js'; | ||
| //# sourceMappingURL=constants.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,iCAAiC,CAAC;AACtD,QAAA,gBAAgB,GAAG,IAAI,CAAC;AACxB,QAAA,WAAW,GAAG,OAAO,CAAC;AACtB,QAAA,QAAQ,GAAG,mBAAmB,CAAC"} | ||
| {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,iCAAiC,CAAC;AACtD,QAAA,gBAAgB,GAAG,IAAI,CAAC;AACxB,QAAA,WAAW,GAAG,OAAO,CAAC;AACtB,QAAA,QAAQ,GAAG,mBAAmB,CAAC","sourcesContent":["export const DATADOME_ENDPOINT = 'https://account-api.datadome.co';\nexport const DATADOME_TIMEOUT = 1500;\nexport const SDK_VERSION = '2.1.0';\nexport const SDK_NAME = 'Fraud SDK Node.js';\n"]} |
+66
-68
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DataDome = exports.Operation = void 0; | ||
| const tslib_1 = require("tslib"); | ||
| const node_fetch_1 = tslib_1.__importDefault(require("node-fetch")); | ||
| const https_1 = require("https"); | ||
| const url_1 = require("url"); | ||
@@ -31,3 +28,3 @@ const model_1 = require("./model"); | ||
| this.requestOptions = { | ||
| agent: new https_1.Agent({ keepAlive: true }), | ||
| keepalive: true, | ||
| headers: { | ||
@@ -50,75 +47,76 @@ Accept: 'application/json', | ||
| } | ||
| sendRequest(_a) { | ||
| return tslib_1.__awaiter(this, arguments, void 0, function* ({ operation, request, requestMetadata, event, args, }) { | ||
| const endpoint = this.endpoint.endsWith('/') ? this.endpoint.slice(0, -1) : this.endpoint; | ||
| const url = new url_1.URL(endpoint + '/v1/' + operation + '/' + event.action); | ||
| const payload = this.buildPayload(request, event, requestMetadata); | ||
| this.logger.debug(`url: ${url}`); | ||
| this.logger.debug(`body: ${JSON.stringify(payload)}`); | ||
| const requestConfig = Object.assign(Object.assign({}, this.requestOptions), { body: JSON.stringify(payload), signal: args === null || args === void 0 ? void 0 : args.controller.signal }); | ||
| return (0, node_fetch_1.default)(url.toString(), requestConfig); | ||
| }); | ||
| async sendRequest({ operation, request, requestMetadata, event, args, }) { | ||
| const endpoint = this.endpoint.endsWith('/') ? this.endpoint.slice(0, -1) : this.endpoint; | ||
| const url = new url_1.URL(endpoint + '/v1/' + operation + '/' + event.action); | ||
| const payload = this.buildPayload(request, event, requestMetadata); | ||
| this.logger.debug(`url: ${url}`); | ||
| this.logger.debug(`body: ${JSON.stringify(payload)}`); | ||
| const requestConfig = { | ||
| ...this.requestOptions, | ||
| body: JSON.stringify(payload), | ||
| signal: args === null || args === void 0 ? void 0 : args.controller.signal, | ||
| }; | ||
| return fetch(url.toString(), requestConfig); | ||
| } | ||
| validate(request, event, requestMetadata) { | ||
| return tslib_1.__awaiter(this, void 0, void 0, function* () { | ||
| const controller = new AbortController(); | ||
| const timeoutId = setTimeout(() => controller.abort('DataDome Fraud API timeout'), this.timeout); | ||
| try { | ||
| const response = yield this.sendRequest({ | ||
| operation: Operation.VALIDATE, | ||
| request, | ||
| requestMetadata, | ||
| event, | ||
| args: { | ||
| controller, | ||
| }, | ||
| }); | ||
| const result = yield (response === null || response === void 0 ? void 0 : response.json()); | ||
| if (response === null || response === void 0 ? void 0 : response.ok) { | ||
| result.status = model_1.ResponseStatus.OK; | ||
| } | ||
| else { | ||
| result.status = model_1.ResponseStatus.FAILURE; | ||
| result.action = model_1.ResponseAction.ALLOW; | ||
| this.logger.error(`Error on API response: ${JSON.stringify(result)}`); | ||
| } | ||
| return result; | ||
| } | ||
| catch (error) { | ||
| if ((error === null || error === void 0 ? void 0 : error.name) === 'AbortError' && controller.signal.aborted) { | ||
| return { | ||
| action: model_1.ResponseAction.ALLOW, | ||
| status: model_1.ResponseStatus.TIMEOUT, | ||
| message: `Request timed out after ${this.timeout} milliseconds`, | ||
| }; | ||
| } | ||
| else { | ||
| return { | ||
| action: model_1.ResponseAction.ALLOW, | ||
| status: model_1.ResponseStatus.FAILURE, | ||
| message: `Request failed :${error}`, | ||
| }; | ||
| } | ||
| } | ||
| finally { | ||
| clearTimeout(timeoutId); | ||
| } | ||
| }); | ||
| } | ||
| collect(request, event, requestMetadata) { | ||
| return tslib_1.__awaiter(this, void 0, void 0, function* () { | ||
| const response = yield this.sendRequest({ | ||
| operation: Operation.COLLECT, | ||
| async validate(request, event, requestMetadata) { | ||
| const controller = new AbortController(); | ||
| const timeoutId = setTimeout(() => controller.abort('DataDome Fraud API timeout'), this.timeout); | ||
| try { | ||
| const response = await this.sendRequest({ | ||
| operation: Operation.VALIDATE, | ||
| request, | ||
| requestMetadata, | ||
| event, | ||
| args: { | ||
| controller, | ||
| }, | ||
| }); | ||
| if (response.ok) { | ||
| return { status: model_1.ResponseStatus.OK }; | ||
| const result = await (response === null || response === void 0 ? void 0 : response.json()); | ||
| if (response === null || response === void 0 ? void 0 : response.ok) { | ||
| result.status = model_1.ResponseStatus.OK; | ||
| } | ||
| else { | ||
| const json = yield response.json(); | ||
| return Object.assign({ status: model_1.ResponseStatus.FAILURE }, json); | ||
| result.status = model_1.ResponseStatus.FAILURE; | ||
| result.action = model_1.ResponseAction.ALLOW; | ||
| this.logger.error(`Error on API response: ${JSON.stringify(result)}`); | ||
| } | ||
| return result; | ||
| } | ||
| catch (error) { | ||
| const isAbortError = (error === null || error === void 0 ? void 0 : error.name) === 'AbortError' || | ||
| (error === null || error === void 0 ? void 0 : error.name) === 'TimeoutError' || | ||
| controller.signal.aborted; | ||
| if (isAbortError) { | ||
| return { | ||
| action: model_1.ResponseAction.ALLOW, | ||
| status: model_1.ResponseStatus.TIMEOUT, | ||
| message: `Request timed out after ${this.timeout} milliseconds`, | ||
| }; | ||
| } | ||
| else { | ||
| return { | ||
| action: model_1.ResponseAction.ALLOW, | ||
| status: model_1.ResponseStatus.FAILURE, | ||
| message: `Request failed :${error}`, | ||
| }; | ||
| } | ||
| } | ||
| finally { | ||
| clearTimeout(timeoutId); | ||
| } | ||
| } | ||
| async collect(request, event, requestMetadata) { | ||
| const response = await this.sendRequest({ | ||
| operation: Operation.COLLECT, | ||
| request, | ||
| requestMetadata, | ||
| event, | ||
| }); | ||
| if (response.ok) { | ||
| return { status: model_1.ResponseStatus.OK }; | ||
| } | ||
| else { | ||
| const json = await response.json(); | ||
| return { status: model_1.ResponseStatus.FAILURE, ...json }; | ||
| } | ||
| } | ||
@@ -125,0 +123,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"datadome.js","sourceRoot":"","sources":["../src/datadome.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"datadome.js","sourceRoot":"","sources":["../src/datadome.ts"],"names":[],"mappings":"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","sourcesContent":["import { IncomingMessage } from 'http';\nimport { URL } from 'url';\n\nimport {\n DataDomeEvent,\n DataDomeRequest,\n Response,\n ResponseError,\n ResponseAction,\n ResponseStatus,\n RequestMetadata,\n} from './model';\nimport { DATADOME_ENDPOINT, DATADOME_TIMEOUT } from './constants';\n\nexport interface LogInterface {\n debug(primaryMessage: string, ...supportingData: unknown[]): void;\n warn(primaryMessage: string, ...supportingData: unknown[]): void;\n error(primaryMessage: string, ...supportingData: unknown[]): void;\n info(primaryMessage: string, ...supportingData: unknown[]): void;\n}\n\nexport interface DataDomeOptions {\n logger?: LogInterface;\n timeout?: number;\n endpoint?: string;\n}\n\nfunction getDefaultOptions(): Required<DataDomeOptions> {\n return {\n logger: console,\n timeout: DATADOME_TIMEOUT,\n endpoint: DATADOME_ENDPOINT,\n };\n}\n\nexport enum Operation {\n VALIDATE = 'validate',\n COLLECT = 'collect',\n}\n\n/**\n * Class to instantiate a DataDome client\n */\nexport class DataDome {\n private endpoint: string;\n private logger: LogInterface;\n private timeout: number;\n private requestOptions: RequestInit;\n constructor(key: string, options: DataDomeOptions = {}) {\n const defaultOptions = getDefaultOptions();\n const finalParameters = Object.assign({}, defaultOptions, options);\n const { endpoint, logger, timeout } = finalParameters;\n\n this.endpoint = endpoint;\n this.timeout = timeout;\n this.logger = logger;\n\n this.requestOptions = {\n keepalive: true,\n headers: {\n Accept: 'application/json',\n Connection: 'keep-alive',\n 'Content-Type': 'application/json',\n 'x-api-key': key,\n },\n method: 'POST',\n };\n\n if (\n !this.endpoint.toLowerCase().startsWith('https://') &&\n !this.endpoint.toLowerCase().startsWith('http://')\n ) {\n this.logger.warn(\n `Endpoint ${this.endpoint} is not a valid URL. Defaulting to ${defaultOptions.endpoint}`\n );\n this.endpoint = defaultOptions.endpoint;\n }\n }\n\n private buildPayload(\n request: IncomingMessage,\n event: DataDomeEvent,\n requestMetadata?: RequestMetadata\n ): DataDomeRequest {\n return event.mergeWith(new DataDomeRequest(request, requestMetadata));\n }\n\n /**\n * Perform the request to the Protect API\n */\n private async sendRequest({\n operation,\n request,\n requestMetadata,\n event,\n args,\n }: {\n operation: Operation;\n request: IncomingMessage;\n requestMetadata?: RequestMetadata;\n event: DataDomeEvent;\n args?: { controller: AbortController };\n }) {\n // Ensure this.endpoint does not have a trailing slash\n const endpoint = this.endpoint.endsWith('/') ? this.endpoint.slice(0, -1) : this.endpoint;\n const url = new URL(endpoint + '/v1/' + operation + '/' + event.action);\n const payload = this.buildPayload(request, event, requestMetadata);\n\n this.logger.debug(`url: ${url}`);\n this.logger.debug(`body: ${JSON.stringify(payload)}`);\n\n const requestConfig: RequestInit = {\n ...this.requestOptions,\n body: JSON.stringify(payload),\n signal: args?.controller.signal,\n };\n return fetch(url.toString(), requestConfig);\n }\n\n /**\n * Validate request\n */\n async validate(\n request: IncomingMessage,\n event: DataDomeEvent,\n requestMetadata?: RequestMetadata\n ): Promise<Response | ResponseError> {\n const controller = new AbortController();\n const timeoutId = setTimeout(\n () => controller.abort('DataDome Fraud API timeout'),\n this.timeout\n );\n try {\n const response = await this.sendRequest({\n operation: Operation.VALIDATE,\n request,\n requestMetadata,\n event,\n args: {\n controller,\n },\n });\n const result = await response?.json();\n if (response?.ok) {\n result.status = ResponseStatus.OK;\n } else {\n result.status = ResponseStatus.FAILURE;\n result.action = ResponseAction.ALLOW;\n this.logger.error(`Error on API response: ${JSON.stringify(result)}`);\n }\n return result;\n } catch (error) {\n const isAbortError =\n (error as Error)?.name === 'AbortError' ||\n (error as Error)?.name === 'TimeoutError' ||\n controller.signal.aborted;\n\n if (isAbortError) {\n return {\n action: ResponseAction.ALLOW,\n status: ResponseStatus.TIMEOUT,\n message: `Request timed out after ${this.timeout} milliseconds`,\n } as ResponseError;\n } else {\n return {\n action: ResponseAction.ALLOW,\n status: ResponseStatus.FAILURE,\n message: `Request failed :${error}`,\n } as ResponseError;\n }\n } finally {\n clearTimeout(timeoutId);\n }\n }\n\n /**\n * Collect request\n */\n async collect(\n request: IncomingMessage,\n event: DataDomeEvent,\n requestMetadata?: RequestMetadata\n ): Promise<Response | ResponseError> {\n const response = await this.sendRequest({\n operation: Operation.COLLECT,\n request,\n requestMetadata,\n event,\n });\n if (response.ok) {\n return { status: ResponseStatus.OK } as Response;\n } else {\n const json = await response.json();\n return { status: ResponseStatus.FAILURE, ...json } as ResponseError;\n }\n }\n}\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,qDAA2B;AAC3B,kDAAwB"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,qDAA2B;AAC3B,kDAAwB","sourcesContent":["export * from './constants';\nexport * from './datadome';\nexport * from './model';\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/model/address.ts"],"names":[],"mappings":""} | ||
| {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/model/address.ts"],"names":[],"mappings":"","sourcesContent":["export interface Address {\n name?: string;\n line1?: string;\n line2?: string;\n city?: string;\n countryCode?: string;\n regionCode?: string;\n zipCode?: string;\n}\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/api/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,qDAA2B"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/api/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,qDAA2B","sourcesContent":["export * from './request';\nexport * from './response';\n"]} |
@@ -5,2 +5,3 @@ "use strict"; | ||
| const constants_1 = require("../../constants"); | ||
| const utils_1 = require("../../utils"); | ||
| class DataDomeModule { | ||
@@ -45,73 +46,74 @@ constructor() { | ||
| this.protocol = (_f = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.protocol) !== null && _f !== void 0 ? _f : this.getProtocol(request); | ||
| this.contentType = this.truncateValue((_g = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.contentType) !== null && _g !== void 0 ? _g : request.headers['content-type'], 64); | ||
| this.accept = this.truncateValue((_h = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.accept) !== null && _h !== void 0 ? _h : request.headers['accept'], 512); | ||
| this.acceptLanguage = this.truncateValue((_j = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptLanguage) !== null && _j !== void 0 ? _j : request.headers['accept-language'], 256); | ||
| this.host = this.truncateValue((_k = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.host) !== null && _k !== void 0 ? _k : request.headers['host'], 512); | ||
| this.userAgent = this.truncateValue((_l = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.userAgent) !== null && _l !== void 0 ? _l : request.headers['user-agent'], 768); | ||
| this.referer = this.truncateValue((_m = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.referer) !== null && _m !== void 0 ? _m : request.headers['referer'], 1024); | ||
| this.xRealIp = this.truncateValue((_o = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.xRealIp) !== null && _o !== void 0 ? _o : request.headers['x-real-ip'], 128); | ||
| this.xForwardedForIp = this.truncateValue((_p = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.xForwardedForIp) !== null && _p !== void 0 ? _p : request.headers['x-forwarded-for'], -512); | ||
| this.acceptEncoding = this.truncateValue((_q = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptEncoding) !== null && _q !== void 0 ? _q : request.headers['accept-encoding'], 128); | ||
| this.serverHostname = this.truncateValue((_r = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.serverHostname) !== null && _r !== void 0 ? _r : request.headers['host'], 512); | ||
| this.from = this.truncateValue((_s = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.from) !== null && _s !== void 0 ? _s : request.headers['from'], 128); | ||
| this.origin = this.truncateValue((_t = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.origin) !== null && _t !== void 0 ? _t : request.headers['origin'], 512); | ||
| this.connection = this.truncateValue((_u = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.connection) !== null && _u !== void 0 ? _u : request.headers['connection'], 128); | ||
| this.acceptCharset = this.truncateValue((_v = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptCharset) !== null && _v !== void 0 ? _v : request.headers['accept-charset'], 128); | ||
| this.contentType = (0, utils_1.truncateValue)((_g = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.contentType) !== null && _g !== void 0 ? _g : request.headers['content-type'], (0, utils_1.truncationSize)('ContentType')); | ||
| this.accept = (0, utils_1.truncateValue)((_h = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.accept) !== null && _h !== void 0 ? _h : request.headers['accept'], (0, utils_1.truncationSize)('Accept')); | ||
| this.acceptLanguage = (0, utils_1.truncateValue)((_j = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptLanguage) !== null && _j !== void 0 ? _j : request.headers['accept-language'], (0, utils_1.truncationSize)('AcceptLanguage')); | ||
| this.host = (0, utils_1.truncateValue)((_k = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.host) !== null && _k !== void 0 ? _k : request.headers['host'], (0, utils_1.truncationSize)('Host')); | ||
| this.userAgent = (0, utils_1.truncateValue)((_l = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.userAgent) !== null && _l !== void 0 ? _l : request.headers['user-agent'], (0, utils_1.truncationSize)('UserAgent')); | ||
| this.referer = (0, utils_1.truncateValue)((_m = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.referer) !== null && _m !== void 0 ? _m : request.headers['referer'], (0, utils_1.truncationSize)('Referer')); | ||
| this.xRealIp = (0, utils_1.truncateValue)((_o = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.xRealIp) !== null && _o !== void 0 ? _o : request.headers['x-real-ip'], (0, utils_1.truncationSize)('XRealIp')); | ||
| this.xForwardedForIp = (0, utils_1.truncateValue)((_p = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.xForwardedForIp) !== null && _p !== void 0 ? _p : request.headers['x-forwarded-for'], (0, utils_1.truncationSize)('XForwardedForIp')); | ||
| this.acceptEncoding = (0, utils_1.truncateValue)((_q = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptEncoding) !== null && _q !== void 0 ? _q : request.headers['accept-encoding'], (0, utils_1.truncationSize)('AcceptEncoding')); | ||
| this.serverHostname = (0, utils_1.truncateValue)((_r = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.serverHostname) !== null && _r !== void 0 ? _r : request.headers['host'], (0, utils_1.truncationSize)('ServerHostname')); | ||
| this.from = (0, utils_1.truncateValue)((_s = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.from) !== null && _s !== void 0 ? _s : request.headers['from'], (0, utils_1.truncationSize)('From')); | ||
| this.origin = (0, utils_1.truncateValue)((_t = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.origin) !== null && _t !== void 0 ? _t : request.headers['origin'], (0, utils_1.truncationSize)('Origin')); | ||
| this.connection = (0, utils_1.truncateValue)((_u = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.connection) !== null && _u !== void 0 ? _u : request.headers['connection'], (0, utils_1.truncationSize)('Connection')); | ||
| this.acceptCharset = (0, utils_1.truncateValue)((_v = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptCharset) !== null && _v !== void 0 ? _v : request.headers['accept-charset'], (0, utils_1.truncationSize)('AcceptCharset')); | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUA) { | ||
| this.secCHUA = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUA, 128); | ||
| this.secCHUA = (0, utils_1.truncateValue)(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUA, (0, utils_1.truncationSize)('SecCHUA')); | ||
| } | ||
| else if (request.headers['sec-ch-ua']) { | ||
| this.secCHUA = this.truncateValue(request.headers['sec-ch-ua'], 128); | ||
| this.secCHUA = (0, utils_1.truncateValue)(request.headers['sec-ch-ua'], (0, utils_1.truncationSize)('SecCHUA')); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAMobile) { | ||
| this.secCHUAMobile = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAMobile, 8); | ||
| this.secCHUAMobile = (0, utils_1.truncateValue)(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAMobile, (0, utils_1.truncationSize)('SecCHUAMobile')); | ||
| } | ||
| else if (request.headers['sec-ch-ua-mobile']) { | ||
| this.secCHUAMobile = this.truncateValue(request.headers['sec-ch-ua-mobile'], 8); | ||
| this.secCHUAMobile = (0, utils_1.truncateValue)(request.headers['sec-ch-ua-mobile'], (0, utils_1.truncationSize)('SecCHUAMobile')); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAPlatform) { | ||
| this.secCHUAPlatform = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAPlatform, 32); | ||
| this.secCHUAPlatform = (0, utils_1.truncateValue)(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAPlatform, (0, utils_1.truncationSize)('SecCHUAPlatform')); | ||
| } | ||
| else if (request.headers['sec-ch-ua-platform']) { | ||
| this.secCHUAPlatform = this.truncateValue(request.headers['sec-ch-ua-platform'], 32); | ||
| this.secCHUAPlatform = (0, utils_1.truncateValue)(request.headers['sec-ch-ua-platform'], (0, utils_1.truncationSize)('SecCHUAPlatform')); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAArch) { | ||
| this.secCHUAArch = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAArch, 16); | ||
| this.secCHUAArch = (0, utils_1.truncateValue)(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAArch, (0, utils_1.truncationSize)('SecCHUAArch')); | ||
| } | ||
| else if (request.headers['sec-ch-ua-arch']) { | ||
| this.secCHUAArch = this.truncateValue(request.headers['sec-ch-ua-arch'], 16); | ||
| this.secCHUAArch = (0, utils_1.truncateValue)(request.headers['sec-ch-ua-arch'], (0, utils_1.truncationSize)('SecCHUAArch')); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAFullVersionList) { | ||
| this.secCHUAFullVersionList = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAFullVersionList, 256); | ||
| this.secCHUAFullVersionList = (0, utils_1.truncateValue)(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAFullVersionList, (0, utils_1.truncationSize)('SecCHUAFullVersionList')); | ||
| } | ||
| else if (request.headers['sec-ch-ua-full-version-list']) { | ||
| this.secCHUAFullVersionList = this.truncateValue(request.headers['sec-ch-ua-full-version-list'], 256); | ||
| this.secCHUAFullVersionList = (0, utils_1.truncateValue)(request.headers['sec-ch-ua-full-version-list'], (0, utils_1.truncationSize)('SecCHUAFullVersionList')); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAModel) { | ||
| this.secCHUAModel = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAModel, 128); | ||
| this.secCHUAModel = (0, utils_1.truncateValue)(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAModel, (0, utils_1.truncationSize)('SecCHUAModel')); | ||
| } | ||
| else if (request.headers['sec-ch-ua-model']) { | ||
| this.secCHUAModel = this.truncateValue(request.headers['sec-ch-ua-model'], 128); | ||
| this.secCHUAModel = (0, utils_1.truncateValue)(request.headers['sec-ch-ua-model'], (0, utils_1.truncationSize)('SecCHUAModel')); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHDeviceMemory) { | ||
| this.secCHDeviceMemory = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHDeviceMemory, 8); | ||
| this.secCHDeviceMemory = (0, utils_1.truncateValue)(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHDeviceMemory, (0, utils_1.truncationSize)('SecCHDeviceMemory')); | ||
| } | ||
| else if (request.headers['sec-ch-device-memory']) { | ||
| this.secCHDeviceMemory = this.truncateValue(request.headers['sec-ch-device-memory'], 8); | ||
| this.secCHDeviceMemory = (0, utils_1.truncateValue)(request.headers['sec-ch-device-memory'], (0, utils_1.truncationSize)('SecCHDeviceMemory')); | ||
| } | ||
| this.request = (_y = (_w = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.request) !== null && _w !== void 0 ? _w : (_x = request.url) === null || _x === void 0 ? void 0 : _x.slice(0, 2048)) !== null && _y !== void 0 ? _y : '/'; | ||
| this.request = | ||
| (_y = (_w = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.request) !== null && _w !== void 0 ? _w : (_x = request.url) === null || _x === void 0 ? void 0 : _x.slice(0, (0, utils_1.truncationSize)('Request'))) !== null && _y !== void 0 ? _y : '/'; | ||
| const sessionByHeaderClientId = request.headers['x-datadome-clientid']; | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.clientID) { | ||
| this.clientID = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.clientID, 128); | ||
| this.clientID = (0, utils_1.truncateValue)(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.clientID, (0, utils_1.truncationSize)('ClientID')); | ||
| } | ||
| else if (sessionByHeaderClientId !== undefined && sessionByHeaderClientId != '') { | ||
| this.clientID = this.truncateValue(sessionByHeaderClientId, 128); | ||
| this.clientID = (0, utils_1.truncateValue)(sessionByHeaderClientId, (0, utils_1.truncationSize)('ClientID')); | ||
| } | ||
| else { | ||
| this.clientID = this.truncateValue(this.getClientId(request), 128); | ||
| this.clientID = (0, utils_1.truncateValue)(this.getClientId(request), (0, utils_1.truncationSize)('ClientID')); | ||
| } | ||
| } | ||
| getProtocol(request) { | ||
| let protocol = 'http'; | ||
| const forwardedProto = request.headers['X-Forwarded-Proto']; | ||
| let protocol = request.socket.encrypted ? 'https' : 'http'; | ||
| const forwardedProto = request.headers['x-forwarded-proto']; | ||
| if (forwardedProto !== '' && | ||
@@ -121,8 +123,2 @@ ((forwardedProto === null || forwardedProto === void 0 ? void 0 : forwardedProto.toLowerCase()) === 'http' || (forwardedProto === null || forwardedProto === void 0 ? void 0 : forwardedProto.toLowerCase()) === 'https')) { | ||
| } | ||
| else if (this.port === 80) { | ||
| protocol = 'http'; | ||
| } | ||
| else if (this.port === 443) { | ||
| protocol = 'https'; | ||
| } | ||
| return protocol; | ||
@@ -145,11 +141,2 @@ } | ||
| } | ||
| truncateValue(value, maxLength) { | ||
| if (value === undefined) { | ||
| return ''; | ||
| } | ||
| if (maxLength == null) { | ||
| return value; | ||
| } | ||
| return maxLength < 0 ? value.slice(maxLength) : value.slice(0, maxLength); | ||
| } | ||
| getClientId(request) { | ||
@@ -156,0 +143,0 @@ const cookies = request.headers['cookie']; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/model/api/request.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/model/api/request.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IncomingMessage } from 'http';\nimport type { TLSSocket } from 'tls';\nimport { SDK_NAME, SDK_VERSION } from '../../constants';\nimport { truncateValue, truncationSize } from '../../utils';\n\nclass DataDomeModule {\n requestTimeMicros: number;\n name: string;\n version: string;\n constructor() {\n this.requestTimeMicros = Date.now() * 1000;\n this.name = SDK_NAME;\n this.version = SDK_VERSION;\n }\n}\n\nfunction tryDecode(input: string): string {\n try {\n return decodeURIComponent(input);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return input;\n }\n}\n\nfunction parseCookieString(input: string): Map<string, string> {\n const cookies = new Map();\n\n input.split(/; */).forEach((pair: string) => {\n let eqIndex = pair.indexOf('=');\n\n if (eqIndex > 0) {\n const key = pair.substring(0, eqIndex).trim();\n let value = pair.substring(++eqIndex, eqIndex + pair.length).trim();\n\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n\n if (!cookies.has(key)) {\n cookies.set(key, tryDecode(value));\n }\n }\n });\n\n return cookies;\n}\n\nexport interface RequestMetadata {\n addr?: string;\n accept?: string;\n acceptLanguage?: string;\n contentType?: string;\n method?: string;\n host?: string;\n port?: number;\n protocol?: string;\n userAgent?: string;\n referer?: string;\n xRealIp?: string;\n xForwardedForIp?: string;\n acceptEncoding?: string;\n serverHostname?: string;\n from?: string;\n request?: string;\n origin?: string;\n connection?: string;\n acceptCharset?: string;\n clientID?: string;\n secCHUA?: string;\n secCHUAMobile?: string;\n secCHUAPlatform?: string;\n secCHUAArch?: string;\n secCHUAFullVersionList?: string;\n secCHUAModel?: string;\n secCHDeviceMemory?: string;\n}\n\nclass DataDomeHeaders {\n addr: string;\n accept: string;\n acceptLanguage: string;\n contentType: string;\n method: string;\n host: string;\n port: number;\n protocol: string;\n userAgent: string;\n referer: string;\n xRealIp: string;\n xForwardedForIp: string;\n acceptEncoding: string;\n serverHostname: string;\n from: string;\n request: string;\n origin: string;\n connection: string;\n acceptCharset: string;\n clientID: string;\n secCHUA?: string;\n secCHUAMobile?: string;\n secCHUAPlatform?: string;\n secCHUAArch?: string;\n secCHUAFullVersionList?: string;\n secCHUAModel?: string;\n secCHDeviceMemory?: string;\n\n constructor(request: IncomingMessage, requestMetadata?: RequestMetadata) {\n this.addr = requestMetadata?.addr ?? request.socket.remoteAddress ?? '127.0.0.1';\n this.method = requestMetadata?.method ?? request.method ?? '';\n this.port = requestMetadata?.port ?? this.getPort(request);\n this.protocol = requestMetadata?.protocol ?? this.getProtocol(request);\n this.contentType = truncateValue(\n requestMetadata?.contentType ?? request.headers['content-type'],\n truncationSize('ContentType')\n );\n this.accept = truncateValue(\n requestMetadata?.accept ?? request.headers['accept'],\n truncationSize('Accept')\n );\n this.acceptLanguage = truncateValue(\n requestMetadata?.acceptLanguage ?? request.headers['accept-language'],\n truncationSize('AcceptLanguage')\n );\n this.host = truncateValue(\n requestMetadata?.host ?? request.headers['host'],\n truncationSize('Host')\n );\n this.userAgent = truncateValue(\n requestMetadata?.userAgent ?? request.headers['user-agent'],\n truncationSize('UserAgent')\n );\n this.referer = truncateValue(\n requestMetadata?.referer ?? request.headers['referer'],\n truncationSize('Referer')\n );\n this.xRealIp = truncateValue(\n requestMetadata?.xRealIp ?? (request.headers['x-real-ip'] as string),\n truncationSize('XRealIp')\n );\n this.xForwardedForIp = truncateValue(\n requestMetadata?.xForwardedForIp ?? (request.headers['x-forwarded-for'] as string),\n truncationSize('XForwardedForIp')\n );\n this.acceptEncoding = truncateValue(\n requestMetadata?.acceptEncoding ?? (request.headers['accept-encoding'] as string),\n truncationSize('AcceptEncoding')\n );\n this.serverHostname = truncateValue(\n requestMetadata?.serverHostname ?? request.headers['host'],\n truncationSize('ServerHostname')\n );\n this.from = truncateValue(\n requestMetadata?.from ?? request.headers['from'],\n truncationSize('From')\n );\n this.origin = truncateValue(\n requestMetadata?.origin ?? request.headers['origin'],\n truncationSize('Origin')\n );\n this.connection = truncateValue(\n requestMetadata?.connection ?? request.headers['connection'],\n truncationSize('Connection')\n );\n this.acceptCharset = truncateValue(\n requestMetadata?.acceptCharset ?? (request.headers['accept-charset'] as string),\n truncationSize('AcceptCharset')\n );\n if (requestMetadata?.secCHUA) {\n this.secCHUA = truncateValue(requestMetadata?.secCHUA, truncationSize('SecCHUA'));\n } else if (request.headers['sec-ch-ua']) {\n this.secCHUA = truncateValue(\n request.headers['sec-ch-ua'] as string,\n truncationSize('SecCHUA')\n );\n }\n if (requestMetadata?.secCHUAMobile) {\n this.secCHUAMobile = truncateValue(\n requestMetadata?.secCHUAMobile,\n truncationSize('SecCHUAMobile')\n );\n } else if (request.headers['sec-ch-ua-mobile']) {\n this.secCHUAMobile = truncateValue(\n request.headers['sec-ch-ua-mobile'] as string,\n truncationSize('SecCHUAMobile')\n );\n }\n if (requestMetadata?.secCHUAPlatform) {\n this.secCHUAPlatform = truncateValue(\n requestMetadata?.secCHUAPlatform,\n truncationSize('SecCHUAPlatform')\n );\n } else if (request.headers['sec-ch-ua-platform']) {\n this.secCHUAPlatform = truncateValue(\n request.headers['sec-ch-ua-platform'] as string,\n truncationSize('SecCHUAPlatform')\n );\n }\n if (requestMetadata?.secCHUAArch) {\n this.secCHUAArch = truncateValue(\n requestMetadata?.secCHUAArch,\n truncationSize('SecCHUAArch')\n );\n } else if (request.headers['sec-ch-ua-arch']) {\n this.secCHUAArch = truncateValue(\n request.headers['sec-ch-ua-arch'] as string,\n truncationSize('SecCHUAArch')\n );\n }\n if (requestMetadata?.secCHUAFullVersionList) {\n this.secCHUAFullVersionList = truncateValue(\n requestMetadata?.secCHUAFullVersionList,\n truncationSize('SecCHUAFullVersionList')\n );\n } else if (request.headers['sec-ch-ua-full-version-list']) {\n this.secCHUAFullVersionList = truncateValue(\n request.headers['sec-ch-ua-full-version-list'] as string,\n truncationSize('SecCHUAFullVersionList')\n );\n }\n if (requestMetadata?.secCHUAModel) {\n this.secCHUAModel = truncateValue(\n requestMetadata?.secCHUAModel,\n truncationSize('SecCHUAModel')\n );\n } else if (request.headers['sec-ch-ua-model']) {\n this.secCHUAModel = truncateValue(\n request.headers['sec-ch-ua-model'] as string,\n truncationSize('SecCHUAModel')\n );\n }\n if (requestMetadata?.secCHDeviceMemory) {\n this.secCHDeviceMemory = truncateValue(\n requestMetadata?.secCHDeviceMemory,\n truncationSize('SecCHDeviceMemory')\n );\n } else if (request.headers['sec-ch-device-memory']) {\n this.secCHDeviceMemory = truncateValue(\n request.headers['sec-ch-device-memory'] as string,\n truncationSize('SecCHDeviceMemory')\n );\n }\n this.request =\n requestMetadata?.request ?? request.url?.slice(0, truncationSize('Request')) ?? '/';\n\n const sessionByHeaderClientId = request.headers['x-datadome-clientid'];\n if (requestMetadata?.clientID) {\n this.clientID = truncateValue(requestMetadata?.clientID, truncationSize('ClientID'));\n } else if (sessionByHeaderClientId !== undefined && sessionByHeaderClientId != '') {\n this.clientID = truncateValue(\n sessionByHeaderClientId as string,\n truncationSize('ClientID')\n );\n } else {\n this.clientID = truncateValue(this.getClientId(request), truncationSize('ClientID'));\n }\n }\n\n private getProtocol(request: IncomingMessage): string {\n let protocol = (request.socket as TLSSocket).encrypted ? 'https' : 'http';\n const forwardedProto = request.headers['x-forwarded-proto'] as string;\n if (\n forwardedProto !== '' &&\n (forwardedProto?.toLowerCase() === 'http' || forwardedProto?.toLowerCase() === 'https')\n ) {\n protocol = forwardedProto;\n }\n return protocol;\n }\n\n /**\n * Use the Host header or X-Forwarded-Port if available, otherwise fallback to socket.remotePort\n * @param request\n * @returns The port number\n */\n private getPort(request: IncomingMessage): number {\n // Use the Host header or X-Forwarded-Port if available, otherwise fallback to socket.remotePort\n const hostHeader = request.headers['host'];\n const forwardedPort = request.headers['x-forwarded-port'] as string;\n if (forwardedPort) {\n return parseInt(forwardedPort, 10);\n } else if (hostHeader && hostHeader.includes(':')) {\n return parseInt(hostHeader.split(':')[1], 10);\n } else if (request.socket.localPort) {\n return request.socket.localPort;\n }\n return request.socket.remotePort ?? 0;\n }\n\n private getClientId(request: IncomingMessage): string {\n const cookies = request.headers['cookie'];\n let clientId = '';\n if (cookies !== undefined) {\n const parsedCookies = parseCookieString(cookies);\n for (const [key, value] of parsedCookies.entries()) {\n if (value !== undefined && key === 'datadome') {\n clientId = value;\n }\n }\n }\n return clientId;\n }\n}\n\nexport class DataDomeRequest {\n module: DataDomeModule;\n header: DataDomeHeaders;\n [key: string]: unknown;\n constructor(request: IncomingMessage, requestMetadata?: RequestMetadata) {\n this.module = new DataDomeModule();\n this.header = new DataDomeHeaders(request, requestMetadata);\n }\n}\n"]} |
@@ -8,2 +8,4 @@ "use strict"; | ||
| ResponseAction["DENY"] = "deny"; | ||
| ResponseAction["CHALLENGE"] = "challenge"; | ||
| ResponseAction["REVIEW"] = "review"; | ||
| })(ResponseAction || (exports.ResponseAction = ResponseAction = {})); | ||
@@ -10,0 +12,0 @@ var ResponseStatus; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/model/api/response.ts"],"names":[],"mappings":";;;AASA,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,iCAAe,CAAA;IACf,+BAAa,CAAA;AACjB,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAUD,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,2BAAS,CAAA;IACT,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;AACvB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB"} | ||
| {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/model/api/response.ts"],"names":[],"mappings":";;;AAWA,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,yCAAuB,CAAA;IACvB,mCAAiB,CAAA;AACrB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAUD,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,2BAAS,CAAA;IACT,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;AACvB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB","sourcesContent":["import { Address } from '../address';\n\n/**\n * Enum representing possible actions in response to a request.\n *\n * @enum\n * @property {string} ALLOW - Indicates that the request is permitted and should proceed.\n * @property {string} DENY - Indicates that the request is blocked and should not proceed.\n * @property {string} CHALLENGE - Indicates that the request needs to be challenged and should not proceed.\n * @property {string} REVIEW - Indicates that the request needs to be reviewed and should not proceed.\n */\nexport enum ResponseAction {\n ALLOW = 'allow',\n DENY = 'deny',\n CHALLENGE = 'challenge',\n REVIEW = 'review',\n}\n\n/**\n * Represents the possible statuses of an API response.\n *\n * @enum\n * @property {string} OK - The request was successful.\n * @property {string} FAILURE - Something went wrong, but the action should continue.\n * @property {string} TIMEOUT - The request timed out.\n */\nexport enum ResponseStatus {\n OK = 'ok',\n FAILURE = 'failure',\n TIMEOUT = 'timeout',\n}\n\n/**\n * Represents an error in the API response.\n *\n * @property {string} field - The field that caused the error.\n * @property {string} error - The error message.\n */\nexport interface Error {\n field: string;\n error: string;\n}\n\n/**\n * Response of the Account Protect API\n * @property action - Action answered to Customer endpoint\n * @property eventId - Event identifier associated to this validate event\n * @property status - Status of the call the API\n * @property reasons - Reasons of the action response\n * @property score - Score of the request (a positive integer)\n * @property ip - User IP\n * @property location - User location\n */\nexport interface Response {\n action: ResponseAction;\n eventId: string;\n status: ResponseStatus;\n reasons?: string[];\n score?: number;\n ip?: string;\n location?: Address;\n}\n\n/**\n * Error response of the Account Protect API\n * @property message - Message of the error\n * @property errors - Errors of the API\n */\nexport interface ResponseError extends Response {\n message: string;\n errors: Error[];\n}\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../src/model/authentication.ts"],"names":[],"mappings":""} | ||
| {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../src/model/authentication.ts"],"names":[],"mappings":"","sourcesContent":["export type AuthenticationSocialProvider =\n | 'other'\n | 'amazon'\n | 'apple'\n | 'facebook'\n | 'google'\n | 'linkedin'\n | 'microsoft'\n | 'twitter'\n | 'github'\n | 'yahoo';\n\nexport type AuthenticationType = 'other' | 'local' | 'social';\n\nexport type AuthenticationMode = 'other' | 'biometric' | 'mail' | 'mfa' | 'otp' | 'password';\n\nexport interface Authentication {\n socialProvider?: AuthenticationSocialProvider;\n type?: AuthenticationType;\n mode?: AuthenticationMode;\n}\n"]} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.AccountUpdateEvent = void 0; | ||
| const utils_1 = require("../../utils"); | ||
| const event_1 = require("./event"); | ||
| class AccountUpdateEvent extends event_1.DataDomeEvent { | ||
| constructor({ account, authentication, session, user }) { | ||
| var _a, _b; | ||
| super({ | ||
| action: event_1.ActionType.ACCOUNT_UPDATE, | ||
| account, | ||
| authentication, | ||
| session, | ||
| }); | ||
| this.authentication = authentication; | ||
| this.session = session; | ||
| this.user = user; | ||
| if (user) { | ||
| this.user = { | ||
| id: (0, utils_1.truncateValue)(user.id, (0, utils_1.truncationSize)('UserId')), | ||
| title: user.title, | ||
| firstName: (0, utils_1.truncateValue)(user.firstName, (0, utils_1.truncationSize)('UserFirstName')), | ||
| lastName: (0, utils_1.truncateValue)(user.lastName, (0, utils_1.truncationSize)('UserLastName')), | ||
| createdAt: user.createdAt, | ||
| phone: (0, utils_1.truncateValue)(user.phone, (0, utils_1.truncationSize)('UserPhone')), | ||
| email: (0, utils_1.truncateValue)(user.email, (0, utils_1.truncationSize)('UserEmail')), | ||
| displayName: (0, utils_1.truncateValue)(user.displayName, (0, utils_1.truncationSize)('UserDisplayName')), | ||
| description: (0, utils_1.truncateValue)(user.description, (0, utils_1.truncationSize)('UserDescription')), | ||
| externalUrls: (_a = user.externalUrls) === null || _a === void 0 ? void 0 : _a.slice(0, (0, utils_1.truncationSize)('UserExternalUrl')).map((url) => (0, utils_1.truncateValue)(url, (0, utils_1.truncationSize)('UserUrlItem'))), | ||
| pictureUrls: (_b = user.pictureUrls) === null || _b === void 0 ? void 0 : _b.slice(0, (0, utils_1.truncationSize)('UserPictureUrl')).map((url) => (0, utils_1.truncateValue)(url, (0, utils_1.truncationSize)('UserUrlItem'))), | ||
| paymentMethodUpdated: user.paymentMethodUpdated, | ||
| }; | ||
| if (user.address) { | ||
| this.user.address = { | ||
| name: (0, utils_1.truncateValue)(user.address.name, (0, utils_1.truncationSize)('AddressName')), | ||
| line1: (0, utils_1.truncateValue)(user.address.line1, (0, utils_1.truncationSize)('AddressLine1')), | ||
| line2: (0, utils_1.truncateValue)(user.address.line2, (0, utils_1.truncationSize)('AddressLine2')), | ||
| city: (0, utils_1.truncateValue)(user.address.city, (0, utils_1.truncationSize)('AddressCity')), | ||
| countryCode: (0, utils_1.truncateValue)(user.address.countryCode, (0, utils_1.truncationSize)('AddressCountryCode')), | ||
| regionCode: (0, utils_1.truncateValue)(user.address.regionCode, (0, utils_1.truncationSize)('AddressRegionCode')), | ||
| zipCode: (0, utils_1.truncateValue)(user.address.zipCode, (0, utils_1.truncationSize)('AddressZipCode')), | ||
| }; | ||
| } | ||
| } | ||
| } | ||
| mergeWith(requestData) { | ||
| super.mergeWith(requestData); | ||
| requestData.authentication = this.authentication; | ||
| requestData.session = this.session; | ||
| requestData.user = this.user; | ||
@@ -20,0 +46,0 @@ return requestData; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"accountUpdate.js","sourceRoot":"","sources":["../../../src/model/events/accountUpdate.ts"],"names":[],"mappings":";;;AAIA,mCAAoD;AAepD,MAAa,kBAAmB,SAAQ,qBAAa;IAIjD,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAA4B;QAC5E,KAAK,CAAC;YACF,MAAM,EAAE,kBAAU,CAAC,cAAc;YACjC,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AArBD,gDAqBC"} | ||
| {"version":3,"file":"accountUpdate.js","sourceRoot":"","sources":["../../../src/model/events/accountUpdate.ts"],"names":[],"mappings":"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","sourcesContent":["import { truncateValue, truncationSize } from '../../utils';\nimport { DataDomeRequest } from '../api';\nimport { User } from '../user';\nimport { ActionType, DataDomeEvent, EventParams } from './event';\n\n/**\n * This interface defines the parameters for the account update event.\n */\nexport interface AccountUpdateEventParams extends Omit<EventParams, 'action'> {\n user?: User & { paymentMethodUpdated?: boolean };\n}\n\n/**\n * This class is used to define the account update event.\n */\nexport class AccountUpdateEvent extends DataDomeEvent {\n user?: User & { paymentMethodUpdated?: boolean };\n constructor({ account, authentication, session, user }: AccountUpdateEventParams) {\n super({\n action: ActionType.ACCOUNT_UPDATE,\n account,\n authentication,\n session,\n });\n if (user) {\n this.user = {\n id: truncateValue(user.id, truncationSize('UserId')),\n title: user.title,\n firstName: truncateValue(user.firstName, truncationSize('UserFirstName')),\n lastName: truncateValue(user.lastName, truncationSize('UserLastName')),\n createdAt: user.createdAt,\n phone: truncateValue(user.phone, truncationSize('UserPhone')),\n email: truncateValue(user.email, truncationSize('UserEmail')),\n displayName: truncateValue(user.displayName, truncationSize('UserDisplayName')),\n description: truncateValue(user.description, truncationSize('UserDescription')),\n externalUrls: user.externalUrls\n ?.slice(0, truncationSize('UserExternalUrl'))\n .map((url) => truncateValue(url, truncationSize('UserUrlItem'))),\n pictureUrls: user.pictureUrls\n ?.slice(0, truncationSize('UserPictureUrl'))\n .map((url) => truncateValue(url, truncationSize('UserUrlItem'))),\n paymentMethodUpdated: user.paymentMethodUpdated,\n };\n if (user.address) {\n this.user.address = {\n name: truncateValue(user.address.name, truncationSize('AddressName')),\n line1: truncateValue(user.address.line1, truncationSize('AddressLine1')),\n line2: truncateValue(user.address.line2, truncationSize('AddressLine2')),\n city: truncateValue(user.address.city, truncationSize('AddressCity')),\n countryCode: truncateValue(\n user.address.countryCode,\n truncationSize('AddressCountryCode')\n ),\n regionCode: truncateValue(\n user.address.regionCode,\n truncationSize('AddressRegionCode')\n ),\n zipCode: truncateValue(user.address.zipCode, truncationSize('AddressZipCode')),\n };\n }\n }\n }\n\n override mergeWith(requestData: DataDomeRequest): DataDomeRequest {\n super.mergeWith(requestData);\n requestData.user = this.user;\n return requestData;\n }\n}\n"]} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DataDomeEvent = exports.ActionType = void 0; | ||
| const utils_1 = require("../../utils"); | ||
| var ActionType; | ||
@@ -13,5 +14,12 @@ (function (ActionType) { | ||
| class DataDomeEvent { | ||
| constructor({ action, account }) { | ||
| constructor({ action, account, authentication, session }) { | ||
| this.action = action; | ||
| this.account = account; | ||
| this.authentication = authentication; | ||
| if (session) { | ||
| this.session = { | ||
| id: (0, utils_1.truncateValue)(session.id, (0, utils_1.truncationSize)('SessionId')), | ||
| createdAt: session.createdAt, | ||
| }; | ||
| } | ||
| } | ||
@@ -21,2 +29,4 @@ mergeWith(requestData) { | ||
| requestData.account = this.account; | ||
| requestData.authentication = this.authentication; | ||
| requestData.session = this.session; | ||
| return requestData; | ||
@@ -23,0 +33,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/model/events/event.ts"],"names":[],"mappings":";;;AAEA,IAAY,UAMX;AAND,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,uCAAyB,CAAA;IACzB,iDAAmC,CAAA;IACnC,+CAAiC,CAAA;IACjC,iCAAmB,CAAA;AACvB,CAAC,EANW,UAAU,0BAAV,UAAU,QAMrB;AASD,MAAa,aAAa;IAItB,YAAY,EAAE,MAAM,EAAE,OAAO,EAA2C;QACpE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,WAA4B;QAClC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAdD,sCAcC"} | ||
| {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/model/events/event.ts"],"names":[],"mappings":";;;AAAA,uCAA4D;AAK5D,IAAY,UAMX;AAND,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,uCAAyB,CAAA;IACzB,iDAAmC,CAAA;IACnC,+CAAiC,CAAA;IACjC,iCAAmB,CAAA;AACvB,CAAC,EANW,UAAU,0BAAV,UAAU,QAMrB;AAgBD,MAAa,aAAa;IAMtB,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAe;QACjE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,OAAO,GAAG;gBACX,EAAE,EAAE,IAAA,qBAAa,EAAC,OAAO,CAAC,EAAE,EAAE,IAAA,sBAAc,EAAC,WAAW,CAAC,CAAC;gBAC1D,SAAS,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAC;QACN,CAAC;IACL,CAAC;IAED,SAAS,CAAC,WAA4B;QAClC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAzBD,sCAyBC","sourcesContent":["import { truncateValue, truncationSize } from '../../utils';\nimport { DataDomeRequest } from '../api';\nimport { Authentication } from '../authentication';\nimport { Session } from '../session';\n\nexport enum ActionType {\n LOGIN = 'login',\n REGISTER = 'registration',\n PASSWORD_UPDATE = 'password/update',\n ACCOUNT_UPDATE = 'account/update',\n PAYMENT = 'payment',\n}\n\nexport interface EventParams {\n action: ActionType;\n account: string;\n authentication?: Authentication;\n session?: Session;\n}\n\n/**\n * This class is used to define the common fields for all Events.\n *\n * @property {ActionType} action - The action associated with the event.\n * @property {StatusType} status - The status of the event. Defaults to `StatusType.UNDEFINED` if not provided.\n * @property {string} account - The account identifier related to the event.\n */\nexport class DataDomeEvent {\n action: ActionType;\n account: string;\n authentication?: Authentication;\n session?: Session;\n\n constructor({ action, account, authentication, session }: EventParams) {\n this.action = action;\n this.account = account;\n this.authentication = authentication;\n if (session) {\n this.session = {\n id: truncateValue(session.id, truncationSize('SessionId')),\n createdAt: session.createdAt,\n };\n }\n }\n\n mergeWith(requestData: DataDomeRequest): DataDomeRequest {\n requestData.event = this.action;\n requestData.account = this.account;\n requestData.authentication = this.authentication;\n requestData.session = this.session;\n return requestData;\n }\n}\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/events/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,kDAAwB;AACxB,kDAAwB;AACxB,2DAAiC;AACjC,yDAA+B"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/events/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,kDAAwB;AACxB,kDAAwB;AACxB,2DAAiC;AACjC,yDAA+B","sourcesContent":["export * from './accountUpdate';\nexport * from './event';\nexport * from './login';\nexport * from './passwordUpdate';\nexport * from './registration';\n"]} |
@@ -5,2 +5,3 @@ "use strict"; | ||
| const event_1 = require("./event"); | ||
| const utils_1 = require("../../utils"); | ||
| class LoginEvent extends event_1.DataDomeEvent { | ||
@@ -11,12 +12,14 @@ constructor({ account, status, user, session, authentication }) { | ||
| account, | ||
| authentication, | ||
| session, | ||
| }); | ||
| this.status = status; | ||
| this.session = session; | ||
| this.user = user; | ||
| this.authentication = authentication; | ||
| if (user) { | ||
| this.user = { | ||
| id: (0, utils_1.truncateValue)(user.id, (0, utils_1.truncationSize)('UserId')), | ||
| }; | ||
| } | ||
| } | ||
| mergeWith(requestData) { | ||
| super.mergeWith(requestData); | ||
| requestData.authentication = this.authentication; | ||
| requestData.session = this.session; | ||
| requestData.status = this.status; | ||
@@ -23,0 +26,0 @@ requestData.user = this.user; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/model/events/login.ts"],"names":[],"mappings":";;;AAIA,mCAAoD;AAqBpD,MAAa,UAAW,SAAQ,qBAAa;IAKzC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAoB;QAC5E,KAAK,CAAC;YACF,MAAM,EAAE,kBAAU,CAAC,KAAK;YACxB,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAxBD,gCAwBC"} | ||
| {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/model/events/login.ts"],"names":[],"mappings":";;;AAEA,mCAAiE;AACjE,uCAA4D;AAkB5D,MAAa,UAAW,SAAQ,qBAAa;IAGzC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAoB;QAC5E,KAAK,CAAC;YACF,MAAM,EAAE,kBAAU,CAAC,KAAK;YACxB,OAAO;YACP,cAAc;YACd,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,IAAI,GAAG;gBACR,EAAE,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,EAAE,IAAA,sBAAc,EAAC,QAAQ,CAAC,CAAC;aACvD,CAAC;QACN,CAAC;IACL,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAxBD,gCAwBC","sourcesContent":["import { User } from '../user';\nimport { DataDomeRequest } from '../api';\nimport { ActionType, DataDomeEvent, EventParams } from './event';\nimport { truncateValue, truncationSize } from '../../utils';\n\n/**\n * Status of the login event.\n */\nexport type LoginStatus = 'succeeded' | 'failed';\n\n/**\n * This interface defines the parameters for the login event.\n */\nexport interface LoginEventParams extends Omit<EventParams, 'action'> {\n status: LoginStatus;\n user?: Pick<User, 'id'>;\n}\n\n/**\n * This class is used to define the login event.\n */\nexport class LoginEvent extends DataDomeEvent {\n user?: Pick<User, 'id'>;\n status: LoginStatus;\n constructor({ account, status, user, session, authentication }: LoginEventParams) {\n super({\n action: ActionType.LOGIN,\n account,\n authentication,\n session,\n });\n this.status = status;\n if (user) {\n this.user = {\n id: truncateValue(user.id, truncationSize('UserId')),\n };\n }\n }\n\n override mergeWith(requestData: DataDomeRequest): DataDomeRequest {\n super.mergeWith(requestData);\n requestData.status = this.status;\n requestData.user = this.user;\n return requestData;\n }\n}\n"]} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.PasswordUpdateEvent = void 0; | ||
| const utils_1 = require("../../utils"); | ||
| const event_1 = require("./event"); | ||
| class PasswordUpdateEvent extends event_1.DataDomeEvent { | ||
| constructor({ account, reason, session, status, user }) { | ||
| constructor({ account, authentication, reason, session, status, user, }) { | ||
| super({ | ||
| action: event_1.ActionType.PASSWORD_UPDATE, | ||
| account, | ||
| authentication, | ||
| session, | ||
| }); | ||
| this.reason = reason; | ||
| this.session = session; | ||
| this.status = status; | ||
| this.user = user; | ||
| this.user = { | ||
| id: (0, utils_1.truncateValue)(user.id, (0, utils_1.truncationSize)('UserId')), | ||
| }; | ||
| } | ||
@@ -19,3 +23,2 @@ mergeWith(requestData) { | ||
| requestData.reason = this.reason; | ||
| requestData.session = this.session; | ||
| requestData.status = this.status; | ||
@@ -22,0 +25,0 @@ requestData.user = this.user; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"passwordUpdate.js","sourceRoot":"","sources":["../../../src/model/events/passwordUpdate.ts"],"names":[],"mappings":";;;AAGA,mCAAoD;AA0BpD,MAAa,mBAAoB,SAAQ,qBAAa;IAKlD,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAA6B;QAC7E,KAAK,CAAC;YACF,MAAM,EAAE,kBAAU,CAAC,eAAe;YAClC,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAxBD,kDAwBC"} | ||
| {"version":3,"file":"passwordUpdate.js","sourceRoot":"","sources":["../../../src/model/events/passwordUpdate.ts"],"names":[],"mappings":";;;AAAA,uCAA4D;AAG5D,mCAAiE;AAwBjE,MAAa,mBAAoB,SAAQ,qBAAa;IAIlD,YAAY,EACR,OAAO,EACP,cAAc,EACd,MAAM,EACN,OAAO,EACP,MAAM,EACN,IAAI,GACoB;QACxB,KAAK,CAAC;YACF,MAAM,EAAE,kBAAU,CAAC,eAAe;YAClC,OAAO;YACP,cAAc;YACd,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG;YACR,EAAE,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,EAAE,IAAA,sBAAc,EAAC,QAAQ,CAAC,CAAC;SACvD,CAAC;IACN,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAhCD,kDAgCC","sourcesContent":["import { truncateValue, truncationSize } from '../../utils';\nimport { DataDomeRequest } from '../api';\nimport { User } from '../user';\nimport { ActionType, DataDomeEvent, EventParams } from './event';\n\n/**\n * Status of the password update event.\n */\nexport type PasswordUpdateStatus = 'attempted' | 'failed' | 'succeeded' | 'linkExpired';\n\n/**\n * Reason for the password update event.\n */\nexport type PasswordUpdateReason = 'forcedReset' | 'forgotPassword' | 'userUpdate';\n\n/**\n * This interface defines the parameters for the password update event.\n */\nexport interface PasswordUpdateEventParams extends Omit<EventParams, 'action'> {\n reason: PasswordUpdateReason;\n status: PasswordUpdateStatus;\n user: Pick<User, 'id'>;\n}\n\n/**\n * This class is used to define the password update event.\n */\nexport class PasswordUpdateEvent extends DataDomeEvent {\n reason: PasswordUpdateReason;\n status: PasswordUpdateStatus;\n user: Pick<User, 'id'>;\n constructor({\n account,\n authentication,\n reason,\n session,\n status,\n user,\n }: PasswordUpdateEventParams) {\n super({\n action: ActionType.PASSWORD_UPDATE,\n account,\n authentication,\n session,\n });\n this.reason = reason;\n this.status = status;\n this.user = {\n id: truncateValue(user.id, truncationSize('UserId')),\n };\n }\n\n override mergeWith(requestData: DataDomeRequest): DataDomeRequest {\n super.mergeWith(requestData);\n requestData.reason = this.reason;\n requestData.status = this.status;\n requestData.user = this.user;\n return requestData;\n }\n}\n"]} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.RegistrationEvent = void 0; | ||
| const utils_1 = require("../../utils"); | ||
| const event_1 = require("./event"); | ||
| class RegistrationEvent extends event_1.DataDomeEvent { | ||
| constructor({ account, authentication, session, user }) { | ||
| super({ action: event_1.ActionType.REGISTER, account }); | ||
| this.authentication = authentication; | ||
| this.session = session; | ||
| this.user = user; | ||
| var _a, _b; | ||
| super({ action: event_1.ActionType.REGISTER, account, authentication, session }); | ||
| this.user = { | ||
| id: (0, utils_1.truncateValue)(user.id, (0, utils_1.truncationSize)('UserId')), | ||
| title: user.title, | ||
| firstName: (0, utils_1.truncateValue)(user.firstName, (0, utils_1.truncationSize)('UserFirstName')), | ||
| lastName: (0, utils_1.truncateValue)(user.lastName, (0, utils_1.truncationSize)('UserLastName')), | ||
| createdAt: user.createdAt, | ||
| phone: (0, utils_1.truncateValue)(user.phone, (0, utils_1.truncationSize)('UserPhone')), | ||
| email: (0, utils_1.truncateValue)(user.email, (0, utils_1.truncationSize)('UserEmail')), | ||
| displayName: (0, utils_1.truncateValue)(user.displayName, (0, utils_1.truncationSize)('UserDisplayName')), | ||
| description: (0, utils_1.truncateValue)(user.description, (0, utils_1.truncationSize)('UserDescription')), | ||
| externalUrls: (_a = user.externalUrls) === null || _a === void 0 ? void 0 : _a.slice(0, (0, utils_1.truncationSize)('UserExternalUrl')).map((url) => (0, utils_1.truncateValue)(url, (0, utils_1.truncationSize)('UserUrlItem'))), | ||
| pictureUrls: (_b = user.pictureUrls) === null || _b === void 0 ? void 0 : _b.slice(0, (0, utils_1.truncationSize)('UserPictureUrl')).map((url) => (0, utils_1.truncateValue)(url, (0, utils_1.truncationSize)('UserUrlItem'))), | ||
| }; | ||
| if (user.address) { | ||
| this.user.address = { | ||
| name: (0, utils_1.truncateValue)(user.address.name, (0, utils_1.truncationSize)('AddressName')), | ||
| line1: (0, utils_1.truncateValue)(user.address.line1, (0, utils_1.truncationSize)('AddressLine1')), | ||
| line2: (0, utils_1.truncateValue)(user.address.line2, (0, utils_1.truncationSize)('AddressLine2')), | ||
| city: (0, utils_1.truncateValue)(user.address.city, (0, utils_1.truncationSize)('AddressCity')), | ||
| countryCode: (0, utils_1.truncateValue)(user.address.countryCode, (0, utils_1.truncationSize)('AddressCountryCode')), | ||
| regionCode: (0, utils_1.truncateValue)(user.address.regionCode, (0, utils_1.truncationSize)('AddressRegionCode')), | ||
| zipCode: (0, utils_1.truncateValue)(user.address.zipCode, (0, utils_1.truncationSize)('AddressZipCode')), | ||
| }; | ||
| } | ||
| } | ||
| mergeWith(requestData) { | ||
| super.mergeWith(requestData); | ||
| requestData.authentication = this.authentication; | ||
| requestData.session = this.session; | ||
| requestData.user = this.user; | ||
@@ -17,0 +38,0 @@ return requestData; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../src/model/events/registration.ts"],"names":[],"mappings":";;;AAIA,mCAAoD;AAepD,MAAa,iBAAkB,SAAQ,qBAAa;IAIhD,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAA2B;QAC3E,KAAK,CAAC,EAAE,MAAM,EAAE,kBAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAlBD,8CAkBC"} | ||
| {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../src/model/events/registration.ts"],"names":[],"mappings":"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","sourcesContent":["import { truncateValue, truncationSize } from '../../utils';\nimport { DataDomeRequest } from '../api';\nimport { User } from '../user';\nimport { ActionType, DataDomeEvent, EventParams } from './event';\n\n/**\n * This interface defines the parameters for the registration event.\n */\ninterface RegistrationEventParams extends Omit<EventParams, 'action'> {\n user: User;\n}\n\n/**\n * This class is used to define the registration event.\n */\nexport class RegistrationEvent extends DataDomeEvent {\n user: User;\n constructor({ account, authentication, session, user }: RegistrationEventParams) {\n super({ action: ActionType.REGISTER, account, authentication, session });\n this.user = {\n id: truncateValue(user.id, truncationSize('UserId')),\n title: user.title,\n firstName: truncateValue(user.firstName, truncationSize('UserFirstName')),\n lastName: truncateValue(user.lastName, truncationSize('UserLastName')),\n createdAt: user.createdAt,\n phone: truncateValue(user.phone, truncationSize('UserPhone')),\n email: truncateValue(user.email, truncationSize('UserEmail')),\n displayName: truncateValue(user.displayName, truncationSize('UserDisplayName')),\n description: truncateValue(user.description, truncationSize('UserDescription')),\n externalUrls: user.externalUrls\n ?.slice(0, truncationSize('UserExternalUrl'))\n .map((url) => truncateValue(url, truncationSize('UserUrlItem'))),\n pictureUrls: user.pictureUrls\n ?.slice(0, truncationSize('UserPictureUrl'))\n .map((url) => truncateValue(url, truncationSize('UserUrlItem'))),\n };\n if (user.address) {\n this.user.address = {\n name: truncateValue(user.address.name, truncationSize('AddressName')),\n line1: truncateValue(user.address.line1, truncationSize('AddressLine1')),\n line2: truncateValue(user.address.line2, truncationSize('AddressLine2')),\n city: truncateValue(user.address.city, truncationSize('AddressCity')),\n countryCode: truncateValue(\n user.address.countryCode,\n truncationSize('AddressCountryCode')\n ),\n regionCode: truncateValue(\n user.address.regionCode,\n truncationSize('AddressRegionCode')\n ),\n zipCode: truncateValue(user.address.zipCode, truncationSize('AddressZipCode')),\n };\n }\n }\n\n override mergeWith(requestData: DataDomeRequest): DataDomeRequest {\n super.mergeWith(requestData);\n requestData.user = this.user;\n return requestData;\n }\n}\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,2DAAiC;AACjC,gDAAsB;AACtB,iDAAuB;AACvB,oDAA0B;AAC1B,mDAAyB"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,2DAAiC;AACjC,gDAAsB;AACtB,iDAAuB;AACvB,oDAA0B;AAC1B,mDAAyB","sourcesContent":["export * from './address';\nexport * from './authentication';\nexport * from './api';\nexport * from './user';\nexport * from './session';\nexport * from './events';\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/model/session.ts"],"names":[],"mappings":""} | ||
| {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/model/session.ts"],"names":[],"mappings":"","sourcesContent":["export interface Session {\n id: string;\n createdAt: Date;\n}\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/model/user.ts"],"names":[],"mappings":""} | ||
| {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/model/user.ts"],"names":[],"mappings":"","sourcesContent":["import { Address } from './address';\n\ntype Title = 'mr' | 'ms' | 'mx';\n\nexport interface User {\n id: string;\n title?: Title;\n firstName?: string;\n lastName?: string;\n createdAt?: Date;\n phone?: string;\n email?: string;\n address?: Address;\n displayName?: string;\n description?: string;\n externalUrls?: string[];\n pictureUrls?: string[];\n}\n"]} |
| export const DATADOME_ENDPOINT = 'https://account-api.datadome.co'; | ||
| export const DATADOME_TIMEOUT = 1500; | ||
| export const SDK_VERSION = '2.0.1'; | ||
| export const SDK_VERSION = '2.1.0'; | ||
| export const SDK_NAME = 'Fraud SDK Node.js'; | ||
| //# sourceMappingURL=constants.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,iCAAiC,CAAC;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC"} | ||
| {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,iCAAiC,CAAC;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC","sourcesContent":["export const DATADOME_ENDPOINT = 'https://account-api.datadome.co';\nexport const DATADOME_TIMEOUT = 1500;\nexport const SDK_VERSION = '2.1.0';\nexport const SDK_NAME = 'Fraud SDK Node.js';\n"]} |
+66
-68
@@ -1,4 +0,1 @@ | ||
| import { __awaiter } from "tslib"; | ||
| import fetch from 'node-fetch'; | ||
| import { Agent } from 'https'; | ||
| import { URL } from 'url'; | ||
@@ -28,3 +25,3 @@ import { DataDomeRequest, ResponseAction, ResponseStatus, } from './model'; | ||
| this.requestOptions = { | ||
| agent: new Agent({ keepAlive: true }), | ||
| keepalive: true, | ||
| headers: { | ||
@@ -47,77 +44,78 @@ Accept: 'application/json', | ||
| } | ||
| sendRequest(_a) { | ||
| return __awaiter(this, arguments, void 0, function* ({ operation, request, requestMetadata, event, args, }) { | ||
| const endpoint = this.endpoint.endsWith('/') ? this.endpoint.slice(0, -1) : this.endpoint; | ||
| const url = new URL(endpoint + '/v1/' + operation + '/' + event.action); | ||
| const payload = this.buildPayload(request, event, requestMetadata); | ||
| this.logger.debug(`url: ${url}`); | ||
| this.logger.debug(`body: ${JSON.stringify(payload)}`); | ||
| const requestConfig = Object.assign(Object.assign({}, this.requestOptions), { body: JSON.stringify(payload), signal: args === null || args === void 0 ? void 0 : args.controller.signal }); | ||
| return fetch(url.toString(), requestConfig); | ||
| }); | ||
| async sendRequest({ operation, request, requestMetadata, event, args, }) { | ||
| const endpoint = this.endpoint.endsWith('/') ? this.endpoint.slice(0, -1) : this.endpoint; | ||
| const url = new URL(endpoint + '/v1/' + operation + '/' + event.action); | ||
| const payload = this.buildPayload(request, event, requestMetadata); | ||
| this.logger.debug(`url: ${url}`); | ||
| this.logger.debug(`body: ${JSON.stringify(payload)}`); | ||
| const requestConfig = { | ||
| ...this.requestOptions, | ||
| body: JSON.stringify(payload), | ||
| signal: args === null || args === void 0 ? void 0 : args.controller.signal, | ||
| }; | ||
| return fetch(url.toString(), requestConfig); | ||
| } | ||
| validate(request, event, requestMetadata) { | ||
| return __awaiter(this, void 0, void 0, function* () { | ||
| const controller = new AbortController(); | ||
| const timeoutId = setTimeout(() => controller.abort('DataDome Fraud API timeout'), this.timeout); | ||
| try { | ||
| const response = yield this.sendRequest({ | ||
| operation: Operation.VALIDATE, | ||
| request, | ||
| requestMetadata, | ||
| event, | ||
| args: { | ||
| controller, | ||
| }, | ||
| }); | ||
| const result = yield (response === null || response === void 0 ? void 0 : response.json()); | ||
| if (response === null || response === void 0 ? void 0 : response.ok) { | ||
| result.status = ResponseStatus.OK; | ||
| } | ||
| else { | ||
| result.status = ResponseStatus.FAILURE; | ||
| result.action = ResponseAction.ALLOW; | ||
| this.logger.error(`Error on API response: ${JSON.stringify(result)}`); | ||
| } | ||
| return result; | ||
| } | ||
| catch (error) { | ||
| if ((error === null || error === void 0 ? void 0 : error.name) === 'AbortError' && controller.signal.aborted) { | ||
| return { | ||
| action: ResponseAction.ALLOW, | ||
| status: ResponseStatus.TIMEOUT, | ||
| message: `Request timed out after ${this.timeout} milliseconds`, | ||
| }; | ||
| } | ||
| else { | ||
| return { | ||
| action: ResponseAction.ALLOW, | ||
| status: ResponseStatus.FAILURE, | ||
| message: `Request failed :${error}`, | ||
| }; | ||
| } | ||
| } | ||
| finally { | ||
| clearTimeout(timeoutId); | ||
| } | ||
| }); | ||
| } | ||
| collect(request, event, requestMetadata) { | ||
| return __awaiter(this, void 0, void 0, function* () { | ||
| const response = yield this.sendRequest({ | ||
| operation: Operation.COLLECT, | ||
| async validate(request, event, requestMetadata) { | ||
| const controller = new AbortController(); | ||
| const timeoutId = setTimeout(() => controller.abort('DataDome Fraud API timeout'), this.timeout); | ||
| try { | ||
| const response = await this.sendRequest({ | ||
| operation: Operation.VALIDATE, | ||
| request, | ||
| requestMetadata, | ||
| event, | ||
| args: { | ||
| controller, | ||
| }, | ||
| }); | ||
| if (response.ok) { | ||
| return { status: ResponseStatus.OK }; | ||
| const result = await (response === null || response === void 0 ? void 0 : response.json()); | ||
| if (response === null || response === void 0 ? void 0 : response.ok) { | ||
| result.status = ResponseStatus.OK; | ||
| } | ||
| else { | ||
| const json = yield response.json(); | ||
| return Object.assign({ status: ResponseStatus.FAILURE }, json); | ||
| result.status = ResponseStatus.FAILURE; | ||
| result.action = ResponseAction.ALLOW; | ||
| this.logger.error(`Error on API response: ${JSON.stringify(result)}`); | ||
| } | ||
| return result; | ||
| } | ||
| catch (error) { | ||
| const isAbortError = (error === null || error === void 0 ? void 0 : error.name) === 'AbortError' || | ||
| (error === null || error === void 0 ? void 0 : error.name) === 'TimeoutError' || | ||
| controller.signal.aborted; | ||
| if (isAbortError) { | ||
| return { | ||
| action: ResponseAction.ALLOW, | ||
| status: ResponseStatus.TIMEOUT, | ||
| message: `Request timed out after ${this.timeout} milliseconds`, | ||
| }; | ||
| } | ||
| else { | ||
| return { | ||
| action: ResponseAction.ALLOW, | ||
| status: ResponseStatus.FAILURE, | ||
| message: `Request failed :${error}`, | ||
| }; | ||
| } | ||
| } | ||
| finally { | ||
| clearTimeout(timeoutId); | ||
| } | ||
| } | ||
| async collect(request, event, requestMetadata) { | ||
| const response = await this.sendRequest({ | ||
| operation: Operation.COLLECT, | ||
| request, | ||
| requestMetadata, | ||
| event, | ||
| }); | ||
| if (response.ok) { | ||
| return { status: ResponseStatus.OK }; | ||
| } | ||
| else { | ||
| const json = await response.json(); | ||
| return { status: ResponseStatus.FAILURE, ...json }; | ||
| } | ||
| } | ||
| } | ||
| //# sourceMappingURL=datadome.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"datadome.js","sourceRoot":"","sources":["../src/datadome.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"datadome.js","sourceRoot":"","sources":["../src/datadome.ts"],"names":[],"mappings":"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","sourcesContent":["import { IncomingMessage } from 'http';\nimport { URL } from 'url';\n\nimport {\n DataDomeEvent,\n DataDomeRequest,\n Response,\n ResponseError,\n ResponseAction,\n ResponseStatus,\n RequestMetadata,\n} from './model';\nimport { DATADOME_ENDPOINT, DATADOME_TIMEOUT } from './constants';\n\nexport interface LogInterface {\n debug(primaryMessage: string, ...supportingData: unknown[]): void;\n warn(primaryMessage: string, ...supportingData: unknown[]): void;\n error(primaryMessage: string, ...supportingData: unknown[]): void;\n info(primaryMessage: string, ...supportingData: unknown[]): void;\n}\n\nexport interface DataDomeOptions {\n logger?: LogInterface;\n timeout?: number;\n endpoint?: string;\n}\n\nfunction getDefaultOptions(): Required<DataDomeOptions> {\n return {\n logger: console,\n timeout: DATADOME_TIMEOUT,\n endpoint: DATADOME_ENDPOINT,\n };\n}\n\nexport enum Operation {\n VALIDATE = 'validate',\n COLLECT = 'collect',\n}\n\n/**\n * Class to instantiate a DataDome client\n */\nexport class DataDome {\n private endpoint: string;\n private logger: LogInterface;\n private timeout: number;\n private requestOptions: RequestInit;\n constructor(key: string, options: DataDomeOptions = {}) {\n const defaultOptions = getDefaultOptions();\n const finalParameters = Object.assign({}, defaultOptions, options);\n const { endpoint, logger, timeout } = finalParameters;\n\n this.endpoint = endpoint;\n this.timeout = timeout;\n this.logger = logger;\n\n this.requestOptions = {\n keepalive: true,\n headers: {\n Accept: 'application/json',\n Connection: 'keep-alive',\n 'Content-Type': 'application/json',\n 'x-api-key': key,\n },\n method: 'POST',\n };\n\n if (\n !this.endpoint.toLowerCase().startsWith('https://') &&\n !this.endpoint.toLowerCase().startsWith('http://')\n ) {\n this.logger.warn(\n `Endpoint ${this.endpoint} is not a valid URL. Defaulting to ${defaultOptions.endpoint}`\n );\n this.endpoint = defaultOptions.endpoint;\n }\n }\n\n private buildPayload(\n request: IncomingMessage,\n event: DataDomeEvent,\n requestMetadata?: RequestMetadata\n ): DataDomeRequest {\n return event.mergeWith(new DataDomeRequest(request, requestMetadata));\n }\n\n /**\n * Perform the request to the Protect API\n */\n private async sendRequest({\n operation,\n request,\n requestMetadata,\n event,\n args,\n }: {\n operation: Operation;\n request: IncomingMessage;\n requestMetadata?: RequestMetadata;\n event: DataDomeEvent;\n args?: { controller: AbortController };\n }) {\n // Ensure this.endpoint does not have a trailing slash\n const endpoint = this.endpoint.endsWith('/') ? this.endpoint.slice(0, -1) : this.endpoint;\n const url = new URL(endpoint + '/v1/' + operation + '/' + event.action);\n const payload = this.buildPayload(request, event, requestMetadata);\n\n this.logger.debug(`url: ${url}`);\n this.logger.debug(`body: ${JSON.stringify(payload)}`);\n\n const requestConfig: RequestInit = {\n ...this.requestOptions,\n body: JSON.stringify(payload),\n signal: args?.controller.signal,\n };\n return fetch(url.toString(), requestConfig);\n }\n\n /**\n * Validate request\n */\n async validate(\n request: IncomingMessage,\n event: DataDomeEvent,\n requestMetadata?: RequestMetadata\n ): Promise<Response | ResponseError> {\n const controller = new AbortController();\n const timeoutId = setTimeout(\n () => controller.abort('DataDome Fraud API timeout'),\n this.timeout\n );\n try {\n const response = await this.sendRequest({\n operation: Operation.VALIDATE,\n request,\n requestMetadata,\n event,\n args: {\n controller,\n },\n });\n const result = await response?.json();\n if (response?.ok) {\n result.status = ResponseStatus.OK;\n } else {\n result.status = ResponseStatus.FAILURE;\n result.action = ResponseAction.ALLOW;\n this.logger.error(`Error on API response: ${JSON.stringify(result)}`);\n }\n return result;\n } catch (error) {\n const isAbortError =\n (error as Error)?.name === 'AbortError' ||\n (error as Error)?.name === 'TimeoutError' ||\n controller.signal.aborted;\n\n if (isAbortError) {\n return {\n action: ResponseAction.ALLOW,\n status: ResponseStatus.TIMEOUT,\n message: `Request timed out after ${this.timeout} milliseconds`,\n } as ResponseError;\n } else {\n return {\n action: ResponseAction.ALLOW,\n status: ResponseStatus.FAILURE,\n message: `Request failed :${error}`,\n } as ResponseError;\n }\n } finally {\n clearTimeout(timeoutId);\n }\n }\n\n /**\n * Collect request\n */\n async collect(\n request: IncomingMessage,\n event: DataDomeEvent,\n requestMetadata?: RequestMetadata\n ): Promise<Response | ResponseError> {\n const response = await this.sendRequest({\n operation: Operation.COLLECT,\n request,\n requestMetadata,\n event,\n });\n if (response.ok) {\n return { status: ResponseStatus.OK } as Response;\n } else {\n const json = await response.json();\n return { status: ResponseStatus.FAILURE, ...json } as ResponseError;\n }\n }\n}\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC","sourcesContent":["export * from './constants';\nexport * from './datadome';\nexport * from './model';\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/model/address.ts"],"names":[],"mappings":""} | ||
| {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/model/address.ts"],"names":[],"mappings":"","sourcesContent":["export interface Address {\n name?: string;\n line1?: string;\n line2?: string;\n city?: string;\n countryCode?: string;\n regionCode?: string;\n zipCode?: string;\n}\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC","sourcesContent":["export * from './request';\nexport * from './response';\n"]} |
| import { SDK_NAME, SDK_VERSION } from '../../constants'; | ||
| import { truncateValue, truncationSize } from '../../utils'; | ||
| class DataDomeModule { | ||
@@ -41,73 +42,74 @@ constructor() { | ||
| this.protocol = (_f = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.protocol) !== null && _f !== void 0 ? _f : this.getProtocol(request); | ||
| this.contentType = this.truncateValue((_g = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.contentType) !== null && _g !== void 0 ? _g : request.headers['content-type'], 64); | ||
| this.accept = this.truncateValue((_h = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.accept) !== null && _h !== void 0 ? _h : request.headers['accept'], 512); | ||
| this.acceptLanguage = this.truncateValue((_j = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptLanguage) !== null && _j !== void 0 ? _j : request.headers['accept-language'], 256); | ||
| this.host = this.truncateValue((_k = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.host) !== null && _k !== void 0 ? _k : request.headers['host'], 512); | ||
| this.userAgent = this.truncateValue((_l = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.userAgent) !== null && _l !== void 0 ? _l : request.headers['user-agent'], 768); | ||
| this.referer = this.truncateValue((_m = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.referer) !== null && _m !== void 0 ? _m : request.headers['referer'], 1024); | ||
| this.xRealIp = this.truncateValue((_o = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.xRealIp) !== null && _o !== void 0 ? _o : request.headers['x-real-ip'], 128); | ||
| this.xForwardedForIp = this.truncateValue((_p = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.xForwardedForIp) !== null && _p !== void 0 ? _p : request.headers['x-forwarded-for'], -512); | ||
| this.acceptEncoding = this.truncateValue((_q = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptEncoding) !== null && _q !== void 0 ? _q : request.headers['accept-encoding'], 128); | ||
| this.serverHostname = this.truncateValue((_r = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.serverHostname) !== null && _r !== void 0 ? _r : request.headers['host'], 512); | ||
| this.from = this.truncateValue((_s = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.from) !== null && _s !== void 0 ? _s : request.headers['from'], 128); | ||
| this.origin = this.truncateValue((_t = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.origin) !== null && _t !== void 0 ? _t : request.headers['origin'], 512); | ||
| this.connection = this.truncateValue((_u = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.connection) !== null && _u !== void 0 ? _u : request.headers['connection'], 128); | ||
| this.acceptCharset = this.truncateValue((_v = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptCharset) !== null && _v !== void 0 ? _v : request.headers['accept-charset'], 128); | ||
| this.contentType = truncateValue((_g = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.contentType) !== null && _g !== void 0 ? _g : request.headers['content-type'], truncationSize('ContentType')); | ||
| this.accept = truncateValue((_h = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.accept) !== null && _h !== void 0 ? _h : request.headers['accept'], truncationSize('Accept')); | ||
| this.acceptLanguage = truncateValue((_j = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptLanguage) !== null && _j !== void 0 ? _j : request.headers['accept-language'], truncationSize('AcceptLanguage')); | ||
| this.host = truncateValue((_k = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.host) !== null && _k !== void 0 ? _k : request.headers['host'], truncationSize('Host')); | ||
| this.userAgent = truncateValue((_l = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.userAgent) !== null && _l !== void 0 ? _l : request.headers['user-agent'], truncationSize('UserAgent')); | ||
| this.referer = truncateValue((_m = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.referer) !== null && _m !== void 0 ? _m : request.headers['referer'], truncationSize('Referer')); | ||
| this.xRealIp = truncateValue((_o = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.xRealIp) !== null && _o !== void 0 ? _o : request.headers['x-real-ip'], truncationSize('XRealIp')); | ||
| this.xForwardedForIp = truncateValue((_p = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.xForwardedForIp) !== null && _p !== void 0 ? _p : request.headers['x-forwarded-for'], truncationSize('XForwardedForIp')); | ||
| this.acceptEncoding = truncateValue((_q = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptEncoding) !== null && _q !== void 0 ? _q : request.headers['accept-encoding'], truncationSize('AcceptEncoding')); | ||
| this.serverHostname = truncateValue((_r = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.serverHostname) !== null && _r !== void 0 ? _r : request.headers['host'], truncationSize('ServerHostname')); | ||
| this.from = truncateValue((_s = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.from) !== null && _s !== void 0 ? _s : request.headers['from'], truncationSize('From')); | ||
| this.origin = truncateValue((_t = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.origin) !== null && _t !== void 0 ? _t : request.headers['origin'], truncationSize('Origin')); | ||
| this.connection = truncateValue((_u = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.connection) !== null && _u !== void 0 ? _u : request.headers['connection'], truncationSize('Connection')); | ||
| this.acceptCharset = truncateValue((_v = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptCharset) !== null && _v !== void 0 ? _v : request.headers['accept-charset'], truncationSize('AcceptCharset')); | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUA) { | ||
| this.secCHUA = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUA, 128); | ||
| this.secCHUA = truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUA, truncationSize('SecCHUA')); | ||
| } | ||
| else if (request.headers['sec-ch-ua']) { | ||
| this.secCHUA = this.truncateValue(request.headers['sec-ch-ua'], 128); | ||
| this.secCHUA = truncateValue(request.headers['sec-ch-ua'], truncationSize('SecCHUA')); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAMobile) { | ||
| this.secCHUAMobile = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAMobile, 8); | ||
| this.secCHUAMobile = truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAMobile, truncationSize('SecCHUAMobile')); | ||
| } | ||
| else if (request.headers['sec-ch-ua-mobile']) { | ||
| this.secCHUAMobile = this.truncateValue(request.headers['sec-ch-ua-mobile'], 8); | ||
| this.secCHUAMobile = truncateValue(request.headers['sec-ch-ua-mobile'], truncationSize('SecCHUAMobile')); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAPlatform) { | ||
| this.secCHUAPlatform = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAPlatform, 32); | ||
| this.secCHUAPlatform = truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAPlatform, truncationSize('SecCHUAPlatform')); | ||
| } | ||
| else if (request.headers['sec-ch-ua-platform']) { | ||
| this.secCHUAPlatform = this.truncateValue(request.headers['sec-ch-ua-platform'], 32); | ||
| this.secCHUAPlatform = truncateValue(request.headers['sec-ch-ua-platform'], truncationSize('SecCHUAPlatform')); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAArch) { | ||
| this.secCHUAArch = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAArch, 16); | ||
| this.secCHUAArch = truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAArch, truncationSize('SecCHUAArch')); | ||
| } | ||
| else if (request.headers['sec-ch-ua-arch']) { | ||
| this.secCHUAArch = this.truncateValue(request.headers['sec-ch-ua-arch'], 16); | ||
| this.secCHUAArch = truncateValue(request.headers['sec-ch-ua-arch'], truncationSize('SecCHUAArch')); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAFullVersionList) { | ||
| this.secCHUAFullVersionList = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAFullVersionList, 256); | ||
| this.secCHUAFullVersionList = truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAFullVersionList, truncationSize('SecCHUAFullVersionList')); | ||
| } | ||
| else if (request.headers['sec-ch-ua-full-version-list']) { | ||
| this.secCHUAFullVersionList = this.truncateValue(request.headers['sec-ch-ua-full-version-list'], 256); | ||
| this.secCHUAFullVersionList = truncateValue(request.headers['sec-ch-ua-full-version-list'], truncationSize('SecCHUAFullVersionList')); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAModel) { | ||
| this.secCHUAModel = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAModel, 128); | ||
| this.secCHUAModel = truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAModel, truncationSize('SecCHUAModel')); | ||
| } | ||
| else if (request.headers['sec-ch-ua-model']) { | ||
| this.secCHUAModel = this.truncateValue(request.headers['sec-ch-ua-model'], 128); | ||
| this.secCHUAModel = truncateValue(request.headers['sec-ch-ua-model'], truncationSize('SecCHUAModel')); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHDeviceMemory) { | ||
| this.secCHDeviceMemory = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHDeviceMemory, 8); | ||
| this.secCHDeviceMemory = truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHDeviceMemory, truncationSize('SecCHDeviceMemory')); | ||
| } | ||
| else if (request.headers['sec-ch-device-memory']) { | ||
| this.secCHDeviceMemory = this.truncateValue(request.headers['sec-ch-device-memory'], 8); | ||
| this.secCHDeviceMemory = truncateValue(request.headers['sec-ch-device-memory'], truncationSize('SecCHDeviceMemory')); | ||
| } | ||
| this.request = (_y = (_w = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.request) !== null && _w !== void 0 ? _w : (_x = request.url) === null || _x === void 0 ? void 0 : _x.slice(0, 2048)) !== null && _y !== void 0 ? _y : '/'; | ||
| this.request = | ||
| (_y = (_w = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.request) !== null && _w !== void 0 ? _w : (_x = request.url) === null || _x === void 0 ? void 0 : _x.slice(0, truncationSize('Request'))) !== null && _y !== void 0 ? _y : '/'; | ||
| const sessionByHeaderClientId = request.headers['x-datadome-clientid']; | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.clientID) { | ||
| this.clientID = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.clientID, 128); | ||
| this.clientID = truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.clientID, truncationSize('ClientID')); | ||
| } | ||
| else if (sessionByHeaderClientId !== undefined && sessionByHeaderClientId != '') { | ||
| this.clientID = this.truncateValue(sessionByHeaderClientId, 128); | ||
| this.clientID = truncateValue(sessionByHeaderClientId, truncationSize('ClientID')); | ||
| } | ||
| else { | ||
| this.clientID = this.truncateValue(this.getClientId(request), 128); | ||
| this.clientID = truncateValue(this.getClientId(request), truncationSize('ClientID')); | ||
| } | ||
| } | ||
| getProtocol(request) { | ||
| let protocol = 'http'; | ||
| const forwardedProto = request.headers['X-Forwarded-Proto']; | ||
| let protocol = request.socket.encrypted ? 'https' : 'http'; | ||
| const forwardedProto = request.headers['x-forwarded-proto']; | ||
| if (forwardedProto !== '' && | ||
@@ -117,8 +119,2 @@ ((forwardedProto === null || forwardedProto === void 0 ? void 0 : forwardedProto.toLowerCase()) === 'http' || (forwardedProto === null || forwardedProto === void 0 ? void 0 : forwardedProto.toLowerCase()) === 'https')) { | ||
| } | ||
| else if (this.port === 80) { | ||
| protocol = 'http'; | ||
| } | ||
| else if (this.port === 443) { | ||
| protocol = 'https'; | ||
| } | ||
| return protocol; | ||
@@ -141,11 +137,2 @@ } | ||
| } | ||
| truncateValue(value, maxLength) { | ||
| if (value === undefined) { | ||
| return ''; | ||
| } | ||
| if (maxLength == null) { | ||
| return value; | ||
| } | ||
| return maxLength < 0 ? value.slice(maxLength) : value.slice(0, maxLength); | ||
| } | ||
| getClientId(request) { | ||
@@ -152,0 +139,0 @@ const cookies = request.headers['cookie']; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/model/api/request.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/model/api/request.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IncomingMessage } from 'http';\nimport type { TLSSocket } from 'tls';\nimport { SDK_NAME, SDK_VERSION } from '../../constants';\nimport { truncateValue, truncationSize } from '../../utils';\n\nclass DataDomeModule {\n requestTimeMicros: number;\n name: string;\n version: string;\n constructor() {\n this.requestTimeMicros = Date.now() * 1000;\n this.name = SDK_NAME;\n this.version = SDK_VERSION;\n }\n}\n\nfunction tryDecode(input: string): string {\n try {\n return decodeURIComponent(input);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return input;\n }\n}\n\nfunction parseCookieString(input: string): Map<string, string> {\n const cookies = new Map();\n\n input.split(/; */).forEach((pair: string) => {\n let eqIndex = pair.indexOf('=');\n\n if (eqIndex > 0) {\n const key = pair.substring(0, eqIndex).trim();\n let value = pair.substring(++eqIndex, eqIndex + pair.length).trim();\n\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n\n if (!cookies.has(key)) {\n cookies.set(key, tryDecode(value));\n }\n }\n });\n\n return cookies;\n}\n\nexport interface RequestMetadata {\n addr?: string;\n accept?: string;\n acceptLanguage?: string;\n contentType?: string;\n method?: string;\n host?: string;\n port?: number;\n protocol?: string;\n userAgent?: string;\n referer?: string;\n xRealIp?: string;\n xForwardedForIp?: string;\n acceptEncoding?: string;\n serverHostname?: string;\n from?: string;\n request?: string;\n origin?: string;\n connection?: string;\n acceptCharset?: string;\n clientID?: string;\n secCHUA?: string;\n secCHUAMobile?: string;\n secCHUAPlatform?: string;\n secCHUAArch?: string;\n secCHUAFullVersionList?: string;\n secCHUAModel?: string;\n secCHDeviceMemory?: string;\n}\n\nclass DataDomeHeaders {\n addr: string;\n accept: string;\n acceptLanguage: string;\n contentType: string;\n method: string;\n host: string;\n port: number;\n protocol: string;\n userAgent: string;\n referer: string;\n xRealIp: string;\n xForwardedForIp: string;\n acceptEncoding: string;\n serverHostname: string;\n from: string;\n request: string;\n origin: string;\n connection: string;\n acceptCharset: string;\n clientID: string;\n secCHUA?: string;\n secCHUAMobile?: string;\n secCHUAPlatform?: string;\n secCHUAArch?: string;\n secCHUAFullVersionList?: string;\n secCHUAModel?: string;\n secCHDeviceMemory?: string;\n\n constructor(request: IncomingMessage, requestMetadata?: RequestMetadata) {\n this.addr = requestMetadata?.addr ?? request.socket.remoteAddress ?? '127.0.0.1';\n this.method = requestMetadata?.method ?? request.method ?? '';\n this.port = requestMetadata?.port ?? this.getPort(request);\n this.protocol = requestMetadata?.protocol ?? this.getProtocol(request);\n this.contentType = truncateValue(\n requestMetadata?.contentType ?? request.headers['content-type'],\n truncationSize('ContentType')\n );\n this.accept = truncateValue(\n requestMetadata?.accept ?? request.headers['accept'],\n truncationSize('Accept')\n );\n this.acceptLanguage = truncateValue(\n requestMetadata?.acceptLanguage ?? request.headers['accept-language'],\n truncationSize('AcceptLanguage')\n );\n this.host = truncateValue(\n requestMetadata?.host ?? request.headers['host'],\n truncationSize('Host')\n );\n this.userAgent = truncateValue(\n requestMetadata?.userAgent ?? request.headers['user-agent'],\n truncationSize('UserAgent')\n );\n this.referer = truncateValue(\n requestMetadata?.referer ?? request.headers['referer'],\n truncationSize('Referer')\n );\n this.xRealIp = truncateValue(\n requestMetadata?.xRealIp ?? (request.headers['x-real-ip'] as string),\n truncationSize('XRealIp')\n );\n this.xForwardedForIp = truncateValue(\n requestMetadata?.xForwardedForIp ?? (request.headers['x-forwarded-for'] as string),\n truncationSize('XForwardedForIp')\n );\n this.acceptEncoding = truncateValue(\n requestMetadata?.acceptEncoding ?? (request.headers['accept-encoding'] as string),\n truncationSize('AcceptEncoding')\n );\n this.serverHostname = truncateValue(\n requestMetadata?.serverHostname ?? request.headers['host'],\n truncationSize('ServerHostname')\n );\n this.from = truncateValue(\n requestMetadata?.from ?? request.headers['from'],\n truncationSize('From')\n );\n this.origin = truncateValue(\n requestMetadata?.origin ?? request.headers['origin'],\n truncationSize('Origin')\n );\n this.connection = truncateValue(\n requestMetadata?.connection ?? request.headers['connection'],\n truncationSize('Connection')\n );\n this.acceptCharset = truncateValue(\n requestMetadata?.acceptCharset ?? (request.headers['accept-charset'] as string),\n truncationSize('AcceptCharset')\n );\n if (requestMetadata?.secCHUA) {\n this.secCHUA = truncateValue(requestMetadata?.secCHUA, truncationSize('SecCHUA'));\n } else if (request.headers['sec-ch-ua']) {\n this.secCHUA = truncateValue(\n request.headers['sec-ch-ua'] as string,\n truncationSize('SecCHUA')\n );\n }\n if (requestMetadata?.secCHUAMobile) {\n this.secCHUAMobile = truncateValue(\n requestMetadata?.secCHUAMobile,\n truncationSize('SecCHUAMobile')\n );\n } else if (request.headers['sec-ch-ua-mobile']) {\n this.secCHUAMobile = truncateValue(\n request.headers['sec-ch-ua-mobile'] as string,\n truncationSize('SecCHUAMobile')\n );\n }\n if (requestMetadata?.secCHUAPlatform) {\n this.secCHUAPlatform = truncateValue(\n requestMetadata?.secCHUAPlatform,\n truncationSize('SecCHUAPlatform')\n );\n } else if (request.headers['sec-ch-ua-platform']) {\n this.secCHUAPlatform = truncateValue(\n request.headers['sec-ch-ua-platform'] as string,\n truncationSize('SecCHUAPlatform')\n );\n }\n if (requestMetadata?.secCHUAArch) {\n this.secCHUAArch = truncateValue(\n requestMetadata?.secCHUAArch,\n truncationSize('SecCHUAArch')\n );\n } else if (request.headers['sec-ch-ua-arch']) {\n this.secCHUAArch = truncateValue(\n request.headers['sec-ch-ua-arch'] as string,\n truncationSize('SecCHUAArch')\n );\n }\n if (requestMetadata?.secCHUAFullVersionList) {\n this.secCHUAFullVersionList = truncateValue(\n requestMetadata?.secCHUAFullVersionList,\n truncationSize('SecCHUAFullVersionList')\n );\n } else if (request.headers['sec-ch-ua-full-version-list']) {\n this.secCHUAFullVersionList = truncateValue(\n request.headers['sec-ch-ua-full-version-list'] as string,\n truncationSize('SecCHUAFullVersionList')\n );\n }\n if (requestMetadata?.secCHUAModel) {\n this.secCHUAModel = truncateValue(\n requestMetadata?.secCHUAModel,\n truncationSize('SecCHUAModel')\n );\n } else if (request.headers['sec-ch-ua-model']) {\n this.secCHUAModel = truncateValue(\n request.headers['sec-ch-ua-model'] as string,\n truncationSize('SecCHUAModel')\n );\n }\n if (requestMetadata?.secCHDeviceMemory) {\n this.secCHDeviceMemory = truncateValue(\n requestMetadata?.secCHDeviceMemory,\n truncationSize('SecCHDeviceMemory')\n );\n } else if (request.headers['sec-ch-device-memory']) {\n this.secCHDeviceMemory = truncateValue(\n request.headers['sec-ch-device-memory'] as string,\n truncationSize('SecCHDeviceMemory')\n );\n }\n this.request =\n requestMetadata?.request ?? request.url?.slice(0, truncationSize('Request')) ?? '/';\n\n const sessionByHeaderClientId = request.headers['x-datadome-clientid'];\n if (requestMetadata?.clientID) {\n this.clientID = truncateValue(requestMetadata?.clientID, truncationSize('ClientID'));\n } else if (sessionByHeaderClientId !== undefined && sessionByHeaderClientId != '') {\n this.clientID = truncateValue(\n sessionByHeaderClientId as string,\n truncationSize('ClientID')\n );\n } else {\n this.clientID = truncateValue(this.getClientId(request), truncationSize('ClientID'));\n }\n }\n\n private getProtocol(request: IncomingMessage): string {\n let protocol = (request.socket as TLSSocket).encrypted ? 'https' : 'http';\n const forwardedProto = request.headers['x-forwarded-proto'] as string;\n if (\n forwardedProto !== '' &&\n (forwardedProto?.toLowerCase() === 'http' || forwardedProto?.toLowerCase() === 'https')\n ) {\n protocol = forwardedProto;\n }\n return protocol;\n }\n\n /**\n * Use the Host header or X-Forwarded-Port if available, otherwise fallback to socket.remotePort\n * @param request\n * @returns The port number\n */\n private getPort(request: IncomingMessage): number {\n // Use the Host header or X-Forwarded-Port if available, otherwise fallback to socket.remotePort\n const hostHeader = request.headers['host'];\n const forwardedPort = request.headers['x-forwarded-port'] as string;\n if (forwardedPort) {\n return parseInt(forwardedPort, 10);\n } else if (hostHeader && hostHeader.includes(':')) {\n return parseInt(hostHeader.split(':')[1], 10);\n } else if (request.socket.localPort) {\n return request.socket.localPort;\n }\n return request.socket.remotePort ?? 0;\n }\n\n private getClientId(request: IncomingMessage): string {\n const cookies = request.headers['cookie'];\n let clientId = '';\n if (cookies !== undefined) {\n const parsedCookies = parseCookieString(cookies);\n for (const [key, value] of parsedCookies.entries()) {\n if (value !== undefined && key === 'datadome') {\n clientId = value;\n }\n }\n }\n return clientId;\n }\n}\n\nexport class DataDomeRequest {\n module: DataDomeModule;\n header: DataDomeHeaders;\n [key: string]: unknown;\n constructor(request: IncomingMessage, requestMetadata?: RequestMetadata) {\n this.module = new DataDomeModule();\n this.header = new DataDomeHeaders(request, requestMetadata);\n }\n}\n"]} |
@@ -5,2 +5,4 @@ export var ResponseAction; | ||
| ResponseAction["DENY"] = "deny"; | ||
| ResponseAction["CHALLENGE"] = "challenge"; | ||
| ResponseAction["REVIEW"] = "review"; | ||
| })(ResponseAction || (ResponseAction = {})); | ||
@@ -7,0 +9,0 @@ export var ResponseStatus; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/model/api/response.ts"],"names":[],"mappings":"AASA,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,iCAAe,CAAA;IACf,+BAAa,CAAA;AACjB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAUD,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,2BAAS,CAAA;IACT,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;AACvB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"} | ||
| {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/model/api/response.ts"],"names":[],"mappings":"AAWA,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,yCAAuB,CAAA;IACvB,mCAAiB,CAAA;AACrB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAUD,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,2BAAS,CAAA;IACT,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;AACvB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB","sourcesContent":["import { Address } from '../address';\n\n/**\n * Enum representing possible actions in response to a request.\n *\n * @enum\n * @property {string} ALLOW - Indicates that the request is permitted and should proceed.\n * @property {string} DENY - Indicates that the request is blocked and should not proceed.\n * @property {string} CHALLENGE - Indicates that the request needs to be challenged and should not proceed.\n * @property {string} REVIEW - Indicates that the request needs to be reviewed and should not proceed.\n */\nexport enum ResponseAction {\n ALLOW = 'allow',\n DENY = 'deny',\n CHALLENGE = 'challenge',\n REVIEW = 'review',\n}\n\n/**\n * Represents the possible statuses of an API response.\n *\n * @enum\n * @property {string} OK - The request was successful.\n * @property {string} FAILURE - Something went wrong, but the action should continue.\n * @property {string} TIMEOUT - The request timed out.\n */\nexport enum ResponseStatus {\n OK = 'ok',\n FAILURE = 'failure',\n TIMEOUT = 'timeout',\n}\n\n/**\n * Represents an error in the API response.\n *\n * @property {string} field - The field that caused the error.\n * @property {string} error - The error message.\n */\nexport interface Error {\n field: string;\n error: string;\n}\n\n/**\n * Response of the Account Protect API\n * @property action - Action answered to Customer endpoint\n * @property eventId - Event identifier associated to this validate event\n * @property status - Status of the call the API\n * @property reasons - Reasons of the action response\n * @property score - Score of the request (a positive integer)\n * @property ip - User IP\n * @property location - User location\n */\nexport interface Response {\n action: ResponseAction;\n eventId: string;\n status: ResponseStatus;\n reasons?: string[];\n score?: number;\n ip?: string;\n location?: Address;\n}\n\n/**\n * Error response of the Account Protect API\n * @property message - Message of the error\n * @property errors - Errors of the API\n */\nexport interface ResponseError extends Response {\n message: string;\n errors: Error[];\n}\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../src/model/authentication.ts"],"names":[],"mappings":""} | ||
| {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../src/model/authentication.ts"],"names":[],"mappings":"","sourcesContent":["export type AuthenticationSocialProvider =\n | 'other'\n | 'amazon'\n | 'apple'\n | 'facebook'\n | 'google'\n | 'linkedin'\n | 'microsoft'\n | 'twitter'\n | 'github'\n | 'yahoo';\n\nexport type AuthenticationType = 'other' | 'local' | 'social';\n\nexport type AuthenticationMode = 'other' | 'biometric' | 'mail' | 'mfa' | 'otp' | 'password';\n\nexport interface Authentication {\n socialProvider?: AuthenticationSocialProvider;\n type?: AuthenticationType;\n mode?: AuthenticationMode;\n}\n"]} |
@@ -0,16 +1,42 @@ | ||
| import { truncateValue, truncationSize } from '../../utils'; | ||
| import { ActionType, DataDomeEvent } from './event'; | ||
| export class AccountUpdateEvent extends DataDomeEvent { | ||
| constructor({ account, authentication, session, user }) { | ||
| var _a, _b; | ||
| super({ | ||
| action: ActionType.ACCOUNT_UPDATE, | ||
| account, | ||
| authentication, | ||
| session, | ||
| }); | ||
| this.authentication = authentication; | ||
| this.session = session; | ||
| this.user = user; | ||
| if (user) { | ||
| this.user = { | ||
| id: truncateValue(user.id, truncationSize('UserId')), | ||
| title: user.title, | ||
| firstName: truncateValue(user.firstName, truncationSize('UserFirstName')), | ||
| lastName: truncateValue(user.lastName, truncationSize('UserLastName')), | ||
| createdAt: user.createdAt, | ||
| phone: truncateValue(user.phone, truncationSize('UserPhone')), | ||
| email: truncateValue(user.email, truncationSize('UserEmail')), | ||
| displayName: truncateValue(user.displayName, truncationSize('UserDisplayName')), | ||
| description: truncateValue(user.description, truncationSize('UserDescription')), | ||
| externalUrls: (_a = user.externalUrls) === null || _a === void 0 ? void 0 : _a.slice(0, truncationSize('UserExternalUrl')).map((url) => truncateValue(url, truncationSize('UserUrlItem'))), | ||
| pictureUrls: (_b = user.pictureUrls) === null || _b === void 0 ? void 0 : _b.slice(0, truncationSize('UserPictureUrl')).map((url) => truncateValue(url, truncationSize('UserUrlItem'))), | ||
| paymentMethodUpdated: user.paymentMethodUpdated, | ||
| }; | ||
| if (user.address) { | ||
| this.user.address = { | ||
| name: truncateValue(user.address.name, truncationSize('AddressName')), | ||
| line1: truncateValue(user.address.line1, truncationSize('AddressLine1')), | ||
| line2: truncateValue(user.address.line2, truncationSize('AddressLine2')), | ||
| city: truncateValue(user.address.city, truncationSize('AddressCity')), | ||
| countryCode: truncateValue(user.address.countryCode, truncationSize('AddressCountryCode')), | ||
| regionCode: truncateValue(user.address.regionCode, truncationSize('AddressRegionCode')), | ||
| zipCode: truncateValue(user.address.zipCode, truncationSize('AddressZipCode')), | ||
| }; | ||
| } | ||
| } | ||
| } | ||
| mergeWith(requestData) { | ||
| super.mergeWith(requestData); | ||
| requestData.authentication = this.authentication; | ||
| requestData.session = this.session; | ||
| requestData.user = this.user; | ||
@@ -17,0 +43,0 @@ return requestData; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"accountUpdate.js","sourceRoot":"","sources":["../../../src/model/events/accountUpdate.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAepD,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IAIjD,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAA4B;QAC5E,KAAK,CAAC;YACF,MAAM,EAAE,UAAU,CAAC,cAAc;YACjC,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ"} | ||
| {"version":3,"file":"accountUpdate.js","sourceRoot":"","sources":["../../../src/model/events/accountUpdate.ts"],"names":[],"mappings":"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","sourcesContent":["import { truncateValue, truncationSize } from '../../utils';\nimport { DataDomeRequest } from '../api';\nimport { User } from '../user';\nimport { ActionType, DataDomeEvent, EventParams } from './event';\n\n/**\n * This interface defines the parameters for the account update event.\n */\nexport interface AccountUpdateEventParams extends Omit<EventParams, 'action'> {\n user?: User & { paymentMethodUpdated?: boolean };\n}\n\n/**\n * This class is used to define the account update event.\n */\nexport class AccountUpdateEvent extends DataDomeEvent {\n user?: User & { paymentMethodUpdated?: boolean };\n constructor({ account, authentication, session, user }: AccountUpdateEventParams) {\n super({\n action: ActionType.ACCOUNT_UPDATE,\n account,\n authentication,\n session,\n });\n if (user) {\n this.user = {\n id: truncateValue(user.id, truncationSize('UserId')),\n title: user.title,\n firstName: truncateValue(user.firstName, truncationSize('UserFirstName')),\n lastName: truncateValue(user.lastName, truncationSize('UserLastName')),\n createdAt: user.createdAt,\n phone: truncateValue(user.phone, truncationSize('UserPhone')),\n email: truncateValue(user.email, truncationSize('UserEmail')),\n displayName: truncateValue(user.displayName, truncationSize('UserDisplayName')),\n description: truncateValue(user.description, truncationSize('UserDescription')),\n externalUrls: user.externalUrls\n ?.slice(0, truncationSize('UserExternalUrl'))\n .map((url) => truncateValue(url, truncationSize('UserUrlItem'))),\n pictureUrls: user.pictureUrls\n ?.slice(0, truncationSize('UserPictureUrl'))\n .map((url) => truncateValue(url, truncationSize('UserUrlItem'))),\n paymentMethodUpdated: user.paymentMethodUpdated,\n };\n if (user.address) {\n this.user.address = {\n name: truncateValue(user.address.name, truncationSize('AddressName')),\n line1: truncateValue(user.address.line1, truncationSize('AddressLine1')),\n line2: truncateValue(user.address.line2, truncationSize('AddressLine2')),\n city: truncateValue(user.address.city, truncationSize('AddressCity')),\n countryCode: truncateValue(\n user.address.countryCode,\n truncationSize('AddressCountryCode')\n ),\n regionCode: truncateValue(\n user.address.regionCode,\n truncationSize('AddressRegionCode')\n ),\n zipCode: truncateValue(user.address.zipCode, truncationSize('AddressZipCode')),\n };\n }\n }\n }\n\n override mergeWith(requestData: DataDomeRequest): DataDomeRequest {\n super.mergeWith(requestData);\n requestData.user = this.user;\n return requestData;\n }\n}\n"]} |
@@ -0,1 +1,2 @@ | ||
| import { truncateValue, truncationSize } from '../../utils'; | ||
| export var ActionType; | ||
@@ -10,5 +11,12 @@ (function (ActionType) { | ||
| export class DataDomeEvent { | ||
| constructor({ action, account }) { | ||
| constructor({ action, account, authentication, session }) { | ||
| this.action = action; | ||
| this.account = account; | ||
| this.authentication = authentication; | ||
| if (session) { | ||
| this.session = { | ||
| id: truncateValue(session.id, truncationSize('SessionId')), | ||
| createdAt: session.createdAt, | ||
| }; | ||
| } | ||
| } | ||
@@ -18,2 +26,4 @@ mergeWith(requestData) { | ||
| requestData.account = this.account; | ||
| requestData.authentication = this.authentication; | ||
| requestData.session = this.session; | ||
| return requestData; | ||
@@ -20,0 +30,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/model/events/event.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,uCAAyB,CAAA;IACzB,iDAAmC,CAAA;IACnC,+CAAiC,CAAA;IACjC,iCAAmB,CAAA;AACvB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AASD,MAAM,OAAO,aAAa;IAItB,YAAY,EAAE,MAAM,EAAE,OAAO,EAA2C;QACpE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,WAA4B;QAClC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ"} | ||
| {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/model/events/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK5D,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,uCAAyB,CAAA;IACzB,iDAAmC,CAAA;IACnC,+CAAiC,CAAA;IACjC,iCAAmB,CAAA;AACvB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAgBD,MAAM,OAAO,aAAa;IAMtB,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAe;QACjE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,OAAO,GAAG;gBACX,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;gBAC1D,SAAS,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAC;QACN,CAAC;IACL,CAAC;IAED,SAAS,CAAC,WAA4B;QAClC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ","sourcesContent":["import { truncateValue, truncationSize } from '../../utils';\nimport { DataDomeRequest } from '../api';\nimport { Authentication } from '../authentication';\nimport { Session } from '../session';\n\nexport enum ActionType {\n LOGIN = 'login',\n REGISTER = 'registration',\n PASSWORD_UPDATE = 'password/update',\n ACCOUNT_UPDATE = 'account/update',\n PAYMENT = 'payment',\n}\n\nexport interface EventParams {\n action: ActionType;\n account: string;\n authentication?: Authentication;\n session?: Session;\n}\n\n/**\n * This class is used to define the common fields for all Events.\n *\n * @property {ActionType} action - The action associated with the event.\n * @property {StatusType} status - The status of the event. Defaults to `StatusType.UNDEFINED` if not provided.\n * @property {string} account - The account identifier related to the event.\n */\nexport class DataDomeEvent {\n action: ActionType;\n account: string;\n authentication?: Authentication;\n session?: Session;\n\n constructor({ action, account, authentication, session }: EventParams) {\n this.action = action;\n this.account = account;\n this.authentication = authentication;\n if (session) {\n this.session = {\n id: truncateValue(session.id, truncationSize('SessionId')),\n createdAt: session.createdAt,\n };\n }\n }\n\n mergeWith(requestData: DataDomeRequest): DataDomeRequest {\n requestData.event = this.action;\n requestData.account = this.account;\n requestData.authentication = this.authentication;\n requestData.session = this.session;\n return requestData;\n }\n}\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC","sourcesContent":["export * from './accountUpdate';\nexport * from './event';\nexport * from './login';\nexport * from './passwordUpdate';\nexport * from './registration';\n"]} |
| import { ActionType, DataDomeEvent } from './event'; | ||
| import { truncateValue, truncationSize } from '../../utils'; | ||
| export class LoginEvent extends DataDomeEvent { | ||
@@ -7,12 +8,14 @@ constructor({ account, status, user, session, authentication }) { | ||
| account, | ||
| authentication, | ||
| session, | ||
| }); | ||
| this.status = status; | ||
| this.session = session; | ||
| this.user = user; | ||
| this.authentication = authentication; | ||
| if (user) { | ||
| this.user = { | ||
| id: truncateValue(user.id, truncationSize('UserId')), | ||
| }; | ||
| } | ||
| } | ||
| mergeWith(requestData) { | ||
| super.mergeWith(requestData); | ||
| requestData.authentication = this.authentication; | ||
| requestData.session = this.session; | ||
| requestData.status = this.status; | ||
@@ -19,0 +22,0 @@ requestData.user = this.user; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/model/events/login.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAqBpD,MAAM,OAAO,UAAW,SAAQ,aAAa;IAKzC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAoB;QAC5E,KAAK,CAAC;YACF,MAAM,EAAE,UAAU,CAAC,KAAK;YACxB,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ"} | ||
| {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/model/events/login.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAe,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAkB5D,MAAM,OAAO,UAAW,SAAQ,aAAa;IAGzC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAoB;QAC5E,KAAK,CAAC;YACF,MAAM,EAAE,UAAU,CAAC,KAAK;YACxB,OAAO;YACP,cAAc;YACd,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,IAAI,GAAG;gBACR,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;aACvD,CAAC;QACN,CAAC;IACL,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ","sourcesContent":["import { User } from '../user';\nimport { DataDomeRequest } from '../api';\nimport { ActionType, DataDomeEvent, EventParams } from './event';\nimport { truncateValue, truncationSize } from '../../utils';\n\n/**\n * Status of the login event.\n */\nexport type LoginStatus = 'succeeded' | 'failed';\n\n/**\n * This interface defines the parameters for the login event.\n */\nexport interface LoginEventParams extends Omit<EventParams, 'action'> {\n status: LoginStatus;\n user?: Pick<User, 'id'>;\n}\n\n/**\n * This class is used to define the login event.\n */\nexport class LoginEvent extends DataDomeEvent {\n user?: Pick<User, 'id'>;\n status: LoginStatus;\n constructor({ account, status, user, session, authentication }: LoginEventParams) {\n super({\n action: ActionType.LOGIN,\n account,\n authentication,\n session,\n });\n this.status = status;\n if (user) {\n this.user = {\n id: truncateValue(user.id, truncationSize('UserId')),\n };\n }\n }\n\n override mergeWith(requestData: DataDomeRequest): DataDomeRequest {\n super.mergeWith(requestData);\n requestData.status = this.status;\n requestData.user = this.user;\n return requestData;\n }\n}\n"]} |
@@ -0,12 +1,16 @@ | ||
| import { truncateValue, truncationSize } from '../../utils'; | ||
| import { ActionType, DataDomeEvent } from './event'; | ||
| export class PasswordUpdateEvent extends DataDomeEvent { | ||
| constructor({ account, reason, session, status, user }) { | ||
| constructor({ account, authentication, reason, session, status, user, }) { | ||
| super({ | ||
| action: ActionType.PASSWORD_UPDATE, | ||
| account, | ||
| authentication, | ||
| session, | ||
| }); | ||
| this.reason = reason; | ||
| this.session = session; | ||
| this.status = status; | ||
| this.user = user; | ||
| this.user = { | ||
| id: truncateValue(user.id, truncationSize('UserId')), | ||
| }; | ||
| } | ||
@@ -16,3 +20,2 @@ mergeWith(requestData) { | ||
| requestData.reason = this.reason; | ||
| requestData.session = this.session; | ||
| requestData.status = this.status; | ||
@@ -19,0 +22,0 @@ requestData.user = this.user; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"passwordUpdate.js","sourceRoot":"","sources":["../../../src/model/events/passwordUpdate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA0BpD,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IAKlD,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAA6B;QAC7E,KAAK,CAAC;YACF,MAAM,EAAE,UAAU,CAAC,eAAe;YAClC,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ"} | ||
| {"version":3,"file":"passwordUpdate.js","sourceRoot":"","sources":["../../../src/model/events/passwordUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG5D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAe,MAAM,SAAS,CAAC;AAwBjE,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IAIlD,YAAY,EACR,OAAO,EACP,cAAc,EACd,MAAM,EACN,OAAO,EACP,MAAM,EACN,IAAI,GACoB;QACxB,KAAK,CAAC;YACF,MAAM,EAAE,UAAU,CAAC,eAAe;YAClC,OAAO;YACP,cAAc;YACd,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG;YACR,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;SACvD,CAAC;IACN,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ","sourcesContent":["import { truncateValue, truncationSize } from '../../utils';\nimport { DataDomeRequest } from '../api';\nimport { User } from '../user';\nimport { ActionType, DataDomeEvent, EventParams } from './event';\n\n/**\n * Status of the password update event.\n */\nexport type PasswordUpdateStatus = 'attempted' | 'failed' | 'succeeded' | 'linkExpired';\n\n/**\n * Reason for the password update event.\n */\nexport type PasswordUpdateReason = 'forcedReset' | 'forgotPassword' | 'userUpdate';\n\n/**\n * This interface defines the parameters for the password update event.\n */\nexport interface PasswordUpdateEventParams extends Omit<EventParams, 'action'> {\n reason: PasswordUpdateReason;\n status: PasswordUpdateStatus;\n user: Pick<User, 'id'>;\n}\n\n/**\n * This class is used to define the password update event.\n */\nexport class PasswordUpdateEvent extends DataDomeEvent {\n reason: PasswordUpdateReason;\n status: PasswordUpdateStatus;\n user: Pick<User, 'id'>;\n constructor({\n account,\n authentication,\n reason,\n session,\n status,\n user,\n }: PasswordUpdateEventParams) {\n super({\n action: ActionType.PASSWORD_UPDATE,\n account,\n authentication,\n session,\n });\n this.reason = reason;\n this.status = status;\n this.user = {\n id: truncateValue(user.id, truncationSize('UserId')),\n };\n }\n\n override mergeWith(requestData: DataDomeRequest): DataDomeRequest {\n super.mergeWith(requestData);\n requestData.reason = this.reason;\n requestData.status = this.status;\n requestData.user = this.user;\n return requestData;\n }\n}\n"]} |
@@ -0,13 +1,34 @@ | ||
| import { truncateValue, truncationSize } from '../../utils'; | ||
| import { ActionType, DataDomeEvent } from './event'; | ||
| export class RegistrationEvent extends DataDomeEvent { | ||
| constructor({ account, authentication, session, user }) { | ||
| super({ action: ActionType.REGISTER, account }); | ||
| this.authentication = authentication; | ||
| this.session = session; | ||
| this.user = user; | ||
| var _a, _b; | ||
| super({ action: ActionType.REGISTER, account, authentication, session }); | ||
| this.user = { | ||
| id: truncateValue(user.id, truncationSize('UserId')), | ||
| title: user.title, | ||
| firstName: truncateValue(user.firstName, truncationSize('UserFirstName')), | ||
| lastName: truncateValue(user.lastName, truncationSize('UserLastName')), | ||
| createdAt: user.createdAt, | ||
| phone: truncateValue(user.phone, truncationSize('UserPhone')), | ||
| email: truncateValue(user.email, truncationSize('UserEmail')), | ||
| displayName: truncateValue(user.displayName, truncationSize('UserDisplayName')), | ||
| description: truncateValue(user.description, truncationSize('UserDescription')), | ||
| externalUrls: (_a = user.externalUrls) === null || _a === void 0 ? void 0 : _a.slice(0, truncationSize('UserExternalUrl')).map((url) => truncateValue(url, truncationSize('UserUrlItem'))), | ||
| pictureUrls: (_b = user.pictureUrls) === null || _b === void 0 ? void 0 : _b.slice(0, truncationSize('UserPictureUrl')).map((url) => truncateValue(url, truncationSize('UserUrlItem'))), | ||
| }; | ||
| if (user.address) { | ||
| this.user.address = { | ||
| name: truncateValue(user.address.name, truncationSize('AddressName')), | ||
| line1: truncateValue(user.address.line1, truncationSize('AddressLine1')), | ||
| line2: truncateValue(user.address.line2, truncationSize('AddressLine2')), | ||
| city: truncateValue(user.address.city, truncationSize('AddressCity')), | ||
| countryCode: truncateValue(user.address.countryCode, truncationSize('AddressCountryCode')), | ||
| regionCode: truncateValue(user.address.regionCode, truncationSize('AddressRegionCode')), | ||
| zipCode: truncateValue(user.address.zipCode, truncationSize('AddressZipCode')), | ||
| }; | ||
| } | ||
| } | ||
| mergeWith(requestData) { | ||
| super.mergeWith(requestData); | ||
| requestData.authentication = this.authentication; | ||
| requestData.session = this.session; | ||
| requestData.user = this.user; | ||
@@ -14,0 +35,0 @@ return requestData; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../src/model/events/registration.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAepD,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAIhD,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAA2B;QAC3E,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ"} | ||
| {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../src/model/events/registration.ts"],"names":[],"mappings":"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","sourcesContent":["import { truncateValue, truncationSize } from '../../utils';\nimport { DataDomeRequest } from '../api';\nimport { User } from '../user';\nimport { ActionType, DataDomeEvent, EventParams } from './event';\n\n/**\n * This interface defines the parameters for the registration event.\n */\ninterface RegistrationEventParams extends Omit<EventParams, 'action'> {\n user: User;\n}\n\n/**\n * This class is used to define the registration event.\n */\nexport class RegistrationEvent extends DataDomeEvent {\n user: User;\n constructor({ account, authentication, session, user }: RegistrationEventParams) {\n super({ action: ActionType.REGISTER, account, authentication, session });\n this.user = {\n id: truncateValue(user.id, truncationSize('UserId')),\n title: user.title,\n firstName: truncateValue(user.firstName, truncationSize('UserFirstName')),\n lastName: truncateValue(user.lastName, truncationSize('UserLastName')),\n createdAt: user.createdAt,\n phone: truncateValue(user.phone, truncationSize('UserPhone')),\n email: truncateValue(user.email, truncationSize('UserEmail')),\n displayName: truncateValue(user.displayName, truncationSize('UserDisplayName')),\n description: truncateValue(user.description, truncationSize('UserDescription')),\n externalUrls: user.externalUrls\n ?.slice(0, truncationSize('UserExternalUrl'))\n .map((url) => truncateValue(url, truncationSize('UserUrlItem'))),\n pictureUrls: user.pictureUrls\n ?.slice(0, truncationSize('UserPictureUrl'))\n .map((url) => truncateValue(url, truncationSize('UserUrlItem'))),\n };\n if (user.address) {\n this.user.address = {\n name: truncateValue(user.address.name, truncationSize('AddressName')),\n line1: truncateValue(user.address.line1, truncationSize('AddressLine1')),\n line2: truncateValue(user.address.line2, truncationSize('AddressLine2')),\n city: truncateValue(user.address.city, truncationSize('AddressCity')),\n countryCode: truncateValue(\n user.address.countryCode,\n truncationSize('AddressCountryCode')\n ),\n regionCode: truncateValue(\n user.address.regionCode,\n truncationSize('AddressRegionCode')\n ),\n zipCode: truncateValue(user.address.zipCode, truncationSize('AddressZipCode')),\n };\n }\n }\n\n override mergeWith(requestData: DataDomeRequest): DataDomeRequest {\n super.mergeWith(requestData);\n requestData.user = this.user;\n return requestData;\n }\n}\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC","sourcesContent":["export * from './address';\nexport * from './authentication';\nexport * from './api';\nexport * from './user';\nexport * from './session';\nexport * from './events';\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/model/session.ts"],"names":[],"mappings":""} | ||
| {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/model/session.ts"],"names":[],"mappings":"","sourcesContent":["export interface Session {\n id: string;\n createdAt: Date;\n}\n"]} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/model/user.ts"],"names":[],"mappings":""} | ||
| {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/model/user.ts"],"names":[],"mappings":"","sourcesContent":["import { Address } from './address';\n\ntype Title = 'mr' | 'ms' | 'mx';\n\nexport interface User {\n id: string;\n title?: Title;\n firstName?: string;\n lastName?: string;\n createdAt?: Date;\n phone?: string;\n email?: string;\n address?: Address;\n displayName?: string;\n description?: string;\n externalUrls?: string[];\n pictureUrls?: string[];\n}\n"]} |
| export declare const DATADOME_ENDPOINT = "https://account-api.datadome.co"; | ||
| export declare const DATADOME_TIMEOUT = 1500; | ||
| export declare const SDK_VERSION = "2.0.1"; | ||
| export declare const SDK_VERSION = "2.1.0"; | ||
| export declare const SDK_NAME = "Fraud SDK Node.js"; | ||
| //# sourceMappingURL=constants.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"datadome.d.ts","sourceRoot":"","sources":["../src/datadome.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAGvC,OAAO,EACH,aAAa,EAEb,QAAQ,EACR,aAAa,EAGb,eAAe,EAClB,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClE,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjE,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClE,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAUD,oBAAY,SAAS;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACtB;AAED;;GAEG;AACH,qBAAa,QAAQ;IACjB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAc;gBACxB,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IA+BtD,OAAO,CAAC,YAAY;IAQpB;;OAEG;YACW,WAAW;IA6BzB;;OAEG;IACG,QAAQ,CACV,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,aAAa,EACpB,eAAe,CAAC,EAAE,eAAe,GAClC,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC;IA4CpC;;OAEG;IACG,OAAO,CACT,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,aAAa,EACpB,eAAe,CAAC,EAAE,eAAe,GAClC,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC;CAcvC"} | ||
| {"version":3,"file":"datadome.d.ts","sourceRoot":"","sources":["../src/datadome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAGvC,OAAO,EACH,aAAa,EAEb,QAAQ,EACR,aAAa,EAGb,eAAe,EAClB,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClE,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjE,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClE,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAUD,oBAAY,SAAS;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACtB;AAED;;GAEG;AACH,qBAAa,QAAQ;IACjB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAc;gBACxB,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IA+BtD,OAAO,CAAC,YAAY;IAQpB;;OAEG;YACW,WAAW;IA6BzB;;OAEG;IACG,QAAQ,CACV,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,aAAa,EACpB,eAAe,CAAC,EAAE,eAAe,GAClC,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC;IAiDpC;;OAEG;IACG,OAAO,CACT,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,aAAa,EACpB,eAAe,CAAC,EAAE,eAAe,GAClC,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC;CAcvC"} |
@@ -7,3 +7,2 @@ export interface Address { | ||
| countryCode?: string; | ||
| country?: string; | ||
| regionCode?: string; | ||
@@ -10,0 +9,0 @@ zipCode?: string; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/model/address.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"} | ||
| {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/model/address.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"} |
@@ -73,3 +73,2 @@ import type { IncomingMessage } from 'http'; | ||
| private getPort; | ||
| private truncateValue; | ||
| private getClientId; | ||
@@ -76,0 +75,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/model/api/request.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/model/api/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAK5C,cAAM,cAAc;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;;CAMnB;AAkCD,MAAM,WAAW,eAAe;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,cAAM,eAAe;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,eAAe;IAuJvE,OAAO,CAAC,WAAW;IAYnB;;;;OAIG;IACH,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,WAAW;CAatB;AAED,qBAAa,eAAe;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,eAAe,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;gBACX,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,eAAe;CAI1E"} |
@@ -8,6 +8,10 @@ import { Address } from '../address'; | ||
| * @property {string} DENY - Indicates that the request is blocked and should not proceed. | ||
| * @property {string} CHALLENGE - Indicates that the request needs to be challenged and should not proceed. | ||
| * @property {string} REVIEW - Indicates that the request needs to be reviewed and should not proceed. | ||
| */ | ||
| export declare enum ResponseAction { | ||
| ALLOW = "allow", | ||
| DENY = "deny" | ||
| DENY = "deny", | ||
| CHALLENGE = "challenge", | ||
| REVIEW = "review" | ||
| } | ||
@@ -14,0 +18,0 @@ /** |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/model/api/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;;GAMG;AACH,oBAAY,cAAc;IACtB,KAAK,UAAU;IACf,IAAI,SAAS;CAChB;AAED;;;;;;;GAOG;AACH,oBAAY,cAAc;IACtB,EAAE,OAAO;IACT,OAAO,YAAY;IACnB,OAAO,YAAY;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAQ;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,CAAC;CACnB"} | ||
| {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/model/api/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;;;;GAQG;AACH,oBAAY,cAAc;IACtB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,MAAM,WAAW;CACpB;AAED;;;;;;;GAOG;AACH,oBAAY,cAAc;IACtB,EAAE,OAAO;IACT,OAAO,YAAY;IACnB,OAAO,YAAY;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAQ;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,CAAC;CACnB"} |
| import { DataDomeRequest } from '../api'; | ||
| import { Authentication } from '../authentication'; | ||
| import { Session } from '../session'; | ||
| import { User } from '../user'; | ||
| import { DataDomeEvent } from './event'; | ||
| import { DataDomeEvent, EventParams } from './event'; | ||
| /** | ||
| * This interface defines the parameters for the account update event. | ||
| */ | ||
| export interface AccountUpdateEventParams { | ||
| account: string; | ||
| authentication?: Authentication; | ||
| session?: Session; | ||
| export interface AccountUpdateEventParams extends Omit<EventParams, 'action'> { | ||
| user?: User & { | ||
@@ -21,4 +16,2 @@ paymentMethodUpdated?: boolean; | ||
| export declare class AccountUpdateEvent extends DataDomeEvent { | ||
| authentication?: Authentication; | ||
| session?: Session; | ||
| user?: User & { | ||
@@ -25,0 +18,0 @@ paymentMethodUpdated?: boolean; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"accountUpdate.d.ts","sourceRoot":"","sources":["../../../src/model/events/accountUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACpD;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACjD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;gBACrC,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,wBAAwB;IAUvE,SAAS,CAAC,WAAW,EAAE,eAAe,GAAG,eAAe;CAOpE"} | ||
| {"version":3,"file":"accountUpdate.d.ts","sourceRoot":"","sources":["../../../src/model/events/accountUpdate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAc,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IACzE,IAAI,CAAC,EAAE,IAAI,GAAG;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACpD;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACjD,IAAI,CAAC,EAAE,IAAI,GAAG;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;gBACrC,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,wBAAwB;IA8CvE,SAAS,CAAC,WAAW,EAAE,eAAe,GAAG,eAAe;CAKpE"} |
| import { DataDomeRequest } from '../api'; | ||
| import { Authentication } from '../authentication'; | ||
| import { Session } from '../session'; | ||
| export declare enum ActionType { | ||
@@ -9,2 +11,8 @@ LOGIN = "login", | ||
| } | ||
| export interface EventParams { | ||
| action: ActionType; | ||
| account: string; | ||
| authentication?: Authentication; | ||
| session?: Session; | ||
| } | ||
| /** | ||
@@ -20,8 +28,7 @@ * This class is used to define the common fields for all Events. | ||
| account: string; | ||
| constructor({ action, account }: { | ||
| action: ActionType; | ||
| account: string; | ||
| }); | ||
| authentication?: Authentication; | ||
| session?: Session; | ||
| constructor({ action, account, authentication, session }: EventParams); | ||
| mergeWith(requestData: DataDomeRequest): DataDomeRequest; | ||
| } | ||
| //# sourceMappingURL=event.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/model/events/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,oBAAY,UAAU;IAClB,KAAK,UAAU;IACf,QAAQ,iBAAiB;IACzB,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,OAAO,YAAY;CACtB;AAED;;;;;;GAMG;AACH,qBAAa,aAAa;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;gBAEJ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAKxE,SAAS,CAAC,WAAW,EAAE,eAAe,GAAG,eAAe;CAK3D"} | ||
| {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/model/events/event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,oBAAY,UAAU;IAClB,KAAK,UAAU;IACf,QAAQ,iBAAiB;IACzB,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,OAAO,YAAY;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;GAMG;AACH,qBAAa,aAAa;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEN,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,WAAW;IAYrE,SAAS,CAAC,WAAW,EAAE,eAAe,GAAG,eAAe;CAO3D"} |
@@ -1,6 +0,4 @@ | ||
| import { Session } from '../session'; | ||
| import { Authentication } from '../authentication'; | ||
| import { User } from '../user'; | ||
| import { DataDomeRequest } from '../api'; | ||
| import { DataDomeEvent } from './event'; | ||
| import { DataDomeEvent, EventParams } from './event'; | ||
| /** | ||
@@ -13,6 +11,3 @@ * Status of the login event. | ||
| */ | ||
| export interface LoginEventParams { | ||
| account: string; | ||
| authentication?: Authentication; | ||
| session?: Session; | ||
| export interface LoginEventParams extends Omit<EventParams, 'action'> { | ||
| status: LoginStatus; | ||
@@ -25,5 +20,3 @@ user?: Pick<User, 'id'>; | ||
| export declare class LoginEvent extends DataDomeEvent { | ||
| authentication?: Authentication; | ||
| user?: Pick<User, 'id'>; | ||
| session?: Session; | ||
| status: LoginStatus; | ||
@@ -30,0 +23,0 @@ constructor({ account, status, user, session, authentication }: LoginEventParams); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/model/events/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,aAAa;IACzC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;gBACR,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,gBAAgB;IAWvE,SAAS,CAAC,WAAW,EAAE,eAAe,GAAG,eAAe;CAQpE"} | ||
| {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/model/events/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAc,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGjE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IACjE,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,aAAa;IACzC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;gBACR,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,gBAAgB;IAevE,SAAS,CAAC,WAAW,EAAE,eAAe,GAAG,eAAe;CAMpE"} |
| import { DataDomeRequest } from '../api'; | ||
| import { Session } from '../session'; | ||
| import { User } from '../user'; | ||
| import { DataDomeEvent } from './event'; | ||
| import { DataDomeEvent, EventParams } from './event'; | ||
| /** | ||
@@ -16,6 +15,4 @@ * Status of the password update event. | ||
| */ | ||
| export interface PasswordUpdateEventParams { | ||
| account: string; | ||
| export interface PasswordUpdateEventParams extends Omit<EventParams, 'action'> { | ||
| reason: PasswordUpdateReason; | ||
| session?: Session; | ||
| status: PasswordUpdateStatus; | ||
@@ -29,8 +26,7 @@ user: Pick<User, 'id'>; | ||
| reason: PasswordUpdateReason; | ||
| session?: Session; | ||
| status: PasswordUpdateStatus; | ||
| user: Pick<User, 'id'>; | ||
| constructor({ account, reason, session, status, user }: PasswordUpdateEventParams); | ||
| constructor({ account, authentication, reason, session, status, user, }: PasswordUpdateEventParams); | ||
| mergeWith(requestData: DataDomeRequest): DataDomeRequest; | ||
| } | ||
| //# sourceMappingURL=passwordUpdate.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"passwordUpdate.d.ts","sourceRoot":"","sources":["../../../src/model/events/passwordUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;AAExF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,gBAAgB,GAAG,YAAY,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IAClD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACX,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,yBAAyB;IAWxE,SAAS,CAAC,WAAW,EAAE,eAAe,GAAG,eAAe;CAQpE"} | ||
| {"version":3,"file":"passwordUpdate.d.ts","sourceRoot":"","sources":["../../../src/model/events/passwordUpdate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAc,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;AAExF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,gBAAgB,GAAG,YAAY,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC1E,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IAClD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACX,EACR,OAAO,EACP,cAAc,EACd,MAAM,EACN,OAAO,EACP,MAAM,EACN,IAAI,GACP,EAAE,yBAAyB;IAcnB,SAAS,CAAC,WAAW,EAAE,eAAe,GAAG,eAAe;CAOpE"} |
| import { DataDomeRequest } from '../api'; | ||
| import { Authentication } from '../authentication'; | ||
| import { Session } from '../session'; | ||
| import { User } from '../user'; | ||
| import { DataDomeEvent } from './event'; | ||
| import { DataDomeEvent, EventParams } from './event'; | ||
| /** | ||
| * This interface defines the parameters for the registration event. | ||
| */ | ||
| interface RegistrationEventParams { | ||
| account: string; | ||
| authentication?: Authentication; | ||
| session?: Session; | ||
| interface RegistrationEventParams extends Omit<EventParams, 'action'> { | ||
| user: User; | ||
@@ -19,5 +14,3 @@ } | ||
| export declare class RegistrationEvent extends DataDomeEvent { | ||
| authentication?: Authentication; | ||
| user: User; | ||
| session?: Session; | ||
| constructor({ account, authentication, session, user }: RegistrationEventParams); | ||
@@ -24,0 +17,0 @@ mergeWith(requestData: DataDomeRequest): DataDomeRequest; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../src/model/events/registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpD;;GAEG;AACH,UAAU,uBAAuB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAChD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;gBACN,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,uBAAuB;IAOtE,SAAS,CAAC,WAAW,EAAE,eAAe,GAAG,eAAe;CAOpE"} | ||
| {"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../src/model/events/registration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAc,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEjE;;GAEG;AACH,UAAU,uBAAwB,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IACjE,IAAI,EAAE,IAAI,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAChD,IAAI,EAAE,IAAI,CAAC;gBACC,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,uBAAuB;IAsCtE,SAAS,CAAC,WAAW,EAAE,eAAe,GAAG,eAAe;CAKpE"} |
| import { Address } from './address'; | ||
| type Title = 'mr' | 'ms' | 'mx'; | ||
| export interface User { | ||
| id: string; | ||
| title?: string; | ||
| title?: Title; | ||
| firstName?: string; | ||
@@ -16,2 +17,3 @@ lastName?: string; | ||
| } | ||
| export {}; | ||
| //# sourceMappingURL=user.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/model/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,IAAI;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B"} | ||
| {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/model/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,KAAK,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhC,MAAM,WAAW,IAAI;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B"} |
+14
-10
| { | ||
| "name": "@datadome/fraud-sdk-node", | ||
| "version": "2.0.1", | ||
| "version": "2.1.0", | ||
| "description": "Fraud Protection - Node.js SDK", | ||
@@ -8,2 +8,7 @@ "main": "dist-cjs/index.js", | ||
| "types": "dist-types/index.d.ts", | ||
| "files": [ | ||
| "dist-cjs/", | ||
| "dist-es/", | ||
| "dist-types/" | ||
| ], | ||
| "scripts": { | ||
@@ -40,13 +45,12 @@ "test": "npm run build:test && ava", | ||
| "engines": { | ||
| "node": ">=18" | ||
| "node": ">=20" | ||
| }, | ||
| "devDependencies": { | ||
| "@eslint/js": "^9.22.0", | ||
| "@types/node": "^18.15.11", | ||
| "@types/node-fetch": "^2.6.12", | ||
| "ava": "^6.2.0", | ||
| "c8": "^7.13.0", | ||
| "@eslint/js": "^10.0.1", | ||
| "@types/node": "^20.0.0", | ||
| "ava": "^5.3.1", | ||
| "c8": "^11.0.0", | ||
| "concurrently": "^8.2.2", | ||
| "eslint": "^9.24.0", | ||
| "nock": "^13.3.0", | ||
| "eslint": "^10.0.1", | ||
| "nock": "^14.0.10", | ||
| "prettier": "^2.8.7", | ||
@@ -58,4 +62,4 @@ "rimraf": "^6.0.0", | ||
| "dependencies": { | ||
| "node-fetch": "^2.6.9" | ||
| "tslib": "^2.8.1" | ||
| } | ||
| } |
-37
| # DataDome Fraud SDK Node.js | ||
| ## 2.0.1 (2025-06-23) | ||
| - Fix the case of the `XRealIp` in the JSON payload to the Account Protect API | ||
| ## 2.0.0 (2025-06-11) | ||
| ### Breaking changes | ||
| - Update signature of `LoginEvent` and `RegistrationEvent` to accept a single configuration object instead of individual parameters | ||
| ### Enhancements | ||
| - Add support for [account update](https://docs.datadome.co/docs/account-protect-account-update) events | ||
| - Add support for [password update](https://docs.datadome.co/docs/account-protect-password-update) events | ||
| - Add optional `session`, `user`, and `authentication` fields for login events | ||
| - Add optional `authentication` field for registration events | ||
| - Add `displayName`, `description`, `externalUrls`, and `pictureUrls` fields to the `User` interface | ||
| - Add the `score` and `eventId` fields on successful responses from the `Validate` method | ||
| - Add optional `requestMetadata` parameter for `collect` and `validate` methods to allow overriding the initial request's metadata | ||
| ## 1.1.3 (2025-03-26) | ||
| - Update optional fields in `User` and `Address` interfaces to match validate and collect APIs for registration | ||
| - Clean TypeScript exports and interface declarations | ||
| ## 1.1.2 (2023-11-08) | ||
| - Add `accept-language` field in payload to Account Protect API | ||
| ## 1.1.1 (2023-10-31) | ||
| - Add `status` failure when the Account Protect API response is invalid | ||
| ## 1.1.0 (2023-06-20) | ||
| - Rename package to `fraud-sdk-node` | ||
| ## 1.0.0 | ||
| - Initial release |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.SDK_NAME = exports.SDK_VERSION = exports.DATADOME_TIMEOUT = exports.DATADOME_ENDPOINT = void 0; | ||
| exports.DATADOME_ENDPOINT = 'https://account-api.datadome.co'; | ||
| exports.DATADOME_TIMEOUT = 1500; | ||
| exports.SDK_VERSION = '2.0.1'; | ||
| exports.SDK_NAME = 'Fraud SDK Node.js'; | ||
| //# sourceMappingURL=constants.js.map |
| {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,iCAAiC,CAAC;AACtD,QAAA,gBAAgB,GAAG,IAAI,CAAC;AACxB,QAAA,WAAW,GAAG,OAAO,CAAC;AACtB,QAAA,QAAQ,GAAG,mBAAmB,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DataDome = exports.Operation = void 0; | ||
| const tslib_1 = require("tslib"); | ||
| const node_fetch_1 = tslib_1.__importDefault(require("node-fetch")); | ||
| const https_1 = require("https"); | ||
| const url_1 = require("url"); | ||
| const model_1 = require("./model"); | ||
| const constants_1 = require("./constants"); | ||
| function getDefaultOptions() { | ||
| return { | ||
| logger: console, | ||
| timeout: constants_1.DATADOME_TIMEOUT, | ||
| endpoint: constants_1.DATADOME_ENDPOINT, | ||
| }; | ||
| } | ||
| var Operation; | ||
| (function (Operation) { | ||
| Operation["VALIDATE"] = "validate"; | ||
| Operation["COLLECT"] = "collect"; | ||
| })(Operation || (exports.Operation = Operation = {})); | ||
| class DataDome { | ||
| constructor(key, options = {}) { | ||
| const defaultOptions = getDefaultOptions(); | ||
| const finalParameters = Object.assign({}, defaultOptions, options); | ||
| const { endpoint, logger, timeout } = finalParameters; | ||
| this.endpoint = endpoint; | ||
| this.timeout = timeout; | ||
| this.logger = logger; | ||
| this.requestOptions = { | ||
| agent: new https_1.Agent({ keepAlive: true }), | ||
| headers: { | ||
| Accept: 'application/json', | ||
| Connection: 'keep-alive', | ||
| 'Content-Type': 'application/json', | ||
| 'x-api-key': key, | ||
| }, | ||
| method: 'POST', | ||
| }; | ||
| if (!this.endpoint.toLowerCase().startsWith('https://') && | ||
| !this.endpoint.toLowerCase().startsWith('http://')) { | ||
| this.logger.warn(`Endpoint ${this.endpoint} is not a valid URL. Defaulting to ${defaultOptions.endpoint}`); | ||
| this.endpoint = defaultOptions.endpoint; | ||
| } | ||
| } | ||
| buildPayload(request, event, requestMetadata) { | ||
| return event.mergeWith(new model_1.DataDomeRequest(request, requestMetadata)); | ||
| } | ||
| sendRequest(_a) { | ||
| return tslib_1.__awaiter(this, arguments, void 0, function* ({ operation, request, requestMetadata, event, args, }) { | ||
| const endpoint = this.endpoint.endsWith('/') ? this.endpoint.slice(0, -1) : this.endpoint; | ||
| const url = new url_1.URL(endpoint + '/v1/' + operation + '/' + event.action); | ||
| const payload = this.buildPayload(request, event, requestMetadata); | ||
| this.logger.debug(`url: ${url}`); | ||
| this.logger.debug(`body: ${JSON.stringify(payload)}`); | ||
| const requestConfig = Object.assign(Object.assign({}, this.requestOptions), { body: JSON.stringify(payload), signal: args === null || args === void 0 ? void 0 : args.controller.signal }); | ||
| return (0, node_fetch_1.default)(url.toString(), requestConfig); | ||
| }); | ||
| } | ||
| validate(request, event, requestMetadata) { | ||
| return tslib_1.__awaiter(this, void 0, void 0, function* () { | ||
| const controller = new AbortController(); | ||
| const timeoutId = setTimeout(() => controller.abort('DataDome Fraud API timeout'), this.timeout); | ||
| try { | ||
| const response = yield this.sendRequest({ | ||
| operation: Operation.VALIDATE, | ||
| request, | ||
| requestMetadata, | ||
| event, | ||
| args: { | ||
| controller, | ||
| }, | ||
| }); | ||
| const result = yield (response === null || response === void 0 ? void 0 : response.json()); | ||
| if (response === null || response === void 0 ? void 0 : response.ok) { | ||
| result.status = model_1.ResponseStatus.OK; | ||
| } | ||
| else { | ||
| result.status = model_1.ResponseStatus.FAILURE; | ||
| result.action = model_1.ResponseAction.ALLOW; | ||
| this.logger.error(`Error on API response: ${JSON.stringify(result)}`); | ||
| } | ||
| return result; | ||
| } | ||
| catch (error) { | ||
| if ((error === null || error === void 0 ? void 0 : error.name) === 'AbortError' && controller.signal.aborted) { | ||
| return { | ||
| action: model_1.ResponseAction.ALLOW, | ||
| status: model_1.ResponseStatus.TIMEOUT, | ||
| message: `Request timed out after ${this.timeout} milliseconds`, | ||
| }; | ||
| } | ||
| else { | ||
| return { | ||
| action: model_1.ResponseAction.ALLOW, | ||
| status: model_1.ResponseStatus.FAILURE, | ||
| message: `Request failed :${error}`, | ||
| }; | ||
| } | ||
| } | ||
| finally { | ||
| clearTimeout(timeoutId); | ||
| } | ||
| }); | ||
| } | ||
| collect(request, event, requestMetadata) { | ||
| return tslib_1.__awaiter(this, void 0, void 0, function* () { | ||
| const response = yield this.sendRequest({ | ||
| operation: Operation.COLLECT, | ||
| request, | ||
| requestMetadata, | ||
| event, | ||
| }); | ||
| if (response.ok) { | ||
| return { status: model_1.ResponseStatus.OK }; | ||
| } | ||
| else { | ||
| const json = yield response.json(); | ||
| return Object.assign({ status: model_1.ResponseStatus.FAILURE }, json); | ||
| } | ||
| }); | ||
| } | ||
| } | ||
| exports.DataDome = DataDome; | ||
| //# sourceMappingURL=datadome.js.map |
| {"version":3,"file":"datadome.js","sourceRoot":"","sources":["../src/datadome.ts"],"names":[],"mappings":"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"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const tslib_1 = require("tslib"); | ||
| const ava_1 = tslib_1.__importDefault(require("ava")); | ||
| const nock_1 = tslib_1.__importDefault(require("nock")); | ||
| const index_1 = require("./index"); | ||
| const ENDPOINT_HOST = 'account-api.datadome.co'; | ||
| const ENDPOINT_URL = `https://${ENDPOINT_HOST}/v1/`; | ||
| ava_1.default.afterEach((t) => { | ||
| nock_1.default.abortPendingRequests(); | ||
| nock_1.default.cleanAll(); | ||
| }); | ||
| ava_1.default.serial('Return an allow response after the API times out', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/validate/login') | ||
| .reply((uri, requestBody, cb) => { | ||
| setTimeout(() => cb(null, [ | ||
| 200, | ||
| { | ||
| action: 'allow', | ||
| ip: '::1', | ||
| reasons: [], | ||
| location: 'Lyon', | ||
| }, | ||
| ]), 1000); | ||
| }); | ||
| const datadomeClient = new index_1.DataDome('key', { timeout: 100 }); | ||
| const result = yield datadomeClient.validate(mockRequest(), new index_1.LoginEvent({ account: 'timeout', status: 'succeeded' })); | ||
| t.is(result.action, index_1.ResponseAction.ALLOW); | ||
| t.is(result.status, index_1.ResponseStatus.TIMEOUT); | ||
| t.true('message' in result); | ||
| t.regex(result.message, /timed out/); | ||
| })); | ||
| ava_1.default.serial('Return an allow response when using an invalid key', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/validate/login') | ||
| .reply(403, { | ||
| message: 'Invalid header', | ||
| errors: [ | ||
| { | ||
| field: 'x-api-key', | ||
| error: 'Invalid or blocked API key', | ||
| }, | ||
| ], | ||
| }); | ||
| const datadomeClient = new index_1.DataDome('key', { logger: console }); | ||
| const result = yield datadomeClient.validate(mockRequest(), new index_1.LoginEvent({ account: 'accountName', status: 'succeeded' })); | ||
| t.is(result.action, index_1.ResponseAction.ALLOW); | ||
| t.is(result.status, index_1.ResponseStatus.FAILURE); | ||
| t.assert(result.errors.length > 0); | ||
| t.is(result.errors[0].field, 'x-api-key'); | ||
| t.is(result.errors[0].error, 'Invalid or blocked API key'); | ||
| t.true(scope.isDone()); | ||
| })); | ||
| (0, ava_1.default)('Do not fail to instantiate the DataDome class if the timeout is negative', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const datadomeClient = new index_1.DataDome('key', { timeout: -2, logger: console }); | ||
| t.pass(); | ||
| })); | ||
| (0, ava_1.default)('Do not fail to instantiate the DataDome class if the endpoint URL is invalid', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const datadomeClient = new index_1.DataDome('key', { endpoint: 'invalid-url' }); | ||
| t.pass(); | ||
| })); | ||
| ava_1.default.serial('Properly handle timeout with manually triggered abort', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/validate/login') | ||
| .delay(500) | ||
| .reply(200, { action: 'allow' }); | ||
| const datadomeClient = new index_1.DataDome('key', { timeout: 50 }); | ||
| const result = yield datadomeClient.validate(mockRequest(), new index_1.LoginEvent({ account: 'abort-timeout', status: 'succeeded' })); | ||
| t.is(result.action, index_1.ResponseAction.ALLOW); | ||
| t.is(result.status, index_1.ResponseStatus.TIMEOUT); | ||
| t.true('message' in result); | ||
| t.is(result.message, 'Request timed out after 50 milliseconds'); | ||
| })); | ||
| ava_1.default.serial('Return an allow response on validating login [Happy path]', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/validate/login') | ||
| .reply(200, { | ||
| action: 'allow', | ||
| ip: '192.168.1.1', | ||
| reasons: [], | ||
| location: { countryCode: 'FR', country: 'France', city: 'Lyon' }, | ||
| }); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const result = yield datadomeClient.validate(mockCompleteRequest(), new index_1.LoginEvent({ account: 'happy', status: 'succeeded' })); | ||
| t.is(result.action, index_1.ResponseAction.ALLOW); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| t.pass(); | ||
| })); | ||
| ava_1.default.serial('Return an allow response on validating registration', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL).post('/validate/registration').reply(200, { | ||
| action: 'allow', | ||
| reasons: [], | ||
| }); | ||
| const datadomeClient = new index_1.DataDome('key', { timeout: 1000, logger: console }); | ||
| const result = yield datadomeClient.validate(mockRequest(), new index_1.RegistrationEvent({ | ||
| account: 'happy', | ||
| authentication: { type: 'other', mode: 'password' }, | ||
| session: { id: 'sessionId', createdAt: new Date() }, | ||
| user: { id: 'userId' }, | ||
| })); | ||
| t.is(result.action, index_1.ResponseAction.ALLOW); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| t.pass(); | ||
| })); | ||
| ava_1.default.serial('Return a failure on validating registration [500]', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/validate/registration') | ||
| .reply(500, 'Internal Server Error'); | ||
| const datadomeClient = new index_1.DataDome('key', { timeout: 1000, logger: console }); | ||
| const result = yield datadomeClient.validate(mockRequest(), new index_1.RegistrationEvent({ | ||
| account: '500-internal-server-error', | ||
| authentication: { type: 'other', mode: 'password' }, | ||
| session: { id: 'sessionId', createdAt: new Date() }, | ||
| user: { id: 'userId' }, | ||
| })); | ||
| t.is(result.action, index_1.ResponseAction.ALLOW); | ||
| t.is(result.status, index_1.ResponseStatus.FAILURE); | ||
| t.pass(); | ||
| })); | ||
| ava_1.default.serial('Return status ok on collect login [Happy path]', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL).post('/collect/login').reply(201); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const result = yield datadomeClient.collect(mockRequest(), new index_1.LoginEvent({ account: 'collect', status: 'succeeded' })); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| })); | ||
| ava_1.default.serial('Return status ok on collect failed login', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL).post('/collect/login').reply(201); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const result = yield datadomeClient.collect(mockRequest(), new index_1.LoginEvent({ account: 'collect', status: 'failed' })); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| })); | ||
| ava_1.default.serial('Return status ok on collect registration [Happy path]', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL).post('/collect/registration').reply(201); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const result = yield datadomeClient.collect(mockRequest(), new index_1.RegistrationEvent({ | ||
| account: 'collect', | ||
| authentication: { type: 'other', mode: 'password' }, | ||
| session: { id: 'sessionId', createdAt: new Date() }, | ||
| user: { id: 'userId' }, | ||
| })); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| })); | ||
| ava_1.default.serial('Return an allow response on validating account update [Happy path]', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/validate/account/update') | ||
| .reply(200, { | ||
| action: 'allow', | ||
| ip: '192.168.1.1', | ||
| reasons: [], | ||
| location: { countryCode: 'FR', country: 'France', city: 'Lyon' }, | ||
| }); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const result = yield datadomeClient.validate(mockCompleteRequest(), new index_1.AccountUpdateEvent({ | ||
| account: 'happy', | ||
| session: { id: 'sessionId', createdAt: new Date() }, | ||
| user: { id: 'userId' }, | ||
| })); | ||
| t.is(result.action, index_1.ResponseAction.ALLOW); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| t.pass(); | ||
| })); | ||
| ava_1.default.serial('Return status ok on collect account update [Happy path]', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL).post('/collect/account/update').reply(201); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const result = yield datadomeClient.collect(mockRequest(), new index_1.AccountUpdateEvent({ | ||
| account: 'collect', | ||
| session: { id: 'sessionId', createdAt: new Date() }, | ||
| user: { id: 'userId' }, | ||
| })); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| })); | ||
| ava_1.default.serial('Return an allow response on validating password update [Happy path]', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/validate/password/update') | ||
| .reply(200, { | ||
| action: 'allow', | ||
| ip: '192.168.1.1', | ||
| reasons: [], | ||
| location: { countryCode: 'FR', country: 'France', city: 'Lyon' }, | ||
| }); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const result = yield datadomeClient.validate(mockCompleteRequest(), new index_1.PasswordUpdateEvent({ | ||
| account: 'happy', | ||
| reason: 'userUpdate', | ||
| status: 'succeeded', | ||
| session: { id: 'sessionId', createdAt: new Date() }, | ||
| user: { id: 'userId' }, | ||
| })); | ||
| t.is(result.action, index_1.ResponseAction.ALLOW); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| t.pass(); | ||
| })); | ||
| ava_1.default.serial('Return status ok on collect password update [Happy path]', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL).post('/collect/password/update').reply(201); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const result = yield datadomeClient.collect(mockRequest(), new index_1.PasswordUpdateEvent({ | ||
| account: 'collect', | ||
| reason: 'forgotPassword', | ||
| status: 'succeeded', | ||
| user: { id: 'userId' }, | ||
| })); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| })); | ||
| ava_1.default.serial('Return status ok on collect failed password update', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL).post('/collect/password/update').reply(201); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const result = yield datadomeClient.collect(mockRequest(), new index_1.PasswordUpdateEvent({ | ||
| account: 'collect', | ||
| reason: 'forcedReset', | ||
| status: 'failed', | ||
| user: { id: 'userId' }, | ||
| })); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| })); | ||
| ava_1.default.serial('Return status fail on collect registration with invalid key', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/collect/registration') | ||
| .reply(403, { | ||
| message: 'Invalid header', | ||
| errors: [ | ||
| { | ||
| field: 'x-api-key', | ||
| error: 'Invalid or blocked API key', | ||
| }, | ||
| ], | ||
| }); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const result = yield datadomeClient.collect(mockRequest(), new index_1.RegistrationEvent({ | ||
| account: 'collect', | ||
| authentication: { type: 'other', mode: 'password' }, | ||
| session: { id: 'sessionId', createdAt: new Date() }, | ||
| user: { id: 'userId' }, | ||
| })); | ||
| t.is(result.status, index_1.ResponseStatus.FAILURE); | ||
| t.assert(result.errors.length > 0); | ||
| t.is(result.errors[0].field, 'x-api-key'); | ||
| t.is(result.errors[0].error, 'Invalid or blocked API key'); | ||
| })); | ||
| ava_1.default.serial('Ignore result on collect registration with invalid key', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/collect/registration') | ||
| .reply(403, { | ||
| message: 'Invalid header', | ||
| errors: [ | ||
| { | ||
| field: 'x-api-key', | ||
| error: 'Invalid or blocked API key', | ||
| }, | ||
| ], | ||
| }); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const result = datadomeClient.collect(mockRequest(), new index_1.RegistrationEvent({ | ||
| account: 'collect', | ||
| authentication: { type: 'other', mode: 'password' }, | ||
| session: { id: 'sessionId', createdAt: new Date() }, | ||
| user: { id: 'userId' }, | ||
| })); | ||
| return result | ||
| .then((r) => { | ||
| t.pass(); | ||
| }) | ||
| .catch((ex) => t.fail()); | ||
| })); | ||
| ava_1.default.serial('Return a deny response on validate login', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/validate/login') | ||
| .reply(200, { | ||
| action: 'deny', | ||
| reasons: ['brute_force'], | ||
| ip: '192.167.1.1', | ||
| location: { | ||
| countryCode: 'IT', | ||
| country: 'Italy', | ||
| city: 'Chieti', | ||
| }, | ||
| }); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const result = yield datadomeClient.validate(mockRequest(), new index_1.LoginEvent({ account: 'deny', status: 'succeeded' })); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| t.is(result.action, index_1.ResponseAction.DENY); | ||
| t.assert(result.reasons !== undefined); | ||
| t.assert(result.reasons.length > 0); | ||
| t.assert(result.location); | ||
| t.assert(result.reasons[0], 'brute_force'); | ||
| })); | ||
| ava_1.default.serial('Return a deny response on validate registration', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/validate/registration') | ||
| .reply(200, { | ||
| action: 'deny', | ||
| reasons: ['brute_force'], | ||
| }); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const result = yield datadomeClient.validate(mockRequest(), new index_1.RegistrationEvent({ | ||
| account: 'deny', | ||
| authentication: { type: 'other', mode: 'password' }, | ||
| session: { id: 'sessionId', createdAt: new Date() }, | ||
| user: { id: 'userId' }, | ||
| })); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| t.is(result.action, index_1.ResponseAction.DENY); | ||
| t.assert(result.reasons !== undefined); | ||
| t.assert(result.reasons.length > 0); | ||
| t.assert(result.reasons[0], 'brute_force'); | ||
| })); | ||
| ava_1.default.serial('Force Https on endpoint configuration', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL).post('/validate/login').reply(200, { | ||
| action: 'allow', | ||
| reason: [], | ||
| }); | ||
| let options = { | ||
| endpoint: 'account-api.datadome.co', | ||
| }; | ||
| const datadomeClient = new index_1.DataDome('key', options); | ||
| const result = yield datadomeClient.validate(mockRequest(), new index_1.LoginEvent({ account: 'deny', status: 'failed' })); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| t.is(result.action, index_1.ResponseAction.ALLOW); | ||
| })); | ||
| ava_1.default.serial('Allow http on endpoint configuration', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)('http://account-api.datadome.co/v1').post('/validate/login').reply(200, { | ||
| action: 'allow', | ||
| reason: [], | ||
| }); | ||
| let options = { | ||
| endpoint: 'http://account-api.datadome.co', | ||
| }; | ||
| const datadomeClient = new index_1.DataDome('key', options); | ||
| const result = yield datadomeClient.validate(mockRequest(), new index_1.LoginEvent({ account: 'deny', status: 'failed' })); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| t.is(result.action, index_1.ResponseAction.ALLOW); | ||
| })); | ||
| ava_1.default.serial('Allow https on endpoint configuration', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL).post('/validate/login').reply(200, { | ||
| action: 'allow', | ||
| reason: [], | ||
| }); | ||
| let options = { | ||
| endpoint: 'https://account-api.datadome.co', | ||
| }; | ||
| const datadomeClient = new index_1.DataDome('key', options); | ||
| const result = yield datadomeClient.validate(mockRequest(), new index_1.LoginEvent({ account: 'deny', status: 'failed' })); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| t.is(result.action, index_1.ResponseAction.ALLOW); | ||
| })); | ||
| ava_1.default.serial('Confirms headers are set', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/validate/registration') | ||
| .reply((uri, requestBody) => { | ||
| t.is(requestBody.header.acceptLanguage, 'en-US,en;q=0.9'); | ||
| t.is(requestBody.header.secCHUA, 'ua'); | ||
| t.is(requestBody.header.secCHUAMobile, 'mobile'); | ||
| t.is(requestBody.header.secCHUAArch, 'arch'); | ||
| t.is(requestBody.header.secCHUAModel, 'model'); | ||
| t.is(requestBody.header.secCHUAFullVersionList, 'fullVersionList'); | ||
| t.is(requestBody.header.secCHDeviceMemory, 'deviceMe'); | ||
| t.is(requestBody.header.secCHUAPlatform, 'platform'); | ||
| t.is(requestBody.header.clientID, 'blablablaClientId%1=blabla='); | ||
| return [ | ||
| 200, | ||
| { | ||
| action: 'allow', | ||
| ip: '192.168.1.1', | ||
| reasons: [], | ||
| location: { countryCode: 'FR', country: 'France', city: 'Lyon' }, | ||
| }, | ||
| ]; | ||
| }); | ||
| const datadomeClient = new index_1.DataDome('key', { timeout: 100 }); | ||
| const result = yield datadomeClient.validate(mockCompleteRequest(), new index_1.RegistrationEvent({ | ||
| account: 'accept-language', | ||
| authentication: { type: 'other', mode: 'password' }, | ||
| session: { id: 'sessionId', createdAt: new Date() }, | ||
| user: { id: 'userId' }, | ||
| })); | ||
| })); | ||
| ava_1.default.serial('Use requestMetadata parameter in validate method', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/validate/login') | ||
| .reply((uri, requestBody) => { | ||
| t.is(requestBody.header.addr, '8.8.8.8'); | ||
| t.is(requestBody.header.secCHUAPlatform, 'macOS'); | ||
| t.is(requestBody.header.contentType, 'application/special'); | ||
| t.is(requestBody.header.secCHUAArch, 'arm64'); | ||
| t.is(requestBody.header.secCHUAModel, 'MacBook Pro'); | ||
| t.is(requestBody.header.secCHUAFullVersionList, 'Chrome;v="91"'); | ||
| t.is(requestBody.header.secCHDeviceMemory, '8GB'); | ||
| t.is(requestBody.header.secCHUA, 'Chrome'); | ||
| t.is(requestBody.header.secCHUAMobile, '?0'); | ||
| t.is(requestBody.header.protocol, 'https'); | ||
| t.is(requestBody.header.port, 8443); | ||
| t.is(requestBody.header.method, 'PUT'); | ||
| t.is(requestBody.header.xRealIp, '10.0.0.1'); | ||
| t.is(requestBody.header.xForwardedForIp, '10.0.0.2, 10.0.0.3'); | ||
| t.is(requestBody.header.acceptEncoding, 'gzip, deflate'); | ||
| t.is(requestBody.header.serverHostname, 'api.example.com'); | ||
| t.is(requestBody.header.from, 'user@example.com'); | ||
| t.is(requestBody.header.acceptCharset, 'utf-8, iso-8859-1'); | ||
| t.is(requestBody.header.clientID, 'custom-client-id'); | ||
| t.is(requestBody.header.request, '/custom-path'); | ||
| return [ | ||
| 200, | ||
| { | ||
| action: 'allow', | ||
| ip: '8.8.8.8', | ||
| reasons: [], | ||
| location: { | ||
| countryCode: 'US', | ||
| country: 'United States', | ||
| city: 'Mountain View', | ||
| }, | ||
| }, | ||
| ]; | ||
| }); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const customMetadata = { | ||
| addr: '8.8.8.8', | ||
| contentType: 'application/special', | ||
| protocol: 'https', | ||
| port: 8443, | ||
| method: 'PUT', | ||
| secCHUAPlatform: 'macOS', | ||
| secCHUAArch: 'arm64', | ||
| secCHUAModel: 'MacBook Pro', | ||
| secCHUAFullVersionList: 'Chrome;v="91"', | ||
| secCHDeviceMemory: '8GB', | ||
| secCHUA: 'Chrome', | ||
| secCHUAMobile: '?0', | ||
| xRealIp: '10.0.0.1', | ||
| xForwardedForIp: '10.0.0.2, 10.0.0.3', | ||
| acceptEncoding: 'gzip, deflate', | ||
| serverHostname: 'api.example.com', | ||
| from: 'user@example.com', | ||
| acceptCharset: 'utf-8, iso-8859-1', | ||
| clientID: 'custom-client-id', | ||
| request: '/custom-path', | ||
| }; | ||
| const result = yield datadomeClient.validate(mockRequest(), new index_1.LoginEvent({ account: 'metadata-test', status: 'succeeded' }), customMetadata); | ||
| t.is(result.action, index_1.ResponseAction.ALLOW); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| t.pass(); | ||
| })); | ||
| ava_1.default.serial('Use requestMetadata parameter in collect method', (t) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { | ||
| const scope = (0, nock_1.default)(ENDPOINT_URL) | ||
| .post('/collect/registration') | ||
| .reply((uri, requestBody) => { | ||
| t.is(requestBody.header.host, 'custom.host.com'); | ||
| t.is(requestBody.header.origin, 'https://app.custom.com'); | ||
| t.is(requestBody.header.userAgent, 'Custom User Agent'); | ||
| t.is(requestBody.header.referer, 'https://app.custom.com/login'); | ||
| t.is(requestBody.header.accept, 'application/custom+json'); | ||
| t.is(requestBody.header.acceptLanguage, 'fr-FR,fr;q=0.9'); | ||
| t.is(requestBody.header.connection, 'close'); | ||
| return [201]; | ||
| }); | ||
| const datadomeClient = new index_1.DataDome('key'); | ||
| const customMetadata = { | ||
| host: 'custom.host.com', | ||
| origin: 'https://app.custom.com', | ||
| userAgent: 'Custom User Agent', | ||
| referer: 'https://app.custom.com/login', | ||
| accept: 'application/custom+json', | ||
| acceptLanguage: 'fr-FR,fr;q=0.9', | ||
| connection: 'close', | ||
| }; | ||
| const result = yield datadomeClient.collect(mockRequest(), new index_1.RegistrationEvent({ | ||
| account: 'metadata-collect-test', | ||
| session: { id: 'customSessionId', createdAt: new Date() }, | ||
| user: { id: 'customUserId' }, | ||
| }), customMetadata); | ||
| t.is(result.status, index_1.ResponseStatus.OK); | ||
| t.pass(); | ||
| })); | ||
| const http_1 = require("http"); | ||
| function mockRequest() { | ||
| const req = Object.create(http_1.IncomingMessage.prototype); | ||
| req.socket = { localAddress: '::1' }; | ||
| req.headers = {}; | ||
| req.method = 'POST'; | ||
| req.url = ''; | ||
| return req; | ||
| } | ||
| function mockCompleteRequest() { | ||
| const req = Object.create(http_1.IncomingMessage.prototype); | ||
| req.socket = { | ||
| localAddress: '192.168.1.5', | ||
| localPort: 443, | ||
| }; | ||
| req.headers = { | ||
| accept: 'application/json', | ||
| 'accept-language': 'en-US,en;q=0.9', | ||
| host: 'datashield.co', | ||
| referer: 'datashield.co', | ||
| 'x-real-ip': '192.168.1.10', | ||
| 'x-forwarded-for': '192.168.1.11', | ||
| 'accept-encoding': 'application/json', | ||
| 'accept-charset': 'utf8', | ||
| from: 'datashield', | ||
| 'user-agent': 'Mozilla', | ||
| connection: 'keep-alive', | ||
| origin: 'datashield.co', | ||
| cookie: 'datadome=blablablaClientId%1=blabla=;other="bla"', | ||
| 'sec-ch-ua': 'ua', | ||
| 'sec-ch-ua-arch': 'arch', | ||
| 'sec-ch-ua-mobile': 'mobile', | ||
| 'sec-ch-ua-model': 'model', | ||
| 'sec-ch-ua-full-version-list': 'fullVersionList', | ||
| 'sec-ch-device-memory': 'deviceMemory', | ||
| 'sec-ch-ua-platform': 'platform', | ||
| }; | ||
| req.method = 'POST'; | ||
| req.url = '/login'; | ||
| req.protocol = 'https'; | ||
| return req; | ||
| } | ||
| //# sourceMappingURL=datadome.test.js.map |
| {"version":3,"file":"datadome.test.js","sourceRoot":"","sources":["../src/datadome.test.ts"],"names":[],"mappings":"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"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const tslib_1 = require("tslib"); | ||
| tslib_1.__exportStar(require("./constants"), exports); | ||
| tslib_1.__exportStar(require("./datadome"), exports); | ||
| tslib_1.__exportStar(require("./model"), exports); | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,qDAA2B;AAC3B,kDAAwB"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=address.js.map |
| {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/model/address.ts"],"names":[],"mappings":""} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const tslib_1 = require("tslib"); | ||
| tslib_1.__exportStar(require("./request"), exports); | ||
| tslib_1.__exportStar(require("./response"), exports); | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/api/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,qDAA2B"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DataDomeRequest = void 0; | ||
| const constants_1 = require("../../constants"); | ||
| class DataDomeModule { | ||
| constructor() { | ||
| this.requestTimeMicros = Date.now() * 1000; | ||
| this.name = constants_1.SDK_NAME; | ||
| this.version = constants_1.SDK_VERSION; | ||
| } | ||
| } | ||
| function tryDecode(input) { | ||
| try { | ||
| return decodeURIComponent(input); | ||
| } | ||
| catch (e) { | ||
| return input; | ||
| } | ||
| } | ||
| function parseCookieString(input) { | ||
| const cookies = new Map(); | ||
| input.split(/; */).forEach((pair) => { | ||
| let eqIndex = pair.indexOf('='); | ||
| if (eqIndex > 0) { | ||
| const key = pair.substring(0, eqIndex).trim(); | ||
| let value = pair.substring(++eqIndex, eqIndex + pair.length).trim(); | ||
| if (value[0] === '"') { | ||
| value = value.slice(1, -1); | ||
| } | ||
| if (!cookies.has(key)) { | ||
| cookies.set(key, tryDecode(value)); | ||
| } | ||
| } | ||
| }); | ||
| return cookies; | ||
| } | ||
| class DataDomeHeaders { | ||
| constructor(request, requestMetadata) { | ||
| var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y; | ||
| this.addr = (_b = (_a = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.addr) !== null && _a !== void 0 ? _a : request.socket.remoteAddress) !== null && _b !== void 0 ? _b : '127.0.0.1'; | ||
| this.method = (_d = (_c = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.method) !== null && _c !== void 0 ? _c : request.method) !== null && _d !== void 0 ? _d : ''; | ||
| this.port = (_e = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.port) !== null && _e !== void 0 ? _e : this.getPort(request); | ||
| this.protocol = (_f = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.protocol) !== null && _f !== void 0 ? _f : this.getProtocol(request); | ||
| this.contentType = this.truncateValue((_g = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.contentType) !== null && _g !== void 0 ? _g : request.headers['content-type'], 64); | ||
| this.accept = this.truncateValue((_h = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.accept) !== null && _h !== void 0 ? _h : request.headers['accept'], 512); | ||
| this.acceptLanguage = this.truncateValue((_j = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptLanguage) !== null && _j !== void 0 ? _j : request.headers['accept-language'], 256); | ||
| this.host = this.truncateValue((_k = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.host) !== null && _k !== void 0 ? _k : request.headers['host'], 512); | ||
| this.userAgent = this.truncateValue((_l = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.userAgent) !== null && _l !== void 0 ? _l : request.headers['user-agent'], 768); | ||
| this.referer = this.truncateValue((_m = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.referer) !== null && _m !== void 0 ? _m : request.headers['referer'], 1024); | ||
| this.xRealIp = this.truncateValue((_o = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.xRealIp) !== null && _o !== void 0 ? _o : request.headers['x-real-ip'], 128); | ||
| this.xForwardedForIp = this.truncateValue((_p = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.xForwardedForIp) !== null && _p !== void 0 ? _p : request.headers['x-forwarded-for'], -512); | ||
| this.acceptEncoding = this.truncateValue((_q = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptEncoding) !== null && _q !== void 0 ? _q : request.headers['accept-encoding'], 128); | ||
| this.serverHostname = this.truncateValue((_r = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.serverHostname) !== null && _r !== void 0 ? _r : request.headers['host'], 512); | ||
| this.from = this.truncateValue((_s = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.from) !== null && _s !== void 0 ? _s : request.headers['from'], 128); | ||
| this.origin = this.truncateValue((_t = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.origin) !== null && _t !== void 0 ? _t : request.headers['origin'], 512); | ||
| this.connection = this.truncateValue((_u = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.connection) !== null && _u !== void 0 ? _u : request.headers['connection'], 128); | ||
| this.acceptCharset = this.truncateValue((_v = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.acceptCharset) !== null && _v !== void 0 ? _v : request.headers['accept-charset'], 128); | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUA) { | ||
| this.secCHUA = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUA, 128); | ||
| } | ||
| else if (request.headers['sec-ch-ua']) { | ||
| this.secCHUA = this.truncateValue(request.headers['sec-ch-ua'], 128); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAMobile) { | ||
| this.secCHUAMobile = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAMobile, 8); | ||
| } | ||
| else if (request.headers['sec-ch-ua-mobile']) { | ||
| this.secCHUAMobile = this.truncateValue(request.headers['sec-ch-ua-mobile'], 8); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAPlatform) { | ||
| this.secCHUAPlatform = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAPlatform, 32); | ||
| } | ||
| else if (request.headers['sec-ch-ua-platform']) { | ||
| this.secCHUAPlatform = this.truncateValue(request.headers['sec-ch-ua-platform'], 32); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAArch) { | ||
| this.secCHUAArch = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAArch, 16); | ||
| } | ||
| else if (request.headers['sec-ch-ua-arch']) { | ||
| this.secCHUAArch = this.truncateValue(request.headers['sec-ch-ua-arch'], 16); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAFullVersionList) { | ||
| this.secCHUAFullVersionList = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAFullVersionList, 256); | ||
| } | ||
| else if (request.headers['sec-ch-ua-full-version-list']) { | ||
| this.secCHUAFullVersionList = this.truncateValue(request.headers['sec-ch-ua-full-version-list'], 256); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAModel) { | ||
| this.secCHUAModel = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHUAModel, 128); | ||
| } | ||
| else if (request.headers['sec-ch-ua-model']) { | ||
| this.secCHUAModel = this.truncateValue(request.headers['sec-ch-ua-model'], 128); | ||
| } | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHDeviceMemory) { | ||
| this.secCHDeviceMemory = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.secCHDeviceMemory, 8); | ||
| } | ||
| else if (request.headers['sec-ch-device-memory']) { | ||
| this.secCHDeviceMemory = this.truncateValue(request.headers['sec-ch-device-memory'], 8); | ||
| } | ||
| this.request = (_y = (_w = requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.request) !== null && _w !== void 0 ? _w : (_x = request.url) === null || _x === void 0 ? void 0 : _x.slice(0, 2048)) !== null && _y !== void 0 ? _y : '/'; | ||
| const sessionByHeaderClientId = request.headers['x-datadome-clientid']; | ||
| if (requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.clientID) { | ||
| this.clientID = this.truncateValue(requestMetadata === null || requestMetadata === void 0 ? void 0 : requestMetadata.clientID, 128); | ||
| } | ||
| else if (sessionByHeaderClientId !== undefined && sessionByHeaderClientId != '') { | ||
| this.clientID = this.truncateValue(sessionByHeaderClientId, 128); | ||
| } | ||
| else { | ||
| this.clientID = this.truncateValue(this.getClientId(request), 128); | ||
| } | ||
| } | ||
| getProtocol(request) { | ||
| let protocol = 'http'; | ||
| const forwardedProto = request.headers['X-Forwarded-Proto']; | ||
| if (forwardedProto !== '' && | ||
| ((forwardedProto === null || forwardedProto === void 0 ? void 0 : forwardedProto.toLowerCase()) === 'http' || (forwardedProto === null || forwardedProto === void 0 ? void 0 : forwardedProto.toLowerCase()) === 'https')) { | ||
| protocol = forwardedProto; | ||
| } | ||
| else if (this.port === 80) { | ||
| protocol = 'http'; | ||
| } | ||
| else if (this.port === 443) { | ||
| protocol = 'https'; | ||
| } | ||
| return protocol; | ||
| } | ||
| getPort(request) { | ||
| var _a; | ||
| const hostHeader = request.headers['host']; | ||
| const forwardedPort = request.headers['x-forwarded-port']; | ||
| if (forwardedPort) { | ||
| return parseInt(forwardedPort, 10); | ||
| } | ||
| else if (hostHeader && hostHeader.includes(':')) { | ||
| return parseInt(hostHeader.split(':')[1], 10); | ||
| } | ||
| else if (request.socket.localPort) { | ||
| return request.socket.localPort; | ||
| } | ||
| return (_a = request.socket.remotePort) !== null && _a !== void 0 ? _a : 0; | ||
| } | ||
| truncateValue(value, maxLength) { | ||
| if (value === undefined) { | ||
| return ''; | ||
| } | ||
| if (maxLength == null) { | ||
| return value; | ||
| } | ||
| return maxLength < 0 ? value.slice(maxLength) : value.slice(0, maxLength); | ||
| } | ||
| getClientId(request) { | ||
| const cookies = request.headers['cookie']; | ||
| let clientId = ''; | ||
| if (cookies !== undefined) { | ||
| const parsedCookies = parseCookieString(cookies); | ||
| for (const [key, value] of parsedCookies.entries()) { | ||
| if (value !== undefined && key === 'datadome') { | ||
| clientId = value; | ||
| } | ||
| } | ||
| } | ||
| return clientId; | ||
| } | ||
| } | ||
| class DataDomeRequest { | ||
| constructor(request, requestMetadata) { | ||
| this.module = new DataDomeModule(); | ||
| this.header = new DataDomeHeaders(request, requestMetadata); | ||
| } | ||
| } | ||
| exports.DataDomeRequest = DataDomeRequest; | ||
| //# sourceMappingURL=request.js.map |
| {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/model/api/request.ts"],"names":[],"mappings":"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"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.ResponseStatus = exports.ResponseAction = void 0; | ||
| var ResponseAction; | ||
| (function (ResponseAction) { | ||
| ResponseAction["ALLOW"] = "allow"; | ||
| ResponseAction["DENY"] = "deny"; | ||
| })(ResponseAction || (exports.ResponseAction = ResponseAction = {})); | ||
| var ResponseStatus; | ||
| (function (ResponseStatus) { | ||
| ResponseStatus["OK"] = "ok"; | ||
| ResponseStatus["FAILURE"] = "failure"; | ||
| ResponseStatus["TIMEOUT"] = "timeout"; | ||
| })(ResponseStatus || (exports.ResponseStatus = ResponseStatus = {})); | ||
| //# sourceMappingURL=response.js.map |
| {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/model/api/response.ts"],"names":[],"mappings":";;;AASA,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,iCAAe,CAAA;IACf,+BAAa,CAAA;AACjB,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAUD,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,2BAAS,CAAA;IACT,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;AACvB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=authentication.js.map |
| {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../src/model/authentication.ts"],"names":[],"mappings":""} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.AccountUpdateEvent = void 0; | ||
| const event_1 = require("./event"); | ||
| class AccountUpdateEvent extends event_1.DataDomeEvent { | ||
| constructor({ account, authentication, session, user }) { | ||
| super({ | ||
| action: event_1.ActionType.ACCOUNT_UPDATE, | ||
| account, | ||
| }); | ||
| this.authentication = authentication; | ||
| this.session = session; | ||
| this.user = user; | ||
| } | ||
| mergeWith(requestData) { | ||
| super.mergeWith(requestData); | ||
| requestData.authentication = this.authentication; | ||
| requestData.session = this.session; | ||
| requestData.user = this.user; | ||
| return requestData; | ||
| } | ||
| } | ||
| exports.AccountUpdateEvent = AccountUpdateEvent; | ||
| //# sourceMappingURL=accountUpdate.js.map |
| {"version":3,"file":"accountUpdate.js","sourceRoot":"","sources":["../../../src/model/events/accountUpdate.ts"],"names":[],"mappings":";;;AAIA,mCAAoD;AAepD,MAAa,kBAAmB,SAAQ,qBAAa;IAIjD,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAA4B;QAC5E,KAAK,CAAC;YACF,MAAM,EAAE,kBAAU,CAAC,cAAc;YACjC,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AArBD,gDAqBC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DataDomeEvent = exports.ActionType = void 0; | ||
| var ActionType; | ||
| (function (ActionType) { | ||
| ActionType["LOGIN"] = "login"; | ||
| ActionType["REGISTER"] = "registration"; | ||
| ActionType["PASSWORD_UPDATE"] = "password/update"; | ||
| ActionType["ACCOUNT_UPDATE"] = "account/update"; | ||
| ActionType["PAYMENT"] = "payment"; | ||
| })(ActionType || (exports.ActionType = ActionType = {})); | ||
| class DataDomeEvent { | ||
| constructor({ action, account }) { | ||
| this.action = action; | ||
| this.account = account; | ||
| } | ||
| mergeWith(requestData) { | ||
| requestData.event = this.action; | ||
| requestData.account = this.account; | ||
| return requestData; | ||
| } | ||
| } | ||
| exports.DataDomeEvent = DataDomeEvent; | ||
| //# sourceMappingURL=event.js.map |
| {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/model/events/event.ts"],"names":[],"mappings":";;;AAEA,IAAY,UAMX;AAND,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,uCAAyB,CAAA;IACzB,iDAAmC,CAAA;IACnC,+CAAiC,CAAA;IACjC,iCAAmB,CAAA;AACvB,CAAC,EANW,UAAU,0BAAV,UAAU,QAMrB;AASD,MAAa,aAAa;IAItB,YAAY,EAAE,MAAM,EAAE,OAAO,EAA2C;QACpE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,WAA4B;QAClC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAdD,sCAcC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const tslib_1 = require("tslib"); | ||
| tslib_1.__exportStar(require("./accountUpdate"), exports); | ||
| tslib_1.__exportStar(require("./event"), exports); | ||
| tslib_1.__exportStar(require("./login"), exports); | ||
| tslib_1.__exportStar(require("./passwordUpdate"), exports); | ||
| tslib_1.__exportStar(require("./registration"), exports); | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/events/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,kDAAwB;AACxB,kDAAwB;AACxB,2DAAiC;AACjC,yDAA+B"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.LoginEvent = void 0; | ||
| const event_1 = require("./event"); | ||
| class LoginEvent extends event_1.DataDomeEvent { | ||
| constructor({ account, status, user, session, authentication }) { | ||
| super({ | ||
| action: event_1.ActionType.LOGIN, | ||
| account, | ||
| }); | ||
| this.status = status; | ||
| this.session = session; | ||
| this.user = user; | ||
| this.authentication = authentication; | ||
| } | ||
| mergeWith(requestData) { | ||
| super.mergeWith(requestData); | ||
| requestData.authentication = this.authentication; | ||
| requestData.session = this.session; | ||
| requestData.status = this.status; | ||
| requestData.user = this.user; | ||
| return requestData; | ||
| } | ||
| } | ||
| exports.LoginEvent = LoginEvent; | ||
| //# sourceMappingURL=login.js.map |
| {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/model/events/login.ts"],"names":[],"mappings":";;;AAIA,mCAAoD;AAqBpD,MAAa,UAAW,SAAQ,qBAAa;IAKzC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAoB;QAC5E,KAAK,CAAC;YACF,MAAM,EAAE,kBAAU,CAAC,KAAK;YACxB,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAxBD,gCAwBC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.PasswordUpdateEvent = void 0; | ||
| const event_1 = require("./event"); | ||
| class PasswordUpdateEvent extends event_1.DataDomeEvent { | ||
| constructor({ account, reason, session, status, user }) { | ||
| super({ | ||
| action: event_1.ActionType.PASSWORD_UPDATE, | ||
| account, | ||
| }); | ||
| this.reason = reason; | ||
| this.session = session; | ||
| this.status = status; | ||
| this.user = user; | ||
| } | ||
| mergeWith(requestData) { | ||
| super.mergeWith(requestData); | ||
| requestData.reason = this.reason; | ||
| requestData.session = this.session; | ||
| requestData.status = this.status; | ||
| requestData.user = this.user; | ||
| return requestData; | ||
| } | ||
| } | ||
| exports.PasswordUpdateEvent = PasswordUpdateEvent; | ||
| //# sourceMappingURL=passwordUpdate.js.map |
| {"version":3,"file":"passwordUpdate.js","sourceRoot":"","sources":["../../../src/model/events/passwordUpdate.ts"],"names":[],"mappings":";;;AAGA,mCAAoD;AA0BpD,MAAa,mBAAoB,SAAQ,qBAAa;IAKlD,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAA6B;QAC7E,KAAK,CAAC;YACF,MAAM,EAAE,kBAAU,CAAC,eAAe;YAClC,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAxBD,kDAwBC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.RegistrationEvent = void 0; | ||
| const event_1 = require("./event"); | ||
| class RegistrationEvent extends event_1.DataDomeEvent { | ||
| constructor({ account, authentication, session, user }) { | ||
| super({ action: event_1.ActionType.REGISTER, account }); | ||
| this.authentication = authentication; | ||
| this.session = session; | ||
| this.user = user; | ||
| } | ||
| mergeWith(requestData) { | ||
| super.mergeWith(requestData); | ||
| requestData.authentication = this.authentication; | ||
| requestData.session = this.session; | ||
| requestData.user = this.user; | ||
| return requestData; | ||
| } | ||
| } | ||
| exports.RegistrationEvent = RegistrationEvent; | ||
| //# sourceMappingURL=registration.js.map |
| {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../src/model/events/registration.ts"],"names":[],"mappings":";;;AAIA,mCAAoD;AAepD,MAAa,iBAAkB,SAAQ,qBAAa;IAIhD,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAA2B;QAC3E,KAAK,CAAC,EAAE,MAAM,EAAE,kBAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEQ,SAAS,CAAC,WAA4B;QAC3C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAlBD,8CAkBC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const tslib_1 = require("tslib"); | ||
| tslib_1.__exportStar(require("./address"), exports); | ||
| tslib_1.__exportStar(require("./authentication"), exports); | ||
| tslib_1.__exportStar(require("./api"), exports); | ||
| tslib_1.__exportStar(require("./user"), exports); | ||
| tslib_1.__exportStar(require("./session"), exports); | ||
| tslib_1.__exportStar(require("./events"), exports); | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,2DAAiC;AACjC,gDAAsB;AACtB,iDAAuB;AACvB,oDAA0B;AAC1B,mDAAyB"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=session.js.map |
| {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/model/session.ts"],"names":[],"mappings":""} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=user.js.map |
| {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/model/user.ts"],"names":[],"mappings":""} |
| import tseslint from 'typescript-eslint'; | ||
| import globals from 'globals'; | ||
| const ignores = ['**/dist-*/**', '**/*.test.ts', '**/*.js']; | ||
| export default tseslint.config( | ||
| ...tseslint.configs.recommended.map((config) => ({ | ||
| ...config, | ||
| ignores, | ||
| })), | ||
| ...tseslint.configs.strict.map((config) => ({ | ||
| ...config, | ||
| ignores, | ||
| })), | ||
| ...tseslint.configs.stylistic.map((config) => ({ | ||
| ...config, | ||
| ignores, | ||
| })), | ||
| { | ||
| languageOptions: { | ||
| sourceType: 'module', | ||
| ecmaVersion: 2022, | ||
| globals: globals.node, | ||
| }, | ||
| rules: { | ||
| 'no-constant-binary-expression': 'error', | ||
| }, | ||
| } | ||
| ); |
Sorry, the diff of this file is too big to display
| { | ||
| "name": "fraud-protection-node-sample-typescript", | ||
| "version": "1.0.0", | ||
| "description": "", | ||
| "main": "./dist/express.js", | ||
| "type": "commonjs", | ||
| "scripts": { | ||
| "app": "tsc && node ./dist/express.js", | ||
| "test": "echo \"Error: no test specified\" && exit 1" | ||
| }, | ||
| "keywords": [], | ||
| "author": "", | ||
| "license": "ISC", | ||
| "dependencies": { | ||
| "@datadome/fraud-sdk-node": "file:../", | ||
| "express": "^4.18.2", | ||
| "multer": "^1.4.5-lts.2" | ||
| }, | ||
| "devDependencies": { | ||
| "@types/express": "^5.0.0", | ||
| "@types/multer": "^1.4.12", | ||
| "eslint": "^9.22.0", | ||
| "typescript": "^5.8.2" | ||
| } | ||
| } |
| [ | ||
| { | ||
| "login" : "auth_allow@datadome.co", | ||
| "name" : "bob", | ||
| "password" : "bob", | ||
| "profession" : "teacher", | ||
| "email" : "bob@mail.com", | ||
| "id": 1 | ||
| }, | ||
| { | ||
| "login" : "auth_block@datadome.co", | ||
| "name" : "steve", | ||
| "password" : "password", | ||
| "profession" : "librarian", | ||
| "email" : "steve@mail.com", | ||
| "id": 2 | ||
| } | ||
| ] |
| { | ||
| "extends": "./tsconfig.json", | ||
| "compilerOptions": { | ||
| "outDir": "dist-cjs", | ||
| "importHelpers": true, | ||
| "module": "commonjs", | ||
| "noEmitHelpers": true, | ||
| "strict": true, | ||
| "target": "ES6" | ||
| } | ||
| } |
Sorry, the diff of this file is not supported yet
| { | ||
| "extends": "./tsconfig.json", | ||
| "compilerOptions": { | ||
| "outDir": "dist-es", | ||
| "importHelpers": true, | ||
| "module": "ES2022", | ||
| "noEmitHelpers": true, | ||
| "target": "ES6", | ||
| "strict": true | ||
| } | ||
| } |
Sorry, the diff of this file is not supported yet
| { | ||
| "compilerOptions": { | ||
| "baseUrl": ".", | ||
| "outDir": "dist-test", | ||
| "rootDir": "src" | ||
| }, | ||
| "extends": "./tsconfig.cjs.json", | ||
| "include": ["src/"], | ||
| "exclude": [] | ||
| } |
Sorry, the diff of this file is not supported yet
| { | ||
| "extends": "./tsconfig.json", | ||
| "compilerOptions": { | ||
| "declaration": true, | ||
| "declarationDir": "dist-types", | ||
| "declarationMap": true, | ||
| "emitDeclarationOnly": true, | ||
| "removeComments": false, | ||
| "strict": true | ||
| } | ||
| } |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 3 instances in 1 package
Mixed license
LicensePackage contains multiple licenses.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
11
-8.33%0
-100%4
-60%216009
-53.54%111
-27.92%1516
-75.19%+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed