.
├── ./Dockerfile
├── ./README.md
├── ./package.json
├── ./src
│   ├── ./src/app.controller.spec.ts
│   ├── ./src/app.controller.ts
│   ├── ./src/app.module.ts
│   ├── ./src/app.service.ts
│   ├── ./src/constants
│   ├── ./src/entities
│   │   ├── ./src/entities/authorUser.entity.ts
│   │   ├── ./src/entities/base.entity.ts
│   │   ├── ./src/entities/blockComment.entity.ts
│   │   ├── ./src/entities/blockCommentNotification.entity.ts
│   │   ├── ./src/entities/blockCommentReaction.entity.ts
│   │   ├── ./src/entities/blockMemo.entity.ts
│   │   ├── ./src/entities/book.entity.ts
│   │   ├── ./src/entities/coupon.entity.ts
│   │   ├── ./src/entities/couponLog.entity.ts
│   │   ├── ./src/entities/couponUseLog.entity.ts
│   │   ├── ./src/entities/device.entity.ts
│   │   ├── ./src/entities/notification.entity.ts
│   │   ├── ./src/entities/notificationDevice.entity.ts
│   │   ├── ./src/entities/notionPage.entity.ts
│   │   ├── ./src/entities/oAuth.entity.ts
│   │   ├── ./src/entities/order.entity.ts
│   │   ├── ./src/entities/section.entity.ts
│   │   ├── ./src/entities/user.entity.ts
│   │   ├── ./src/entities/userBook.entity.ts
│   │   ├── ./src/entities/userBookmark.entity.ts
│   │   └── ./src/entities/userSetting.entity.ts
│   ├── ./src/errors
│   │   ├── ./src/errors/BookNotFoundException.ts
│   │   ├── ./src/errors/UserNotFoundException.ts
│   │   └── ./src/errors/index.ts
│   ├── ./src/filters
│   │   └── ./src/filters/EntityNotFoundException.filter.ts
│   ├── ./src/libs
│   │   ├── ./src/libs/notion-client
│   │   │   ├── ./src/libs/notion-client/index.ts
│   │   │   ├── ./src/libs/notion-client/notion-api.ts
│   │   │   └── ./src/libs/notion-client/types.ts
│   │   └── ./src/libs/notion-utils
│   │       ├── ./src/libs/notion-utils/getBlockCollectionId.ts
│   │       ├── ./src/libs/notion-utils/getPageContentBlockIds.ts
│   │       ├── ./src/libs/notion-utils/idToUuid.ts
│   │       ├── ./src/libs/notion-utils/index.ts
│   │       ├── ./src/libs/notion-utils/parsePageId.ts
│   │       └── ./src/libs/notion-utils/uuidToId.ts
│   ├── ./src/main.ts
│   ├── ./src/modules
│   │   ├── ./src/modules/auth
│   │   │   ├── ./src/modules/auth/auth.controller.ts
│   │   │   ├── ./src/modules/auth/auth.module.ts
│   │   │   ├── ./src/modules/auth/auth.service.ts
│   │   │   ├── ./src/modules/auth/decorators
│   │   │   │   ├── ./src/modules/auth/decorators/Client.decorator.ts
│   │   │   │   ├── ./src/modules/auth/decorators/Role.decorator.ts
│   │   │   │   └── ./src/modules/auth/decorators/index.ts
│   │   │   ├── ./src/modules/auth/dto
│   │   │   │   ├── ./src/modules/auth/dto/IssueToken.req.dto.ts
│   │   │   │   └── ./src/modules/auth/dto/oauth-google.dto.ts
│   │   │   ├── ./src/modules/auth/googleOAuth.service.ts
│   │   │   ├── ./src/modules/auth/guards
│   │   │   │   └── ./src/modules/auth/guards/role.guard.ts
│   │   │   ├── ./src/modules/auth/index.ts
│   │   │   ├── ./src/modules/auth/oAuth.service.ts
│   │   │   └── ./src/modules/auth/token.service.ts
│   │   ├── ./src/modules/book
│   │   │   ├── ./src/modules/book/book.controller.ts
│   │   │   ├── ./src/modules/book/book.module.ts
│   │   │   ├── ./src/modules/book/book.service.ts
│   │   │   ├── ./src/modules/book/bookAuth.service.ts
│   │   │   ├── ./src/modules/book/dto
│   │   │   │   ├── ./src/modules/book/dto/CreateBook.req.dto.ts
│   │   │   │   ├── ./src/modules/book/dto/ListAdminBook.req.dto.ts
│   │   │   │   ├── ./src/modules/book/dto/ListBook.req.dto.ts
│   │   │   │   └── ./src/modules/book/dto/UpdateBook.req.dto.ts
│   │   │   └── ./src/modules/book/modules
│   │   │       ├── ./src/modules/book/modules/author
│   │   │       │   ├── ./src/modules/book/modules/author/author.controller.ts
│   │   │       │   ├── ./src/modules/book/modules/author/author.module.ts
│   │   │       │   ├── ./src/modules/book/modules/author/author.service.ts
│   │   │       │   └── ./src/modules/book/modules/author/dto
│   │   │       │       ├── ./src/modules/book/modules/author/dto/AddAuthorUser.req.dto.ts
│   │   │       │       └── ./src/modules/book/modules/author/dto/UpdateAuthorUser.req.dto.ts
│   │   │       ├── ./src/modules/book/modules/bookmark
│   │   │       │   ├── ./src/modules/book/modules/bookmark/bookmark.controller.ts
│   │   │       │   ├── ./src/modules/book/modules/bookmark/bookmark.module.ts
│   │   │       │   ├── ./src/modules/book/modules/bookmark/bookmark.service.ts
│   │   │       │   └── ./src/modules/book/modules/bookmark/dto
│   │   │       │       └── ./src/modules/book/modules/bookmark/dto/createBookmark.req.dto.ts
│   │   │       └── ./src/modules/book/modules/section
│   │   │           ├── ./src/modules/book/modules/section/dto
│   │   │           │   ├── ./src/modules/book/modules/section/dto/LoadSection.req.dto.ts
│   │   │           │   ├── ./src/modules/book/modules/section/dto/LoadSection.res.dto.ts
│   │   │           │   └── ./src/modules/book/modules/section/dto/UpdateSection.req.dto.ts
│   │   │           ├── ./src/modules/book/modules/section/load.service.ts
│   │   │           ├── ./src/modules/book/modules/section/modules
│   │   │           │   ├── ./src/modules/book/modules/section/modules/blockComment
│   │   │           │   │   ├── ./src/modules/book/modules/section/modules/blockComment/comment.controller.ts
│   │   │           │   │   ├── ./src/modules/book/modules/section/modules/blockComment/comment.module.ts
│   │   │           │   │   ├── ./src/modules/book/modules/section/modules/blockComment/comment.service.ts
│   │   │           │   │   ├── ./src/modules/book/modules/section/modules/blockComment/dto
│   │   │           │   │   │   ├── ./src/modules/book/modules/section/modules/blockComment/dto/CreateBlockComment.req.dto.ts
│   │   │           │   │   │   └── ./src/modules/book/modules/section/modules/blockComment/dto/UpdateBlockComment.req.dto.ts
│   │   │           │   │   └── ./src/modules/book/modules/section/modules/blockComment/modules
│   │   │           │   │       ├── ./src/modules/book/modules/section/modules/blockComment/modules/blockCommentReaction
│   │   │           │   │       │   ├── ./src/modules/book/modules/section/modules/blockComment/modules/blockCommentReaction/dto
│   │   │           │   │       │   │   └── ./src/modules/book/modules/section/modules/blockComment/modules/blockCommentReaction/dto/CreateBlockCommentReaction.req.dto.ts
│   │   │           │   │       │   ├── ./src/modules/book/modules/section/modules/blockComment/modules/blockCommentReaction/reaction.controller.ts
│   │   │           │   │       │   ├── ./src/modules/book/modules/section/modules/blockComment/modules/blockCommentReaction/reaction.module.ts
│   │   │           │   │       │   └── ./src/modules/book/modules/section/modules/blockComment/modules/blockCommentReaction/reaction.service.ts
│   │   │           │   │       └── ./src/modules/book/modules/section/modules/blockComment/modules/notification
│   │   │           │   │           ├── ./src/modules/book/modules/section/modules/blockComment/modules/notification/notification.controller.ts
│   │   │           │   │           ├── ./src/modules/book/modules/section/modules/blockComment/modules/notification/notification.module.ts
│   │   │           │   │           └── ./src/modules/book/modules/section/modules/blockComment/modules/notification/notification.service.ts
│   │   │           │   ├── ./src/modules/book/modules/section/modules/blockMemo
│   │   │           │   │   ├── ./src/modules/book/modules/section/modules/blockMemo/dto
│   │   │           │   │   │   ├── ./src/modules/book/modules/section/modules/blockMemo/dto/CreateBlockMemo.req.dto.ts
│   │   │           │   │   │   └── ./src/modules/book/modules/section/modules/blockMemo/dto/UpdateBlockMemo.req.dto.ts
│   │   │           │   │   ├── ./src/modules/book/modules/section/modules/blockMemo/memo.controller.ts
│   │   │           │   │   ├── ./src/modules/book/modules/section/modules/blockMemo/memo.module.ts
│   │   │           │   │   └── ./src/modules/book/modules/section/modules/blockMemo/memo.service.ts
│   │   │           │   └── ./src/modules/book/modules/section/modules/export
│   │   │           │       ├── ./src/modules/book/modules/section/modules/export/export.module.ts
│   │   │           │       └── ./src/modules/book/modules/section/modules/export/pdf
│   │   │           │           ├── ./src/modules/book/modules/section/modules/export/pdf/assets
│   │   │           │           │   ├── ./src/modules/book/modules/section/modules/export/pdf/assets/logo-transparent-white-fit.png
│   │   │           │           │   └── ./src/modules/book/modules/section/modules/export/pdf/assets/logo.png
│   │   │           │           ├── ./src/modules/book/modules/section/modules/export/pdf/convertPDF.service.ts
│   │   │           │           ├── ./src/modules/book/modules/section/modules/export/pdf/downloadHTML.service.ts
│   │   │           │           ├── ./src/modules/book/modules/section/modules/export/pdf/dto
│   │   │           │           │   └── ./src/modules/book/modules/section/modules/export/pdf/dto/ExportPDF.req.dto.ts
│   │   │           │           ├── ./src/modules/book/modules/section/modules/export/pdf/helpers
│   │   │           │           │   ├── ./src/modules/book/modules/section/modules/export/pdf/helpers/convertPDF.ts
│   │   │           │           │   ├── ./src/modules/book/modules/section/modules/export/pdf/helpers/downloadNotionHTMLZip.ts
│   │   │           │           │   ├── ./src/modules/book/modules/section/modules/export/pdf/helpers/getHTMLFileName.ts
│   │   │           │           │   ├── ./src/modules/book/modules/section/modules/export/pdf/helpers/getPaths.ts
│   │   │           │           │   ├── ./src/modules/book/modules/section/modules/export/pdf/helpers/mergePDF.ts
│   │   │           │           │   ├── ./src/modules/book/modules/section/modules/export/pdf/helpers/preprocessHTML.ts
│   │   │           │           │   ├── ./src/modules/book/modules/section/modules/export/pdf/helpers/removeHTMLZip.ts
│   │   │           │           │   ├── ./src/modules/book/modules/section/modules/export/pdf/helpers/style.css
│   │   │           │           │   └── ./src/modules/book/modules/section/modules/export/pdf/helpers/utils.ts
│   │   │           │           ├── ./src/modules/book/modules/section/modules/export/pdf/pdf.controller.ts
│   │   │           │           ├── ./src/modules/book/modules/section/modules/export/pdf/pdf.module.ts
│   │   │           │           ├── ./src/modules/book/modules/section/modules/export/pdf/pdf.service.ts
│   │   │           │           ├── ./src/modules/book/modules/section/modules/export/pdf/utils
│   │   │           │           │   ├── ./src/modules/book/modules/section/modules/export/pdf/utils/convertToUUID.ts
│   │   │           │           │   ├── ./src/modules/book/modules/section/modules/export/pdf/utils/sleep.ts
│   │   │           │           │   ├── ./src/modules/book/modules/section/modules/export/pdf/utils/timeout.ts
│   │   │           │           │   └── ./src/modules/book/modules/section/modules/export/pdf/utils/unzip.ts
│   │   │           │           └── ./src/modules/book/modules/section/modules/export/pdf/utils.service.ts
│   │   │           ├── ./src/modules/book/modules/section/section.controller.ts
│   │   │           ├── ./src/modules/book/modules/section/section.module.ts
│   │   │           └── ./src/modules/book/modules/section/section.service.ts
│   │   ├── ./src/modules/coupon
│   │   │   ├── ./src/modules/coupon/coupon.controller.ts
│   │   │   ├── ./src/modules/coupon/coupon.module.ts
│   │   │   ├── ./src/modules/coupon/coupon.service.ts
│   │   │   ├── ./src/modules/coupon/couponValidate.service.ts
│   │   │   └── ./src/modules/coupon/dto
│   │   │       ├── ./src/modules/coupon/dto/CreateCoupon.req.dto.ts
│   │   │       ├── ./src/modules/coupon/dto/ListCoupon.req.dto.ts
│   │   │       └── ./src/modules/coupon/dto/UpdateCoupon.req.dto.ts
│   │   ├── ./src/modules/notification
│   │   │   ├── ./src/modules/notification/notification.module.ts
│   │   │   └── ./src/modules/notification/notification.service.ts
│   │   ├── ./src/modules/notion
│   │   │   ├── ./src/modules/notion/notion.module.ts
│   │   │   └── ./src/modules/notion/notion.service.ts
│   │   ├── ./src/modules/notionPage
│   │   │   ├── ./src/modules/notionPage/dto
│   │   │   │   ├── ./src/modules/notionPage/dto/GetNotionPages.req.dto.ts
│   │   │   │   ├── ./src/modules/notionPage/dto/LoadNotionPage.req.dto.ts
│   │   │   │   ├── ./src/modules/notionPage/dto/LoadNotionPage.res.dto.ts
│   │   │   │   └── ./src/modules/notionPage/dto/ReloadNotionPage.req.dto.ts
│   │   │   ├── ./src/modules/notionPage/notionPage.controller.ts
│   │   │   ├── ./src/modules/notionPage/notionPage.module.ts
│   │   │   └── ./src/modules/notionPage/notionPage.service.ts
│   │   ├── ./src/modules/order
│   │   │   ├── ./src/modules/order/dto
│   │   │   │   └── ./src/modules/order/dto/listOrder.req.dto.ts
│   │   │   ├── ./src/modules/order/order.controller.ts
│   │   │   ├── ./src/modules/order/order.module.ts
│   │   │   └── ./src/modules/order/order.service.ts
│   │   ├── ./src/modules/s3
│   │   │   ├── ./src/modules/s3/dto
│   │   │   │   └── ./src/modules/s3/dto/UploadFile.req.dto.ts
│   │   │   ├── ./src/modules/s3/s3.controller.ts
│   │   │   ├── ./src/modules/s3/s3.module.ts
│   │   │   └── ./src/modules/s3/s3.service.ts
│   │   ├── ./src/modules/user
│   │   │   ├── ./src/modules/user/decorators
│   │   │   │   └── ./src/modules/user/decorators/UserId.decorator.ts
│   │   │   ├── ./src/modules/user/dto
│   │   │   │   ├── ./src/modules/user/dto/CreateUser.req.dto.ts
│   │   │   │   ├── ./src/modules/user/dto/ListUser.req.dto.ts
│   │   │   │   ├── ./src/modules/user/dto/SearchUser.req.dto.ts
│   │   │   │   └── ./src/modules/user/dto/UpdateUser.req.dto.ts
│   │   │   ├── ./src/modules/user/guards
│   │   │   │   └── ./src/modules/user/guards/userId.guard.ts
│   │   │   ├── ./src/modules/user/modules
│   │   │   │   ├── ./src/modules/user/modules/book
│   │   │   │   │   ├── ./src/modules/user/modules/book/book.controller.ts
│   │   │   │   │   ├── ./src/modules/user/modules/book/book.module.ts
│   │   │   │   │   └── ./src/modules/user/modules/book/book.service.ts
│   │   │   │   ├── ./src/modules/user/modules/device
│   │   │   │   │   ├── ./src/modules/user/modules/device/device.controller.ts
│   │   │   │   │   ├── ./src/modules/user/modules/device/device.module.ts
│   │   │   │   │   └── ./src/modules/user/modules/device/device.service.ts
│   │   │   │   ├── ./src/modules/user/modules/notification
│   │   │   │   │   ├── ./src/modules/user/modules/notification/dto
│   │   │   │   │   │   └── ./src/modules/user/modules/notification/dto/ListNotification.req.dto.ts
│   │   │   │   │   ├── ./src/modules/user/modules/notification/modules
│   │   │   │   │   │   └── ./src/modules/user/modules/notification/modules/device
│   │   │   │   │   │       ├── ./src/modules/user/modules/notification/modules/device/device.controller.ts
│   │   │   │   │   │       ├── ./src/modules/user/modules/notification/modules/device/device.module.ts
│   │   │   │   │   │       ├── ./src/modules/user/modules/notification/modules/device/device.service.ts
│   │   │   │   │   │       └── ./src/modules/user/modules/notification/modules/device/dto
│   │   │   │   │   │           └── ./src/modules/user/modules/notification/modules/device/dto/RegisterUserNotificationDevice.req.dto.ts
│   │   │   │   │   ├── ./src/modules/user/modules/notification/notification.controller.ts
│   │   │   │   │   ├── ./src/modules/user/modules/notification/notification.module.ts
│   │   │   │   │   └── ./src/modules/user/modules/notification/notification.service.ts
│   │   │   │   ├── ./src/modules/user/modules/order
│   │   │   │   │   ├── ./src/modules/user/modules/order/dto
│   │   │   │   │   │   ├── ./src/modules/user/modules/order/dto/ApproveOrder.req.dto.ts
│   │   │   │   │   │   ├── ./src/modules/user/modules/order/dto/CancelOrder.req.dto.ts
│   │   │   │   │   │   ├── ./src/modules/user/modules/order/dto/CashOrder.req.dto.ts
│   │   │   │   │   │   ├── ./src/modules/user/modules/order/dto/CreateOrder.req.dto.ts
│   │   │   │   │   │   └── ./src/modules/user/modules/order/dto/ListOrder.req.dto.ts
│   │   │   │   │   ├── ./src/modules/user/modules/order/order.controller.ts
│   │   │   │   │   ├── ./src/modules/user/modules/order/order.module.ts
│   │   │   │   │   └── ./src/modules/user/modules/order/order.service.ts
│   │   │   │   ├── ./src/modules/user/modules/setting
│   │   │   │   │   ├── ./src/modules/user/modules/setting/dto
│   │   │   │   │   │   └── ./src/modules/user/modules/setting/dto/UpdateUserSetting.req.dto.ts
│   │   │   │   │   ├── ./src/modules/user/modules/setting/setting.controller.ts
│   │   │   │   │   ├── ./src/modules/user/modules/setting/setting.module.ts
│   │   │   │   │   └── ./src/modules/user/modules/setting/setting.service.ts
│   │   │   │   └── ./src/modules/user/modules/utils
│   │   │   │       ├── ./src/modules/user/modules/utils/userUtils.module.ts
│   │   │   │       └── ./src/modules/user/modules/utils/userUtils.service.ts
│   │   │   ├── ./src/modules/user/user.controller.ts
│   │   │   ├── ./src/modules/user/user.module.ts
│   │   │   └── ./src/modules/user/user.service.ts
│   │   ├── ./src/modules/utils
│   │   │   └── ./src/modules/utils/notion
│   │   │       ├── ./src/modules/utils/notion/getProp.ts
│   │   │       └── ./src/modules/utils/notion/getTitleProp.ts
│   │   └── ./src/modules/webhook
│   │       ├── ./src/modules/webhook/embeds
│   │       │   ├── ./src/modules/webhook/embeds/CancelOrderEmbed.ts
│   │       │   ├── ./src/modules/webhook/embeds/DeleteBookEmbed.ts
│   │       │   ├── ./src/modules/webhook/embeds/DeleteUserEmbed.ts
│   │       │   ├── ./src/modules/webhook/embeds/NewBookEmbed.ts
│   │       │   ├── ./src/modules/webhook/embeds/NewUserByAdminEmbed.ts
│   │       │   ├── ./src/modules/webhook/embeds/NewUserEmbed.ts
│   │       │   ├── ./src/modules/webhook/embeds/OrderApprovedEmbed.ts
│   │       │   └── ./src/modules/webhook/embeds/UpdateBookEmbed.ts
│   │       ├── ./src/modules/webhook/webhook.module.ts
│   │       └── ./src/modules/webhook/webhook.service.ts
│   ├── ./src/objects
│   │   ├── ./src/objects/adminBook.object.ts
│   │   ├── ./src/objects/adminSection.object.ts
│   │   ├── ./src/objects/adminSectionPreview.object.ts
│   │   ├── ./src/objects/blockComment.object.ts
│   │   ├── ./src/objects/blockCommentReaction.object.ts
│   │   ├── ./src/objects/blockMemo.object.ts
│   │   ├── ./src/objects/book.object.ts
│   │   ├── ./src/objects/childBlockComment.object.ts
│   │   ├── ./src/objects/childBlockMemo.object.ts
│   │   ├── ./src/objects/coupon.object.ts
│   │   ├── ./src/objects/couponLog.object.ts
│   │   ├── ./src/objects/couponUseLog.object.ts
│   │   ├── ./src/objects/device.object.ts
│   │   ├── ./src/objects/notification.object.ts
│   │   ├── ./src/objects/notionPage.object.ts
│   │   ├── ./src/objects/order.object.ts
│   │   ├── ./src/objects/parentBlockComment.object.ts
│   │   ├── ./src/objects/parentBlockMemo.object.ts
│   │   ├── ./src/objects/section.object.ts
│   │   ├── ./src/objects/sectionPreview.object.ts
│   │   ├── ./src/objects/user.object.ts
│   │   └── ./src/objects/userSetting.object.ts
│   └── ./src/types
│       ├── ./src/types/ClientUser.ts
│       └── ./src/types/express.d.ts
├── ./tree.txt
├── ./tsconfig.build.json
├── ./tsconfig.json
├── ./yarn-error.log
└── ./yarn.lock

5307 directories, 49076 files