Commit Graph

100 Commits

Author SHA1 Message Date
Kristaps Fabians Geikins 4b06f42db7 chore(server): run TS files directly (no compilation) (#5134)
* sort of works

* type fixes

* added option to run old way too
2025-07-23 11:20:40 +02:00
Kristaps Fabians Geikins b29331705e chore(server): get rid of duplicate gql TS types (#5065) 2025-07-14 11:31:12 +03:00
Kristaps Fabians Geikins bde148f286 chore(server): migrating fully to ESM (#5042)
* wip

* some extra fixes

* stuff kinda works?

* need to figure out mocks

* need to figure out mocks

* fix db listener

* gqlgen fix

* minor gqlgen watch adjustment

* lint fixes

* delete old codegen file

* converting migrations to ESM

* getModuleDIrectory

* vitest sort of works

* added back ts-vitest

* resolve gql double load

* fixing test timeout configs

* TSC lint fix

* fix automate tests

* moar debugging

* debugging

* more debugging

* codegen update

* server works

* yargs migrated

* chore(server): getting rid of global mocks for Server ESM (#5046)

* got rid of email mock

* got rid of comment mocks

* got rid of multi region mocks

* got rid of stripe mock

* admin override mock updated

* removed final mock

* fixing import.meta.resolve calls

* another import.meta.resolve fix

* added requested test

* nyc ESM fix

* removed unneeded deps + linting

* yarn lock forgot to commit

* tryna fix flakyness

* email capture util fix

* sendEmail fix

* fix TSX check

* sender transporter fix + CR comments

* merge main fix

* test fixx

* circleci fix

* gqlgen bigint fix

* error formatter fix

* more error formatting improvements

* esmloader added to Dockerfile

* more dockerfile fixes

* bg jobs fix
2025-07-14 10:26:19 +03:00
Daniel Gak Anagrov ba3d9ade22 feat(activity): moved project roles to activity (#5019)
* feat: moved project roles to activity
* fix: added previous project role filed on activity
* fix: remvoke does not get logged as an actvity for every project in a workspace when removed from workspace
* fix: on delete user account, emit also seat and project event

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-07-10 11:44:54 +02:00
Iain Sproat 33e480185e fix(passport): google strategy handle invalid grant errors (#4742) 2025-05-28 09:41:26 +01:00
Kristaps Fabians Geikins 9998ed2586 feat: personal project limits (#4759)
* base limits cleanup

* history limit tests

* canCreatePersonal & tests

* canInvite block

* WIP model check

* fix tests

* shared tests fix

* lodash import fix

* lint fix

* help update

* hopefully fixing test

* CR comment
2025-05-20 14:56:05 +03:00
Kristaps Fabians Geikins d2f2d95bb5 chore(server): migrate remaining tests to TS (#4772)
* auth tests migrated

* core tests

* pwdreset

* authz tests
2025-05-20 14:24:48 +03:00
Iain Sproat cda139f53f chore(server/auth): improve error messages (#4207)
* chore(server/auth): improve error messages

* fix tests
2025-05-20 09:45:00 +02:00
Iain Sproat 43b0190720 Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-05-19 13:37:26 +01:00
Iain Sproat 91e9e9fcc9 Add tests, fix tests, and revert behaviour 2025-05-13 15:53:03 +01:00
Kristaps Fabians Geikins c6dcf18bdb feat(server): workspace project invite auto-accept (for existing wp members) (#4622)
* WIP ts

* DI fix & tests moved to TS

* auto-accept seems to work

* CR comments
2025-04-30 17:39:07 +03:00
Iain Sproat 413937c0fa Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-04-28 08:16:19 +01:00
Kristaps Fabians Geikins 140fde3871 fix(server): fix registration test email provider (#4195) 2025-03-14 15:33:27 +02:00
Kristaps Fabians Geikins 50fd05afe8 feat(fe2): more viewer debugging improvements (#4193) 2025-03-14 12:47:58 +02:00
Iain Sproat 63bb82736c Fix broken merge from main 2025-02-28 09:43:15 +00:00
Iain Sproat fb95dd3bdd Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-02-28 09:23:48 +00:00
Iain Sproat ce08e5e02d refactor(server): logging directory renamed to observability (#4077) 2025-02-28 08:43:54 +00:00
Iain Sproat 878650e9da Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-02-27 10:31:31 +00:00
Iain Sproat 735a14279e fix(server/auth): callback should not finalize auth if HTTP response already sent (#4044) 2025-02-27 08:37:43 +00:00
Iain Sproat 9e6a386925 Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-02-26 14:35:09 +00:00
Mike 2ecb98146a Feat: prevent non work emails (#3993) 2025-02-26 10:55:02 +01:00
Iain Sproat 8d1aceb7fc incorporate PR review comment - set rate limit enabled once 2025-02-25 11:37:51 +00:00
Iain Sproat c593990b22 Move ratelimiter from services to utils 2025-02-25 09:27:24 +00:00
Iain Sproat 01a49dffee fix(tests): enable rate limiter in a safe way (#4048) 2025-02-23 11:17:17 +00:00
Iain Sproat 00ed0f6139 fix(tests): enable rate limiter in a safe way 2025-02-21 17:16:57 +00:00
Dimitrie Stefanescu c37bf28a0e tests: fixes tests for the new reality 2025-02-18 11:39:53 +00:00
Chuck Driesler c382064585 feat(regions): move project branches and commits (#3843)
* feat(regions): repo functions for copying project branches and commits

* chore(regions): wire up move to resolver

* chore(regions): successful basic test of project region change

* fix(regions): sabrina carpenter please please please

* fix(regions): repair multiregion test setup

* chore(regions): appease ts

* chore(multiregion): update test multiregion config

* chore(multiregion): fix test docker config and test

* chore(multiregion): use transaction

* chore(multiregion): maybe this will work

* fix(multiregion): drop subs synchronously

* chore(multiregion): desperate test logs

* chore(multiregion): somehow that worked?

* chore(multiregion): add load-bearing log statement

* chore(multiregion): move services

* fix(multiregion): test drop waits

* chore(regions): fix import

* chore(regions): make test a bit more thorough for good measure

* fix(regions): speed up inserts

* fix(regions): ignore workspace conflict on move
2025-02-13 14:39:23 +00:00
Kristaps Fabians Geikins aee14edc5b chore(server): getting rid of module-scoped event emitters - batch #1 (#3766)
* got rid of models emitter + added tests

* got rid of projects emitter + added tests

* replaced user event bus

* test migrate
2025-01-13 11:39:46 +02:00
Iain Sproat a1ee8a89a7 chore(server): graceful shutdown (#3125)
* chore(server): graceful shutdown
- stop() on the apollo server should be called

* chore(server): gracefully drain apollo server

* Allow grace period to be configured

* Terminus manages the readiness and liveness endpoints

* terminus is responsible for stopping the graphql server

* remove logging on shutdown

* Remove redundant parameter

* move healthchecks out of business modules to top-level directory
- terminus can only handle readiness check, not liveness
- app needs to return readiness handler, so that server terminus can use it

* fix tests

* Fix broken merge

* fix broken merge

* incorporate review comments

* fix invalid merge

* fix readinesscheck not being passed as parameter
2024-11-19 11:08:38 +01:00
Gergő Jedlicska 73cc7e67d3 gergo/webhookRegions (#3459)
* feat(webhooks): multi region webhook resolver

* feat(webhooks): multi region webhook cleanup

* fix(webhooks): DI fixes

* feat(activitystream): region aware save activity

* feat(accessrequests): multi region

* feat(cli): allow multi region project and commit download

* feat(postgres): make docker postgres 0 day multi region ready

* feat(cli): allow multi region project and commit download properly

* fix(cross-server-sync): di fix

* feat(activitystream): non region aware activities, they are not project data

* fix(webhooks): triggers need to be included

* feat(stream/projectCreate): activity save is not needed any more, its all event based

* feat(multiRegion): get all registered db clients

* fix(regions): test equal in any order

* fix(projectDownload): need to await
2024-11-08 10:45:39 +01:00
Kristaps Fabians Geikins 69ff3864af feat(server): multi region support in dataloaders 2024-11-07 09:57:43 +02:00
Kristaps Fabians Geikins 11fec3222a cjs doesnt like knex default export 2024-10-28 11:35:20 +02:00
Kristaps Fabians Geikins fe148fe075 chore(server): core IoC #79 - updateServerInfoFactory 2024-10-17 12:47:49 +03:00
Kristaps Fabians Geikins f27f289dc6 chore(server): core IoC #78 - getServerInfoFactory 2024-10-17 12:37:43 +03:00
Kristaps Fabians Geikins fe1997b86d chore(server): core IoC #76 - validateTokenFactory 2024-10-16 17:43:26 +03:00
Kristaps Fabians Geikins da88f5925c chore(server): core IoC #72 - createPersonalAccessTokenFactory 2024-10-16 17:13:03 +03:00
Kristaps Fabians Geikins 8abc801bae chore(server): core IoC #71 - createAppTokenFactory 2024-10-16 16:59:54 +03:00
Kristaps Fabians Geikins abcbe0e2b8 chore(server): core IoC #58 - legacyGetUserByEmailFactory 2024-10-15 13:26:49 +03:00
Kristaps Fabians Geikins 573970fc6c chore(server): core IoC #55 - createUserFactory 2024-10-15 12:55:33 +03:00
Kristaps Fabians Geikins 1cb27e6fdd chore(server): core IoC #51 - getUser(s)Factory 2024-10-14 17:24:11 +03:00
Kristaps Fabians Geikins aa4f319277 chore(server): IoC 32 - createStreamFactory (#3204) 2024-10-09 11:10:20 +03:00
Kristaps Fabians Geikins f83b307d82 chore(server): auth IoC 12 - refreshAppTokenFactory (#3033)
* chore(server): auth IoC 3 - getAllAppsCreatedByUserFactory

* minor fix

* chore(server): auth IoC 4 - getAllAppsAuthorizedByUserFactory

* chore(server): auth IoC 5 - createAppFactory

* chore(server): auth IoC 6 - updateAppFactory

* chore(server): auth IoC 7 - deleteAppFactory

* chore(server): auth IoC 8 - revokeExistingAppCredentialsForUserFactory

* chore(server): auth IoC 9 - revokeRefreshTokenFactory

* chore(server): auth IoC 10 - createAuthorizationCodeFactory

* chore(server): auth IoC 11 - createAppTokenFromAccessCodeFactory

* chore(server): auth IoC 12 - refreshAppTokenFactory

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-09-19 10:51:00 +02:00
Kristaps Fabians Geikins f5e4e09c9f chore(server): auth IoC 11 - createAppTokenFromAccessCodeFactory (#3032)
* chore(server): auth IoC 3 - getAllAppsCreatedByUserFactory

* minor fix

* chore(server): auth IoC 4 - getAllAppsAuthorizedByUserFactory

* chore(server): auth IoC 5 - createAppFactory

* chore(server): auth IoC 6 - updateAppFactory

* chore(server): auth IoC 7 - deleteAppFactory

* chore(server): auth IoC 8 - revokeExistingAppCredentialsForUserFactory

* chore(server): auth IoC 9 - revokeRefreshTokenFactory

* chore(server): auth IoC 10 - createAuthorizationCodeFactory

* chore(server): auth IoC 11 - createAppTokenFromAccessCodeFactory

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-09-19 09:58:37 +02:00
Kristaps Fabians Geikins 52b2601a54 chore(server): auth IoC 10 - createAuthorizationCodeFactory (#3031)
* chore(server): auth IoC 3 - getAllAppsCreatedByUserFactory

* minor fix

* chore(server): auth IoC 4 - getAllAppsAuthorizedByUserFactory

* chore(server): auth IoC 5 - createAppFactory

* chore(server): auth IoC 6 - updateAppFactory

* chore(server): auth IoC 7 - deleteAppFactory

* chore(server): auth IoC 8 - revokeExistingAppCredentialsForUserFactory

* chore(server): auth IoC 9 - revokeRefreshTokenFactory

* chore(server): auth IoC 10 - createAuthorizationCodeFactory

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-09-19 09:54:22 +02:00
Kristaps Fabians Geikins 59cbafdce5 chore(server): auth IoC 8 - revokeExistingAppCredentialsForUserFactory (#3028)
* chore(server): auth IoC 3 - getAllAppsCreatedByUserFactory

* minor fix

* chore(server): auth IoC 4 - getAllAppsAuthorizedByUserFactory

* chore(server): auth IoC 5 - createAppFactory

* chore(server): auth IoC 6 - updateAppFactory

* chore(server): auth IoC 7 - deleteAppFactory

* chore(server): auth IoC 8 - revokeExistingAppCredentialsForUserFactory

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-09-19 09:48:12 +02:00
Kristaps Fabians Geikins 3a424ed4a0 chore(server): auth IoC 7 - deleteAppFactory (#3027)
* chore(server): auth IoC 3 - getAllAppsCreatedByUserFactory

* minor fix

* chore(server): auth IoC 4 - getAllAppsAuthorizedByUserFactory

* chore(server): auth IoC 5 - createAppFactory

* chore(server): auth IoC 6 - updateAppFactory

* chore(server): auth IoC 7 - deleteAppFactory

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-09-19 09:45:47 +02:00
Kristaps Fabians Geikins e58f3f63f1 chore(server): auth IoC 6 - updateAppFactory (#3026)
* chore(server): auth IoC 3 - getAllAppsCreatedByUserFactory

* minor fix

* chore(server): auth IoC 4 - getAllAppsAuthorizedByUserFactory

* chore(server): auth IoC 5 - createAppFactory

* chore(server): auth IoC 6 - updateAppFactory

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-09-19 09:37:23 +02:00
Kristaps Fabians Geikins d56fca924b chore(server): auth IoC 5 - createAppFactory (#3025)
* chore(server): auth IoC 3 - getAllAppsCreatedByUserFactory

* minor fix

* chore(server): auth IoC 4 - getAllAppsAuthorizedByUserFactory

* chore(server): auth IoC 5 - createAppFactory

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-09-19 09:26:27 +02:00
Kristaps Fabians Geikins 1922c0563b chore(server): auth IoC 2 - getAllPublicAppsFactory 2024-09-17 14:23:57 +03:00
Kristaps Fabians Geikins 68376b91c1 auth IoC 1 - initializeDefaultAppsFactory 2024-09-17 14:04:37 +03:00