-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโll occasionally send you account related emails.
Already on GitHub? Sign in to your account
๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ #142
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pminsung12
added
enhancement
๊ฐ์ ๋๋ ํผ๋๋ฐฑ ๋ฐ์
server
์๋ฒ ์ชฝ ์ด์
labels
Nov 30, 2023
1 task
์๊ณ ํ์ จ์ต๋๋ค. |
yangdongsuk
added a commit
that referenced
this pull request
Nov 30, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 4, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 4, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 4, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 4, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 4, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 4, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 7, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 7, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 10, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 10, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 10, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 12, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * [Server] ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ํ์ธ ๋ฐ ๊ฐ์๋ก item ์์ฑ ๋ก์ง (#228) * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ๋ฐํํด์ฃผ๋ api ์์ฑ * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ itemCount๋ก pub๋ ํ๊ณ ์๋ต๋ ๋ฐํํ๋ ์๋น์ค ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ controller ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ service ํจ์ ๊ตฌํ * [Server] ์นดํ ๊ณ ๋ฆฌ api db ๋ฐฉ์์ผ๋ก ์ ๋ฐ์ดํธ, ์ธ๊ณต์ง๋ฅ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๊ฐ์ (#240) * feat: category service ํจ์ ์์ * feat: category service ํจ์ ์์ฒญ ํํ ๋ณ๊ฒฝ * feat: ai ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 13, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * [Server] ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ํ์ธ ๋ฐ ๊ฐ์๋ก item ์์ฑ ๋ก์ง (#228) * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ๋ฐํํด์ฃผ๋ api ์์ฑ * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ itemCount๋ก pub๋ ํ๊ณ ์๋ต๋ ๋ฐํํ๋ ์๋น์ค ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ controller ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ service ํจ์ ๊ตฌํ * [Server] ์นดํ ๊ณ ๋ฆฌ api db ๋ฐฉ์์ผ๋ก ์ ๋ฐ์ดํธ, ์ธ๊ณต์ง๋ฅ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๊ฐ์ (#240) * feat: category service ํจ์ ์์ * feat: category service ํจ์ ์์ฒญ ํํ ๋ณ๊ฒฝ * feat: ai ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ * refactor: jwt toekn ๋ง๋ฃ ์๊ฐ ํ๊ฒฝ๋ณ์๋ก ๋ณ๊ฒฝ (#250) --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 13, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * [Server] ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ํ์ธ ๋ฐ ๊ฐ์๋ก item ์์ฑ ๋ก์ง (#228) * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ๋ฐํํด์ฃผ๋ api ์์ฑ * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ itemCount๋ก pub๋ ํ๊ณ ์๋ต๋ ๋ฐํํ๋ ์๋น์ค ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ controller ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ service ํจ์ ๊ตฌํ * [Server] ์นดํ ๊ณ ๋ฆฌ api db ๋ฐฉ์์ผ๋ก ์ ๋ฐ์ดํธ, ์ธ๊ณต์ง๋ฅ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๊ฐ์ (#240) * feat: category service ํจ์ ์์ * feat: category service ํจ์ ์์ฒญ ํํ ๋ณ๊ฒฝ * feat: ai ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ * refactor: jwt toekn ๋ง๋ฃ ์๊ฐ ํ๊ฒฝ๋ณ์๋ก ๋ณ๊ฒฝ (#250) --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
wi-seong-cheol
pushed a commit
that referenced
this pull request
Dec 14, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * [Server] ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ํ์ธ ๋ฐ ๊ฐ์๋ก item ์์ฑ ๋ก์ง (#228) * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ๋ฐํํด์ฃผ๋ api ์์ฑ * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ itemCount๋ก pub๋ ํ๊ณ ์๋ต๋ ๋ฐํํ๋ ์๋น์ค ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ controller ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ service ํจ์ ๊ตฌํ * [Server] ์นดํ ๊ณ ๋ฆฌ api db ๋ฐฉ์์ผ๋ก ์ ๋ฐ์ดํธ, ์ธ๊ณต์ง๋ฅ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๊ฐ์ (#240) * feat: category service ํจ์ ์์ * feat: category service ํจ์ ์์ฒญ ํํ ๋ณ๊ฒฝ * feat: ai ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ * refactor: jwt toekn ๋ง๋ฃ ์๊ฐ ํ๊ฒฝ๋ณ์๋ก ๋ณ๊ฒฝ (#250) * feat: ์ด๋๋ฏผ ํ์ด์ง ai๊ด๋ จ ๋ทฐ ์ถ๊ฐ ๋ฐ ๊ด๋ จ api ์ถ๊ฐ (#260) * feat: adminํ์ด์ง cpu ์ฌ์ฉ๋ ํตํฉํด์ ๋ณด์ฌ์ฃผ๊ธฐ * refactor: serverStatus ๋คํธ์ํฌ ๊ด๋ จ ์ ๊ฑฐ * fix: ์ฒดํฌ๋ฆฌ์คํธ ai ์์ฑ ๊ด๋ฆฌ์๋ง ๊ฐ๋ฅํ๋๋ก ์์ * feat: admin ํ์ด์ง ai ์ฐ๋ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 14, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) --------- Co-authored-by: yangdongsuk <51476641+yangdongsuk@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 14, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * [Server] ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ํ์ธ ๋ฐ ๊ฐ์๋ก item ์์ฑ ๋ก์ง (#228) * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ๋ฐํํด์ฃผ๋ api ์์ฑ * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ itemCount๋ก pub๋ ํ๊ณ ์๋ต๋ ๋ฐํํ๋ ์๋น์ค ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ controller ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ service ํจ์ ๊ตฌํ * [Server] ์นดํ ๊ณ ๋ฆฌ api db ๋ฐฉ์์ผ๋ก ์ ๋ฐ์ดํธ, ์ธ๊ณต์ง๋ฅ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๊ฐ์ (#240) * feat: category service ํจ์ ์์ * feat: category service ํจ์ ์์ฒญ ํํ ๋ณ๊ฒฝ * feat: ai ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ * refactor: jwt toekn ๋ง๋ฃ ์๊ฐ ํ๊ฒฝ๋ณ์๋ก ๋ณ๊ฒฝ (#250) * feat: ์ด๋๋ฏผ ํ์ด์ง ai๊ด๋ จ ๋ทฐ ์ถ๊ฐ ๋ฐ ๊ด๋ จ api ์ถ๊ฐ (#260) * feat: adminํ์ด์ง cpu ์ฌ์ฉ๋ ํตํฉํด์ ๋ณด์ฌ์ฃผ๊ธฐ * refactor: serverStatus ๋คํธ์ํฌ ๊ด๋ จ ์ ๊ฑฐ * fix: ์ฒดํฌ๋ฆฌ์คํธ ai ์์ฑ ๊ด๋ฆฌ์๋ง ๊ฐ๋ฅํ๋๋ก ์์ * feat: admin ํ์ด์ง ai ์ฐ๋ --------- Co-authored-by: YangDongsuk <51476641+YangDongsuk@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 14, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * [Server] ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ํ์ธ ๋ฐ ๊ฐ์๋ก item ์์ฑ ๋ก์ง (#228) * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ๋ฐํํด์ฃผ๋ api ์์ฑ * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ itemCount๋ก pub๋ ํ๊ณ ์๋ต๋ ๋ฐํํ๋ ์๋น์ค ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ controller ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ service ํจ์ ๊ตฌํ * [Server] ์นดํ ๊ณ ๋ฆฌ api db ๋ฐฉ์์ผ๋ก ์ ๋ฐ์ดํธ, ์ธ๊ณต์ง๋ฅ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๊ฐ์ (#240) * feat: category service ํจ์ ์์ * feat: category service ํจ์ ์์ฒญ ํํ ๋ณ๊ฒฝ * feat: ai ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ * refactor: jwt toekn ๋ง๋ฃ ์๊ฐ ํ๊ฒฝ๋ณ์๋ก ๋ณ๊ฒฝ (#250) * feat: ์ด๋๋ฏผ ํ์ด์ง ai๊ด๋ จ ๋ทฐ ์ถ๊ฐ ๋ฐ ๊ด๋ จ api ์ถ๊ฐ (#260) * feat: adminํ์ด์ง cpu ์ฌ์ฉ๋ ํตํฉํด์ ๋ณด์ฌ์ฃผ๊ธฐ * refactor: serverStatus ๋คํธ์ํฌ ๊ด๋ จ ์ ๊ฑฐ * fix: ์ฒดํฌ๋ฆฌ์คํธ ai ์์ฑ ๊ด๋ฆฌ์๋ง ๊ฐ๋ฅํ๋๋ก ์์ * feat: admin ํ์ด์ง ai ์ฐ๋ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
yangdongsuk
added a commit
that referenced
this pull request
Dec 14, 2023
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ --------- Co-authored-by: yangdongsuk <51476641+yangdongsuk@users.noreply.github.com>
pminsung12
added a commit
that referenced
this pull request
Dec 15, 2023
* chore: main.yml admin page ํ๊ฒฝ ๋ณ์ ์ ์ฉ * chore: main.yml ๋ค์ค ์๋ฒ ๋ฐฐํฌ * chore: main.yml ๋ค์ค ์๋ฒ ํฌํธ ๋ณ๊ฒฝ * fix: main.yml ํ๊ฒฝ ๋ณ์ ๋๋ฝ ์ถ๊ฐ * ํ๋ก์ ํธ ์๊ฐ ์ ๋ฐ์ดํธ (#234) * docs: ํ๋ก์ ํธ ์๊ฐ ๋ฆฌ๋๋ฏธ ์์ฑ(#237) * chore: main.yml jwt ํ๊ฒฝ ๋ณ์ ์ถ๊ฐ * fix: main.yml jwt ํ๊ฒฝ ๋ณ์ ์คํ ์์ * ํ๋ก์ ํธ README ์์ (#254) * docs: ํ๋ก์ ํธ README ์์ * <img src> width ๊ฐ ์ ๊ฑฐ * docs: Update README (#259) * docs: Update README (#261) * ๏ฟฝMain์ iOS ์ ์ฅ์ ํฉ์น๊ธฐ (#263) * [Client] iOS ํ๋ก์ ํธ ์ค๊ณ (#6) * feat: ํ๋ก์ ํธ ์์ฑ * feat: ์์กด์ฑ ํ๋กํ ์ฝ ๋ฐ ๋ทฐ ์ถ์ํ ํ๋กํ ์ฝ ์ถ๊ฐ - ์์กด์ฑ ํ๋กํ ์ฝ : `Dependency`, `Component` - ๋ทฐ ๊ฐ์ฒด ์ถ์ํ ํ๋กํ ์ฝ : `ViewControllable` - ๋ทฐ ์์ฑ ๋ก์ง ์ถ์ํ ํ๋กํ ์ฝ : `Factoryable` * feat: ๋ฐํ ํญ ๋ฐ ํญ์ ์ํ ๋ทฐ ์ปจํธ๋กค๋ฌ ๊ตฌํ * feat: ๋ทฐ๋ชจ๋ธ, ์ ์ฆ์ผ์ด์ค, ๋ ํฌ์งํ ๋ฆฌ ์ฐ๊ฒฐ ์์ ๊ตฌํ * feat: ๋คํธ์ํฌ, ์์ผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ workspace ์์ฑ * chore: `OpenList` ํ๋ก์ ํธ ํด๋ ์ด๋ * chore: `pbxproj` ํ์ผ ์ถ๊ฐ * feat: ๋ผ์ฐํฐ์ ๋ทฐ ์์กด์ฑ ์ฃผ์ * style: ๋ณ์ ์คํ ์์ (`AddTap `-> `AddTab`) * feat: factory ๋ถ๋ชจ ํด๋์ค ์์ฑ * feat: ๋ฐํ ํญ์ ์ํ๋ ๋ทฐ ์ปจํธ๋กค๋ฌ ์์ ๋ณ๊ฒฝ * feat: ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ ํธ ํ์ผ ์ถ๊ฐ - `ViewBindable` - `ViewModelable` * iOS ํ๋ก์ ํธ ์ถ๊ฐ ์ค์ (#26) * feat: ์ค์ํํธ ๋ฆฐํธ ์ค์ ์ถ๊ฐ * chore: ์ค์ํํธ ํ ํ๋ฆฟ ์ถ๊ฐ * feat: `*.pbxproj` ๋ณํฉ ์กฐ๊ฑด ์ถ๊ฐ * ์ฌ์ฉ์๋ ์์ฑํ ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ๋ฆฌ์คํธํํ๋ก ๋ณผ์ ์๋ค. (#27) * feat: ์ฒดํฌ๋ฆฌ์คํธ Table ํํ๋ก ๋ณด์ฌ์ฃผ๋ ๊ธฐ๋ฅ ๊ตฌํ * feat: ๋ฌ์ฑ๋ฅ UI ๊ตฌ์ฑ * style: Lint ์ ์ฉ * feat: ๊ธธ๊ฒ ๋๋ฅผ ๋ action sheet menu ๋ณด์ฌ์ฃผ๊ธฐ * feat: ์ฑ๊ณต๋ฅ ํผ์ผํธ ์ถ๊ฐ * feat: CheckListTableItem ์ถ๊ฐ * style: Code ์ปจ๋ฒค์ ์ค์ * ๋คํธ์ํฌ ๋ชจ๋ ๊ตฌ์ฑ (#37) * feat: ์ฒดํฌ๋ฆฌ์คํธ Table ํํ๋ก ๋ณด์ฌ์ฃผ๋ ๊ธฐ๋ฅ ๊ตฌํ * style: Lint ์ ์ฉ * feat: ์ฑ๊ณต๋ฅ ํผ์ผํธ ์ถ๊ฐ * feat: CheckListTableItem ์ถ๊ฐ * feat: Network ๋ชจ๋ ๊ตฌ์ฑ ๋ฐ ํ ์คํธ * fix: pbxfile ์ค๋ฅ ํด๊ฒฐ * feat: ๋์์ธ ์์คํ ๊ตฌ์ฑ์์ ์ถ๊ฐ (#40) * ์ฌ์ฉ์๋ ์ฒดํฌ๋ฆฌ์คํธ์ ํญ๋ชฉ์ ๋ณผ ์ ์๋ค. (#44) * style: ๋์์ธ ๋ฆฌ์์ค ์ถ๊ฐ (`circle.png`) - ์ฒดํฌ๋ฆฌ์คํธ ์ํด ์์ด์ฝ ์ถ๊ฐ * feat: ์์ธ ์ฒดํฌ๋ฆฌ์คํธ ๋ทฐ ๋ฒํฐํ๋ผ์ด ํ์ผ ์์ฑ * feat: ํ ์ด๋ธ ๋ทฐ ์ต์คํ ์ ์ถ๊ฐ * feat: ์์ธ ์ฒดํฌ๋ฆฌ์คํธ UI ๊ตฌํ * feat: ์์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ ๋ชฉ UI ๊ตฌํ * review: ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ์ * ์ฒดํฌ๋ฆฌ์คํธ ์ ๋ชฉ ์์ฑ (#43) * feat: Title ์์ฑ View, ViewModel, UseCase, Repository๋ก์ง * feat: KeyBoard์ฒ๋ฆฌ, OpenListTextField ๊ตฌํ * style: DesignSystem ์ ์ฉ * style: SwiftLint ์ ์ฉ * review: ์ฝ๋๋ฆฌ๋ทฐ ๋ฐ์- ์ ๋๋ฉ์ด์ ์ฝ๋ --------- Co-authored-by: ๊น์๊ท <48887389+klmyoungyun@users.noreply.github.com> * fix: `addTabViewController`๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ํด์ ์ ๋๋ ๋ฒ๊ทธ ์์ (#46) * ์ฝ์ด๋ฐ์ดํฐ ์์ฑ ๋ฐ ์ฒดํฌ๋ฆฌ์คํธ ์ ๋ชฉ ์ ์ฅ ๊ธฐ๋ฅ ๊ตฌํ (#73) * feat: CoreDataStorage ์ถ๊ฐ * fix: AppRouter Duplicate ๋ฌธ์ ํด๊ฒฐ * feat: ๋ก์ปฌ ์คํ ๋ฆฌ์ง ๊ตฌํ * feat: Core CRUD / Data Binding * feat: TabBar ์ด๋ฏธ์ง ์ถ๊ฐ * feat: detailView ํ๋ฉด ์ ํ ๊ตฌํ * feat: ์ฒดํฌ๋ฆฌ์คํธ ๋ํ ์ผ ํ๋ฉด ์ด๋ ๊ตฌํ * fix: DetailCheckListViewController ๋ฉ๋ชจ๋ฆฌ ๋ฆญ ์์ * fix: placeholder๊ฐ ๊ณ์ ์๊ธฐ๋ ๋ฒ๊ทธ ์์ * feat: ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ตฌํ * feat: ์ฒดํฌ๋ฆฌ์คํธ ์์ฑํ๋ฉด ์ฝ์ด๋ฐ์ดํฐ์ ์ ์ฅํ๋๋ก ๋ณ๊ฒฝ --------- Co-authored-by: wi-seong-cheol <tjd9248@naver.com> * CRDT ํ๋ ์์ํฌ ๊ตฌํ (#74) * feat: CRDT ๋ผ์ด๋ธ๋ฌ๋ฆฌํ * style: SwiftLint ์ ์ฉ * refactor: ๊ฐ์ ์ธ๋ฉํ ์ ๊ฑฐ * feat: CRDT ๋ผ์ด๋ธ๋ฌ๋ฆฌํ * style: SwiftLint ์ ์ฉ * refactor: ๊ฐ์ ์ธ๋ฉํ ์ ๊ฑฐ --------- Co-authored-by: klmyoungyun <kyoungyun98@naver.com> * [Client] ์์ - ์ ๋ชฉ ์์ฑํ๋ฉด tap ์ ์ค์ฒ ๊ด๋ จ ์ค๋ฅ ์์ (#85) * fix: tap.cancelsTouchInView ์์ฑ ๋ณ๊ฒฝ * fix: keyboard Constraint ์ค๋ฅ ํด๊ฒฐ --------- Co-authored-by: wi-seong-cheol <tjd9248@naver.com> * ์คํด ๋ฐฉ์์ ๋ฅ๋งํฌ ๊ตฌํ (#80) * feat: ์ฑ ์คํด ๋ฐฉ์ ๋ฅ๋งํฌ ๊ตฌํ * fix: project ํ์ผ ์ถฉ๋ ํด๊ฒฐ --------- Co-authored-by: wi-seong-cheol <tjd9248@naver.com> * ๋ํ ์ผ ํ๋ฉด CRDT ์ฐ๊ฒฐ (#112) * feat: ๊ฐ์ธ/ํจ๊ป ์ฒดํฌ๋ฆฌ์คํธ ๋ถ๋ฆฌ * feat: WebSocket ๊ตฌํ * feat: CRDT, WebSocket Repository ๊ตฌํ * feat: ์์ device id ๋ถ์ฌ * feat: Repository ํ๋กํ ์ฝ ๊ตฌํ * feat: UseCase ๊ตฌํ * feat: Scene ๊ด๋ จ ๊ธฐ๋ฅ ๊ตฌํ * feat: ์๋ฒ์ Socket Request ๋ฐ์ * feat: ๋ฐธ๋ฐ์ฑ ์์ ๋ณด๋ฅ * refactor: UseCase ํตํฉ * feat: WebSocket ์ฑ๊ธํค ๋ณ๊ฒฝ * feat: ๋ฐ์ดํฐ ์ ๋ฌ ๋ชจ๋ธ ์ ์ * feat: ๋จ์ผ CRDT ๊ตฌํ * feat: DTO ์ ์๋ฅผ ์ํ public ๋ณ๊ฒฝ * feat: CRDT DTO ์ ์ * feat: ์ํฐํฐ ์ ์ * feat: CheckListItem ์์ฑ ๋ณ๊ฒฝ * feat: ๋จ๋ฐฉํฅ ๋งํฌ๋ ๋ฆฌ์คํธ ์ ์ ์๋ฐฉํฅ์ผ๋ก ํ๋ฉด Decode ํ ๋ ์ํ์ฐธ์กฐ๋ก ์ธํ ์ค๋ฅ ๋ฐ์ * fix: item ์ค๋ณต ์ ๊ฑฐ * fix: Delete ๋ฆฌํฉํ ๋ง ์ค๋ฅ ์์ * feat: ๋์ํธ์ง ๋ก์ง ๊ตฌํ * feat: ๊ฐ์ธ/ํจ๊ป ์ฒดํฌ๋ฆฌ์คํธ ๋ถ๋ฆฌ * feat: WebSocket ๊ตฌํ * feat: CRDT, WebSocket Repository ๊ตฌํ * feat: ์์ device id ๋ถ์ฌ * feat: Repository ํ๋กํ ์ฝ ๊ตฌํ * feat: UseCase ๊ตฌํ * feat: Scene ๊ด๋ จ ๊ธฐ๋ฅ ๊ตฌํ * feat: ์๋ฒ์ Socket Request ๋ฐ์ * feat: ๋ฐธ๋ฐ์ฑ ์์ ๋ณด๋ฅ * refactor: UseCase ํตํฉ * feat: WebSocket ์ฑ๊ธํค ๋ณ๊ฒฝ * feat: ๋ฐ์ดํฐ ์ ๋ฌ ๋ชจ๋ธ ์ ์ * feat: ๋จ์ผ CRDT ๊ตฌํ * feat: DTO ์ ์๋ฅผ ์ํ public ๋ณ๊ฒฝ * feat: CRDT DTO ์ ์ * feat: ์ํฐํฐ ์ ์ * feat: CheckListItem ์์ฑ ๋ณ๊ฒฝ * feat: ๋จ๋ฐฉํฅ ๋งํฌ๋ ๋ฆฌ์คํธ ์ ์ ์๋ฐฉํฅ์ผ๋ก ํ๋ฉด Decode ํ ๋ ์ํ์ฐธ์กฐ๋ก ์ธํ ์ค๋ฅ ๋ฐ์ * fix: item ์ค๋ณต ์ ๊ฑฐ * fix: Delete ๋ฆฌํฉํ ๋ง ์ค๋ฅ ์์ * feat: ๋์ํธ์ง ๋ก์ง ๊ตฌํ * ์ฒดํฌ๋ฆฌ์คํธ ๋์ํธ์ง์ ์ด๋ ๊ตฌํ (#115) * feat: Navigation ๋ฉ๋ด ์ถ๊ฐ * feat: ๋ฅ๋งํฌ ํ์ดํ์์ ์ฒดํฌ๋ฆฌ์คํธ ID๋ก ๋ณ๊ฒฝ * fix: ๊ฐ์ ์ธ๋ฉํ ์ ๊ฑฐ * ์ปค์คํ ๋ค๋น๊ฒ์ด์ ๋ฐ ๊ตฌํ (#116) * feat: ์ปค์คํ ๋ค๋น๊ฒ์ด์ ๋ฐ ๊ตฌํ * feat: ๋ค๋ก๊ฐ๊ธฐ ๋ฒํผ ๋ ์ด์์ ์์ * ์ฒดํฌ๋ฆฌ์คํธ ๋์ํธ์ง์ ์ด๋ ๊ตฌํ (#115) * feat: Navigation ๋ฉ๋ด ์ถ๊ฐ * feat: ๋ฅ๋งํฌ ํ์ดํ์์ ์ฒดํฌ๋ฆฌ์คํธ ID๋ก ๋ณ๊ฒฝ * fix: ๊ฐ์ ์ธ๋ฉํ ์ ๊ฑฐ * feat: ์ปค์คํ ๋ค๋น๊ฒ์ด์ ๋ฐ ๊ตฌํ * feat: ๋ค๋ก๊ฐ๊ธฐ ๋ฒํผ ๋ ์ด์์ ์์ --------- Co-authored-by: wi-seong-cheol <53855302+wi-seong-cheol@users.noreply.github.com> Co-authored-by: wi-seong-cheol <tjd9248@naver.com> * fix: ๋น๋ ์ค๋ฅ ์์ (#121) * ์ ํ๋ก๊ทธ์ธ ๊ตฌํ (#117) * chore: framework ์ ์ฉ * feat: Login ๊ธฐ๋ณธ ์ค์ * feat: App ์ง์ ์ ๋ก๊ทธ์ธ ๋ทฐ ๊ตฌํ * feat: ๋ก๊ทธ์ธ ์ดํ ํ๋ฉด ์ ํ ๊ตฌํ * feat: ๋ก๊ทธ์ธ ์ดํ usecase -> respository ๊ตฌํ * refactor: return ๊ฐ Bool -> DTO * feat: KeyChain ์ค์ * refactor: ViewModel ์ดํ ๋ก์ง ์์ * fix: API parameter ์์ ๋ฐ ๊ตฌํ * style: Constant ๋ณ์ํ * style: ํ์ผ๋ช ๋ณ๊ฒฝ ๋ฐ ์ฝ๋ ํ ์คํ์ผ ์ ์ฉ * style: Optional ์ ๊ฑฐ * fix: Server ์์ฒญ์ ๋ฐ๋ฅธ param ์์ * fix: review ๋ฐ์ * fix: ๋น๋ ์ค๋ฅ ์์ (#130) * CoreData CRUD ๊ธฐ๋ฅ ๊ตฌํ (#125) * refactor: Entity Rename * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์ ์ฅ * feat: CoreData CRUD ๊ธฐ๋ฅ ๊ตฌํ * feat: ๋ฌ์ฑ๋ฅ ํ์ * ์ ํ๋ก๊ทธ์ธ ๊ตฌํ (#117) * chore: framework ์ ์ฉ * feat: Login ๊ธฐ๋ณธ ์ค์ * feat: App ์ง์ ์ ๋ก๊ทธ์ธ ๋ทฐ ๊ตฌํ * feat: ๋ก๊ทธ์ธ ์ดํ ํ๋ฉด ์ ํ ๊ตฌํ * feat: ๋ก๊ทธ์ธ ์ดํ usecase -> respository ๊ตฌํ * refactor: return ๊ฐ Bool -> DTO * feat: KeyChain ์ค์ * refactor: ViewModel ์ดํ ๋ก์ง ์์ * fix: API parameter ์์ ๋ฐ ๊ตฌํ * style: Constant ๋ณ์ํ * style: ํ์ผ๋ช ๋ณ๊ฒฝ ๋ฐ ์ฝ๋ ํ ์คํ์ผ ์ ์ฉ * style: Optional ์ ๊ฑฐ * fix: Server ์์ฒญ์ ๋ฐ๋ฅธ param ์์ * fix: review ๋ฐ์ * fix: ๋น๋ ์ค๋ฅ ์์ (#130) * refactor: Entity Rename * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์ ์ฅ * feat: CoreData CRUD ๊ธฐ๋ฅ ๊ตฌํ * feat: ๋ฌ์ฑ๋ฅ ํ์ * fix: ์งํ๋ฅ ์ค๋ฅ ํด๊ฒฐ * fix: pbx ์ค๋ฅ ์์ * refactor: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ --------- Co-authored-by: ๊น์ฑํ <42074365+SeongHunTed@users.noreply.github.com> Co-authored-by: ๊น์๊ท <48887389+klmyoungyun@users.noreply.github.com> * [FD1 - 1] ์ฌ์ฉ์๊ฐ ๋ง๋ ํด๋๋ค์ ๊ฒฉ์ ํํ๋ก ๋ณด์ฌ์ค๋ค. (#124) * feat: ์ฝ๋ ์ ๋ทฐ ์ต์คํ ์ ์ถ๊ฐ * feat: ๋ฉ์ธ ํ์ด์ง ๋ทฐ ์ปจํธ๋กค๋ฌ ๊ตฌํ ๋ฐ ์๋จ ํญ ๋ฐ ๊ตฌํ * feat: ๊ทธ๋ฆผ์ ๋ ์ด์ด์ ์ถ๊ฐํ๋ ๋ฉ์๋ ๊ตฌํ ๋ฐ ๊ทธ๋ฆผ์ ์ ๋ฆฌ์์ค ์ถ๊ฐ * feat: ์ฒดํฌ๋ฆฌ์คํธ ํด๋ ๋ทฐ ์ปจํธ๋กค๋ฌ ๊ตฌํ * feat: ์ฒดํฌ๋ฆฌ์คํธ ํ ์ด๋ธ ๋ทฐ ์ปจํธ๋กค๋ฌ ๋ ์ด์์ ์์ * feat: ์ฒดํฌ๋ฆฌ์คํธ ๊ณต์ ๋ทฐ ์ปจํธ๋กค๋ฌ ๊ตฌํ * fix: build ์ค๋ฅ ์์ * feat: ๋ค๋น๊ฒ์ด์ ์์ดํ ํฌ๊ธฐ ์กฐ์ * chore: ์ปจํ๋ฆญ ์ฒ๋ฆฌ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์งํ๋ฅ ์ค๋ฅ ์์ (#132) * ๋น ์ฒดํฌ๋ฆฌ์คํธ ํ๋ฉด ๊ตฌํ (#138) * ๋คํธ์ํฌ ๋ชจ๋ ์์ (#136) * refactor: ์ฝ๋ ๋ฆฌํฉํ ๋ง * fix: ์คํ ์์ * [AI1 - 1] ์ฌ์ฉ์๋ ๋ > ์ค > ์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ ํํ๋ฉฐ AI ์ถ์ฒ์ ๋ฐ์ ์ ์๋ค (#144) * chore: ํด๋๋ง, ํ์ผ๋ช ๋ณ๊ฒฝ AddTab -> AddCheckListTitle * feat: checklist ์ ๋ชฉ์ ๋ ฅ ํ category ํ๋ฉด ์ ํ * feat: category cell ์์ฑ * feat: category headerView title ๊ตฌํ * style: HeaderView์์ ๊ทธ๋ผ๋ฐ์ด์ ๋ทฐ ๋ถ๋ฆฌ * feat: Gradient Progress Circle ๊ตฌํ * feat: Gradient Progress Stick ๊ตฌํ * feat: Progress View ๊ตฌํ * feat: navigationBar, skipButton ๊ตฌํ * feat: Routing ๋ก์ง ๊ตฌํ * style: Cell Color ๋ฐฉ์ ๋ณ๊ฒฝ * feat: navigation back routing ๋ก์ง, layout ์ฌ์ค์ * style: ConfirmButton intrinsicContentSize ์ค์ ๋ฐ ๋ณ๊ฒฝ * style: Layout ์์์์ ๋ฐ ViewWillAppear ๋ถ๋ถ ์ญ์ * style: Layout literal ๊ด๋ฆฌ ๋ฐ convention * feat: MediumCategoryVC Routing * chore: conflict ํด๊ฒฐ * style: cell ์ ํ output ํจํด์ผ๋ก ๋ณ๊ฒฝ * chore: Category๋ช Server์ ๋๊ธฐํ * feat: SubCategory View ๊ตฌํ * feat: MinorCategory ๊ตฌํ * feat: Category Data Stream ๊ตฌํ * feat: UseCase, Repository ๊ตฌํ ๋ฐ Main, Sub, Minor Category ์ฐ๊ฒฐ * feat: Checklist Title Stream * feat: Skipbutton ์ ๋ชฉ stream * style: Dependency ์์ * feat: AccessTokenInterceptor ์ถ๊ฐ * chore: Network ๋ณ๊ฒฝ์ฌํญ ๋ฐ์ * style: ์ฌ์ฉํ์ง ์๋ Router ๋ณ์์ ๊ฑฐ * style: Review ๋ฐ์ * [AI1 - 2] ์ฌ์ฉ์๋ AI ์ถ์ฒ์ ๋ ๋ฐ์ ์ ์๊ณ , ๋ด ์ฒดํฌ๋ฆฌ์คํธ๋ก ์ ํํด์ ๋ฃ๋๋ค (#148) * feat: ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์ถ๊ฐ * feat: Section๋ณ ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ ์ญ์ ๊ตฌํ * feat: AddTitle -> AddCheckListItem Routing ์ ์ฉ * feat: AI ์ฒดํฌ๋ฆฌ์คํธ ํ๋ฉด ์ ์ฉ * feat: LoadingIndicator ๊ตฌํ * feat: AccessTokenInterceptor ์ถ๊ฐ * chore: Optional Unwrapping ์ฒ๋ฆฌ --------- Co-authored-by: wi-seong-cheol <tjd9248@naver.com> * ์ฌ์ฉ์๋ ๋์ํธ์ง ํ๋ฉด์์ ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ์์ ๋ฐ ์ถ๊ฐ ํ ์ ์๋ค. (#149) * feat: ๊ฐ์ธ์์ ํจ๊ป๋ก ๋ณ๊ฒฝ ํ๋ฆ ๊ตฌํ * feat: crdt ๋งํฌ๋ ๋ฆฌ์คํธ ๋ฐฉ์ ์์ * feat: ๋ค๋น๊ฒ์ด์ ์ถ๊ฐ * feat: ๊ฐ์ธ์์ ํจ๊ป๋ก ๋ณ๊ฒฝ ํ๋ฆ ๊ตฌํ * feat: crdt ๋งํฌ๋ ๋ฆฌ์คํธ ๋ฐฉ์ ์์ * feat: ๋ค๋น๊ฒ์ด์ ์ถ๊ฐ * style: ์คํ ์์ * ์ฒดํฌ๋ฆฌ์คํธ ๊ฐ์ธ > ํจ๊ป ์ ํ (#147) * feat: ๋ฅ๋งํฌ๋ก ์ด๋๋์์ ๋ ๋ฐฉ ์ด๋ ๊ธฐ๋ฅ ๊ตฌํ * feat: ํจ๊ป ์ฒดํฌ๋ฆฌ์คํธ ํ ์ด๋ธ์ ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ํ ์ด๋ธ๋ก ๋ณ๊ฒฝ * feat: ํจ๊ป ์ฒดํฌ๋ฆฌ์คํธ ํ ์ด๋ธ ๊ตฌํ * feat: ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ตฌํ * feat: ์ฒดํฌ๋ฆฌ์คํธ ํจ๊ป ์์ฑํ๊ธฐ ๊ตฌํ * faet: ํจ๊ป ์ฒดํฌ๋ฆฌ์คํธ API ์ฐ๊ฒฐ * feat: Socket ์ฐ๊ฒฐ * feat: ๋ฐ์ดํฐ ํฉ์น๊ธฐ --------- Co-authored-by: klmyoungyun <kyoungyun98@naver.com> * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ๊ธธ๊ฒ ๋๋ฌ ์ญ์ ๊ตฌํ * feat: ์ฒดํฌ๋ฆฌ์คํธ ์์ธ ํ๋ฉด์์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ํ๋ ๋ก์ง ๊ตฌํ * feat: ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ ํ ๋ฆฌ๋ก๋ ๊ตฌํ --------- Co-authored-by: wi-seong-cheol <tjd9248@naver.com> Co-authored-by: wi-seong-cheol <53855302+wi-seong-cheol@users.noreply.github.com> * feat: ์์ฑ๋ ์ฒดํฌ๋ฆฌ์คํธ ๋ก์ปฌ์ ์ ์ฅํ๋ ๊ธฐ๋ฅ ๊ตฌํ (#151) * AI ์ถ์ฒ ์ฒดํฌ๋ฆฌ์คํธ ํ๋ฉด ๊ตฌํ (#156) * feat: Header ๊ตฌํ ๋ฐ ๊ธฐ์กด ๋ก์ง ์์ * feat: Header Button ๋ก์ง ๊ตฌํ & viewDidLoad ๋ก์ง ๋ถ๋ฆฌ * chore: Dark Mode ์์ฑ * style: Review ๋ฐ์ * CRDT ํ๊ธํ (#160) * feat: CRDT ํ๊ธํ ๋ฐ ๋ฐธ๋ฐ์ฑ ๋ฌธ์ ํด๊ฒฐ * feat: CRDT ํ๊ธํ * refactor: ํจ์๋ช ์์ * ์ค์ ํ๋ฉด ๊ตฌํ (#181) * feat: Setting UI ๊ตฌ์ฑ * feat: ๋ก๊ทธ์์, ํ์ํํด ๊ธฐ๋ฅ ๊ตฌํ * feat: ์ค์์ดํ๋ก ๋ค๋ก๊ฐ๊ธฐ ๊ธฐ๋ฅ ๊ตฌํ (#187) * ํ๋กํ ํ๋ฉด ๊ตฌํ (#188) * refactor: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ํ๋ฉด ํ๋ฆ ๊ตฌ์ฑ * feat: profile UI ๊ตฌ์ฑ * feat: profile ๋๋ค์ ๋ณ๊ฒฝ ๊ตฌํ * feat: profile ๋๋ค์ ๋ณ๊ฒฝ ๊ตฌํ * fix: ๊ฐ์ ์ธ๋ฉํ ์ ๊ฑฐ * Textfield์์ TextView๋ก ๋ณ๊ฒฝ (#189) * feat: Textfield๋ฅผ TextView๋ก ๋ณ๊ฒฝ * fix: ์ ์ญ์ ์ค๋ฅ ์์ * fix: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * [FE1 - 1] ์ฌ์ฉ์๋ ์นดํ ๊ณ ๋ฆฌ๋ณ ์ถ์ฒ ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ๋ฐ๊ณ ์์๋, ์ข์ฐ ์คํฌ๋กคํ๋ฉฐ ๋ณผ ์ ์๋ค. (#192) * feat: ์ถ์ฒ ํญ UI ๊ตฌํ * feat: ์ถ์ฒ ํญ ์ ์ฆ์ผ์ด์ค, ๋ ํฌ์งํ ๋ฆฌ ๊ตฌํ * fix: ์ปฌ๋ ์ ๋ทฐ ์์ ๋ฐ์ดํฐ์์ค๊ฐ ์์ ๋ ๋ฐ์ํ๋ ์ค๋ฅ ์์ * feat: ์ถ์ฒํญ ๊ธฐ๋ณธ ์ด๋ฏธ์ง ์ถ๊ฐ * ์ถ์ฒ ํผ๋ API ์ฐ๊ฒฐ (#204) * feat: ํผ๋ API ์ฐ๊ฒฐ * feat: ๋น ์ฒดํฌ๋ฆฌ์คํธ ํ๋ฉด ํ์ ์ด๊ฑฐํ ๋ณ๊ฒฝ ใ ใ * ๋์ํธ์ง์์ ์ฌ์ฉ์์ ์์น์ ์ฒดํฌ๋ฆฌ์คํธ ์ฒดํฌ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์๋ค (#193) * feat: Item ์ ๊ฑฐ * feat: ์ฐ์ฐ ํ๋๋ก ํฉ์น๋ ๊ธฐ๋ฅ ๊ตฌํ * feat: socket ์ด๋ฆ ์ถ๊ฐ * feat: ์ฌ์ฉ์ ์ด๋ฆ Cell ํ๊ธฐ * feat: ListItem ์ถ์ํ ๋ฐ ์ฌ์ฉ์ ํ์ * feat: AppendDocument ์ฌ์ฉ์ ์๋ฆฌ ์ด๋ * feat: ์ฌ์ฉ์์์น ํ์ * style: delete ์์ * feat: CheckList Toggle Socket Send * feat: CheckList ์ฒดํฌ๋ฐ์ค ๋์ํธ์ง * feat: ์ฒดํฌ๋ฐ์ค ์ํ ์ ์ฅ * feat: Any Type Decoding * feat: CRDT decode * chore: Conflict ํด๊ฒฐ * fix: Loading Indicator ํธ์ถ ์์ ๋ณ๊ฒฝ * chore: Code ์์ ๋ฐ ๋ ์ด์์ ๋ณ๊ฒฝ * chore: ํ ํฐ ์ญ์ ์ฒ๋ฆฌ * chore: review ๋ฐ์ * fix: CheckList ์ญ์ ์๋๋ ์ค๋ฅ fix * fix: CheckList ํ ์ฌ์ฉ์ ํธ์ง์ ์ฒดํฌ๋ฐ์ค ์ํ ๋ณ๊ฒฝ ๋ฐ์ * fix: ์ญ์ ์๋๋ ์ค๋ฅ ํด๊ฒฐ * chore: UserDefaults ํต์ผ * chore: conflict ํด๊ฒฐ --------- Co-authored-by: wi-seong-cheol <tjd9248@naver.com> Co-authored-by: klmyoungyun <kyoungyun98@naver.com> * fix: ๋น ์ฒดํฌ๋ฆฌ์คํธ๊ฐ ์ญ์ ๋๋๋ก ์์ (#206) * ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ API ์ฐ๋ (#207) * feat: ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ * feat: ํจ๊ป ๋ํ ์ผ ํ๋ฉด์์ ์ญ์ * feat: History ๋ฐ์, ์ ๋ชฉ ๋ฐ์ (#212) * feat: History ๋ฐ์, ์ ๋ชฉ ๋ฐ์ * chore: Review ๋ฐ์ * feat: ํผ๋ ๋ทฐ ๋ค๋น๊ฒ์ด์ ๋ฐ ์ถ๊ฐ (#211) * ๋์ํธ์ง ๊ธด๊ธ ์ค๋ฅ ์์ (#214) * fix: indexPath ์ ๋ฐ์ดํธ ์ค๋ฅ ์์ * fix: ์ฒดํฌ ์ค๋ฅ ์์ * fix: ์ด๋ชจ์ง ์ค๋ฅ ์์ * ํจ๊ป ์ฒดํฌ๋ฆฌ์คํธ Subject ํธ์ถ ๋ถ ๋ณ๊ฒฝ ๋ฐ ์ธ์์ ํ์ (#235) * fix: viewWillAppear -> ViewDidLoad ๋ณ๊ฒฝ * style: ์ฌ๋ ์ธ์ ํ์ ๋ณ๊ฒฝ * Custom Network ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ ๊ธฐ๋ฅ ์ถ๊ฐ, API ์์ ๋ฐ์ (#243) * feat: Network Layer Query ๊ธฐ๋ฅ์ถ๊ฐ, ์นดํ ๊ณ ๋ฆฌAPI ์์ * chore: Query ๊ธฐ์กด ์ฝ๋ ์์ ๋ฐ ์ฃผ์์ ๊ฑฐ * style: ๋งค๊ฐ๋ณ์ ์ด๋ฆ ์์ * CRDT ๋ฉ๋ชจ๋ฆฌ ๋์ ํด๊ฒฐ (#244) * fix: ํธ๋ฆฌ<->๋ ธ๋ ์ํ์ฐธ์กฐ๋ก ์ธํ ๋ฉ๋ชจ๋ฆฌ ๋์ ํด๊ฒฐ * fix: ์ธํฐ์ ํฐ ๊ตฌ์กฐ์ฒด๋ก ๋ณ๊ฒฝ * fix: CRDT ์ ์ญ์ ์ค๋ฅ ์์ (#248) * ๏ฟฝToken ๊ฐฑ์ ๋ก์ง ๊ตฌํ (#253) * feat: Access Token ๊ฐฑ์ * feat: Refresh Token ๋ง๋ฃ ํ์ธ * fix: ๋ถํ์ํ import ์ ๊ฑฐ * feat: ํจ๊ป ์ ๊ทธ๋ฆผ์ ๋์์ธ ์์ (#256) * ๋คํฌ๋ชจ๋ ์ง์ (#257) * feat: ๋คํฌ๋ชจ๋ ์ง์ * fix: ์๋ก ๋ค๋ฅธ session์ผ๋ก ์ธํ API ์ฝ ์ค๋ฅ ํด๊ฒฐ session์ ์ฌ๋ฌ ๊ตฐ๋ฐ์์ ๋ฃ์ด์ฃผ๋ฉด์ ๋ค๋ฅธ session์ ๋ฃ์ด์ค์ ์๊ธฐ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ * refactor: Delete .DS_Store (#262) --------- Co-authored-by: ๊น์๊ท <48887389+klmyoungyun@users.noreply.github.com> Co-authored-by: ๊น์ฑํ <42074365+SeongHunTed@users.noreply.github.com> Co-authored-by: klmyoungyun <kyoungyun98@naver.com> * Main์ Server ์ ์ฅ์ ํฉ์น๊ธฐ (#265) * [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * [Server] ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ํ์ธ ๋ฐ ๊ฐ์๋ก item ์์ฑ ๋ก์ง (#228) * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ๋ฐํํด์ฃผ๋ api ์์ฑ * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ itemCount๋ก pub๋ ํ๊ณ ์๋ต๋ ๋ฐํํ๋ ์๋น์ค ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ controller ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ service ํจ์ ๊ตฌํ * [Server] ์นดํ ๊ณ ๋ฆฌ api db ๋ฐฉ์์ผ๋ก ์ ๋ฐ์ดํธ, ์ธ๊ณต์ง๋ฅ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๊ฐ์ (#240) * feat: category service ํจ์ ์์ * feat: category service ํจ์ ์์ฒญ ํํ ๋ณ๊ฒฝ * feat: ai ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ * refactor: jwt toekn ๋ง๋ฃ ์๊ฐ ํ๊ฒฝ๋ณ์๋ก ๋ณ๊ฒฝ (#250) * feat: ์ด๋๋ฏผ ํ์ด์ง ai๊ด๋ จ ๋ทฐ ์ถ๊ฐ ๋ฐ ๊ด๋ จ api ์ถ๊ฐ (#260) * feat: adminํ์ด์ง cpu ์ฌ์ฉ๋ ํตํฉํด์ ๋ณด์ฌ์ฃผ๊ธฐ * refactor: serverStatus ๋คํธ์ํฌ ๊ด๋ จ ์ ๊ฑฐ * fix: ์ฒดํฌ๋ฆฌ์คํธ ai ์์ฑ ๊ด๋ฆฌ์๋ง ๊ฐ๋ฅํ๋๋ก ์์ * feat: admin ํ์ด์ง ai ์ฐ๋ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * Main์ ai ์ ์ฅ์ ํฉ์น๊ธฐ (#268) * [Server] ai generate-server ์์ฑ (#190) * feat: gitignore ํ์ผ ์ถ๊ฐ first commit * feat: yarn init * feat: app.js ๊ธฐ๋ณธ ์๋ฒ ์์ฑ * chore: openai ํจํค์ง ์ค์น * chore: prettier, pg ์ค์น * feat: generateGptData ํจ์ ๊ตฌํ * feat: postgresql์ ํญ๋ชฉ๋ค ์ ์ฅ ๋ก์ง ์ถ๊ฐ * feat: gpt-4-1106-preview ๋ชจ๋ธ๋ก ๋ณ๊ฒฝ, ํ์ฑ ๋ก์ง ์ถ๊ฐ * feat: gpt์์ item ๋ถ๋ฌ์์ db์ ์ ์ฅํ๋ ๋ก์ง ๊ตฌํ * chore: redis ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ * feat: redis publisher ์ค์ * feat: ๋๋ ๋ฐ์ดํฐ ์์ฑ์ ์ํ ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ * feat: ๋๋ค์ฑ์ ๋์ผ ์ ์๋ temperature ์ต์ ์ค์ * feat: ๋๋ ๋ฐ์ดํฐ ์์ฑ ์ต์ ์ฃผ์์ฒ๋ฆฌ * feat: temperature ์ต์ ์ฃผ์์ฒ๋ฆฌ, ํญ๋ชฉ๊ฐ์ 10๊ฐ๋ก ์ ํ * feat: pr ํ ํ๋ฆฟ ์์ * feat: gpt ๋ชจ๋ธ gpt-4-1106-preview ๋ก ๋ณ๊ฒฝ (#217) * [Server] ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ๋ฐฐ์ด ์ ๋ ฅ ์ฒ๋ฆฌ, promise pool ๋ฐฉ์ ๋์ , env ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ (#221) * feat: subscribeํ ๋ ์นดํ ๊ณ ๋ฆฌ ๋ฐฐ์ด์ ์์ ๋น ์์ฑ๊ณผ ์ ์ฅ์ for๋ฌธ์ผ๋ก ๊ตฌํ * feat: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ์ ๋ฐฐ์ด์ ๋ฃ์์ ๋ ์์ฐจ์ ์ผ๋ก ๋ก์ง์ ์ํํ๋๋ก ๊ฐ์ * chore: @supercharge/promise-pool ์ค์น * chore: sub ๋ชจ๋ env ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ * feat: ๋ณ๊ฒฝ๋ db ์คํค๋ง ๊ตฌ์กฐ์ ๋ฐ๋ผ sql๋ฌธ ์์ ๋ฐ ์๋ฌ์ ๋ํ retry ๊ตฌ์กฐ ๊ตฌํ * feat: ์ฑ๋๋ช category-> ai_generate๋ก ๋ณ๊ฒฝ * feat: log ์ถ๋ ฅ์ ์ํ ๊ณผ์ ์์์ publish ์ด๋ฒคํธ ์ถ๊ฐ * feat: ai evaluate server ์์ฑ (#239) * chore: gitignore ์ธํ * feat: evaluate api ๊ตฌํ * feat: ai ๋ต๋ณ์ด ํ์๊ณผ ๋ค๋ฅผ ๊ฒฝ์ฐ ์ต๋ 3๋ฒ๊น์ง ์ฌ์๋ ๋ก์ง ๊ตฌํ * chore: typeorm, posgres ์ค์น * feat: postgres ๋๋น ์ฐ๊ฒฐ * feat: array to object ํจ์ ์ถ๊ฐ * chore: redis ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ * feat: ๋ ๋์ค pub/sub ๊ตฌํ * feat: pubํ๋ฉด ์ธ๊ณต์ง๋ฅ ํ๊ฐ ์คํ ๊ตฌํ * feat: redis pub ํด๋์คํ * feat: ๋๋น ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis ์ฐ๊ฒฐ * feat: ์ฟผ๋ฆฌ ๋ฐ ๊ฒฐ๊ณผ๋ฌผ ํ์ฑ ํจ์ ์ถ๊ฐ * feature: api,main ์ฐ๊ฒฐ * feat: ํ๊ฐ ํ ๊ฒฐ๊ณผ๋ฅผ DB์ ์ ์ฅํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ai ์๋ํ api ๊ตฌํ * feat: ํ๊ฐ api redis sub ์ฐ๊ฒฐ * refactor : ๋ถํ์ํ ํ์ผ/์ฝ๋ ์ ๊ฑฐ * style: ์ฃผ์ ์ถ๊ฐ * refactor: postgres ์ฟผ๋ฆฌ ๋ณ์ํ * feat: ์ต์ข ์ ์ ๋งค๊ธฐ๋ ๊ธฐ๋ฅ ์ถ๊ฐ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> Co-authored-by: Minseong Park <pminsung12@gmail.com> * Update README.md (#275) --------- Co-authored-by: yangdongsuk <51476641+yangdongsuk@users.noreply.github.com> Co-authored-by: ๊น์๊ท <48887389+klmyoungyun@users.noreply.github.com> Co-authored-by: wi-seong-cheol <53855302+wi-seong-cheol@users.noreply.github.com> Co-authored-by: ๊น์ฑํ <42074365+SeongHunTed@users.noreply.github.com> Co-authored-by: klmyoungyun <kyoungyun98@naver.com>
yangdongsuk
added a commit
that referenced
this pull request
Mar 10, 2024
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * [Server] ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ํ์ธ ๋ฐ ๊ฐ์๋ก item ์์ฑ ๋ก์ง (#228) * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ๋ฐํํด์ฃผ๋ api ์์ฑ * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ itemCount๋ก pub๋ ํ๊ณ ์๋ต๋ ๋ฐํํ๋ ์๋น์ค ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ controller ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ service ํจ์ ๊ตฌํ * [Server] ์นดํ ๊ณ ๋ฆฌ api db ๋ฐฉ์์ผ๋ก ์ ๋ฐ์ดํธ, ์ธ๊ณต์ง๋ฅ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๊ฐ์ (#240) * feat: category service ํจ์ ์์ * feat: category service ํจ์ ์์ฒญ ํํ ๋ณ๊ฒฝ * feat: ai ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ * refactor: jwt toekn ๋ง๋ฃ ์๊ฐ ํ๊ฒฝ๋ณ์๋ก ๋ณ๊ฒฝ (#250) * feat: ์ด๋๋ฏผ ํ์ด์ง ai๊ด๋ จ ๋ทฐ ์ถ๊ฐ ๋ฐ ๊ด๋ จ api ์ถ๊ฐ (#260) * feat: adminํ์ด์ง cpu ์ฌ์ฉ๋ ํตํฉํด์ ๋ณด์ฌ์ฃผ๊ธฐ * refactor: serverStatus ๋คํธ์ํฌ ๊ด๋ จ ์ ๊ฑฐ * fix: ์ฒดํฌ๋ฆฌ์คํธ ai ์์ฑ ๊ด๋ฆฌ์๋ง ๊ฐ๋ฅํ๋๋ก ์์ * feat: admin ํ์ด์ง ai ์ฐ๋ --------- Co-authored-by: YangDongsuk <51476641+YangDongsuk@users.noreply.github.com>
pminsung12
added a commit
that referenced
this pull request
Mar 10, 2024
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * [Server] ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ํ์ธ ๋ฐ ๊ฐ์๋ก item ์์ฑ ๋ก์ง (#228) * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ๋ฐํํด์ฃผ๋ api ์์ฑ * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ itemCount๋ก pub๋ ํ๊ณ ์๋ต๋ ๋ฐํํ๋ ์๋น์ค ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ controller ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ service ํจ์ ๊ตฌํ * [Server] ์นดํ ๊ณ ๋ฆฌ api db ๋ฐฉ์์ผ๋ก ์ ๋ฐ์ดํธ, ์ธ๊ณต์ง๋ฅ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๊ฐ์ (#240) * feat: category service ํจ์ ์์ * feat: category service ํจ์ ์์ฒญ ํํ ๋ณ๊ฒฝ * feat: ai ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ * refactor: jwt toekn ๋ง๋ฃ ์๊ฐ ํ๊ฒฝ๋ณ์๋ก ๋ณ๊ฒฝ (#250) * feat: ์ด๋๋ฏผ ํ์ด์ง ai๊ด๋ จ ๋ทฐ ์ถ๊ฐ ๋ฐ ๊ด๋ จ api ์ถ๊ฐ (#260) * feat: adminํ์ด์ง cpu ์ฌ์ฉ๋ ํตํฉํด์ ๋ณด์ฌ์ฃผ๊ธฐ * refactor: serverStatus ๋คํธ์ํฌ ๊ด๋ จ ์ ๊ฑฐ * fix: ์ฒดํฌ๋ฆฌ์คํธ ai ์์ฑ ๊ด๋ฆฌ์๋ง ๊ฐ๋ฅํ๋๋ก ์์ * feat: admin ํ์ด์ง ai ์ฐ๋ --------- Co-authored-by: YangDongsuk <51476641+YangDongsuk@users.noreply.github.com>
pminsung12
added a commit
that referenced
this pull request
Mar 10, 2024
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * [Server] ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ํ์ธ ๋ฐ ๊ฐ์๋ก item ์์ฑ ๋ก์ง (#228) * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ๋ฐํํด์ฃผ๋ api ์์ฑ * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ itemCount๋ก pub๋ ํ๊ณ ์๋ต๋ ๋ฐํํ๋ ์๋น์ค ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ controller ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ service ํจ์ ๊ตฌํ * [Server] ์นดํ ๊ณ ๋ฆฌ api db ๋ฐฉ์์ผ๋ก ์ ๋ฐ์ดํธ, ์ธ๊ณต์ง๋ฅ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๊ฐ์ (#240) * feat: category service ํจ์ ์์ * feat: category service ํจ์ ์์ฒญ ํํ ๋ณ๊ฒฝ * feat: ai ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ * refactor: jwt toekn ๋ง๋ฃ ์๊ฐ ํ๊ฒฝ๋ณ์๋ก ๋ณ๊ฒฝ (#250) * feat: ์ด๋๋ฏผ ํ์ด์ง ai๊ด๋ จ ๋ทฐ ์ถ๊ฐ ๋ฐ ๊ด๋ จ api ์ถ๊ฐ (#260) * feat: adminํ์ด์ง cpu ์ฌ์ฉ๋ ํตํฉํด์ ๋ณด์ฌ์ฃผ๊ธฐ * refactor: serverStatus ๋คํธ์ํฌ ๊ด๋ จ ์ ๊ฑฐ * fix: ์ฒดํฌ๋ฆฌ์คํธ ai ์์ฑ ๊ด๋ฆฌ์๋ง ๊ฐ๋ฅํ๋๋ก ์์ * feat: admin ํ์ด์ง ai ์ฐ๋ * feat: Update main.yml --------- Co-authored-by: YangDongsuk <51476641+YangDongsuk@users.noreply.github.com>
pminsung12
added a commit
that referenced
this pull request
Mar 10, 2024
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * [Server] ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ํ์ธ ๋ฐ ๊ฐ์๋ก item ์์ฑ ๋ก์ง (#228) * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ๋ฐํํด์ฃผ๋ api ์์ฑ * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ itemCount๋ก pub๋ ํ๊ณ ์๋ต๋ ๋ฐํํ๋ ์๋น์ค ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ controller ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ service ํจ์ ๊ตฌํ * [Server] ์นดํ ๊ณ ๋ฆฌ api db ๋ฐฉ์์ผ๋ก ์ ๋ฐ์ดํธ, ์ธ๊ณต์ง๋ฅ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๊ฐ์ (#240) * feat: category service ํจ์ ์์ * feat: category service ํจ์ ์์ฒญ ํํ ๋ณ๊ฒฝ * feat: ai ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ * refactor: jwt toekn ๋ง๋ฃ ์๊ฐ ํ๊ฒฝ๋ณ์๋ก ๋ณ๊ฒฝ (#250) * feat: ์ด๋๋ฏผ ํ์ด์ง ai๊ด๋ จ ๋ทฐ ์ถ๊ฐ ๋ฐ ๊ด๋ จ api ์ถ๊ฐ (#260) * feat: adminํ์ด์ง cpu ์ฌ์ฉ๋ ํตํฉํด์ ๋ณด์ฌ์ฃผ๊ธฐ * refactor: serverStatus ๋คํธ์ํฌ ๊ด๋ จ ์ ๊ฑฐ * fix: ์ฒดํฌ๋ฆฌ์คํธ ai ์์ฑ ๊ด๋ฆฌ์๋ง ๊ฐ๋ฅํ๋๋ก ์์ * feat: admin ํ์ด์ง ai ์ฐ๋ * feat: Update main.yml --------- Co-authored-by: YangDongsuk <51476641+YangDongsuk@users.noreply.github.com>
pminsung12
added a commit
that referenced
this pull request
Mar 11, 2024
* [Server] ๊ฐ๋ฐํ๊ฒฝ ์ธํ (#4) * build: open-list-server init * chore: @nestjs/config class-validator class-transformer ์ค์น * chore: ๋ฃจํธ ๋ ๋ฒจ์์ ์ค์นํ ํจํค์ง ์ญ์ * chore: NestJs ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ * chore: @nestjs/config class-validator class-transformer ์ค์น * Server/feature/#13 (#25) * chore: postgresql, nestjs docker ์ธํ * chore: @nestjs/typeorm, typeorm, pg ์ค์น * chore: Typeorm ์ธํ ๋ฐ TestModel ํ ์ด๋ธ ์์ฑ * ํ ์คํธ์ฉ ์ ์ API ๊ตฌํ (#30) * chore: common resource ์ถ๊ฐ * chore: users resource ์ถ๊ฐ * feature: base entity ๊ตฌํ * feature: usersEntity ๊ตฌํ * feature: ๋ชจ๋์ usersModel ์ถ๊ฐ * style: entity,dto์ users -> user๋ก ๋ณ๊ฒฝ * feature: CreateUserDto ๊ตฌํ * feature: userEntity ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: createUserDto ์ด๋ฉ์ผ ํ๋ ์ถ๊ฐ * feature: user patch->put์ผ๋ก ๋ณ๊ฒฝ * feature: updateUserDto ๊ตฌํ * feature : create user ๊ตฌํ * feature: ๋ชจ๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: ํน์ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API ๊ตฌํ * feature: user ์ ๋ณด ์์ API ๊ตฌํ * feature: user ์ญ์ API ๊ตฌํ * feature: ValidationPipe ์ ์ฉ * refactor: usersService ๋ฆฌํฉํ ๋ง * [Server] ์ ๋ ํ ์คํธ ํ๊ฒฝ ์ธํ (#32) * chore: test ๊ฒฝ๋ก ์ค์ * feature: TestCommonModule ๊ตฌํ * feature: users.service.spec.ts ์์กด์ฑ ์ฃผ์ * feature: users.controller.spec.ts ์์กด์ฑ ์ฃผ์ * [Server] Users resource ์ด๋ฆ ๋ณ๊ฒฝ (#34) * style: usersController ๋ค์ด๋ฐ์ ์ปจ๋ฒค์ ๋ง๊ฒ ๋ณ๊ฒฝ * style: usersService ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * style: UsersModel -> UserModel ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * feature: usersService ํ ์คํธ ์ฝ๋ ์์ฑ (#39) * [Server] Folder entity ์์ฑ ๋ฐ crud ๊ตฌํ (#42) * feat: folders crud ๊ตฌํ * chore: TestModel ์ญ์ ๋ฐ ๊ด๋ จ๋ ์ข ์์ฑ ์ ๊ฑฐ * feat: folders.controller.spec.ts ์ญ์ , folders.service.spec.ts ๊ตฌํ * feature: dockerํ์ผ ์์ (#57) * feat: private checklist entity ์์ฑ ๋ฐ crud ๊ตฌํ (#61) * chore: ๊ฐ๋ฐ์ฉ postgres ํฌํธ๋ณ๊ฒฝ 5432->5433, .env๋ port 5433์ผ๋ก ๋ณ๊ฒฝํ์ * feat: checklists res ์์ฑ * feat: checklist, private-checklist, shared-checklisst ์ํฐํฐ ์์ฑ, user๋ชจ๋ธ๊ณผ folder๋ชจ๋ธ๊ณผ์ ์์กด๊ด๊ณ ์ฃผ์ * feat: author->editor๋ก ์์ , ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ์ฌ์ฉ์์ relation์ many to many๋ก ์ ๋ฐ์ดํธ * feat: ๊ฐ์ธ, ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ํด ์์ฑ๊ณผ ์ ๋ฐ์ดํธ ์ dto ์์ฑ * fix: class ์ด๋ฆ ์คํ ์์ * refactor: rest api ๋ฐฉ์์ ๋ฐ๋ผ ํจ์๋ช ๋ณ๊ฒฝ * feat: CheckListModel์์ ์งํ๋ฅ ์ปฌ๋ผ ์ญ์ * feat: folder์ user๊ฐ์ manyToOne relation์ ์ฉ * feat: private-checklist crud ์์ฑ * feat: folder service ์ปค๋ฒ๋ฆฌ์ง 100 ๋ฌ์ฑ * test: private-checklist test code ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง 92ํผ์ผํธ * feat: checklist ํด๋ ๋ถ๋ฆฌ & dto ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#66) * refactor: checklists๋ฅผ private, sharedํด๋๋ก ๋ถ๋ฆฌ. * refactor: private-checklists๋ฅผ folders ํ์๋ก ์ด๋ * fix: ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ * [Server] Winston์ผ๋ก ๋ก๊ทธ ๊ด๋ฆฌ (#70) * chore: nest-winston winston winston-daily-rotate-file ์ค์น * feat: winston logger ์ค์ ํ์ผ ๊ตฌํ * feat: winston logger middleware ๊ตฌํ * feat: ์์ฒญ logger middleware ๊ตฌํ * feat: ๋ก๊ทธ์ ์์ฒญ ์ฒ๋ฆฌ ์๊ฐ ์ถ๊ฐ๋๋๋ก ๊ฐ์ * chore: PR ํ ํ๋ฆฟ ์์ * chore: PR ํ ํ๋ฆฟ ์์ * feat: jwt access, refresh token ๊ธฐ๋ฐ ์ธ๊ฐ ๊ตฌํ * chore: auth resource ์ถ๊ฐ * chore: jwt ๋ชจ๋ ์ถ๊ฐ * feature: signToken ๊ตฌํ * feature: ํ ํฐ ๊ฒ์ฆ, ํ ํฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feature: ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๊ตฌํ * feature: login ์ปจํธ๋กค๋ฌ ๊ตฌํ * style: loginDto -> loginUserDto๋ก ๋ณ๊ฒฝ * feature: access ํ ํฐ ์ฌ๋ฐ๊ธ ์ปจํธ๋กค๋ฌ ๊ตฌํ * refactor: accessํ ํฐ ์ฌ๋ฐ๊ธ ํ์ ๋ณ๊ฒฝ * feature: ์ ์ register ๊ธฐ๋ฅ ๊ตฌํ * feature: auth.service.ts ํ ์คํธ ์ฝ๋ ์์ฑ * fix: ์ด๋ฉ์ผ ์ค๋ณต์ ์๋ฌ ๋ฉ์์ง ์์ --------- Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com> * [Server] shared-checklist ์์ผ ๊ตฌํ (#78) * [Server] apple oauth api ๊ตฌํ (#86) * chore: @nestjs/axios ์ค์น * chore: axios ์ค์น * chore: axios ์ค์น * feat: dto์์ , userId ์ปฌ๋ผ์ถ๊ฐ, providerId ์์ , fullName ์ปฌ๋ผ ์ถ๊ฐ * feat: entity์ ๋ฐ๋ผ dto ํญ๋ชฉ ์์ * feat: apple oauth ๋ก๊ทธ์ธ ์๋น์ค ํจ์ ์ถ๊ฐ client secret ๋ง๋ค๊ณ , axios post๋ก user ์ ๋ณด ๊ฐ์ง๊ณ ์ด. * feat: apple oauth ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ ์ถ๊ฐ * feat: apple ์ ์ ์๋ํด create, update ํจ์ ๊ตฌํ * feat: publicKey ๋ฐ๊ธ๋ฐ๋ ๋ก์ง์ถ๊ฐ * [Server] access ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ ์ ๋ณด ์๋ ๋ฒ๊ทธ ์์ (#83) * [Server] privateChecklist์ ๋ด์ฉ ์ ์ฅ api ๊ตฌํ (#88) * [Server] apple oauth ๋ก๊ทธ์ธ ๋ก์ง ์์ (#118) * feat: env ์ฌ์ฉ๋ฐฉ์ ๋ณ๊ฒฝ + idToken ๊ฒ์ฆ๋ก์ง ์ถ๊ฐ * chore: jwk๋ฅผ pem์ผ๋ก ๋ณํํ๊ธฐ ์ํ jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * chore: jose ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ฑฐ @panva/jose ์ค์น * feat: request body๋ก ๋ค์ด์ค๋ auth-user.dto.ts ์์ * feat: ์ ํ ์ ์ ๋ฑ๋ก ๋ก์ง ์์ * docs: jsdoc return type ์์ * feat: apple login ๋ก์ง ์์ (appleToken, clientSecret ๋ก์ง ์ญ์ ) * feat: refreshAccessToken ํจ์์์ refreshToken๋ ํจ๊ป ๋ฐํํด์ฃผ๋๋ก ๋ก์ง ์์ * [Server] Clova Studio api ๊ตฌํ (#126) * feat: checklist-ai ๋ฆฌ์์ค ์์ฑ * feat: create-checklist-items.dto.ts ์์ฒญ dto ์์ฑ * feat: ๋ฌธ์์ด ๋ฐ ๊ฐ์ข ์ต์ ์์ํ * feat: user-role const ํ์ผ ์ญ์ => ํจ์ํ * feat: /checklist-ai POST ์์ฒญ api ์์ฑ ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ body๋ก ๋ฐ์์ค๋ฉด clova studio์์ ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ 10๊ฐ๋ฅผ ๋ฐํํ๋ค. * feat: AccessTokenGuard ๊ตฌํ ๋ฐ ์ ์ฉ (#129) * feat: access token guard ๊ตฌํ * feat: access token guard ์ ์ญ ์ ์ฉ * style: access-token.guard.ts ์ฃผ์ ์ถ๊ฐ * feat: userId decorator ๊ตฌํ * feat: folders controller์ userId ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ํด๋ ์๋น์ค์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: ๊ฐ์ธ ์ฒดํฌ๋ฆฌ์คํธ ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * feat: private-checklists service์ user ๋ฐ์ฝ๋ ์ดํฐ ์ถ๊ฐ * fix: ํ ์คํธ ์ฝ๋ ์์ * Server/feature/#128 (#139) * feat: json ๊ตฌ์กฐ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ ์ * feat: categories ์์กด์ฑ ์ฃผ์ * feat: endpoint๋ง๋ค๊ณ , ์ค์ ์กด์ฌํ๋ id์ธ์ง ๊ฒ์ฆํ๋ dto ์์ฑ * fix: ์คํ์์ forder->folder * feat: param์ dto ์ ์ฉํ์ง ๋ชปํด ์ญ์ * feat: ์นดํ ๊ณ ๋ฆฌ json ๋ฐ์ดํฐ ๋ณ์๋ช ๋ณ๊ฒฝ, ๋๋ฌธ์๋ก * feat: ๋,์ค,์ ์นดํ ๊ณ ๋ฆฌ ๋ฐํ api ๊ตฌํ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * test: categories.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ ์ปค๋ฒ๋ฆฌ์ง 100 * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ API ๋ฐ ์์ผ ์์ ๊ตฌํ (#140) * feat: shared checklist item entity ๊ตฌํ * style: SharedChecklistItemModel ์คํ ์์ * feat: shared checklist id uuid๋ก ๋ณ๊ฒฝ * feat: create shared checklist ๋ํฐ์ค ์์ * feat: shared-checklists ์์ฑ ๊ตฌํ * refactor: shared-checklists ์ ์ฅํ๋ ํจ์ ๋ถ๋ฆฌ * feat: shared-checklists 1๊ฐ, ์ ๋ถ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * style: shared-checklists service ์ฃผ์ ์ถ๊ฐ * feature: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ผ์ ๋ฐ์ดํฐ ๋์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: shared-checklists ์์ผ ํต์ ์ ๋ฐ์ดํฐ ๋ฐ๋ฒ ์ ์ ์ฅ ๊ตฌํ * feat: ์์ผ ์ฐ๊ฒฐ์ ๋ฐฉ์ ๋ฐ์ดํฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * style: ์์ผ ์ฃผ์ ์ถ๊ฐ * ๐feat: ๊ฐ๋ฐ์ฉ ์์๋ก ์ก์ธ์ค,๋ฆฌํ๋ ์ ํ ํฐ๋ค ๋ง๋ฃ๊ธฐํ ์ผ์ฃผ์ผ๋ก ์ค์ (#142) * feat: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ๋ฌธ์ ๋ฐ uuid ๋ฌธ์ ํด๊ฒฐ (#146) * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ดํ ๊ถํ ์์ผ๋ฉด ์ ๊ทผ ๋ชปํ๊ฒ ์์ * fix: ์ฒดํฌ๋ฆฌ์คํธ ์ถ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋์ง ๊ฒ์ฌ * fix: ๊ณต์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ์ uuid๊ฐ ์๋๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋ ํ์ ์์ * style: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ์์ผ ๋ค์ค ์๋ฒ ์ง์ (#159) * chore: docker-compose.yaml์ ๋ ๋์ค ์ถ๊ฐ * chore: redis ๋ชจ๋ ์ถ๊ฐ * feature: nest ๋ค์ค ํฌํธ ์๋ฒ ๊ตฌ์ฑ * feature: redis.module.ts ๊ตฌํ ๋ฐ ์ ์ฉ * feature: ์์ผ์ ๋ ๋์ค ์ฝ์ * feature: ์์ผ pub/sub ๊ตฌํ * feat: ์์ผ ๋ ๋์ค์ ์ด ์ ์์์ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ผ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ ๋ ๋์ค ์ ์ฉ * refactor: shared-checklists.gateway.ts ๋ฆฌํฉํ ๋ง * feat: ์์ผ editing ์ด๋ฒคํธ ์ถ๊ฐ (#164) * fix: ๋ ๋์ค ์ฐ๊ฒฐ ์์ (#168) * [Server] object ํํ๊ฐ ๋ค์ด์ค๋ฉด redis์ ์ ์ฅ ์๋๋ ๋ฌธ์ ์์ (#171) * ๐fix: ์น์์ผ data๋ฅผ json์ผ๋ก ๋ณ๊ฒฝ ํ emit * ๐fix: history []์ ๊ฑฐ * ๐fix: data[0] -> data * feat: ์น์์ผ ํ์คํ ๋ฆฌ ๋ฒ๊ทธ ์์ ๋ฐ ์ฝ์ ๋ก๊ทธ ์ถ๊ฐ (#175) * fix: docker-compose ๋ ๋์ค ์ค์ ์ค๋ฅ ํด๊ฒฐ * feat: ์์ผ console.log ์ถ๊ฐ * fix: ์์ผ ํ์คํ ๋ฆฌ ์ ์ฅ์ ํ์ ์ค๋ฅ ์์ * [Server] ๋ก๊ฑฐ ๊ธฐ๋ฅ ํ๋ (#176) * feat: no auth ๋ฒ๊ทธ -> password ์ฃผ์ ํด์ * feat: ๋ก๊ทธ์ ํ๊ตญ ์๊ฐ๋ ์ถ๊ฐ * feat: ๋ก๊ทธํ์ผ์ด dist ๋ด๋ถ์ ์กด์ฌํด ํ ๋จ๊ณ ์๋ก ์ฎ๊ฒจ์ค. * feat: ์๋ต๋ก๊ทธ๋ interceptor์์ ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: ๋ก๊ทธ ์ธํฐ์ ํฐ app.module.ts ํ๋ก๋ฐ์ด๋์ ์ถ๊ฐ * ๐fix: redis module password ๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌ (#180) * [Server] ํผ๋ํ๋ฉด api ๊ตฌํ (#196) * chore: import ๋ฌธ ์ต์ ํ * feat: ํผ๋ resource ์์ฑ * feat: checklist entity์ ์นดํ ๊ณ ๋ฆฌ ์ปฌ๋ผ ์ถ๊ฐ * feat: feedmodel ์ ์ private checklist model์์ likeCount์ downloadCount ์ปฌ๋ผ ์ถ๊ฐ * chore: ์ฌ์ฉํ์ง ์๋ dto ํ์ผ ์ญ์ * chore: ์นดํ ๊ณ ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ * chore: ์์ฐ๋ ํ ์คํธ ํ์ผ ์ญ์ * feat: ํผ๋ ํ๋ฉด api ๊ตฌํ * feat: feeds.service.spec.ts ํ ์คํธ ์ฝ๋ ์์ฑ * feat: api ์๋ฌ ํธ๋ค๋ง ๋ก์ง ์ถ๊ฐ * test: feeds.service.spec.ts ์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * feat: ์๋ฌ๋ฉ์์ง ์์ * feat: ๊ด๋ฆฌ ํ์ด์ง์ api ๊ตฌํ (#197) * feat: admin resource ๊ตฌํ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ์ถ๊ฐ * feat: cors ์ค์ ์ถ๊ฐ * feat: ์์๋ก ๊ด๋ฆฌ์ ํ์ด์ง ๊ถํ ์ ๊ฑฐ * feat: admin sse api ๊ตฌํ * refactor: redis sub ์๋น์ค ๊ตฌํ * feat: ์ด๋๋ฏผ ํ์ด์ง api ๊ธฐ๋ฅ ์ถ๊ฐ * feat: redis pub ์๋น์ค ์ถ๊ฐ * refactor: admin controller์ redis service๋ก ๊ต์ฒด * feat: log interceptor์ redis pub ์ถ๊ฐ * refactor: channels const๋ก ๋ถ๋ฆฌ * style: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * feat: ws ๋ก๊ทธ redis pub ์ถ๊ฐ * feat: admin page ๋ฐ์ค ๋๋ฅด๋ฉด ํผ์น๊ธฐ/์ ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: admin ํ์ด์ง ์๊น ๋ณ๊ฒฝ * feat: ๊ด๋ฆฌ์ ํ์ด์ง ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * [Server] ํด๋ผ์ด์ธํธ์ api ์ฐ๋ ์์ (login, socket history) (#209) * feat: socket ๋น ํ์คํ ๋ฆฌ๋ฉด [] ๋ณด๋ด๊ธฐ * feat: ๋ก๊ทธ์ธ์ ์ ์ ๋๋ค์๋ ๊ฐ์ด ๋ณด๋ด์ฃผ๊ธฐ * [Server] ai์ ๊ด๋ จํ db ๊ตฌ์กฐ ๊ฐ์ (#220) * refactor: ๊ฒฝ๋ก ์ด๋ฆ ์์ entity->entities * feat: category ์ํฐํฐ ์์ฑ * feat: reason ๋ชจ๋ธ ์์ฑ ๋ฐ ๊ฐ ํ ์ด๋ธ relation ์ค์ * feat: ๊ฐ ํ ์ด๋ธ relation ์์ ๋ฐ ์์กด์ฑ ์ฃผ์ * feat: relation ๋ฐฉ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํfolders.service.ts ๋ฉ์๋ ์์ , ์์กด์ฑ ์ฃผ์ * feat: admin ํ์ด์ง ํญ๋ชฉ ์๋ ์ถ๊ฐ , ์์คํ ์ํ ๊ทธ๋ํ ์ถ๊ฐ (#223) * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: serverStatus ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ชจ๋ ๊ตฌ๋ ์ ๋ฐ์์ค๋ ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ๋ถํ์ํ ์์ ์ ๊ฑฐ * feat: admin page ์๋ฒ ์ํ ํ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ * [Server] ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ํ์ธ ๋ฐ ๊ฐ์๋ก item ์์ฑ ๋ก์ง (#228) * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ ๋ฐํํด์ฃผ๋ api ์์ฑ * feat: ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ดํ ๊ฐ์ itemCount๋ก pub๋ ํ๊ณ ์๋ต๋ ๋ฐํํ๋ ์๋น์ค ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ controller ํจ์ ๊ตฌํ * feat: generate-item api์ ๋ํ service ํจ์ ๊ตฌํ * [Server] ์นดํ ๊ณ ๋ฆฌ api db ๋ฐฉ์์ผ๋ก ์ ๋ฐ์ดํธ, ์ธ๊ณต์ง๋ฅ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๊ฐ์ (#240) * feat: category service ํจ์ ์์ * feat: category service ํจ์ ์์ฒญ ํํ ๋ณ๊ฒฝ * feat: ai ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ ์๋ต api db ์บ์ฑ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ * refactor: jwt toekn ๋ง๋ฃ ์๊ฐ ํ๊ฒฝ๋ณ์๋ก ๋ณ๊ฒฝ (#250) * feat: ์ด๋๋ฏผ ํ์ด์ง ai๊ด๋ จ ๋ทฐ ์ถ๊ฐ ๋ฐ ๊ด๋ จ api ์ถ๊ฐ (#260) * feat: adminํ์ด์ง cpu ์ฌ์ฉ๋ ํตํฉํด์ ๋ณด์ฌ์ฃผ๊ธฐ * refactor: serverStatus ๋คํธ์ํฌ ๊ด๋ จ ์ ๊ฑฐ * fix: ์ฒดํฌ๋ฆฌ์คํธ ai ์์ฑ ๊ด๋ฆฌ์๋ง ๊ฐ๋ฅํ๋๋ก ์์ * feat: admin ํ์ด์ง ai ์ฐ๋ * feat: Update main.yml --------- Co-authored-by: YangDongsuk <51476641+YangDongsuk@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
์๋ฃํ ๊ธฐ๋ฅ ํน์ ์์ ๊ธฐ๋ฅ
closes #141
๊ณ ๋ฏผ๊ณผ ํด๊ฒฐ ๊ณผ์
์คํฌ๋ฆฐ์ท
ํ ์คํธ ๊ฒฐ๊ณผ(์ปค๋ฒ๋ฆฌ์ง/ํ ์คํธ ๊ฒฐ๊ณผ)