Commit Graph

52 Commits

Author SHA1 Message Date
moritz
7c53fbe328 Implement endpint and add testst 2025-04-08 16:31:16 -07:00
Moritz Schneider
592d259dde
Api Keys (#590)
<!--

Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md

-->

<img width="1510" alt="image"
src="https://github.com/user-attachments/assets/99619123-6be5-4788-aebe-5fc2a9a36245"
/>

<img width="1510" alt="image"
src="https://github.com/user-attachments/assets/660677bf-f19a-4673-94c8-59ac50eb6ae5"
/>

<img width="1510" alt="image"
src="https://github.com/user-attachments/assets/11ae63c4-5813-4fd8-aa01-fa580d2103be"
/>


<!-- ELLIPSIS_HIDDEN -->


----

> [!IMPORTANT]
> Introduces API key management for users and teams, integrating with
existing project configurations and permissions, and adds comprehensive
tests and examples.
> 
>   - **API Key Management**:
> - Introduces `ProjectApiKey` model in `schema.prisma` for managing API
keys.
> - Adds `createApiKeyHandlers` in `handlers.tsx` to handle API key CRUD
operations.
>     - Implements API key creation, revocation, and validation logic.
>   - **Permissions and Configurations**:
> - Adds `allowUserApiKeys` and `allowTeamApiKeys` to `ProjectConfig` in
`schema.prisma`.
> - Updates `TeamSystemPermission` enum to include `MANAGE_API_KEYS`.
> - Ensures API key operations respect project configurations and
user/team permissions.
>   - **Testing and Examples**:
> - Adds extensive tests in `api-keys.test.ts` to cover various API key
scenarios.
>     - Updates example projects to demonstrate API key usage.
>   - **Miscellaneous**:
>     - Refactors existing code to integrate API key functionalities.
> - Updates documentation and type definitions to reflect new API key
features.
> 
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for 96f60c57f0. It will automatically
update as commits are pushed.</sup>


<!-- ELLIPSIS_HIDDEN -->

---------

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2025-04-04 13:03:10 -07:00
CactusBlue
306f4e4c67
Permission Robustness (#591)
<!-- ELLIPSIS_HIDDEN -->


> [!IMPORTANT]
> Enhance permission management by adding unique constraints, handling
duplicate ID errors, and updating frontend and backend logic with
comprehensive tests.
> 
>   - **Database**:
> - Add unique constraint on `Permission` table for `[tenancyId,
queryableId]` in `migration.sql`.
>     - Update `schema.prisma` to reflect new unique constraints.
>   - **Backend**:
> - Update `crud.tsx` files to handle `PERMISSION_ID_ALREADY_EXISTS`
error using `isErrorForNonUniquePermission()`.
> - Add `isPrismaUniqueConstraintViolation()` in `prisma-client.tsx` to
identify unique constraint violations.
>     - Add `PermissionIdAlreadyExists` error in `known-errors.tsx`.
>   - **Frontend**:
> - Update `page-client.tsx` and `permission-table.tsx` to check for
duplicate permission IDs before creation.
>   - **Tests**:
> - Add tests in `project-permission-definitions.test.ts` and
`team-permission-definitions.test.ts` to verify duplicate ID handling.
> - Ensure permissions cannot be created with duplicate IDs across
project and team contexts.
> 
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for b3ccd15bca. It will automatically
update as commits are pushed.</sup>


<!-- ELLIPSIS_HIDDEN -->

---------

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
Co-authored-by: Zai Shi <zaishi00@outlook.com>
2025-04-02 01:12:13 +02:00
CactusBlue
793272c8c5
Rename USER to PROJECT in permissions (#576)
<!-- ELLIPSIS_HIDDEN -->


> [!IMPORTANT]
> Renamed user-related permissions to project-related permissions across
the codebase, affecting enums, schemas, APIs, models, and tests.
> 
>   - **Behavior**:
> - Renamed `USER` to `PROJECT` in `PermissionScope` enum in
`schema.prisma` and `migration.sql`.
> - Updated `isDefaultUserPermission` to `isDefaultProjectPermission` in
`schema.prisma` and `migration.sql`.
>     - Removed `jwks.json/route.ts` file.
>   - **API Changes**:
> - Renamed `user-permission-definitions` and `user-permissions`
endpoints to `project-permission-definitions` and `project-permissions`
in `route.tsx` files.
>     - Updated CRUD handlers in `crud.tsx` files to reflect new naming.
>   - **Models**:
> - Updated models in `permissions.tsx` to use `ProjectPermission` and
`AdminProjectPermission`.
>     - Updated `KnownErrors` to use `ProjectPermissionRequired`.
>   - **Tests**:
> - Renamed test files and updated test cases in
`e2e/tests/backend/endpoints/api/v1` to reflect new naming.
>   - **Misc**:
> - Updated `admin-app-impl.ts`, `client-app-impl.ts`, and
`server-app-impl.ts` to use new project permission naming.
>     - Updated `schema-fields.ts` to reflect new permission ID schema.
> 
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for 08924f5241. It will automatically
update as commits are pushed.</sup>


<!-- ELLIPSIS_HIDDEN -->

---------

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2025-03-27 09:39:48 -07:00
CactusBlue
1ffd1e3e5b
User permissions (#573)
<!-- ELLIPSIS_HIDDEN -->


> [!IMPORTANT]
> Adds user permissions management, including models, API endpoints, and
tests, alongside existing team permissions.
> 
>   - **Behavior**:
> - Adds user permissions alongside team permissions, allowing for
user-specific permission management.
> - Introduces `ProjectUserDirectPermission` model in `schema.prisma`
for direct user permissions.
>     - Updates `PermissionScope` enum from `GLOBAL` to `USER`.
>   - **API**:
> - Adds CRUD endpoints for user permissions in `user-permissions` and
`user-permission-definitions`.
> - Updates existing team permission endpoints to support user
permissions.
>   - **Tests**:
> - Adds e2e tests for user permissions in `user-permissions.test.ts`
and `user-permission-definitions.test.ts`.
> - Updates existing tests to include user permissions where applicable.
>   - **Misc**:
> - Updates `adminInterface.ts` and `server-app-impl.ts` to handle user
permissions.
> - Modifies `known-errors.tsx` to include `UserPermissionRequired`
error.
> - Adjusts `project-configs` and `projects` to include user default
permissions.
> 
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for 8b73e668e2. It will automatically
update as commits are pushed.</sup>


<!-- ELLIPSIS_HIDDEN -->
2025-03-25 02:20:53 +01:00
Konsti Wohlwend
a99b04ac6c
Anonymous users (#566) 2025-03-20 18:24:19 -07:00
Konstantin Wohlwend
341385d168 Fix types 2025-03-20 10:01:43 -07:00
Konstantin Wohlwend
b53b0c8232 Rename UserEmailAlreadyExists to UserWithEmailAlreadyExists 2025-03-20 09:56:08 -07:00
devin-ai-integration[bot]
0e3f63d2ac
Add CLI authentication endpoints (#503)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: TheCactusBlue <thecactusblue@gmail.com>
2025-03-12 18:44:33 -07:00
Moritz Schneider
6776af30fd
Active Sessions Page (#528)
<img width="1443" alt="image"
src="https://github.com/user-attachments/assets/611ede72-4d46-41dc-adea-9546c04b199a"
/>

Adds new active sessions page to settings

<!-- ELLIPSIS_HIDDEN -->


----

> [!IMPORTANT]
> Adds an active sessions page to settings, enabling users to view and
manage their sessions, with backend support for session listing and
deletion.
> 
>   - **Active Sessions Page**:
> - Adds `ActiveSessionsPage` component in `account-settings.tsx` to
display active sessions.
> - Allows revoking individual sessions or all sessions except the
current one.
>   - **Backend Changes**:
> - Adds `sessionsCrudHandlers` in `crud.tsx` for session management
(list, delete).
> - Updates `ProjectUserRefreshToken` model in `schema.prisma` to
include `id` and `isImpersonation` fields.
> - Implements session listing and deletion in `serverInterface.ts` and
`client-app-impl.ts`.
>   - **Error Handling**:
> - Introduces `CannotDeleteCurrentSession` error in `known-errors.tsx`.
>   - **Testing**:
> - Adds tests for session management in
`endpoints/api/v1/auth/sessions` tests.
> 
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for ba78df0928. It will automatically
update as commits are pushed.</sup>


<!-- ELLIPSIS_HIDDEN -->

---------

Co-authored-by: TheCactusBlue <thecactusblue@gmail.com>
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-03-12 22:35:32 +01:00
CactusBlue
ef6248dd87
Option for merging/blocking account creations with same email but different oauth provider (#502)
* Add SettingSelect component and sign-up mode configuration

* update schema

* update schema

* add merge oauth schema fields

* update test snapshots

* reformat the file

* add mergeOauthMethods in the UI

* Improve documentation with minor enhancements and fixes (#466)

* Improve PATCH /users/me performance

* Neon domain (#488)

* React setup docs (#491)

* chore: update package versions

* Update branding from Stack to Stack Auth in documentation (#504)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: zai@stack-auth.com <zai@stack-auth.com>

* Improve inner OAuth cookie error description

* Fix tests

* Add several spans

* Fix Next.js navigation

* chore: update package versions

* add handler config

* Fix conditional hooks in account settings page

* Add `pnpm run claude-code`

* Fixed docs image ratio (#507)

* Documentation Updates (#508)

* add links

* moar

* fix broken links

* fixed images

* updated readme

* Add Python SDK tab to docs

* Fix broken links

* Prefix `pnpm pre` before `pnpm dev`

* Automatically update pull request branches (#509)

* Give PR updater more permissions

* Ignore PR merge conflicts in GH Actions

* [DEVIN: Konsti] Add userCount property to Project table with automatic update trigger (#506)

Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>

* chore: update package versions

* rewrite as toMatchobject

* fix test

* test again

* fix

* update claude

* fix migrations

* fix migration

* fix types

* Update CLAUDE.md

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>

* more instructions

* fix

* what was i on

* wew

* factor things

* correct the flow

* Update apps/backend/src/app/api/latest/auth/oauth/callback/[provider_id]/route.tsx

Very good catch

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* rename everything

* fix more

* fix typeerror

* update all the tests

* modify migration for legacy projects

* add loading state

* enable email verification for tests

* update test

* get a failing test

* the test works now

* remove debug console log

* change error

* no lowercase

* use typedToUpper/Lowercase

* capture err

* fix types

* modify error throw

* fixed

* add working tests

* documentation update

* Update apps/e2e/tests/backend/endpoints/api/v1/auth/oauth/merge-strategy.test.ts

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* remove eslint rule

* fix json args

* documentation update

---------

Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>
Co-authored-by: Zai Shi <zaishi00@outlook.com>
Co-authored-by: zai@stack-auth.com <zai@stack-auth.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-03-10 21:25:12 +00:00
devin-ai-integration[bot]
9a76d10c2a
[DEVIN: Konsti] Add in-source unit tests to stack-shared utilities (#485)
* Add in-source unit tests to stack-shared utilities

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix type checking and linting issues

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix lint errors in results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix remaining lint errors in results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix lint warnings in results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix wait function mocking in results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix retry function test in results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix React.forwardRef mock in react.tsx test

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix trailing spaces in react.tsx and results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Revert to DependenciesMap and wrap rejected promise in ignoreUnhandledRejection

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix

* Revert changes to known-errors.tsx constructor

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Make rotateRight call rotateLeft per review feedback

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Remove redundant @ts-expect-error directive in known-errors.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix import order in promises.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix

* Fix CI failures: add back @ts-expect-error in known-errors.tsx and revert mapResult implementation in results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Remove unused @ts-expect-error directive in known-errors.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Add back @ts-expect-error directive with explanation in known-errors.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Change @ts-expect-error to @ts-ignore in known-errors.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* be honest

* vocabulary

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>
2025-02-28 01:47:37 +00:00
Konstantin Wohlwend
2c32e0cb7f Fix STACK-BACKEND-78 2025-02-17 16:55:14 -08:00
Konstantin Wohlwend
66bf1d0494 Show JWT expiresAt in 401 error message 2025-01-31 18:24:45 -08:00
Konstantin Wohlwend
a183bcca07 Address TODO next-release comments 2024-12-23 20:03:50 -08:00
Konstantin Wohlwend
ef935e24d8 Fix STACK-BACKEND-5Q 2024-12-23 12:36:27 -08:00
Jakub Kołodziejczak
ee48d2b7c0
chore: update known errors to correct URL (#356)
Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>
2024-12-10 00:14:21 -08:00
Konstantin Wohlwend
01eddd99a1 Return error when adding auth contact channel in use by another account
Some checks failed
Runs E2E API Tests / build (20.x) (push) Has been cancelled
Runs E2E API Tests / build (22.x) (push) Has been cancelled
Lint & build / lint_and_build (20.x) (push) Has been cancelled
Lint & build / lint_and_build (22.x) (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
2024-11-21 23:18:44 +01:00
Zai Shi
b6f0276ac1 improve redirect url error log 2024-11-13 19:42:53 +01:00
Moritz Schneider
93a1fcf7cb
Passkey support (#321)
* passkeys

* add passkey tests

---------

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2024-10-28 16:56:46 -07:00
Zai Shi
06fcca6fe6
OTP (#263)
* fixed otp send email template

* added version

* added send response type

* updated email template

* added otp email

* added otp page

* fixed bugs

* fixed bugs, added back button on otp page

* otp works

* added max attempts per nonce code

* fixed error return type

* fixed tests

* fixed bugs

* updated button text

* added tests

* added totp code error handling

* removed console.log

* fixed verification code length

* fixed code length

* moved otp inside magic link sign in component

* changed version back, updated ui wording

* added old version otp email tests

* fixed tests
2024-09-24 20:02:06 +02:00
Zai Shi
8ea8ff383e
Added handling for user canceling the oauth process (#260)
* added oauth cancel handling

* added translation

* fixed tests

* fixed reviews
2024-09-20 22:45:06 +02:00
Konstantin Wohlwend
700034ca01 Fix project deletion ISE 2024-08-12 16:56:16 -07:00
Konstantin Wohlwend
d01471acfc TOTP MFA components 2024-08-10 09:45:49 -07:00
Konstantin Wohlwend
1b550e7e48 TOTP 2FA endpoints 2024-08-10 09:45:48 -07:00
Konstantin Wohlwend
c64fbf4fcd Sign up restriction button on dashboard
Fix #66, #74
2024-08-10 09:45:48 -07:00
Fahad Khan
4792aa53f8 Fix: Improve error handling for Server API (#170)
* Added entity checks to provide better errors in API for 'server' access type

* Removed 'ensureUserTeamPermissionExist', changed permissionId type to string in 'ensureUserHasTeamPermission'

* added different error types for user team permission

---------

Co-authored-by: Fahad Khan <fahad.khan@net-mon.net>
Co-authored-by: Zai Shi <zaishi00@outlook.com>
2024-08-10 09:45:48 -07:00
Stan Wohlwend
a86788d924 OAuth callback tests 2024-08-03 18:28:32 -07:00
Zai Shi
8d65f9b47b Optional shared keys (#153)
* removed standard providers and shared providers

* added more types

* updated all providers imports

* fixed circular dependency

* updated dashboard for different shared keys

* fixed old dashboard

* added migration file
2024-07-26 16:07:00 -07:00
Stan Wohlwend
8cd0b1609f Impersonation 2024-07-26 16:06:59 -07:00
Zai Shi
6beed942e9 Client team API (#149)
* added transactions

* added client team update and delete

* added client side remove member

* allow user remove them selves from team

* fixed bug, fixed tests

* added client update test, fixed bugs

* added tests for team delete

* added more tests, fixed bugs
2024-07-26 16:06:58 -07:00
Stan Wohlwend
4386b7c96b Improve KnownError messages 2024-07-26 16:06:58 -07:00
Zai Shi
0147213003
Better errors for crud handlers (#143)
* added more errors to team creation

* check teams in client get

* added db checks
2024-07-22 03:45:30 +02:00
Zai Shi
54027d58a2
New client (#135)
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2024-07-19 22:07:44 -07:00
Stan Wohlwend
580bd73348 Fix trailing space lint errors 2024-07-14 10:37:34 -07:00
Konsti Wohlwend
b0f233a44c
More backend endpoint implementations (#126)
Co-authored-by: Zai Shi <fomalhautb@users.noreply.github.com>
2024-07-13 22:04:53 -07:00
Konsti Wohlwend
53450206f5
Create users & auth endpoints in backend (#85) 2024-07-01 22:42:08 -07:00
Zai Shi
02568ba36d removed UserNotInTeam error 2024-06-25 15:44:40 +02:00
Konsti Wohlwend
6480667a97
Split backend and dashboard (#83) 2024-06-18 15:49:31 +02:00
Zai Shi
ca22551db8
Optimized OAuth cookies (#70)
* reduced cookie size, added state to cookie name, remove cookie after finishing oauth

* added migration file

* changed remove cookie code location

* OAuthTimeout -> OuterOAuthTimeout

* fixed types
2024-06-10 11:29:22 +02:00
Zai Shi
617ccbed6f
Oauth scope (#67)
* removed openid for oauth providers, switch to pure oauth flow

* restructured files

* added project id to the env keys

* fixed tooltip display bug

* improved docs links

* removed old comments

* improved oauth code structure

* removed MS tenantID

* added linking account

* added access token endpoint

* fixed prisma schema

* added store refresh token

* fixed no refresh token error

* added authorize and link types to authorize endpoint

* added adding scope

* improved oauth provider code structure

* added additional scopes to db

* fixed sessions

* fixed oauth provider select bug

* added scopes to dashboard

* added get account

* added useAccount

* added useAccessToken

* fixed type errors

* fixed bug

* added oauth link failed page

* added error page

* fixed bugs

* updated error page

* added extra scope error

* fixed additional scope

* removed test code, fixed bug

* Throw error when accessing OAuth access token with shared OAuth keys

* removed additional scopes

* added scopes on sign in

* renamed errors

* added redirect URL for the oauth provider setting

* dynamic link

* added connect wrong account error

* added migration file, fixed useConnection bug

* added after callback redirect url

* fixed types

* fixed type error

* updated migration file
2024-06-08 16:26:50 +02:00
Konsti Wohlwend
4415012f8c
Email template editor (#54)
* added email editor

* added theme

* improved styling

* removed unused

* added toolbar toggle

* fixed layout problems

* removed sample drawer

* added original license

* added template var matching

* renamed files

* added variable panel

* changed boxes to tailwind DIVs

* added save button

* added custom text-block

* removed avatar, change tab switching logic

* removed html component for now

* renamed folder

* moved download import to setting panel

* added prisma schema for email templates

* added mustache

* added cancel button

* added email templates crud

* removed email template id

* updated email template list page

* removed unused imports

* removed createEmailTemplate handler

* added reset button to email template

* added default templates structure

* added template default value

* moved email template location

* added template information

* added email template routes

* fixed types, added error page

* improved styles

* updated sidebar links

* added save and cancel functions

* wrapped router and link for leave confirmation

* changed disabled => needConfirm

* fixed link

* fixed styles

* fixed link

* fixed bugs

* fixed template editing bugs

* added reset confirmation

* fixed save button

* fixed type error, moved email util file

* moved constant, added prefetch to link

* restructured code

* added variable system

* added email verification default

* removed preview

* added templates for all emails, removed unused

* fixed import error

* migrate part of mui to shadcn

* migrated more to shadcn

* migrated more mui

* updated color picker

* migrate more to shadcn

* added shadcn toggle group

* removed editor provider

* updated slider

* migrated toggle group to shadcn

* moved block icons to lucide

* removed radio group

* fixed color picker

* migrated icons to shadcn

* change popup buttons to shadcn

* fixed create block button display bug

* changed import json to shadcn

* migrated block menu

* removed mui dependency

* render merged preview

* refactor: Replace deleteEmailTemplate with resetEmailTemplate for consistency

* chore: renamed delete email template and removed unused imports

* fixed add block button style

* changed button default style

* added subject

* added subject preview

* moved document-core into the repo

* moved all email components into the repo

* removed context in reader block

* restructured files

* moved components to react-email

* removed unused

* fixed magic link template

* fixed templates

* Mustache -> Handlebars, disabled escape

* fixed editor scrolling

* moved delete button location to inside the box

* fixed template rendering error, updated templates

* updated button text in email templates

* generated migration file

* fixed small bugs

* fixed handle bar import path

* removed all the double ;;

* fixed lint

* fixed inert with type extension

---------

Co-authored-by: Zai Shi <zaishi00@outlook.com>
2024-05-28 11:49:59 +02:00
Stan Wohlwend
a28e3b381a Admin access token expiration handling 2024-05-25 12:09:18 +02:00
Stan Wohlwend
dec622ed9e
CRUD schemas (#28) 2024-05-12 20:29:14 +02:00
Stan Wohlwend
9ff2cff5c5
Organizations & RBAC (#22)
* added organizations route

* added orgganizations/[orgId] and orgganizations/[orgId]/users routes

* added more routes

* restructured dashboard pages, added organization page

* fixed redirect bug

* updated sidebar

* added mock orgnizations

* fixed breadcrumbs

* added edit org modal

* added memeber table

* added permission table

* Orgs & perms backend

* Fix build errors

* updated permission ui

* org -> team for frontend

* added enable team UI

* Stack App for teams

* formatted schema

* renamed all orgs to teams

* fixed docusaurus bug

* disabled docusaurus build progress bar

* added member profile and direct permission to profile

* removed dead code, memberProfile -> member

* removed teams attribute from the user object

* added /teams endpoint

* added create team endpoint

* added add-user endpoint

* moved add-user

* added server side get teams

* updated schema formatting

* added team enabled endpoints

* fixed type error

* moved get current teams to current-user/teams

* improved interface

* added create team

* hooked up team to frontend

* added hooked up team name with team member page

* added list team users

* added useUsers to team object

* fixed list team user bug

* added team update

* added list permissions and use permission on app

* added create permission

* list permission

* added permission list

* added inherited permission list

* add edit permission model

* restructured permission graph

* updated style

* added delete permission

* fixed delete permission bug

* added inheritence update

* fixed await bug

* fixed selection bug

* added permission update

* fixed update bug

* fixed team update refresh

* added remove user from team

* restructured permission and permission definition

* updated permission definition structure

* updated list permissions and grant permissions

* fixed list user permissions

* added grant permission

* fixed list permission

* added direct option to list team use permission

* fixed bugs

* fixed bugs

* added revoke permission

* inherited from -> contains

* added client list permission

* restructured stack-app teams and permissions

* fixed server teams and permissions

* fixed bug

* fixed bugs

* added teams pages to demo

* added styled component compiler

* added list teams

* added join and leave teams

* fixed prisma onDelete

* fixed type bugs

* removed on permission change for now

* added member

* fixed user and server user

* fixed imports

* added create team

* added more content to demo

* fixed recursion bug

* fixed recursion stack out of bound bug

* removed teamsEnabled

* added create team on sign-up options

* added create team on signup

* queriable -> queryable, fixed migration file

* fixed migration file

* fixed demo build error

* fixed license accidental change

* fixed tab styling

* added required to create permission id

* added more ui error hints

* fixed seed wrong setting

* default team name

* improved permission list ui

* improved demo display

* Update README.md

---------

Co-authored-by: Zai Shi <zaishi00@outlook.com>
2024-05-08 12:43:56 +02:00
Stan Wohlwend
dc6659131c
Auth for smartRouteHandler (#27) 2024-05-05 10:28:31 +02:00
Zai Shi
96c26a7918
Magic link (#13)
* added magic link email, updated email template

* added magic link ui and db schema

* restructured sign in sign up page

* updated example custom button

* added joy tabs

* fixed bugs, added magic link errors, abstracted token creation

* added magic link callback

* fixed token bugs

* added more auth information to user object

* added changeset
2024-04-20 12:33:11 +02:00
Stan Wohlwend
02fe7bee2f StatusError name 2024-04-15 14:10:23 +02:00
Stan Wohlwend
6fe5ca45eb Report all errors to Sentry 2024-04-14 13:32:31 +02:00
Zai Shi
ed90a7efcf fixed error inheritance structure 2024-04-14 08:01:44 +02:00