|
1 |
| -import { jwtClaims } from '#src/app'; |
2 | 1 | import { db } from '#src/utils';
|
3 | 2 |
|
4 | 3 | export const processScans = async () => {
|
5 | 4 | // This route is called once every minute by Amazon EventBridge Scheduler
|
6 | 5 | await db.connect();
|
7 |
| - const scans = (await db.query(`SELECT "id", "job_id", "property_id" FROM "scans" WHERE "processing"=TRUE ORDER BY "created_at" DESC`)).rows; |
| 6 | + const scans = (await db.query(`SELECT "id", "job_id", "property_id", "user_id" FROM "scans" WHERE "processing"=TRUE ORDER BY "created_at" DESC`)).rows; |
8 | 7 | await Promise.allSettled(scans.map(scan => new Promise(async (res) => {
|
9 | 8 | try {
|
10 | 9 | const { result, status } = await (await fetch(`https://scan.equalify.app/results/${scan.job_id}`)).json();
|
@@ -38,60 +37,60 @@ const scanProcessor = async ({ result, scan }) => {
|
38 | 37 | row.id =
|
39 | 38 | (await db.query({
|
40 | 39 | text: `SELECT "id" FROM "urls" WHERE "user_id"=$1 AND "url"=$2 AND "property_id"=$3`,
|
41 |
| - values: [jwtClaims.sub, row.url, scan.property_id], |
| 40 | + values: [scan.user_id, row.url, scan.property_id], |
42 | 41 | })).rows?.[0]?.id
|
43 | 42 | ??
|
44 | 43 | (await db.query({
|
45 | 44 | text: `INSERT INTO "urls" ("user_id", "url", "property_id") VALUES ($1, $2, $3) RETURNING "id"`,
|
46 |
| - values: [jwtClaims.sub, row.url, scan.property_id] |
| 45 | + values: [scan.user_id, row.url, scan.property_id] |
47 | 46 | })).rows?.[0]?.id;
|
48 | 47 | }
|
49 | 48 | for (const row of result.nodes) {
|
50 | 49 | row.id =
|
51 | 50 | (await db.query({
|
52 | 51 | text: `SELECT "id" FROM "enodes" WHERE "user_id"=$1 AND "html"=$2 AND "targets"=$3 AND "url_id"=$4`,
|
53 |
| - values: [jwtClaims.sub, row.html, JSON.stringify(row.targets), row.url_id], |
| 52 | + values: [scan.user_id, row.html, JSON.stringify(row.targets), row.url_id], |
54 | 53 | })).rows?.[0]?.id
|
55 | 54 | ??
|
56 | 55 | (await db.query({
|
57 | 56 | text: `INSERT INTO "enodes" ("user_id", "html", "targets", "url_id") VALUES ($1, $2, $3, $4) RETURNING "id"`,
|
58 |
| - values: [jwtClaims.sub, row.html, JSON.stringify(row.targets), result.urls.find(obj => obj.urlId === row.relatedUrlId).id], |
| 57 | + values: [scan.user_id, row.html, JSON.stringify(row.targets), result.urls.find(obj => obj.urlId === row.relatedUrlId).id], |
59 | 58 | })).rows?.[0]?.id;
|
60 | 59 | }
|
61 | 60 | for (const row of result.tags) {
|
62 | 61 | row.id =
|
63 | 62 | (await db.query({
|
64 | 63 | text: `SELECT "id" FROM "tags" WHERE "user_id"=$1 AND "tag"=$2`,
|
65 |
| - values: [jwtClaims.sub, row.tag], |
| 64 | + values: [scan.user_id, row.tag], |
66 | 65 | })).rows?.[0]?.id
|
67 | 66 | ??
|
68 | 67 | (await db.query({
|
69 | 68 | text: `INSERT INTO "tags" ("user_id", "tag") VALUES ($1, $2) RETURNING "id"`,
|
70 |
| - values: [jwtClaims.sub, row.tag], |
| 69 | + values: [scan.user_id, row.tag], |
71 | 70 | })).rows?.[0]?.id;
|
72 | 71 | }
|
73 | 72 | for (const row of result.messages) {
|
74 | 73 | row.id =
|
75 | 74 | (await db.query({
|
76 | 75 | text: `SELECT "id" FROM "messages" WHERE "user_id"=$1 AND "message"=$2 AND "type"=$3`,
|
77 |
| - values: [jwtClaims.sub, row.message, row.type], |
| 76 | + values: [scan.user_id, row.message, row.type], |
78 | 77 | })).rows?.[0]?.id
|
79 | 78 | ??
|
80 | 79 | (await db.query({
|
81 | 80 | text: `INSERT INTO "messages" ("user_id", "message", "type") VALUES ($1, $2, $3) RETURNING "id"`,
|
82 |
| - values: [jwtClaims.sub, row.message, row.type], |
| 81 | + values: [scan.user_id, row.message, row.type], |
83 | 82 | })).rows?.[0]?.id;
|
84 | 83 |
|
85 | 84 | for (const relatedNodeId of row.relatedNodeIds) {
|
86 | 85 | await db.query({
|
87 | 86 | text: `INSERT INTO "message_nodes" ("user_id", "message_id", "enode_id") VALUES ($1, $2, $3)`,
|
88 |
| - values: [jwtClaims.sub, row.id, result.nodes.find(obj => obj.nodeId === relatedNodeId).id] |
| 87 | + values: [scan.user_id, row.id, result.nodes.find(obj => obj.nodeId === relatedNodeId).id] |
89 | 88 | })
|
90 | 89 | }
|
91 | 90 | for (const relatedTagId of row.relatedTagIds) {
|
92 | 91 | await db.query({
|
93 | 92 | text: `INSERT INTO "message_tags" ("user_id", "message_id", "tag_id") VALUES ($1, $2, $3)`,
|
94 |
| - values: [jwtClaims.sub, row.id, result.tags.find(obj => obj.tagId === relatedTagId).id] |
| 93 | + values: [scan.user_id, row.id, result.tags.find(obj => obj.tagId === relatedTagId).id] |
95 | 94 | })
|
96 | 95 | }
|
97 | 96 | }
|
|
0 commit comments