diff --git a/.env.vault b/.env.vault index b9f6e05..3cb254c 100644 --- a/.env.vault +++ b/.env.vault @@ -13,8 +13,11 @@ SECRET="dev only" ADMIN_CLIENT_BASE_URL="http://localhost:5500/index.html" # development -DOTENV_VAULT_DEVELOPMENT="mk0ti7lLmG/jrGuAPr+qSYjuNneSX64I5tl1Jf1nVQr50vuBKUH9rDwasUlufWBn7f/IWF41+abK62LhoW/8FSqsHNjxa+q3UPSk34CdChVRPMs/szFNU3vbWfj5D/O+52/OM/M+W1kUqqTNacDsyhn1ZaR0td0CPe0JTeH2bZeR1aPhgUk69buhvho5jfRwtTYkb8SkwbW970fciMg9CHerWn29BWvZ6y4VUJnOqPzZ24xLMS/FgKyJHgKLmuWOircATgUS6RymWGX/NMdMV086ZWgIL7JhsnVWyYTI3i/RTMisIN+PTjTEVYLHSHvDdv3Ra1LTUYPXr+KSm4aJqfT76xL4O59QV3GpRWafPzDqLN4Bs9bPRN5NtUlLoux19txE0aBxA2ibZUCBYsJTR7+NDS37OqznC5IpEnYmbiEenMmdZQ69efizCViXsuwwNfoe7MtXUIbiVNPSayySKALihB99eepvI4PMFHGktcmgjZ7CxVabjr0vL865g11EUvLUwX/ljhqlL1NGLojuylTy2KIIK9oNmiyuKty22DPHku2VbXijB67XQtkKFwpnMZiXXMOTNBNkPIeBPkUv2YCLYNQ4ETtLzD/NrCsxDRMmXCaMmY7YURkeC36kraeHmLGILO8HIX1RZkXg5OTsVDpKDFm4" +DOTENV_VAULT_DEVELOPMENT="lv79OBiYa+y3MgpUnyyEwEgvVJvpc+VkuvcmW4/Iv6esxlgDDMyMcYYF1O7RkNt9dS5bO1YQOBz9ZagLt0e5BmD3b/RPdjrsTj9mblR/PE+NRAHfjc71oXk9mZDmcjd5rJlDSkfrjxIoF2hwtjR2pCd1mKG0uPowhLl323hY6EUFJwSOwd5spANH6SvwvkDI+q6LN7LTMOUsEcJ3zy5mcGZNMcWn+hsRehzwy+KppoElMaCqidnSXNUdS+cLJ30v52MqBL0Q7BgRu18ze7iyAj8BMnfhe1qZP4jZngzj/QUSkvfRx7kZ2X2JR9qHLXUv7gKINjlUUXvjlsz4OjRjyEuqDyeKdlDuHLbuFWsWZRNQQqzw0k+feXlGoq+2ew3yA2vSzu6zKpZS0k1uQG971FjR8gLpTlYqp8cVHF4=" # ci -DOTENV_VAULT_CI="ZG6WoGa4agRarWODwHiy3hbJV4xANDDBTiiCr+pc52CYYjZOT6BDlKoqqpc1eKce+pRW5yj2C2vvJW72se2IMmE5lRdswu35tQhQ3sI+fQjWCNOLSyshZLBNdz3rDFOFrCbW7EfnZtwEsK3vHIpTKVYkl4x1x7zQ59XC879xNuH8zi79NCBGj/BbvwEGl64/pqJyH6gh3Q/S2hqXmsPlL5a5Np40bJh6YNWZRmNhLvZVdw1lHNQ/SrVvsVu0L9XGqWF4OY9WcuwpgSlJpnbXBtqc2p8K9eOAxLstGJBg9j1t6t0BbW1OVzSP/xuJnu7noBrl48/1diiFiK4A1yl80sT3cO1ZyaBoRB3VTisQe3DuSk8KWx4I3hDVV7C2djNKorCXFrbtbIrCVdZaJ+Ql0B/Cimmj3jociCuxDumHmlzGV3EoEFS4G3qfphgMs8x7epXpCliR324wzNmZTj9LYJ8SCzU+29u9yiTIqFx3Ow4=" +DOTENV_VAULT_CI="ozMe3Yip67rK0mCiNes4NQNZ5FfqKejgoG1VL6lrjVNdJkC8kLPPB9atefZvvNCfyY2J39gyKGmmgnF4r5fWwG1OnKO2NZhmT6ssHJamP//HU4O9vxg2ZCvHuTDPCmMRpZgznKp5Hfbla8zPV16ACrJx/9sXKdjuwVWQM+hlZLxOWXcwHIyhFzzAJMXbRiTvBwZpgfwe/O+B1LV51KU91+U0zxNw/wjUMyVcGy4bBeRKEFJO3DnBfdVZ4UBbKigkamief37YM/qBcuRc/Y1wAbehm6w3S9F0g8Rn6Q+etp/sXmKveVQ7FyCb9Hft0UHtHCcY9z/Q5nToW6r0+utMzGJblDGZokppuc3MdvESsZaDMW5DzzBpTcweAnc=" + +# qa +DOTENV_VAULT_QA="t6Kj7ZqVSm5XOUj8X5BcRiyGRdOrAIqfn/3IOiclcxg33mvuxLPixxsNgrNiEViSnAxQib6k6ala8lxhUIAoSIoKCdImH9FY9yfyVffgDuWB079YlLygLBLtcBYoOj04XhsIcbuwa4YCN3LR3RvJT7Kl/4LAgb0B4oAxXT8P7ND7EwrswNTriirLUpEkGg5QnuhUjXvJo0eqWfh6hABZBTknaZgj+SHD6bR8CAchW1PuM5oj7aVUBwyz/qL7t81UJe1Q7pmiXg9twG6CPy+VaFvVvqxQFdvLK2q9BtT+Og5CmQSeQqyzHE1nvRrfcr8bFvJXRvx17Ld0c1LzkYM=" diff --git a/.gitignore b/.gitignore index f16c44b..2b8edd9 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ tmp # environment variables .env .env.ci +.env.qa .env.keys # google auth credentials diff --git a/src/models/entry.model.ts b/src/models/entry.model.ts index ecfad5d..6f7fabc 100644 --- a/src/models/entry.model.ts +++ b/src/models/entry.model.ts @@ -10,6 +10,7 @@ const EntrySchema = new mg.Schema( }, { timestamps: true, + toJSON: { virtuals: true }, virtuals: { full_name: { get() { diff --git a/src/routers/attendance.router.ts b/src/routers/attendance.router.ts index 0ea7fee..7d34d8e 100644 --- a/src/routers/attendance.router.ts +++ b/src/routers/attendance.router.ts @@ -1,10 +1,15 @@ import ex from "express"; -import { checkIn, checkOut } from "../services/attendance.service"; +import { checkIn, checkOut, getAllEntries } from "../services/attendance.service"; import { expressjwt } from "express-jwt"; import { SubmissionType, User } from "../types"; const attendanceRouter = ex.Router(); +attendanceRouter.get('/entries', async (req, res) => { + const entries = await getAllEntries(); + res.status(200).send({ entries }); +}) + attendanceRouter.use( expressjwt({ secret: process.env.SECRET as string, algorithms: ["HS256"] }), ); diff --git a/src/services/attendance.service.ts b/src/services/attendance.service.ts index 465bc74..3fbded5 100644 --- a/src/services/attendance.service.ts +++ b/src/services/attendance.service.ts @@ -21,3 +21,8 @@ export const checkOut = async (user: User) => { throw Error("Latest entry already has checked out: " + latest.end); await latest.updateOne({ end: new Date() }); }; + +export const getAllEntries = async () => { + const entries = await EntryModel.find(); + return entries +}