eletrotupi / tcc/ commit / e5b1e91

api: cors, jwt and extended logging for express

Pedro Lucas Porcellis porcellis@eletrotupi.com · 6 months ago e5b1e91e859c14b9fe2e27d04601f3dd809c9e29 Browse files
Parents f09fe61
Changed files
2
Additions
+161
Deletions
-4
api/package-lock.json modified+156 -3
api/package-lock.json
1 1
{
2 2
  "name": "orbit-api",
3 3
  "version": "0.0.0",
4 4
  "lockfileVersion": 3,
5 5
  "requires": true,
9 9
      "version": "0.0.0",
10 10
      "license": "ISC",
11 11
      "dependencies": {
12 12
        "@prisma/adapter-better-sqlite3": "^7.5.0",
13 13
        "@prisma/client": "^7.5.0",
14 +
        "@types/cors": "^2.8.19",
15 +
        "@types/jsonwebtoken": "^9.0.10",
14 16
        "bcryptjs": "^3.0.3",
15 17
        "better-sqlite3": "^12.5.0",
18 +
        "cors": "^2.8.6",
16 19
        "date-fns": "^4.1.0",
17 -
        "express": "^5.2.1"
20 +
        "express": "^5.2.1",
21 +
        "jsonwebtoken": "^9.0.3"
18 22
      },
19 23
      "devDependencies": {
20 24
        "@types/better-sqlite3": "^7.6.13",
21 25
        "@types/express": "^5.0.6",
22 26
        "@types/node": "^25.5.0",
600 604
      "license": "MIT",
601 605
      "dependencies": {
602 606
        "@types/node": "*"
603 607
      }
604 608
    },
609 +
    "node_modules/@types/cors": {
610 +
      "version": "2.8.19",
611 +
      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz",
612 +
      "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==",
613 +
      "license": "MIT",
614 +
      "dependencies": {
615 +
        "@types/node": "*"
616 +
      }
617 +
    },
605 618
    "node_modules/@types/estree": {
606 619
      "version": "1.0.8",
607 620
      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
608 621
      "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
609 622
      "dev": true,
639 652
      "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz",
640 653
      "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==",
641 654
      "dev": true,
642 655
      "license": "MIT"
643 656
    },
657 +
    "node_modules/@types/jsonwebtoken": {
658 +
      "version": "9.0.10",
659 +
      "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.10.tgz",
660 +
      "integrity": "sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==",
661 +
      "license": "MIT",
662 +
      "dependencies": {
663 +
        "@types/ms": "*",
664 +
        "@types/node": "*"
665 +
      }
666 +
    },
667 +
    "node_modules/@types/ms": {
668 +
      "version": "2.1.0",
669 +
      "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
670 +
      "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
671 +
      "license": "MIT"
672 +
    },
644 673
    "node_modules/@types/node": {
645 674
      "version": "25.5.0",
646 675
      "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz",
647 676
      "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==",
648 -
      "dev": true,
649 677
      "license": "MIT",
650 678
      "dependencies": {
651 679
        "undici-types": "~7.18.0"
652 680
      }
653 681
    },
1159 1187
      "dependencies": {
1160 1188
        "base64-js": "^1.3.1",
1161 1189
        "ieee754": "^1.1.13"
1162 1190
      }
1163 1191
    },
1192 +
    "node_modules/buffer-equal-constant-time": {
1193 +
      "version": "1.0.1",
1194 +
      "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
1195 +
      "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==",
1196 +
      "license": "BSD-3-Clause"
1197 +
    },
1164 1198
    "node_modules/bytes": {
1165 1199
      "version": "3.1.2",
1166 1200
      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
1167 1201
      "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
1168 1202
      "license": "MIT",
1630 1664
      "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
1631 1665
      "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==",
1632 1666
      "dev": true,
1633 1667
      "license": "MIT"
1634 1668
    },
