Commit Graph

314 Commits

Author SHA1 Message Date
Gergő Jedlicska f501cc4ad5 gergo/web 2888 workspace project cancreate (#4294)
* WIP can create project

* WIP can create project more work

* complete body, stencil tests

* feat(shared): move workspace plan types into shared

* test progress wip

* feat(shared): add more logic to canCreateWorkspaceProject

* a few more tests, as a treat

* chore(authz): round out tests

* fixed loaders, new GQL checks, dataLoaders in auth loaders

* fix(authz): get workspace limits loader

* chore(authz): update loaders

* frontend fixed up to snuff

* fix(authz): fix workspace plans for tests

* fix(authz): classic

* fix(authz): 0 counts

---------

Co-authored-by: Chuck Driesler <chuck@speckle.systems>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2025-04-01 16:38:20 +01:00
Kristaps Fabians Geikins a83bae8d84 feat: Workspace/ProjectCollaborator/WorkspaceCollaborator seatType (#4284)
* Workspace & ProjectCollaborator seat type

* minor adjustment to FE

* minor adjustment to FE
2025-03-31 13:07:35 +03:00
Kristaps Fabians Geikins c54d15fd93 feat: authz frontend foundation + reworked errors (#4275)
* feat: authz frontend foundation + reworked errors

* lint fixes

* test fix

* fixed noCache() util
2025-03-27 16:13:35 +02:00
Gergő Jedlicska 4c28697d0c feat(shared): rework policy internals to work with loader errors in checks and policy fragments (#4276)
* feat(shared): rework policy internals to work with loader errors in checks and policy fragments

* fix(server): auth reintegration
2025-03-27 11:30:54 +01:00
Kristaps Fabians Geikins a6a4ceee86 feat: true-myth result structures & other auth policy improvements (#4262)
* fixing up typing

* better dynamic loader mechanism

* buildReqLoaders cleanup

* added caching to loaders

* ensuring all loaders are async

* fe2 plugins error handling fix

* feat(shared): true-myth result structures & other auth policy improvements

* moving workspaceCore loaders to correct place
2025-03-25 17:49:02 +01:00
Chuck Driesler c6e0714bc4 chore(authz): hoist authorizeresolver (#4253)
* chore(authz): hoist deleteStreamAndNotify

* chore(authz): hoist updateStreamAndNotify

* chore(authz): comment
2025-03-24 16:51:19 +00:00
Gergő Jedlicska 25d0802234 fix(server): project access fix for discoverable projects (#4246) 2025-03-22 15:42:35 +01:00
Gergő Jedlicska 968d2f2520 auth/lib (#4242)
* wip

* wip

* feat(authz): wip policy shape

* wip

* fix(authz): canReadProject with latest pattern

* wip

* feat(shared): simplify authz checks and policies

* feat(shared): port role weights into shared

* test(shared): some more tests for authz

* test(shared): more query project tests

* typo!

* feat(shared): ff loading refinements

* feat(shared): example authorization policy integration

* authz loaders init

* chore(authz): naming etc

* wip

* fix(authz): authz error objects

Co-authored-by: Kristaps Fabians Geikins <fabis94@users.noreply.github.com>
Co-authored-by: Gergő Jedlicska <gjedlicska@users.noreply.github.com>

* fix(authz): use correct role weights

* chore(authz): use codes from errors in tests

* chore(authz): wow

* chore(authz): fix more tests, add more tests

* chore(authz): fix some tests, add some tests (again)

* fix(authz): fix tests again

* fix(server): you need to await !!!! otherwise it crashes the server.

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
Co-authored-by: Kristaps Fabians Geikins <fabis94@users.noreply.github.com>
Co-authored-by: Gergő Jedlicska <gjedlicska@users.noreply.github.com>
2025-03-21 16:37:36 +01:00
Chuck Driesler 66da283a79 Revert "feat(authz): shared authz pipeline (#4151)" (#4241)
This reverts commit cb8aa31b66.
2025-03-21 15:41:17 +01:00
Chuck Driesler cb8aa31b66 feat(authz): shared authz pipeline (#4151)
* wip

* wip

* feat(authz): wip policy shape

* wip

* fix(authz): canReadProject with latest pattern

* wip

* feat(shared): simplify authz checks and policies

* feat(shared): port role weights into shared

* test(shared): some more tests for authz

* test(shared): more query project tests

* typo!

* feat(shared): ff loading refinements

* feat(shared): example authorization policy integration

* authz loaders init

* chore(authz): naming etc

* wip

* fix(authz): authz error objects

Co-authored-by: Kristaps Fabians Geikins <fabis94@users.noreply.github.com>
Co-authored-by: Gergő Jedlicska <gjedlicska@users.noreply.github.com>

* fix(authz): use correct role weights

* chore(authz): use codes from errors in tests

* chore(authz): wow

* chore(authz): fix more tests, add more tests

* chore(authz): fix some tests, add some tests (again)

* fix(authz): fix tests again

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
Co-authored-by: Kristaps Fabians Geikins <fabis94@users.noreply.github.com>
Co-authored-by: Gergő Jedlicska <gjedlicska@users.noreply.github.com>
2025-03-21 14:45:36 +01:00
Kristaps Fabians Geikins ebade45d43 feat: remove project discoverability concept from UI (#4125)
* feat: remove project discoverability concept from UI

* test fix
2025-03-07 13:09:03 +02:00
Kristaps Fabians Geikins 954b1a9f11 feat: plan prices accurately read from Stripe (#4104)
* WIP prices + new caching utils

* cached workspace plan prices

* GQL API done

* integrated in frontend

* fixed missing FF

* CR fixes

* integration tests

* removed non-existant team yearly env var
2025-03-05 12:23:38 +02:00
Iain Sproat ce08e5e02d refactor(server): logging directory renamed to observability (#4077) 2025-02-28 08:43:54 +00:00
andrewwallacespeckle 8c69f22e27 feat: Update user tags in Mailchimp when user completes onboarding questions (#4000)
* Add new updateMailchimpMemberTags function and use it in FE

* Pass tag data from FE

* Plan > Use case

* move onboarding types to shared package

* Check newsletter consent

* Changes from PR

* GQL
2025-02-27 11:29:00 +00:00
Kristaps Fabians Geikins 6051917b59 chore(server): refactor activityStream invocations - batch #7 - streams (#4014)
* chore(server): refactor activityStream invocations - batch #7 - streams

* test fix

* more test fixes

* CR comment fix
2025-02-24 12:34:56 +02:00
Kristaps Fabians Geikins 4b7740eb17 Merge branch 'main' into fabians/web-2415-6 2025-02-17 15:15:52 +02:00
Kristaps Fabians Geikins f51d632ef7 Merge branch 'main' into fabians/web-2415-4 2025-02-17 14:23:33 +02:00
Kristaps Fabians Geikins 4dcfbb251b chore(server): moving out branch sub reporting to separate listeners 2025-02-17 13:56:02 +02:00
Kristaps Fabians Geikins 4278e20467 chore(server): refactor activityStream invocations - batch #3 - branches 2025-02-17 13:55:43 +02:00
Mike f376cfcc46 Fix: Always force email verification (#3990) 2025-02-15 08:30:57 +01:00
andrewwallacespeckle 967eec9db4 Sanitize model names in server (#3970) 2025-02-12 16:50:02 +01:00
Gergő Jedlicska c4a6da410b feat(core): drop the closure table pls (#3900)
* feat(core): drop the closure table pls

* feat(core): remove closures feature flag

* feat(core): remove more closure stuff

* feat(core): only drop closure table if it exists
2025-02-07 14:06:53 +01:00
Iain Sproat ebc0f84c96 fix(server): previewUrl assumed project would always be found (#3947)
- adds guard against null project
2025-02-06 17:50:04 +00:00
Iain Sproat 0ce23be6f3 chore(logging): log messages related to a request should include request ID (#3945)
- this requires passing the request logger through to the method invoking the logger
2025-02-06 16:04:51 +00:00
Alessandro Magionami 276c3a761c fix(emails): add ff for new email verification flow (#3893)
* fix(emails): add ff for new email verification flow

* test(emails): disable test with ff off
2025-01-24 19:39:55 +01:00
Kristaps Fabians Geikins 9b46747815 chore(server): refactor activityStream invocations - batch #6 - project invites 2025-01-24 18:35:21 +02:00
Kristaps Fabians Geikins 9775c488a1 chore(server): moving out version sub reporting to separate listeners 2025-01-24 17:52:34 +02:00
Gergő Jedlicska a282220a72 chore(server): fix nullable type for model author (#3883)
* chore(server): fix nullable type for model author

* updated fe2 gql types

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2025-01-24 16:40:25 +01:00
Kristaps Fabians Geikins ac88c503e3 chore(server): refactor activityStream invocations - batch #4 - commits 2025-01-24 16:57:15 +02:00
Kristaps Fabians Geikins d9bdc54599 chore(server): moving out branch sub reporting to separate listeners 2025-01-24 16:49:55 +02:00
Alessandro Magionami 384cd116a4 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2488-create-email-verification-mutation 2025-01-24 14:34:47 +01:00
Kristaps Fabians Geikins b074a4a13a feat(server): greatly optimizing Branch.commits & Query.streams, when limit=0 (#3863)
* fix(server): optimize Branch.commits resolver

* feat(server): optimizing Query.streams a bit too

* fix(server): gql error req duplicate entries logged
2025-01-23 18:54:15 +01:00
Kristaps Fabians Geikins 8ff0ae91ca chore(server): refactor activityStream invocations - batch #3 - branches 2025-01-23 12:06:54 +02:00
Alessandro Magionami 7fbd32dd43 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2488-create-email-verification-mutation 2025-01-23 10:51:30 +01:00
Alessandro Magionami cea2da2987 chore(emails): new email verification flow 2025-01-21 16:08:18 +01:00
Kristaps Fabians Geikins a2bc9ffbcb chore(server): refactor activityStream invocations - batch #1 - user (#3845)
* chore(server): refactor activityStream invocations - batch #1 - user

* minor cleanup

* test fix + swap to TS

* move listeners to new loc
2025-01-21 09:48:02 +01:00
Kristaps Fabians Geikins 2e8863eb64 fix(server): dataloader batching being broken (#3838)
* fix(server): dataloader batching being broken

* feat(server): optimized stream collaborator retrieval

* test fix
2025-01-17 12:41:58 +02:00
Gergő Jedlicska 9636a56b00 feat(server): server info lookup cache (#3808) 2025-01-14 13:02:09 +01:00
Gergő Jedlicska 00b905486c fix(server): inject the right event emitter to project creation (#3810) 2025-01-14 10:33:39 +01:00
Gergő Jedlicska db8de114d3 feat(server): new projects are placed in a configurable region (#3801)
* feat(server): log subscription started messages with info

* feat(server): create projects in a default region

* feat(server): allow project default region config

* feat(server): load project region from multi region config
2025-01-13 18:38:44 +01:00
Kristaps Fabians Geikins dab0a23c33 chore(server): event bus refactor - version emitter - batch #2 2025-01-13 11:03:34 +02:00
Kristaps Fabians Geikins a02fb699f4 Merge branch 'main' into fabians/web-2414 2025-01-13 11:02:08 +02:00
Alessandro Magionami 7ddf740b33 Merge pull request #3707 from specklesystems/alessandro/web-2348-list-all-projects-in-move-projects-modal
feat(core): user projects filterable by workspace
2025-01-09 09:37:28 +01:00
Chuck Driesler c791362eaf feat(users): bulk lookup users by email (#3720)
* feat(users): bulk lookup users by email

* chore(users): add tests for lookups

* chore(users): fe gqlgen

* fix(users): match return value with input
2025-01-07 23:28:55 +00:00
Kristaps Fabians Geikins 7ce306569f got rid of projects emitter + added tests 2025-01-06 17:42:24 +02:00
Kristaps Fabians Geikins 13e75a98f0 got rid of models emitter + added tests 2025-01-06 15:55:50 +02:00
Alessandro Magionami 49e56e3ea5 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2348-list-all-projects-in-move-projects-modal 2024-12-23 10:44:51 +01:00
Alessandro Magionami 98c6161eb3 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2348-list-all-projects-in-move-projects-modal 2024-12-20 19:37:37 +01:00
Alessandro Magionami ff04755a5c feat(gatekeeper): readOnly validation for version and commit creation 2024-12-20 09:56:47 +01:00
Alessandro Magionami da49ec6625 feat(core): user projects filterable by workspace 2024-12-17 12:25:23 +01:00