Commit graph

30 commits

Author SHA1 Message Date
thibaud-leclere
7b4cfb4103 feat: add local auth data model 2026-05-06 08:17:05 +02:00
Mir Arif Hasan
803e4633a2
feat: api documentation versioning (#5676)
Co-authored-by: nivedin <nivedinp@gmail.com>
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2026-02-23 20:11:55 +05:30
shaezard
1824990980
fix: add teamID/userUid filter to updateMany queries, Fixed Row level locking to prevent deadlocks and achieve ~100x performance improvement (#5647)
* fix: add teamID/userUid filter to updateMany queries

Prevents cross-user/cross-team orderIndex corruption

* fix: fix orderIndex of existing collections

* feat(backend): add cascade delete for collections

- Add onDelete: Cascade to TeamCollection parent relationship
- Add onDelete: Cascade to UserRequest → UserCollection relationship
- Remove manual recursive deleteCollectionData methods
- Simplify deleteUserCollection and deleteTeamCollection services
- Add Prisma migration for cascade delete foreign keys

Resolves #5654

* refactor(team-collection): remove manual deleteCollectionData method

Resolves #5654

* fix(backend): fixed locking mechanisms for collections and requests

- User/Team Collection/Requests

Resolves #5666

---------

Co-authored-by: Abdur Rahman Daanish <abdurrahman_daanish@intuit.com>
2026-01-23 00:32:48 +06:00
Nivedin
e63bfe3723
feat: API Documentation (#5499)
Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2025-11-25 11:26:57 +05:30
Mir Arif Hasan
3acc0ec9b6
feat: mock server (#5482)
Co-authored-by: Anwarul Islam <anwaarulislaam@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-10-27 23:03:22 +05:30
Mir Arif Hasan
a7440d58cd
fix: maintain incremental orderIndex for collections and requests (#5338)
Co-authored-by: Anwarul Islam <anwaarulislaam@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-08-27 13:33:27 +05:30
Mir Arif Hasan
8f5eed5151
chore: migrate to @db.Timestamptz(3) and remove luxon dependency (#5283)
* feat: remove deprecated env sync

* feat: using infraConfig in bootstrap

* chore: migrate to TIMESTAMPTZ and remove luxon dependency

* chore: remove luxon deps

* Revert "feat: using infraConfig in bootstrap"

This reverts commit 147dba632f095dad816afdd4e46ed736e8a3b8ff.

* chore: cleanup
2025-07-28 21:32:14 +06:00
Akhil
f26d32c4e4
refactor: rename enum TeamMemberRole to TeamAccessRole (#5053)
Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
Co-authored-by: Anwarul Islam <anwaarulislaam@gmail.com>
2025-05-07 17:56:10 +05:30
Mir Arif Hasan
5dccce39b4
feat: env file sync with infra config (#4545) 2024-11-26 19:52:51 +05:30
Mir Arif Hasan
67f0324521
HSB-473 feat: encrypt sensitive data before storing in db (#4212)
* feat: encryption added on onMuduleInit

* feat: encryption changes added on sh admin mutations and query

* chore: fetch minimum column from DB

* feat: data encryption added on account table

* test: infra config test case update

* chore: env example modified

* chore: update variable name

* chore: refactor the code

* feat: client-ids made encrypted

* chore: encrypted auth client id's

---------

Co-authored-by: Balu Babu <balub997@gmail.com>
2024-08-14 13:04:12 +05:30
Mir Arif Hasan
783d911f8d
HSB-462 feat: infra token module and sh apis (#4191)
* feat: infra token module added

* feat: infra token guard added

* feat: token prefix removed

* feat: get pending invites api added

* docs: swagger doc added for get user invites api

* feat: delete user invitation api added

* feat: get users api added

* feat: update user api added

* feat: update admin status api added

* feat: create invitation api added

* chore: swagger doc update for create user invite

* feat: interceptor added to track last used on

* feat: change db schema

* chore: readonly tag added

* feat: get user by id api added

* fix: return type of a function

* feat: controller name change

* chore: improve token extractino

* chore: added email validation logic

---------

Co-authored-by: Balu Babu <balub997@gmail.com>
2024-07-29 12:36:18 +05:30
Mir Arif Hasan
c2085b8b6f
HSB-450 feature: user last active on (#4121)
* feat: userLastActiveOnInterceptor added and update func added in userService

* chore: changed user model parameter description

* chore: commented out docker volume for hopp-old-service

* chore: changed backend to work with secure cookies

---------

Co-authored-by: Balu Babu <balub997@gmail.com>
2024-06-21 12:40:21 +05:30
Balu Babu
4bd23a8f4c
feat: adding support for hopp-cli in self-host Hoppscotch (#4079)
* feat: created a new table to store user PATs

* chore: renamed UserTokens table name to PersonalAccessToken

* chore: added unique property to token column

* chore: made expiresOn field optional

* chore: created access-token module

* feat: created access-token rest routes

* chore: created a new auth guard for PATs

* chore: scaffolded routes in team collection and environments modules for CLI

* chore: created method to update lastUsedOn property for accessTokens

* chore: created interceptor to update lastUsedOn property of PAT

* feat: interceptor to update lastUpdatedOn property complete

* chore: removed unused imports in access-token interceptor

* chore: moved routes to fetch collection and environment into access-token module

* feat: added routes to fetch collections and environments for CLI

* chore: modified access-token interceptor

* chore: removed log statement from interceptor

* chore: added team member checking logic to ForCLI methods in team collection and environments module

* chore: changed return error messages to those defined in spec

* chore: added comments to all service methods

* chore: removed unused imports

* chore: updated testcases for team-environments module service file

* chore: added and updated testcases

* chore: removed unneseccary SQL from auto-generated migration sql for PAT

* chore: remobed JWTAuthGuard from relevant routes in PAT controllers file

* chore: modified token for auth in PATAuthGuard

* chore: changed error codes in some certain service methods in access-token module

* feat: worked on feedback for PR review

* chore: renamed service method in access-token module

* chore: removed console log statements

* chore: modified cli error type

* test: fix broken test case

* chore: changed target of hopp-old-backend to prod

---------

Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
2024-05-28 16:39:50 +05:30
Mir Arif Hasan
f4f3fdf2d5
HSB-445 feature: storing user last login timestamp (#4074)
* feat: lastLoggedOn added in schema and service function

* feat: add lastLoggedOn logic for magic link

* test: update test cases

* feat: add lastLoggedOn in gql model

* fix: nullable allowed in model attribute

* fix: resolve feedback

* feat: user last login interceptor added
2024-05-27 21:49:42 +05:30
Andrew Bastin
0e96665254
refactor: use trigram search index instead of full text search (#3900)
Co-authored-by: Balu Babu <balub997@gmail.com>
2024-03-15 20:10:12 +05:30
Balu Babu
a0c6b22641
feat: full text search for TeamCollections and TeamRequests (#3857)
Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
2024-03-05 18:05:58 +05:30
Mir Arif Hasan
6abc0e6071
HBE-326 feature: server configuration through GraphQL API (#3591)
* feat: restart cmd added in aio service

* feat: nestjs config package added

* test: fix all broken test case

* feat: infra config module add with get-update-reset functionality

* test: fix test case failure

* feat: update infra configs mutation added

* feat: utilise ConfigService in util functions

* chore: remove saml stuff

* feat: removed saml stuffs

* fix: config service precedence

* fix: mailer module init with right env value

* feat: added mutations and query

* feat: add query infra-configs

* fix: mailer module init issue

* chore: smtp url validation added

* fix: all sso disabling is handled

* fix: pnpm i without db connection

* fix: allowedAuthProviders and enableAndDisableSSO

* fix: validateSMTPUrl check

* feat: get api added for fetch provider list

* feat: feedback resolve

* chore: update code comments

* fix: uppercase issue of VITE_ALLOWED_AUTH_PROVIDERS

* chore: update lockfile

* fix: add validation checks for MAILER_ADDRESS_FROM

* test: fix test case

* chore: feedback resolve

* chore: renamed an enum

* chore: app shutdown way changed

---------

Co-authored-by: Andrew Bastin <andrewbastin.k@gmail.com>
2023-12-12 16:42:58 +06:00
Balu Babu
18864bfecf
feat: addition of data field into User and Team Collections (#3614)
* feat: added new columns into the TeamCollections and UserCollections models

* feat: completed addition of new data field in TeamCollection

* feat: completed addition of new data field in UserCollections

* chore: updated all tests in team-collection module

* chore: added tests for updateTeamCollection method in team-collection module

* chore: refactored all existing testcases in user-collection to reflect new changes

* chore: added new testcases for updateUserCollection method in user-collection module

* chore: made data field optional in team and user collections

* chore: fixed edgecases for data being null

* chore: resolved issue with team-request testcases

* chore: completed changes requested in PR review

* chore: changed target to prod in hoppscotch-old-backend service
2023-12-05 20:12:37 +05:30
Balu Babu
4caf0053cd
feat: introduction of shared-requests (#3476)
* feat: added new property to existing shortcode model in prisma schema

* chore: created shared-requests module

* chore: created shared-request model

* chore: complete sharedRequest query

* chore: completed mutation to create a SharedRequest

* chore: completed subscription to create a SharedRequest

* chore: completed query to fetch all user created shared-requests

* chore: completed mutation to delete a SharedRequest

* chore: completed subscription to delete a SharedRequest

* chore: removed unused dependncues in share-requests module

* chore: added shared-requests into user deletion spec

* test: added all testcases for shared-request module

* test: modified all relevant tests in shortcode module

* chore: added deprecated label to all queries,mutations and subscriptions in the shortcode module

* chore: resolved all comments raised in review

* feat: added ability to update and listen to updates of shared-requests

* chore: added updatedOn field to shortcode model

* chore: fixed issue with updateSharedRequest method

* chore: fixed incorrect value getting updated

* chore: added all test-cases for updateSharedRequest method

* chore: created migration for shared-requests

* chore: moved shared-requests into shortcode module

* chore: added missing import in shortcode tests

* chore: changed properties to embedProperties in shortcode model

* feat: generated migrations file for new schema changes to Shortcodes table

* chore: changed target of old-backend service in docker-compose file

* chore: fixed issue with updatedOn field in shortcodes model

* chore: removed unused dependencies

* fix: handle invalid input for shortcode properties

* Revert "fix: handle invalid input for shortcode properties"

This reverts commit 4dcb0afb184749068a11afbbb0087570d01df5d5.

* chore: changed updateShortcode method name to updateEmbedProperties

* chore: changed target of hoppscotch-old-backend service to prod

---------

Co-authored-by: Mir Arif Hasan <arif.ishan05@gmail.com>
2023-11-07 17:57:51 +05:30
Ankit Sridhar
100664f77e
fix: refactor related to checklist observation (#73)
* refactor: removed unused files, dependencies and added valid callback URL

* chore: update env example

* test: fixed issue with subscription on deleteUserCollection in UserCollection module

* test: fixed time related issue with auth service methods

* chore: removed unused dependencies in auth.service file

---------

Co-authored-by: Mir Arif Hasan <arif.ishan05@gmail.com>
Co-authored-by: Balu Babu <balub997@gmail.com>
2023-04-07 22:22:41 +05:30
Balu Babu
2ee4029e04 chore: removed migrations in prisma 2023-02-08 15:50:02 +05:30
Balu Babu
a6d6589811 chore: removed SIGNED_COOKIE_SECRET from cookieParser in main.ts and .env.example files 2023-02-08 14:18:39 +05:30
Balu Babu
5c5ab5bad5 fix: changed all refrences to passwordlessVerification to verificationTokens in auth module 2023-02-01 11:58:15 +05:30
Balu Babu
fe73750d66 fix: fixed the user type error in auth.service file 2023-01-27 13:38:36 +05:30
Balu Babu
a6ad86bd59 chore: replaced hardcoded values with env variables in app.module.ts, main.ts and utils.ts 2023-01-20 07:56:19 +05:30
Balu Babu
53571a7d72 refactor: logout route now just returning 200 status code not redirecting to app_domain 2023-01-19 15:13:55 +05:30
Balu Babu
c38ad89cd7 chore: made the required changes in auth and user modules to accommodate changes made in user schema 2023-01-19 05:53:23 +05:30
Balu Babu
364381f017 chore: changed the schema of database to only store timestamp without timezone info 2023-01-19 05:13:21 +05:30
Balu Babu
06f1c2fba2 refactor: refactored a few types around users and passwordless tokens in auth module 2023-01-12 21:31:25 +05:30
Balu Babu
0c154be04e chore: manually committing auth module to remoter 2023-01-09 19:02:14 +05:30