feat: line (#13)

* add wedhook line

* text message

* add router get employee, request, quotation

* move code

* do not crash application when not set line token

This feature is opt-in

* dot not crash when not set line client id

Main auth method is keycloak

* change dotenv

* fix: wrong env

* refactor: change to get instead of post

* refactor: remove body for employee get endpoint

* feat: add work relation include

* feat: include customer relation in employee

* feat: add line file controller

* add detail flex message and get date requestWork

* chore: update deps lock

* fix: error line token

* fix: redirect head instead if response with body

* feat: add response relation

* fix: route casing

* add userId in customerBranch verifyOTP

* delete consile log

* add is registered endpoint placeholder

* feat: quotation list

* fix: wrong endpoint name

* feat: include relation in get by id request data

* add where userId line

* refactor: adjust parameter for liff app

* delete code

* refactor: remove post quotation endpoint

* refactor: add where userId line for quotation

* feat: add pending only parameter

* refactor: more condition for inProgressOnly

* refactor: update condition

* feat: add line quotation attachment endpoint

* feat: include product in request work line endpoint

* refactor: pending only now cover more condition

* feat: include invoice with payment relation

* chore: update api docs tag

* chore: clean

* feat: check for registered user

* fix: wrong file location

* feat: add email client for sending an otp

* chore: move some deps to dev deps

* add otpCode otpExpires

* add send-otp and verify-otp

---------

Co-authored-by: Kanjana <kanjana@chamomind.com>
Co-authored-by: chamomind <chamomind@localhost>
Co-authored-by: Methapon2001 <61303214+Methapon2001@users.noreply.github.com>
This commit is contained in:
Methapon Metanipat 2025-02-20 16:07:16 +07:00 committed by GitHub
parent 8709a7dcc8
commit 12bf2182dc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 10449 additions and 4 deletions

36
pnpm-lock.yaml generated
View file

@ -23,15 +23,18 @@ importers:
'@tsoa/runtime':
specifier: ^6.6.0
version: 6.6.0
'@types/morgan':
specifier: ^1.9.9
version: 1.9.9
cors:
specifier: ^2.8.5
version: 2.8.5
cron:
specifier: ^3.3.1
version: 3.3.1
dayjs:
specifier: ^1.11.13
version: 1.11.13
dayjs-plugin-utc:
specifier: ^0.1.2
version: 0.1.2
docx-templates:
specifier: ^4.13.0
version: 4.13.0
@ -53,6 +56,9 @@ importers:
morgan:
specifier: ^1.10.0
version: 1.10.0
nodemailer:
specifier: ^6.10.0
version: 6.10.0
prisma-extension-kysely:
specifier: ^3.0.0
version: 3.0.0(@prisma/client@6.3.0(prisma@6.3.0(typescript@5.7.2))(typescript@5.7.2))
@ -81,9 +87,15 @@ importers:
'@types/express':
specifier: ^4.17.21
version: 4.17.21
'@types/morgan':
specifier: ^1.9.9
version: 1.9.9
'@types/node':
specifier: ^20.17.10
version: 20.17.10
'@types/nodemailer':
specifier: ^6.4.17
version: 6.4.17
nodemon:
specifier: ^3.1.9
version: 3.1.9
@ -471,6 +483,9 @@ packages:
'@types/node@20.17.10':
resolution: {integrity: sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==}
'@types/nodemailer@6.4.17':
resolution: {integrity: sha512-I9CCaIp6DTldEg7vyUTZi8+9Vo0hi1/T8gv3C89yk1rSAAzoKQ8H8ki/jBYJSFoH/BisgLP8tkZMlQ91CIquww==}
'@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
@ -853,6 +868,9 @@ packages:
resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
engines: {node: '>= 0.4'}
dayjs-plugin-utc@0.1.2:
resolution: {integrity: sha512-ExERH5o3oo6jFOdkvMP3gytTCQ9Ksi5PtylclJWghr7k7m3o2U5QrwtdiJkOxLOH4ghr0EKhpqGefzGz1VvVJg==}
dayjs@1.11.13:
resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
@ -1786,6 +1804,10 @@ packages:
encoding:
optional: true
nodemailer@6.10.0:
resolution: {integrity: sha512-SQ3wZCExjeSatLE/HBaXS5vqUOQk6GtBdIIKxiFdmm01mOQZX/POJkO3SUX1wDiYcwUOJwT23scFSC9fY2H8IA==}
engines: {node: '>=6.0.0'}
nodemon@3.1.9:
resolution: {integrity: sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg==}
engines: {node: '>=10'}
@ -3266,6 +3288,10 @@ snapshots:
dependencies:
undici-types: 6.19.8
'@types/nodemailer@6.4.17':
dependencies:
'@types/node': 20.17.10
'@types/normalize-package-data@2.4.4': {}
'@types/qs@6.9.17': {}
@ -3732,6 +3758,8 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.2
dayjs-plugin-utc@0.1.2: {}
dayjs@1.11.13: {}
debug@2.6.9:
@ -4784,6 +4812,8 @@ snapshots:
optionalDependencies:
encoding: 0.1.13
nodemailer@6.10.0: {}
nodemon@3.1.9:
dependencies:
chokidar: 3.6.0