1669 +
    "node_modules/cors": {
1670 +
      "version": "2.8.6",
1671 +
      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz",
1672 +
      "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==",
1673 +
      "license": "MIT",
1674 +
      "dependencies": {
1675 +
        "object-assign": "^4",
1676 +
        "vary": "^1"
1677 +
      },
1678 +
      "engines": {
1679 +
        "node": ">= 0.10"
1680 +
      },
1681 +
      "funding": {
1682 +
        "type": "opencollective",
1683 +
        "url": "https://opencollective.com/express"
1684 +
      }
1685 +
    },
1635 1686
    "node_modules/create-require": {
1636 1687
      "version": "1.1.1",
1637 1688
      "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
1638 1689
      "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
1639 1690
      "dev": true,
1876 1927
      "version": "0.2.0",
1877 1928
      "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
1878 1929
      "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
1879 1930
      "dev": true,
1880 1931
      "license": "MIT"
1932 +
    },
1933 +
    "node_modules/ecdsa-sig-formatter": {
1934 +
      "version": "1.0.11",
1935 +
      "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
1936 +
      "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
1937 +
      "license": "Apache-2.0",
1938 +
      "dependencies": {
1939 +
        "safe-buffer": "^5.0.1"
1940 +
      }
1881 1941
    },
1882 1942
    "node_modules/ee-first": {
1883 1943
      "version": "1.1.1",
1884 1944
      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
1885 1945
      "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
2940 3000
      },
2941 3001
      "engines": {
2942 3002
        "node": ">=6"
2943 3003
      }
2944 3004
    },
3005 +
    "node_modules/jsonwebtoken": {
3006 +
      "version": "9.0.3",
3007 +
      "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz",
3008 +
      "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==",
3009 +
      "license": "MIT",
3010 +
      "dependencies": {
3011 +
        "jws": "^4.0.1",
3012 +
        "lodash.includes": "^4.3.0",
3013 +
        "lodash.isboolean": "^3.0.3",
3014 +
        "lodash.isinteger": "^4.0.4",
3015 +
        "lodash.isnumber": "^3.0.3",
3016 +
        "lodash.isplainobject": "^4.0.6",
3017 +
        "lodash.isstring": "^4.0.1",
3018 +
        "lodash.once": "^4.0.0",
3019 +
        "ms": "^2.1.1",
3020 +
        "semver": "^7.5.4"
3021 +
      },
3022 +
      "engines": {
3023 +
        "node": ">=12",
3024 +
        "npm": ">=6"
3025 +
      }
3026 +
    },
3027 +
    "node_modules/jwa": {
3028 +
      "version": "2.0.1",
3029 +
      "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz",
3030 +
      "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==",
3031 +
      "license": "MIT",
3032 +
      "dependencies": {
3033 +
        "buffer-equal-constant-time": "^1.0.1",
3034 +
        "ecdsa-sig-formatter": "1.0.11",
3035 +
        "safe-buffer": "^5.0.1"
3036 +
      }
3037 +
    },
3038 +
    "node_modules/jws": {
3039 +
      "version": "4.0.1",
3040 +
      "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz",
3041 +
      "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==",
3042 +
      "license": "MIT",
3043 +
      "dependencies": {
3044 +
        "jwa": "^2.0.1",
3045 +
        "safe-buffer": "^5.0.1"
3046 +
      }
3047 +
    },
