Commit Graph

28 Commits

Author SHA1 Message Date
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
CactusBlue
b322945f9d
SentEmails Dashboard Table (#461)
![image](https://github.com/user-attachments/assets/74322b94-479a-4609-bebb-5a0691da372b)

<!-- ELLIPSIS_HIDDEN -->


----

> [!IMPORTANT]
> Add SentEmails dashboard table with backend API and frontend
components to display email logs.
> 
>   - **Backend**:
> - Add `crud.tsx` to define CRUD operations for `SentEmail` using
`prismaClient`.
> - Add `route.tsx` to expose `GET` endpoint for listing sent emails.
>   - **Frontend**:
> - Update `page-client.tsx` to include `EmailSendDataTable` component
displaying email logs.
>     - Define `emailTableColumns` for `DataTable` in `page-client.tsx`.
>   - **Shared Interfaces**:
> - Add `InternalEmailsCrud` and `sentEmailReadSchema` in `emails.ts`.
>     - Extend `StackAdminApp` to include `listSentEmails()` method.
> - Define `AdminSentEmail` type in `email/index.ts` and export it in
`index.ts`.
> 
> <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 fe32ecbc33. It will automatically
update as commits are pushed.</sup>


<!-- ELLIPSIS_HIDDEN -->

---------

Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: ryan@stack-auth.com <ryan@stack-auth.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2025-03-13 01:28:47 +01:00
CactusBlue
cd35e8cdc4
Dashboard Metrics (#361)
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2024-12-22 12:02:21 -08:00
Zai Shi
534fef5d62
Added custom SMTP email server testing on the dashboard (#376)
Some checks failed
Ensure Prisma migrations are in sync with the schema / check_prisma_migrations (22.x) (push) Has been cancelled
Docker Build and Push / Docker Build and Push Server (push) Has been cancelled
Docker Test / docker (push) Has been cancelled
Runs E2E API Tests / build (20.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-12-20 19:04:05 +01:00
Konstantin Wohlwend
65b88f786d No more cookie force dynamic 2024-12-01 01:47:04 -08:00
Jasveer Singh
ed44d7588b
feat:Add delete project functionality in Project,Project-settings Issue Is:-No option to delete a project #111 (#127)
Some checks are pending
Runs E2E API Tests / build (20.x) (push) Waiting to run
Runs E2E API Tests / build (22.x) (push) Waiting to run
Lint & build / lint_and_build (20.x) (push) Waiting to run
Lint & build / lint_and_build (22.x) (push) Waiting to run
TOC Generator / TOC Generator (push) Waiting to run
* Add delete project functionality in Project,Project-settings

* removed changes to the old dashboard

* added onDelete and backend endpoints

---------

Co-authored-by: Zai Shi <zaishi00@outlook.com>
2024-08-12 03:46:25 +02:00
Zai Shi
fb31827dc3
Webhooks (#157)
Some checks are pending
Runs E2E API Tests / build (20.x) (push) Waiting to run
Lint & build / lint_and_build (18.x) (push) Waiting to run
Lint & build / lint_and_build (20.x) (push) Waiting to run
* added svix to docker compose

* connect webhook sending with local svix

* added svix token endpoint

* added svix dashbaord

* added endpoint table

* updated danger items

* added more info on the webhook page

* added create endpoints dialog

* added edit and delete endpoint

* added log history

* added webhook secret

* updated sidebar layout

* fixed flashes

* updated webhook sending function

* removed unused imports

* updated endpoint code structure

* commented event types

* added webhooks docs

* added webhooks doc gen

* updated webhooks docs

* added webhook events

* updated teams docs

* fixed bugs

* fixed docker
2024-08-01 02:44:35 +02:00
Zai Shi
52e37a18ba
Server-side connected account (#159)
Some checks are pending
Runs E2E API Tests / build (20.x) (push) Waiting to run
Lint & build / lint_and_build (18.x) (push) Waiting to run
Lint & build / lint_and_build (20.x) (push) Waiting to run
* added new connected account endpoint

* added server useTeams

* fixed bugs

* updated example

* fixed teams fetch bugs

* hide deprecated route
2024-07-30 06:45:15 +02:00
Zai Shi
54027d58a2
New client (#135)
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2024-07-19 22:07:44 -07:00
Zai Shi
1f373846ab
System team permissions (#82)
* added default permissions to prisma

* added system team permission

* fixed permission update

* added system permission UI

* fixed permission update

* added create team client

* added client create team

* added client team create endpoint

* fixed user.createTeam, updated demo

* added default permissions for team creators and members

* added createTeamForUser

* added permission id format check

* updated db schema for default permission, added default perms when project is created

* fixed merge errors
2024-06-18 19:22:23 +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
Stan Wohlwend
543eb0cefb Expose Session in library 2024-06-08 14:55:05 +02:00
Stan Wohlwend
d95696ee96 Refactor TokenStore into Session 2024-06-06 12:30:17 +02:00
Zai Shi
040ec072f3
Added dashboard email configuration & user permission edit (#39)
* added form setting card

* removed unused code

* added custom email server page

* added email configuration dialog

* added sender name

* Update email server settings labels for clarity

* added email config update endpoint

* fixed update bugs

* fixed bugs

* fixed type errors

* moved senderName to standard config, check secure setting by port

* fixed duplicate settings

* fixed build errors, added migration

* updated tooltips

* fixed tooltip display bug

* added user permission edit
2024-05-18 19:32:27 +02:00
Zai Shi
507b97f427
Migration to Shadcn UI (#31)
* fixed theme doesn't work when not signed in

* added tailwind

* use stack theme instead of stack joy theme for server

* added shadcn

* added shadcn components

* added new project page

* improved styling

* added footer

* added footer

* added new project page

* added project creation page

* made new project page interactive

* added project settings on create project endpoint

* added async button

* fixed small things

* data-theme -> data-stack-theme

* changed color scheme

* changed joy buttons to shadcn buttons

* fixed lint

* added redirect to create project page
2024-05-10 23:34:42 +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
2e6a04270c
Magic link dashboard toggle (#16)
* added magiclink dashboard toggle

* updated names on dashboard

* updated browser tab title
2024-04-23 15:24:42 +02:00
Zai Shi
397a4046ba Oauth -> OAuth 2024-03-06 21:17:14 +08:00
Stan Wohlwend
db5a2c859e Remove most occurences of useStrictMemo 2024-03-06 05:39:11 +01:00
Zai Shi
3737f68e07 added allow localhost 2024-03-06 10:52:50 +08:00
Stan Wohlwend
939f50f75d AsyncCache cache strategies 2024-03-06 02:55:47 +01:00
Zai Shi
278a18a1ed added enabled to oauth config 2024-03-06 09:02:05 +08:00
Zai Shi
8ecba202cf made credential enabled work (both frontend and backend) 2024-03-05 23:08:16 +08:00
Zai Shi
cd152317de added project config update 2024-03-05 22:40:50 +08:00
Zai Shi
53f27b8758 added onboarding apikey dialog (doesn't quite work yet because of the root exit issue) 2024-03-01 13:56:17 +01:00
Stan Wohlwend
ced0be74b3 Move code (initial commit) 2024-02-28 14:35:30 +01:00