Commit Graph

164 Commits

Author SHA1 Message Date
Alessandro Magionami 05e4e51c1a Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2944-versions-limits 2025-04-11 14:54:13 +02:00
Mike 080482febd Feat: Update add-on cards (#4382) 2025-04-11 13:28:12 +02:00
Kristaps Fabians Geikins f59c0a72c6 feat: model related auth checks in BE & FE (#4374)
* limit fragment cleanup

* be updated

* model checks in FE

* tests fix

* fakes util fix
2025-04-11 10:09:54 +03:00
Kristaps Fabians Geikins b6c21fd506 feat: comment read/write auth policies in BE & FE (#4368)
* webhooks perm minor fix

* tryna get fileimport service to work

* new comment policies - shared

* BE done?

* checks implemented in FE

* lint fix

* tests fix

* readme fix
2025-04-10 15:14:34 +03:00
Chuck Driesler f29fc322a3 fix(authz): allow optional workspace id to validate move (#4367) 2025-04-10 11:04:59 +01:00
Chuck Driesler 32796d3dd3 fix(authz): allow optional project id (#4363) 2025-04-10 10:12:00 +01:00
Alessandro Magionami 36b3f2b11a Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2944-versions-hide-referencedobject 2025-04-10 10:16:27 +02:00
Alessandro Magionami 96698452f2 feat(core): limit returned commits in streams and breanches 2025-04-10 10:09:54 +02:00
Mike a3ce9fad12 Feat: Update pricing plan features (#4357)
* Feat: Update pricing plan features

* Clean up old stuff

* Add features to old plans

* pls dont complain anymore

* pls work

* fix(shared): add back features to the unlimited plan

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2025-04-09 21:45:28 +02:00
Kristaps Fabians Geikins 5f88f562d3 feat: updated various "read/update" settings related permission checks (#4356)
* a bunch more tests

* updated GQL resolvers

* project create checks implemented

* project update/settings related checks in FE

* a bunch of tests

* tests fix

* disable app schema check
2025-04-09 16:13:09 +03:00
Gergő Jedlicska b24add762c feat(gatekeeper): disable workspace plan migrations (#4354) 2025-04-09 13:02:28 +02:00
Gergő Jedlicska a986bee2fb feat(shared): add plan helpers (#4347)
* feat(shared): add plan helpers

* feat(shared): naming is hard

* feat(shared): spelling is hard
2025-04-08 19:59:30 +02:00
Iain Sproat 5fc2d5c089 Merge pull request #4180 from specklesystems/iain/preview-service-handle-errors
fix(preview service): handle errors and failures
2025-04-08 17:55:49 +01:00
Chuck Driesler cb7243cfbe feat(authz): Project.canCreateModel and Project.canMoveToWorkspace policies (#4342)
* feat(authz): Project.canCreateModel policy

* feat(authz): Project.canMoveToWorkspace policy

* fix(authz): expose policies as permissions objects

* chore(authz): actually use the policies lol

* chore(authz): add tests for new policies

* fix(authz): skip affected test

* fix(authz): pr comments

* fix(authz): better errors, better tests

* chore(authz): remove references to deleted error
2025-04-08 15:29:12 +01:00
Iain Sproat 58ed9fc58b Merge branch 'main' into iain/preview-service-handle-errors 2025-04-08 15:08:00 +01:00
Kristaps Fabians Geikins ec2fb34283 feat(shared): new policies for minor fragment refactor (#4343)
* canUpdate + reworked fragments

* feat(shared): new policies for minor fragment refactor

* some cleanup

* canUpdate tests

* ensureMinimumProjectRoleFragment test

* checkIfPubliclyReadableProjectFragment tests

* get rid of LoadersOf/ErrorsOf

* python dep update
2025-04-08 12:28:20 +03:00
Alessandro Magionami 52acba83f0 chore(shared): fix types 2025-04-07 18:17:46 +02:00
Alessandro Magionami efafe40b27 chore(shared): remove history limits from pro plan 2025-04-07 17:38:40 +02:00
Alessandro Magionami 729b2ba5f5 chore(shared): add limits to unlimited plans 2025-04-07 17:37:03 +02:00
Alessandro Magionami 8d554e726d feat(core): add workspace limits 2025-04-07 16:55:45 +02:00
Alessandro Magionami d640f23c7d Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2944-versions-hide-referencedobject 2025-04-07 16:12:41 +02:00
Gergő Jedlicska a3644a50c5 gergo/web 2931 introduce missing workspace plans (#4323)
* fix(gatekeeper): missing priceId-s should stop the server from booting

* feat(shared): add all new workspace plans

* feat(billing): add new world plans

* feat(ci): use stripe sandbox id-s from test env vars

* chore(ci): remove defunct stripe context

* chore(server-env): fix server env example

* feat(gatekeeper): add missing plans to graphql schema

* test(gatekeeper): update plan upgrade tests to match implementation

* fix(ci): update ci .env source

* fix(ci): we do need some secrets from stripe

* fix(ci): run gql schema introspect with the test env

* fix(frontend): format new plan names

* chore(ci): temp disable gql schema checks

* feat(helm): add unlimited seat prices env vars

* feat(helm): add unlimited seat prices to values

* feat(gatekeeper): do not load priceId-s as a side effect, load with module init
2025-04-07 15:24:57 +02:00
Alessandro Magionami 6f5415e66d Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2944-versions-hide-referencedobject 2025-04-07 12:48:58 +02:00
Kristaps Fabians Geikins 820a1e2ebf feat(server): workspace roles taken into account in project queries (#4319)
* Workspace.projects fixed

* Query.project tested & fixed

* personalOnly flag added

* withProjectRoleOnly flag

* authorizeResolver implicit workspace roles

* minor cleanup

* reorg + support for throwing auth errors

* global error mapping

* undo special borkage

* CR fixes

* more CR fixes

* shared tests fix

* minor adjustment

* tests fix

* see if removing cached roles fixes it?

* more fixes

* clean up debugging garbage
2025-04-07 12:52:07 +03:00
Alessandro Magionami d067c5148c chore(core): limit versions 2025-04-04 10:54:15 +02:00
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
Gergő Jedlicska a523765524 fix(shared): workspace sso fragment must be able to load limited workspace data (#4281)
* fix(shared): workspace sso fragment must be able to load limited workspace data

* fix(shared): workspace loader already has the sso error deatails needed
2025-03-28 14:25:45 +01:00
Iain Sproat d7e0af485f Merge branch 'main' into iain/preview-service-handle-errors 2025-03-28 10:37:19 +00:00
Jedd Morgan 468eaccdfa feat(fileimport-service): Make .NET parser default (#4272)
* first pass removing the FF

* legacyimporter

* removed unused import
2025-03-27 18:24:04 +00:00
Iain Sproat b73a87975b Merge branch 'main' into iain/preview-service-handle-errors 2025-03-27 15:37:48 +00:00
Iain Sproat d4c3ccd548 Use zod to split job id 2025-03-27 14:22:12 +00: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
Iain Sproat dfd328f236 log job attempts made 2025-03-27 11:57:41 +00:00
Iain Sproat ae817ef2ee Merge branch 'main' into iain/preview-service-handle-errors 2025-03-27 11:22:36 +00:00
Mike 298e379791 Feat: Implement updated project collaborators page (#4274) 2025-03-27 12:20:00 +01: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
Iain Sproat b82e0dd370 Merge branch 'main' into iain/preview-service-handle-errors 2025-03-26 08:50:37 +00: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
Gergő Jedlicska b7656c1a13 tests(shared/authz): (#4250)
* test(shared): add more tests to auth policies

* test(shared): add more tests to auth policies

* chore(authz): fix export

* chore(authz): test env fix

* chore(authz): more test fixes

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-03-24 16:03:22 +01:00
andrewwallacespeckle 5329d804b0 Merge branch 'main' into andrew/web-2567-update-members-and-guests-settings-pages 2025-03-24 09:43:09 +00:00
Mike 751aece587 Fix: Various pricing plan fixes (#4244) 2025-03-21 21:49:12 +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
andrewwallacespeckle 46020ea8b7 Merge branch 'main' into andrew/web-2567-update-members-and-guests-settings-pages 2025-03-21 15:18:23 +00:00
Chuck Driesler 66da283a79 Revert "feat(authz): shared authz pipeline (#4151)" (#4241)
This reverts commit cb8aa31b66.
2025-03-21 15:41:17 +01:00
andrewwallacespeckle 6d1587c4da Merge branch 'main' into andrew/web-2567-update-members-and-guests-settings-pages 2025-03-21 14:22:07 +00:00
andrewwallacespeckle 532e0edb57 Comments from PR 2025-03-21 13:57:25 +00: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
Iain Sproat f033953d33 Update objectpreview on error
- use const with explanatory variable names
2025-03-13 09:15:41 +00:00
Iain Sproat 91c61682cb Include punctuation 2025-03-12 11:51:32 +00:00
Iain Sproat 7d179845a3 incorporate PR comments 2025-03-12 11:50:21 +00:00