2945 3048
    "node_modules/lilconfig": {
2946 3049
      "version": "2.1.0",
2947 3050
      "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
2948 3051
      "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
2949 3052
      "devOptional": true,
2968 3071
    "node_modules/lodash": {
2969 3072
      "version": "4.17.21",
2970 3073
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
2971 3074
      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
2972 3075
      "devOptional": true,
3076 +
      "license": "MIT"
3077 +
    },
3078 +
    "node_modules/lodash.includes": {
3079 +
      "version": "4.3.0",
3080 +
      "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
3081 +
      "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==",
3082 +
      "license": "MIT"
3083 +
    },
3084 +
    "node_modules/lodash.isboolean": {
3085 +
      "version": "3.0.3",
3086 +
      "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
3087 +
      "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==",
3088 +
      "license": "MIT"
3089 +
    },
3090 +
    "node_modules/lodash.isinteger": {
3091 +
      "version": "4.0.4",
3092 +
      "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
3093 +
      "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==",
3094 +
      "license": "MIT"
3095 +
    },
3096 +
    "node_modules/lodash.isnumber": {
3097 +
      "version": "3.0.3",
3098 +
      "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
3099 +
      "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==",
3100 +
      "license": "MIT"
3101 +
    },
3102 +
    "node_modules/lodash.isplainobject": {
3103 +
      "version": "4.0.6",
3104 +
      "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
3105 +
      "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
3106 +
      "license": "MIT"
3107 +
    },
3108 +
    "node_modules/lodash.isstring": {
3109 +
      "version": "4.0.1",
3110 +
      "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
3111 +
      "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==",
3112 +
      "license": "MIT"
3113 +
    },
3114 +
    "node_modules/lodash.once": {
3115 +
      "version": "4.1.1",
3116 +
      "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
3117 +
      "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==",
2973 3118
      "license": "MIT"
2974 3119
    },
2975 3120
    "node_modules/long": {
2976 3121
      "version": "5.3.2",
2977 3122
      "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
3427 3572
      "version": "0.2.1",
3428 3573
      "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.1.tgz",
3429 3574
      "integrity": "sha512-kEV95lFBhQgtogAPlQfJJ0WGVSokvLr/UEoFPiKKOXF7pl98HfUVUD0ejsuTCld/9xH9vogSywZ5KqHzXrZpqg==",
3430 3575
      "devOptional": true,
3431 3576
      "license": "MIT"
3577 +
    },
3578 +
    "node_modules/object-assign": {
3579 +
      "version": "4.1.1",
3580 +
      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
3581 +
      "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
3582 +
      "license": "MIT",
3583 +
      "engines": {
3584 +
        "node": ">=0.10.0"
3585 +
      }
3432 3586
    },
3433 3587
    "node_modules/object-inspect": {
3434 3588
      "version": "1.13.4",
3435 3589
      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
3436 3590
      "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
4952 5106
    },
4953 5107
    "node_modules/undici-types": {
4954 5108
      "version": "7.18.2",
4955 5109
      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
4956 5110
      "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
4957 -
      "dev": true,
4958 5111
      "license": "MIT"
4959 5112
    },
4960 5113
    "node_modules/unicorn-magic": {
4961 5114
      "version": "0.3.0",
4962 5115
      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
5338 5491
        "graphmatch": "^1.1.0"
5339 5492
      }
5340 5493
    }
5341 5494
  }
5342 5495
}
api/package.json modified+5 -1
api/package.json
1 1
{
2 2
  "name": "orbit-api",
3 3
  "version": "0.0.0",
4 4
  "description": "",
5 5
  "license": "ISC",
14 14
    "test": "npx ava"
15 15
  },
16 16
  "dependencies": {
17 17
    "@prisma/adapter-better-sqlite3": "^7.5.0",
18 18
    "@prisma/client": "^7.5.0",
19 +
    "@types/cors": "^2.8.19",
20 +
    "@types/jsonwebtoken": "^9.0.10",
19 21
    "bcryptjs": "^3.0.3",
20 22
    "better-sqlite3": "^12.5.0",
23 +
    "cors": "^2.8.6",
21 24
    "date-fns": "^4.1.0",
22 -
    "express": "^5.2.1"
25 +
    "express": "^5.2.1",
26 +
    "jsonwebtoken": "^9.0.3"
23 27
  },
24 28
  "devDependencies": {
25 29
    "@types/better-sqlite3": "^7.6.13",
26 30
    "@types/express": "^5.0.6",
27 31
    "@types/node": "^25.5.0",
31 35
    "ts-node": "^10.9.2",
32 36
    "tsc-alias": "^1.8.16",
33 37
    "tsconfig-paths": "^4.2.0"
34 38
  }
35 39
}