490fa1469e
refactor(server/utils): create utility to return forum database's uid using the actual site's user id
2023-10-03 01:10:00 -04:00
6ae407c600
refactor(server/utils): add reusable ficmas utility functions
2023-10-03 01:07:29 -04:00
80438ecacd
refactor(server/utils): create custom winston logger
2023-10-03 01:03:31 -04:00
21360669d8
refactor(server/utils): add constants file
2023-10-03 00:53:10 -04:00
dd9fcaf5ae
refactor(api/utils): add story query helper function
...
to avoid having to write the same `populate` calls over and over
2023-10-03 00:52:24 -04:00
bef6e79317
refactor(server/utils): export all story helpers from a single index.ts
file
...
this is to remove the need for importing from several different files
2023-10-03 00:51:12 -04:00
1059b560e6
refactor(api/utils): replace repetitive "forbidden" and "unauthorized" literals with constant references
2023-10-03 00:50:00 -04:00
66d6168a31
refactor(server/utils): add transformer for regular chapter objects
...
this transforms a story object into a slightly different object to be served by the api. notable differences are the `totalChapters` field and the removal of the `chapters` array. `chapters` is then replaced by a `currentChapter` object, representing the currently "selected" chapter, with an added `text` field
2023-10-03 00:46:57 -04:00
c8bdcc0ec3
refactor(server/utils): create reusable utilities for various story-related functions
...
`bodyHandler` takes a request body and returns the chapter content as a string
`formChapterTransform` serializes a chapter-like object supplied in a request body to an actual
proper chapter object
`getBucket` retrieves the story content gridfs bucket
`replaceGridFS` either creates or updates (deletes + reuploads) a gridfs file
2023-10-03 00:42:24 -04:00
1338e87238
feat(api/utils): add isadmin check
2023-10-03 00:33:54 -04:00
a2300d959c
refactor(client-side): combine yup schema for story chapters with story schema file
2023-10-03 00:32:53 -04:00
f3a3240134
feat(client-side): create yup schema for story form and chapter sub-forms
2023-10-03 00:31:27 -04:00
c9574dfc29
refactor(server/utils): move listQuerier
to separate database helper folder
2023-10-03 00:30:22 -04:00
09187fa5ac
feat(api): add captcha verify utility
2023-10-03 00:26:51 -04:00
972e8fa646
refactor(typing): create interfaces to ensure strongly typed form data
2023-10-03 00:23:52 -04:00
2b0d478ca7
feat(api): add isLoggedIn
utility function
...
for api routes which require authentication
2023-10-02 16:20:13 -04:00
cfb1f69ffb
refactor(server/middleware): move common logic for maintaining a database connection to another file
2023-10-02 16:08:12 -04:00
983a7e3bdd
refactor: add utility functions
2023-10-02 15:55:38 -04:00
04e769ea90
refactor(client-side): modify form story+chapter types
...
chapters now have an optional id (for use when editing), and `fileName` has been simplified to `file`
2023-10-02 15:52:23 -04:00
ff4b94d913
feat(api): ✏️ add story api endpoints
...
(update/create/delete)
2023-10-02 15:44:55 -04:00
fea42915fb
refactor(api): update story query helper
...
it now filters out stories with nonexistent authors
2023-09-26 14:23:11 -04:00
a0ca4059e9
refactor: create importable database config
2023-09-25 19:54:05 -04:00
c0c11ba1ea
refactor(client-side): create reusable types
...
mostly contains interfaces for client-side forms
2023-09-25 19:44:47 -04:00
1b14d2b702
feat(components): create tinymce wrapper component
...
configs have also been created
2023-09-25 19:40:30 -04:00
740d8a9f2c
refactor(api): create story query helper
...
this is for retrieving + populating stories from a database with a specified query
2023-09-25 19:31:30 -04:00