diff --git a/apps/api/dist/routes/tracking.routes.d.ts.map b/apps/api/dist/routes/tracking.routes.d.ts.map index c9881f42..07baa7a4 100644 --- a/apps/api/dist/routes/tracking.routes.d.ts.map +++ b/apps/api/dist/routes/tracking.routes.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"tracking.routes.d.ts","sourceRoot":"","sources":["../../src/routes/tracking.routes.ts"],"names":[],"mappings":"AAeA,QAAA,MAAM,MAAM,4CAAmB,CAAC;AAsZhC,eAAe,MAAM,CAAC"} \ No newline at end of file +{"version":3,"file":"tracking.routes.d.ts","sourceRoot":"","sources":["../../src/routes/tracking.routes.ts"],"names":[],"mappings":"AAeA,QAAA,MAAM,MAAM,4CAAmB,CAAC;AAochC,eAAe,MAAM,CAAC"} \ No newline at end of file diff --git a/apps/api/dist/routes/tracking.routes.js b/apps/api/dist/routes/tracking.routes.js index bc103c43..393e4a28 100644 --- a/apps/api/dist/routes/tracking.routes.js +++ b/apps/api/dist/routes/tracking.routes.js @@ -264,17 +264,66 @@ router.get('/projects/:projectId/checks', auth_middleware_1.requireAuth, async ( router.get('/checks/recent', auth_middleware_1.requireAuth, async (req, res) => { try { const { limit = 20 } = req.query; - const checks = await redirectTracker.listChecks('anonymous-project', Number(limit), 0); + const userId = req.user.id; + const checks = await prisma_1.prisma.check.findMany({ + where: { + project: { + organization: { + memberships: { + some: { + userId: userId + } + } + } + } + }, + include: { + project: { + select: { + name: true + } + }, + hops: { + orderBy: { + hopIndex: 'asc' + } + } + }, + orderBy: { + startedAt: 'desc' + }, + take: Number(limit) + }); + const formattedChecks = checks.map(check => ({ + id: check.id, + inputUrl: check.inputUrl, + finalUrl: check.finalUrl, + method: check.method, + status: check.status, + startedAt: check.startedAt, + finishedAt: check.finishedAt, + totalTimeMs: check.totalTimeMs, + redirectCount: check.hops.length, + projectName: check.project.name, + hops: check.hops.map(hop => ({ + hopIndex: hop.hopIndex, + url: hop.url, + statusCode: hop.statusCode, + redirectType: hop.redirectType, + latencyMs: hop.latencyMs, + contentType: hop.contentType + })) + })); res.json({ success: true, status: 200, data: { - checks, - message: 'Cross-project recent checks will be implemented in a future phase' + checks: formattedChecks }, meta: { version: 'v2', - userId: req.user.id, + userId: userId, + total: formattedChecks.length } }); } diff --git a/apps/api/dist/routes/tracking.routes.js.map b/apps/api/dist/routes/tracking.routes.js.map index 0b763b29..a64aebf3 100644 --- a/apps/api/dist/routes/tracking.routes.js.map +++ b/apps/api/dist/routes/tracking.routes.js.map @@ -1 +1 @@ -{"version":3,"file":"tracking.routes.js","sourceRoot":"","sources":["../../src/routes/tracking.routes.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tracking.routes.js","sourceRoot":"","sources":["../../src/routes/tracking.routes.ts"],"names":[],"mappings":";;;;;AAMA,sDAA8B;AAC9B,6BAAwB;AACxB,4EAA2C;AAC3C,mFAA8E;AAC9E,0CAAuC;AACvC,mEAAgG;AAEhG,0CAAuC;AAEvC,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;AAChC,MAAM,eAAe,GAAG,IAAI,iDAAsB,EAAE,CAAC;AAGrD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACjC,GAAG,CAAC,IAAI,CAAC;QACP,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,GAAG;QACX,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;SACnD;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAGH,MAAM,eAAe,GAAG,IAAA,4BAAS,EAAC;IAChC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACxB,GAAG,EAAE,GAAG;IACR,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,qBAAqB;QAC5B,OAAO,EAAE,qDAAqD;KAC/D;IACD,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,CAAC,GAAyB,EAAE,EAAE;QAE1C,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC;IAC3D,CAAC;CACF,CAAC,CAAC;AAGH,MAAM,wBAAwB,GAAG,IAAA,4BAAS,EAAC;IACzC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACxB,GAAG,EAAE,EAAE;IACP,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,qBAAqB;QAC5B,OAAO,EAAE,yFAAyF;KACnG;IACD,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,KAAK;IACpB,IAAI,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;CAChD,CAAC,CAAC;AAGH,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC;IACzC,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CACxD,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACrC,CAAC,CAAC;AAGH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACtC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAMH,MAAM,CAAC,IAAI,CAAC,QAAQ,EAClB,8BAAY,EAEZ,KAAK,EAAE,GAAyB,EAAE,GAAG,EAAE,EAAE;IACvC,IAAI,CAAC;QAEH,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAGrD,IAAI,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC;QACxB,CAAC;QAGD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;YAC7B,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBAEb,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,cAAc,EAAE,CAAC;oBAEnB,MAAM,cAAc,GAAG,MAAM,eAAM,CAAC,OAAO,CAAC,SAAS,CAAC;wBACpD,KAAK,EAAE;4BACL,KAAK,EAAE,cAAc,CAAC,KAAK;yBAC5B;qBACF,CAAC,CAAC;oBAEH,IAAI,cAAc,EAAE,CAAC;wBACnB,aAAa,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBAEN,MAAM,UAAU,GAAG,MAAM,eAAM,CAAC,OAAO,CAAC,MAAM,CAAC;4BAC7C,IAAI,EAAE;gCACJ,IAAI,EAAE,iBAAiB;gCACvB,KAAK,EAAE,cAAc,CAAC,KAAK;gCAC3B,YAAY,EAAE,EAAE;6BACjB;yBACF,CAAC,CAAC;wBACH,aAAa,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE,CAAC;oBAC1C,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBAEN,IAAI,gBAAgB,GAAG,MAAM,eAAM,CAAC,OAAO,CAAC,SAAS,CAAC;oBACpD,KAAK,EAAE;wBACL,IAAI,EAAE,oBAAoB;qBAC3B;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAEtB,IAAI,YAAY,GAAG,MAAM,eAAM,CAAC,YAAY,CAAC,SAAS,CAAC;wBACrD,KAAK,EAAE;4BACL,IAAI,EAAE,iBAAiB;yBACxB;qBACF,CAAC,CAAC;oBAEH,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,YAAY,GAAG,MAAM,eAAM,CAAC,YAAY,CAAC,MAAM,CAAC;4BAC9C,IAAI,EAAE;gCACJ,IAAI,EAAE,iBAAiB;gCACvB,IAAI,EAAE,MAAM;6BACb;yBACF,CAAC,CAAC;oBACL,CAAC;oBAED,gBAAgB,GAAG,MAAM,eAAM,CAAC,OAAO,CAAC,MAAM,CAAC;wBAC7C,IAAI,EAAE;4BACJ,IAAI,EAAE,oBAAoB;4BAC1B,KAAK,EAAE,YAAY,CAAC,EAAE;4BACtB,YAAY,EAAE,EAAE;yBACjB;qBACF,CAAC,CAAC;gBACL,CAAC;gBAED,aAAa,CAAC,SAAS,GAAG,gBAAgB,CAAC,EAAE,CAAC;YAChD,CAAC;QACH,CAAC;QAGD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,gBAAgB,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,CAC3C,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,EACzB,MAAM,CACP,CAAC;QAEF,eAAM,CAAC,IAAI,CAAC,gCAAgC,GAAG,EAAE,EAAE;YACjD,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI;YACtB,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,OAAO,EAAE,MAAM,CAAC,EAAE;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,GAAG;YACX,IAAI,EAAE;gBACJ,KAAK,EAAE,MAAM;gBAEb,GAAG;gBACH,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,UAAU;aACjE;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,MAAM,CAAC,EAAE;aACnB;SACF,CAAC,CAAC;IAEL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAEjD,IAAI,KAAK,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,kBAAkB;gBACzB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,eAAe;gBACpD,OAAO,EAAE,KAAK,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;SAC3E,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAMF,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAC1B,8BAAY,EACZ,KAAK,EAAE,GAAyB,EAAE,GAAG,EAAE,EAAE;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAE/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,mBAAmB;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEpE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAE,oEAAoE;aAC9E,CAAC,CAAC;QACL,CAAC;QAED,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,EAAE,KAAK,EAAE;YACf,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,KAAK,CAAC,EAAE;aAClB;SACF,CAAC,CAAC;IAEL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QACjD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,0BAA0B;YACjC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;SAC3E,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAMF,MAAM,CAAC,GAAG,CAAC,6BAA6B,EACtC,6BAAW,EACX,KAAK,EAAE,GAAyB,EAAE,GAAG,EAAE,EAAE;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAE7C,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC;YAC3C,SAAS;YACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;SACvB,CAAC,CAAC;QAIH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qBAAqB;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,CAC7C,aAAa,CAAC,SAAS,EACvB,aAAa,CAAC,KAAK,EACnB,aAAa,CAAC,MAAM,CACrB,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,GAAG;YACX,IAAI,EAAE;gBACJ,MAAM;gBACN,UAAU,EAAE;oBACV,KAAK,EAAE,aAAa,CAAC,KAAK;oBAC1B,MAAM,EAAE,aAAa,CAAC,MAAM;oBAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;iBACrB;aACF;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,aAAa,CAAC,SAAS;aACnC;SACF,CAAC,CAAC;IAEL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAE9C,IAAI,KAAK,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,kBAAkB;gBACzB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,eAAe;gBACpD,OAAO,EAAE,KAAK,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;SAC3E,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAMF,MAAM,CAAC,GAAG,CAAC,gBAAgB,EACzB,6BAAW,EACX,KAAK,EAAE,GAAyB,EAAE,GAAG,EAAE,EAAE;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QACjC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAK,CAAC,EAAE,CAAC;QAG5B,MAAM,MAAM,GAAG,MAAM,eAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;YACzC,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,YAAY,EAAE;wBACZ,WAAW,EAAE;4BACX,IAAI,EAAE;gCACJ,MAAM,EAAE,MAAM;6BACf;yBACF;qBACF;iBACF;aACF;YACD,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;qBACX;iBACF;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE;wBACP,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;YACD,OAAO,EAAE;gBACP,SAAS,EAAE,MAAM;aAClB;YACD,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC;SACpB,CAAC,CAAC;QAGH,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3C,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;YAChC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;YAC/B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;QAEJ,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,GAAG;YACX,IAAI,EAAE;gBACJ,MAAM,EAAE,eAAe;aACxB;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,eAAe,CAAC,MAAM;aAC9B;SACF,CAAC,CAAC;IAEL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACpD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,6BAA6B;YACpC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;SAC3E,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAMF,MAAM,CAAC,IAAI,CAAC,aAAa,EACvB,6BAAW,EACX,KAAK,EAAE,GAAyB,EAAE,GAAG,EAAE,EAAE;IACvC,IAAI,CAAC;QAEH,eAAM,CAAC,IAAI,CAAC,oCAAoC,GAAG,CAAC,IAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAEnE,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,GAAG;YACX,IAAI,EAAE;gBACJ,OAAO,EAAE,8CAA8C;gBACvD,SAAS,EAAE,IAAI;aAChB;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,eAAe;gBACxB,KAAK,EAAE,YAAY;aACpB;SACF,CAAC,CAAC;IAEL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACxD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,iCAAiC;YACxC,OAAO,EAAE,6CAA6C;SACvD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAEF,kBAAe,MAAM,CAAC"} \ No newline at end of file diff --git a/apps/api/logs/combined.log b/apps/api/logs/combined.log index b862b2de..e299853d 100644 --- a/apps/api/logs/combined.log +++ b/apps/api/logs/combined.log @@ -3226,3 +3226,66 @@ {"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:52:57.822Z","url":"/v2/analyze/check/cmeoofb3e00012go3vwe870xw"} {"contentLength":"1280","duration":36,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********115","x-forwarded-proto":"*****","x-real-ip":"162*********115"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T19:52:57.855Z","url":"/v2/track/cmeoofb3e00012go3vwe870xw","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"} {"contentLength":"7103","duration":35,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********115","x-forwarded-proto":"*****","x-real-ip":"162*********115"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T19:52:57.857Z","url":"/v2/analyze/check/cmeoofb3e00012go3vwe870xw","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:54:41.452Z","url":"/v2/checks/recent?limit=20"} +{"contentLength":"189","duration":27,"headers":{"accept":"*/*","cookie":"aut**********htI","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T19:54:41.478Z","url":"/v2/checks/recent?limit=20","userAgent":"curl/7.81.0"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:56:35.653Z","url":"/api/v1/auth/login"} +{"level":"info","message":"Login attempt for email: andrei@cloudz.ro","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:56:35.659Z"} +{"level":"warn","message":"Login failed: Invalid password for email andrei@cloudz.ro","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:56:35.995Z"} +{"level":"warn","message":"Login failed: Invalid credentials","service":"redirect-intelligence-api","stack":"Error: Invalid credentials\n at AuthService.login (/root/catch_redirect/apps/api/dist/services/auth.service.js:90:19)\n at async /root/catch_redirect/apps/api/dist/routes/auth.routes.js:47:33","timestamp":"2025-08-23T19:56:35.996Z"} +{"contentLength":"72","duration":346,"headers":{"accept":"*/*","content-length":"56","content-type":"application/json","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"POST","service":"redirect-intelligence-api","statusCode":400,"timestamp":"2025-08-23T19:56:35.998Z","url":"/api/v1/auth/login","userAgent":"curl/7.81.0"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:57:38.343Z","url":"/v2/checks/recent?limit=20"} +{"contentLength":"189","duration":16,"headers":{"accept":"*/*","authorization":"Bea**********yVY","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T19:57:38.359Z","url":"/v2/checks/recent?limit=20","userAgent":"curl/7.81.0"} +{"level":"info","message":"SIGTERM received, shutting down gracefully","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:58:47.445Z"} +{"level":"info","message":"🚀 Redirect Intelligence v2 API Server running on http://localhost:3334","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:58:50.606Z"} +{"level":"info","message":"📖 API Documentation: http://localhost:3334/api/docs","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:58:50.612Z"} +{"level":"info","message":"🏥 Health Check: http://localhost:3334/health","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:58:50.613Z"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:58:57.575Z","url":"/health"} +{"contentLength":"100","duration":15,"headers":{"accept":"*/*","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T19:58:57.588Z","url":"/health","userAgent":"curl/7.81.0"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:59:07.663Z","url":"/v2/checks/recent?limit=5"} +{"contentLength":"189","duration":148,"headers":{"accept":"*/*","authorization":"Bea**********yVY","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T19:59:07.810Z","url":"/v2/checks/recent?limit=5","userAgent":"curl/7.81.0"} +{"level":"info","message":"SIGTERM received, shutting down gracefully","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:59:30.937Z"} +{"level":"info","message":"🚀 Redirect Intelligence v2 API Server running on http://localhost:3334","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:59:33.987Z"} +{"level":"info","message":"📖 API Documentation: http://localhost:3334/api/docs","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:59:33.992Z"} +{"level":"info","message":"🏥 Health Check: http://localhost:3334/health","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:59:33.992Z"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:59:41.070Z","url":"/health"} +{"contentLength":"100","duration":16,"headers":{"accept":"*/*","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T19:59:41.083Z","url":"/health","userAgent":"curl/7.81.0"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T19:59:50.422Z","url":"/v2/checks/recent?limit=5"} +{"contentLength":"6817","duration":193,"headers":{"accept":"*/*","authorization":"Bea**********yVY","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T19:59:50.614Z","url":"/v2/checks/recent?limit=5","userAgent":"curl/7.81.0"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:00:25.123Z","url":"/api/v1/auth/me"} +{"duration":19,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********.45","x-forwarded-proto":"*****","x-real-ip":"162********.45"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":304,"timestamp":"2025-08-23T20:00:25.140Z","url":"/api/v1/auth/me","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:00:25.328Z","url":"/v2/checks/recent?limit=20"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:00:25.331Z","url":"/v2/projects"} +{"contentLength":"10961","duration":43,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********.45","x-forwarded-proto":"*****","x-real-ip":"162********.45"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:00:25.370Z","url":"/v2/checks/recent?limit=20","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"} +{"contentLength":"298","duration":163,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********.45","x-forwarded-proto":"*****","x-real-ip":"162********.45"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:00:25.493Z","url":"/v2/projects","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:00:29.536Z","url":"/v2/analyze/check/cmeoofb3e00012go3vwe870xw"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:00:29.541Z","url":"/v2/track/cmeoofb3e00012go3vwe870xw"} +{"duration":22,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********.45","x-forwarded-proto":"*****","x-real-ip":"162********.45"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":304,"timestamp":"2025-08-23T20:00:29.563Z","url":"/v2/track/cmeoofb3e00012go3vwe870xw","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"} +{"contentLength":"7103","duration":30,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********.45","x-forwarded-proto":"*****","x-real-ip":"162********.45"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:00:29.565Z","url":"/v2/analyze/check/cmeoofb3e00012go3vwe870xw","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:01:10.219Z","url":"/v2/projects"} +{"contentLength":"298","duration":18,"headers":{"accept":"*/*","authorization":"Bea**********yVY","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:01:10.237Z","url":"/v2/projects","userAgent":"curl/7.81.0"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:01:17.345Z","url":"/v2/projects/cmeizda0t000kxqf4v8hnhqxt/checks?limit=5"} +{"contentLength":"20075","duration":25,"headers":{"accept":"*/*","authorization":"Bea**********yVY","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:01:17.370Z","url":"/v2/projects/cmeizda0t000kxqf4v8hnhqxt/checks?limit=5","userAgent":"curl/7.81.0"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:02:12.759Z","url":"/v2/track/cmeoofb3e00012go3vwe870xw"} +{"contentLength":"1280","duration":19,"headers":{"accept":"*/*","authorization":"Bea**********yVY","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:02:12.777Z","url":"/v2/track/cmeoofb3e00012go3vwe870xw","userAgent":"curl/7.81.0"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:02:35.662Z","url":"/v2/projects/cmeizda0t000kxqf4v8hnhqxt"} +{"contentLength":"3784","duration":26,"headers":{"accept":"*/*","authorization":"Bea**********yVY","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:02:35.689Z","url":"/v2/projects/cmeizda0t000kxqf4v8hnhqxt","userAgent":"curl/7.81.0"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:02:50.416Z","url":"/v2/analyze/comprehensive"} +{"level":"info","message":"Starting comprehensive analysis for: https://google.com","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:02:50.443Z","userId":"cmeizda0i000fxqf4mysy7x6m"} +{"level":"info","message":"Starting SSL analysis for: google.com:443","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:02:50.444Z"} +{"level":"info","message":"Starting SEO analysis for: https://google.com","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:02:50.537Z"} +{"level":"info","message":"Starting security analysis for: https://google.com","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:02:50.558Z"} +{"daysToExpiry":36,"level":"info","message":"SSL analysis completed for: google.com:443","securityScore":75,"service":"redirect-intelligence-api","timestamp":"2025-08-23T20:02:50.656Z","valid":true} +{"headersScore":15,"level":"info","message":"Security analysis completed for: https://google.com","mixedContent":"PRESENT","safeBrowsing":"safe","score":65,"service":"redirect-intelligence-api","timestamp":"2025-08-23T20:02:51.043Z"} +{"hasTitle":true,"level":"info","message":"SEO analysis completed for: https://google.com","noindex":false,"robotsStatus":"found","score":72,"service":"redirect-intelligence-api","timestamp":"2025-08-23T20:02:51.046Z"} +{"level":"info","message":"Comprehensive analysis completed for: https://google.com","overallScore":71,"securitySuccess":true,"seoSuccess":true,"service":"redirect-intelligence-api","sslSuccess":true,"timestamp":"2025-08-23T20:02:51.047Z","userId":"cmeizda0i000fxqf4mysy7x6m"} +{"contentLength":"7321","duration":633,"headers":{"accept":"*/*","authorization":"Bea**********yVY","content-length":"29","content-type":"application/json","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"POST","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:02:51.048Z","url":"/v2/analyze/comprehensive","userAgent":"curl/7.81.0"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:03:19.712Z","url":"/v2/analyze/check/cmeoofb3e00012go3vwe870xw"} +{"contentLength":"7103","duration":29,"headers":{"accept":"*/*","authorization":"Bea**********yVY","host":"localhost:3334","user-agent":"cur*****1.0"},"ip":"::ffff:127.0.0.1","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:03:19.740Z","url":"/v2/analyze/check/cmeoofb3e00012go3vwe870xw","userAgent":"curl/7.81.0"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:04:14.626Z","url":"/v2/analyze/check/cmej4gz4l0008o5ddkn23ngtk"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:04:14.632Z","url":"/v2/track/cmej4gz4l0008o5ddkn23ngtk"} +{"contentLength":"900","duration":23,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********221","x-forwarded-proto":"*****","x-real-ip":"172********221"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:04:14.649Z","url":"/v2/analyze/check/cmej4gz4l0008o5ddkn23ngtk","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"} +{"contentLength":"777","duration":21,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********221","x-forwarded-proto":"*****","x-real-ip":"172********221"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:04:14.652Z","url":"/v2/track/cmej4gz4l0008o5ddkn23ngtk","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:04:36.708Z","url":"/v2/track/cmej4hi4q000bo5ddeox6i6vw"} +{"error":"Invalid URL","level":"warn","message":"Failed to parse URL for redaction:","service":"redirect-intelligence-api","timestamp":"2025-08-23T20:04:36.713Z","url":"/v2/analyze/check/cmej4hi4q000bo5ddeox6i6vw"} +{"contentLength":"5041","duration":18,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********221","x-forwarded-proto":"*****","x-real-ip":"172********221"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:04:36.726Z","url":"/v2/track/cmej4hi4q000bo5ddeox6i6vw","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"} +{"contentLength":"5380","duration":20,"headers":{"accept":"application/json, text/plain, */*","accept-encoding":"gzip, br","accept-language":"en-GB,en;q=0.9","cf-connecting-ip":"83.******.45","cookie":"_ga**********$h0","host":"api.urltrackertool.com","origin":"htt**********com","referer":"htt**********om/","user-agent":"Moz**********.36","x-forwarded-for":"83.**********221","x-forwarded-proto":"*****","x-real-ip":"172********221"},"ip":"::ffff:10.0.0.5","level":"info","message":"Request completed","method":"GET","service":"redirect-intelligence-api","statusCode":200,"timestamp":"2025-08-23T20:04:36.733Z","url":"/v2/analyze/check/cmej4hi4q000bo5ddeox6i6vw","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"} diff --git a/apps/api/src/routes/tracking.routes.ts b/apps/api/src/routes/tracking.routes.ts index dbececca..f3a91c65 100644 --- a/apps/api/src/routes/tracking.routes.ts +++ b/apps/api/src/routes/tracking.routes.ts @@ -350,25 +350,71 @@ router.get('/checks/recent', async (req: AuthenticatedRequest, res) => { try { const { limit = 20 } = req.query; + const userId = req.user!.id; - // TODO: Implement cross-project recent checks in future phases - // For Phase 2, return checks from anonymous project as placeholder - const checks = await redirectTracker.listChecks( - 'anonymous-project', - Number(limit), - 0 - ); + // Get all checks for the user across all their projects + const checks = await prisma.check.findMany({ + where: { + project: { + organization: { + memberships: { + some: { + userId: userId + } + } + } + } + }, + include: { + project: { + select: { + name: true + } + }, + hops: { + orderBy: { + hopIndex: 'asc' + } + } + }, + orderBy: { + startedAt: 'desc' + }, + take: Number(limit) + }); + + // Format the checks to match the expected response format + const formattedChecks = checks.map(check => ({ + id: check.id, + inputUrl: check.inputUrl, + finalUrl: check.finalUrl, + method: check.method, + status: check.status, + startedAt: check.startedAt, + finishedAt: check.finishedAt, + totalTimeMs: check.totalTimeMs, + redirectCount: check.hops.length, + projectName: check.project.name, + hops: check.hops.map(hop => ({ + hopIndex: hop.hopIndex, + url: hop.url, + statusCode: hop.statusCode, + redirectType: hop.redirectType, + latencyMs: hop.latencyMs, + contentType: hop.contentType + })) + })); res.json({ success: true, status: 200, data: { - checks, - message: 'Cross-project recent checks will be implemented in a future phase' + checks: formattedChecks }, meta: { version: 'v2', - userId: req.user!.id, + userId: userId, + total: formattedChecks.length } });