Commit Graph

134 Commits

Author SHA1 Message Date
Kristaps Fabians Geikins 48440e5b7c fix(server): rate limiter path resolution (#2042) 2024-02-13 15:08:48 +02:00
Kristaps Fabians Geikins 37d51072fb feat(server): resource limits on app tokens (#1959)
* WIP new mutation arg

* limited resource token creation done

* token resource rule creation validation

* updated authorizeResolver implementation

* introduced resource access rule checks in authorizeResolver everywhere

* more checks added

* updated projects resolvers

* updated stream resolvers

* more checks added

* error page theme resolution fix

* WIP testss

* more tests

* implemented checks in REST auth pipeline

* REST API coverage & tests

* some tests fixed

* test fixess

* added tests

* feat(server): new automation result reporting scope (#1976)

* feat(server): new automation result reporting scope

* tests fix
2024-01-19 18:14:49 +01:00
Kristaps Fabians Geikins 5cd573355d feat(server): ability for apps to create new app tokens (#1942)
* /graphql endpoint fix

* app token creation seems to be done

* added tests

* more tests

* cleaned up TS annotations

* CR cleanup

* TS type fixes

* test fixes
2024-01-09 11:58:38 +02:00
Gergő Jedlicska c10c2cbcc1 feat: add support for creating commit by branch id (#1915) 2023-12-13 13:49:25 +01:00
Kristaps Fabians Geikins ef37030287 fix(server): optimized commit download (#1913)
* fix(server): optimized commit download

* added test
2023-12-13 14:31:09 +02:00
Kristaps Fabians Geikins 3689e1cd58 fix: preventing PATs from creating PATs 2023-12-11 11:23:03 +02:00
Kristaps Fabians Geikins a329f91a44 fix(server): protecting against scope elevation in PAT creation (#1901)
* test DX improvements + tests for token:write scope

* protecting against scope elevation
2023-12-08 14:50:23 +02:00
Gergő Jedlicska 933458c95c feat: branch delete now deletes commits too (#1866)
* feat: branch delete now deletes commits too

* chore: prettier
2023-11-09 16:15:25 +01:00
andrewwallacespeckle 44bfa6d2c8 Fe2 server management bugfixes (#1787)
* fix(server): inviteList pagination

* Fixes from call with fabians

* more BE bufxies

* reducing server invite precision

* Infinite Scroll fixes. Slight design change to "update available"

* fixed tests

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2023-09-08 12:55:03 +01:00
Gergő Jedlicska ad1fba7fea Merge branch 'main' of github.com:specklesystems/speckle-server into gergo/serverGuest/main 2023-08-01 16:01:24 +02:00
Gergő Jedlicska 67260c2de4 Merge branch 'main' of github.com:specklesystems/speckle-server into gergo/adminFacelift 2023-08-01 15:27:51 +02:00
Gergő Jedlicska 105f1c0b54 refactor(server authz): rework validateServerRole 2023-08-01 14:58:55 +02:00
Gergő Jedlicska 7bad071e97 fix(server tests): its guestModeEnabled now 2023-07-28 11:57:28 +02:00
Gergő Jedlicska 42de692f50 Merge pull request #1732 from specklesystems/gergo/serverGuest/noGuestCanOwnStreams
feat(server): guests cannot own stream projects
2023-07-28 10:34:28 +02:00
Gergő Jedlicska 42190f42ee feat(server): user role change uses server info to get guest mode flag 2023-07-27 17:39:19 +02:00
Gergő Jedlicska 424d07303f feat(server): guests cannot own stream projects 2023-07-27 16:42:44 +02:00
Gergő Jedlicska 2fa8a21754 feat(server): implement switch user role to guest 2023-07-27 13:30:32 +02:00
Gergő Jedlicska 23989174d3 refactor(server scopes): use constants for streams contributor role 2023-07-26 14:12:41 +02:00
Gergő Jedlicska a2bb36e43e refactor(server scopes): use constants for streams owner role 2023-07-26 14:08:47 +02:00
Gergő Jedlicska ab48fef46a refactor(server scopes): use constants for users invite scope 2023-07-26 13:49:30 +02:00
Gergő Jedlicska 9e52fa934e refactor(server scopes): use constants for apps write scope 2023-07-26 13:48:20 +02:00
Gergő Jedlicska 4a8fc08434 refactor(server scopes): use constants for apps read scope 2023-07-26 13:46:19 +02:00
Gergő Jedlicska 143ec707a5 refactor(server scopes): use constants for profile delete scope 2023-07-26 13:32:45 +02:00
Gergő Jedlicska c22e0dfe23 refactor(server scopes): use constants for profile email scope 2023-07-26 13:32:08 +02:00
Gergő Jedlicska 61c4869091 refactor(server scopes): use constants for profile read scopes 2023-07-26 13:29:54 +02:00
Gergő Jedlicska f1e64e3b83 refactor(server scopes): use constants for tokens read scopes 2023-07-26 13:27:33 +02:00
Gergő Jedlicska 9b09a2d1c8 refactor(server scopes): use constants for tokens write scopes 2023-07-26 13:26:49 +02:00
Gergő Jedlicska d12cb9d34a refactor(server scopes): use constants for users email scopes 2023-07-26 13:25:09 +02:00
Gergő Jedlicska 4d9078a6d7 refactor(server scopes): use constants for users read scopes 2023-07-26 13:15:09 +02:00
Gergő Jedlicska 878f97baa2 refactor(server scopes): use constants for streams write scopes 2023-07-26 13:13:09 +02:00
Gergő Jedlicska bb5778bf2d refactor(server scopes): use constants for streams read scopes 2023-07-26 13:09:34 +02:00
Gergő Jedlicska 6ea7aa8236 refactor roles to shared constants 2023-07-26 11:59:54 +02:00
Gergő Jedlicska 1ca6c73d18 feat(server admin): add FE2 admin page backend 2023-07-25 14:29:18 +02:00
Gergő Jedlicska 53e5e28ffc fix(server chunkin): fix string size calculation 2023-07-20 13:11:35 +02:00
Gergő Jedlicska b71dce61c0 feat(server objects): add insertion object chunking logic 2023-07-20 12:52:24 +02:00
Kristaps Fabians Geikins 80df259159 feat(server): improved cross-server commit/version download (#1711) 2023-07-19 11:43:06 +03:00
Iain Sproat 9f0418893f chore(objects upload): improves response when error due to large object size (#1685)
* test(objects upload): adds a test for large object
* print object too large messages in response
* allows object maximum size to be configured
2023-07-12 10:57:59 +01:00
Iain Sproat 9fe6ed3ed0 fix(/objects): should return 400 error to invalid input data format/mechanism (#1664) 2023-07-12 10:35:16 +01:00
Iain Sproat 9eaf1227f9 fix(object upload): provide guard of expectation of an array (#1665)
* fix(object upload): provide guard of expectation of an array
* additional logging to understand what is occurring
* adds tests for object not json and object not json array
2023-07-11 16:23:32 +01:00
Kristaps Fabians Geikins 766e5710b7 fix: flaky discoverable streams tests + fe2 cookie corruption 2023-05-16 14:57:24 +03:00
Kristaps Fabians Geikins b02a07e2b6 feat: Frontend 2.0 MVP 2023-05-08 10:47:01 +03:00
Gergő Jedlicska 4e3e1de8d2 gergo/invalid token throw (#1444)
* fix(server authz): make sure to forbid access with invalid tokens

fix #927

* test(server authz tests): update tests to reflect the changes in the invalid token forbidden flow
2023-03-13 14:07:49 +01:00
Gergő Jedlicska 7d8ff2048a fix(test): make sure users are created sequentially (#1437) 2023-03-06 14:40:35 +01:00
Gergő Jedlicska f2803432b4 gergo/fix flaky admin override tests (#1420)
* fix(server authz tests): force wait until env vars are reloaded in authz tests

* test(server): fix flaky admin override tests with mocking
2023-02-27 13:59:16 +01:00
Gergő Jedlicska c80c2a2602 fix(server authz tests): force wait until env vars are reloaded in authz tests (#1403) 2023-02-22 14:05:56 +01:00
Gergő Jedlicska 40a6701799 feat(server): add switchable admin authz override (#1378)
* feat(server): add switchable admin authz override

* fix(server): make sure tests work with the new admin override

* feat(server authz): make sure to add all requested roles to server admins in admin override mode
2023-02-17 16:31:06 +01:00
Gergő Jedlicska 9e66e66f8f fix(server): make sure to no use localhost, since node18 it defaults to ipv6 which is broken in CI (#1304) 2023-01-10 16:17:41 +01:00
Iain Sproat 96bed71022 fix(logging): Improves error logging and pretty-prints logs during dev & test (#1255)
* Improves error logging
- use pino error logger correctly by passing in error as first argument

* monitor deployment: Filter logging at INFO level and above
* Use structured logging to create parameters for monitoring results
* Add structured logging to obj fileimport service
* Fileimport service, fix and improve logging
    - use child logger with additional context where possible
    - select appropriate logging level
- fix duplicated context in log statement
* REST endpoints, add context to structured logging and remove same context from message
* Webhook service provides context to bound logger to properly use structured logging
    - Pass bound logger containing context to `makeNetworkRequest`
    - do not log url, as it may contain a secret (like Discord's webhook urls), instead log the webhook Id
     - log error message when network call fails
* upload: make better use of structured logging when recording data
* pino-pretty when in dev or test mode
    - pino-pretty configured to send to stderr
* LOG_PRETTY env var
* Silence structured logging during testing
     - can not rely on determining the port number by reading from stdout/stderr
     - instead we determine which port is free, then create our server on that port
     - we then poll that port until the server is ready before commencing tests
* Allow puppeteer to install chromium
* Do not need to install chromium separately
2022-12-13 09:18:28 +00:00
Iain Sproat 4d01e13a84 feat(structured logging) (#1242)
* Revert "Revert structured logging 2 (#1240)"
This reverts commit 78ecaeffcb.
* Logging should not be bundled into core shared directory
* making sure observability stuff isnt bundled into frontend


Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2022-12-06 11:51:18 +00:00
Iain Sproat 78ecaeffcb Revert structured logging 2 (#1240)
* Revert "'@' shortcut must come after it is configured in bootstrap (#1239)"

This reverts commit 967329473f.

* Revert "Structured logging (attempt 2) (#1234)"

This reverts commit 444d2ca7dd.
2022-12-05 15:46:09 +00:00