Diego Imbert
673b4d2a4c
Advanced S3 permissionning ( #6617 )
...
* Advanced permission rules UI
* stash
* first iteration for s3 rule parsing
* Move to glob based approach
* cache expiry
* fix popover positioning
* ee
* unused imports
* forgot windmill_uploads
* Check S3 permissions for apps
* nit
* typo
* ee repo ref
* forgot get_workspace_s3_resource_and_check_paths in oss
2025-09-17 12:15:33 +00:00
dieriba
e61477fcbc
refactor: trigger listener ( #6401 )
...
* base
* base crate
* websocket updated
* crud refactored
* fix and nits
* fix compiler warning, nits and update repo ref
* fix oss
* fix compilation
* update ref
* fix
* update feature
* listener base
* add listener
* refactor logic done and implemented for postgres
* fix capture
* websocket
* implem for all triggers
* update sqlx,repo ref and fix
* fix oss
* unify struct fix websocket
* nits and fix oss runtime axum error
* perf cache query
* add listener module
* update .sqlx and cargo.toml
* fix import
* fix
* fix
* update repo ref
* fix
* update ref
* update ref
* fix
* fix
* revert
* update ref
2025-09-12 18:10:58 +00:00
hugocasa
5aac5fa136
feat(backend): prefix matching for list_paths_from_workspace_runnable + bulk delete endpoints for scripts/variables/resources ( #6542 )
...
* feat(backend): accept wildcard for list_paths_from_workspace_runnable + bulk delete endpoints for scripts/variables
* nit
* better result
* safer runnables list
* nit
* nits
* bulk delete resources as well
* batch sql queries
* nits
2025-09-08 13:41:01 +02:00
dieriba
f3fd1e90b0
feat: refactor trigger crud ( #6472 )
...
* base
* base crate
* websocket updated
* crud refactored
* fix and nits
* fix compiler warning, nits and update repo ref
* fix oss
* fix compilation
* update ref
* fix
* update feature
* listener base
* add listener
* refactor logic done and implemented for postgres
* fix capture
* websocket
* implem for all triggers
* update sqlx,repo ref and fix
* fix oss
* unify struct fix websocket
* nits and fix oss runtime axum error
* perf cache query
* update .sqlx
* update .sqlx
* fix
* fix unused
* fix
* fix
* nits and fix http handler update endpoint
* update .sqlx
* update repo ref
* nits
* fix
* update ref
* fix
* update .sqlx
2025-09-02 11:28:06 +00:00
Diego Imbert
e6f1211d31
feat: Ducklake native support ( #6268 )
...
* upgrade duckdb
* basic ducklake works
* ducklake works with custom db catalogs
* fix: pwsh skip already installed modules outside of cache (#6037 )
* improve query performance of user stats
* separate ducklake_catalog db
* ducklake settings
* DucklakeSettings frontend
* Ducklake ws settings saved in backend
* fetch ducklake catalog resource
* Ducklake works with configured s3 storage
* Ducklake as asset
* ducklake asset icon
* Fix duckdb array and object args not working properly (#6254 )
* Fix bug with comments in duckdb
* Avoid multiple queries when doing ATTACH ducklake
* trunc sig no longer needed now that comments are trimmed
* cache DuckdbConnectionSettingsResponse
* duplicated code
* transform_attach_ducklake contributes to duckdb_connection_settings_cache
* eliminate the need for used_storages
* nit
* cleaner management of the bigquery credentials file
* DBManagerDrawer refactor to prepare for Ducklake
* get ducklake schema
* implement delete for ducklake
* load column metadata for ducklake
* Select query works for ducklake, basic db explorer works !
* duckdb count query
* Support all db ops for ducklake
* clean migrations
* SQL repl for Ducklake
* fix broken database studio
* nit
* assert function
* Ducklake in Editor Bar
* default ducklake syntax + allow extra args
* DucklakeCatalogWizard UI
* nit + remove extra $
* modal when databases do not exist
* cannot be windmill
* Ducklake works safely with instance database
* Avoid sending instance db credentials on network
* resource leak security
* remove fetch_attach_db_conn_str
* prevent instance pg password leak
* hide asset usage count when not available
* case unsensitivity duckdb
* warnings
* disable instance catalog
* use shorthand syntax when inserting with EditorBar
* Instance ducklake catalog is now safe to use
* use safer argon2 pwd
* update package json parsers
* update package json
* better msgs
* tooltips
* disable explore button until saved
* nit
* fix warnings
* better ducklake_user password management
* nit
* Sanitize passwords from errors in ducklake
* DisplayResult broken in job result
* remove superadmin requirement to check databases_exist
* duckdb_connection_settings_v2_inner
* Ducklake works on agent worker (finally)
* ci
* #[allow(dead_code)]
* fix openapi missing response
* Separate +Database button for DuckDB in EditorBar
* Fix dropdown in ducklake settings
* Attempt to fix migration race condition in CI
* update sqlx failing for some offline queries
* avoid temp password for ducklake_user
* nits
* ducklake settings nits
* update duckdb default script
* fix sql repl resetting text on refresh
* avoid pgcrypto extension
---------
Co-authored-by: HugoCasa <hugo@casademont.ch >
Co-authored-by: Ruben Fiszel <ruben@windmill.dev >
2025-08-06 13:55:36 +00:00
centdix
f892f7c9af
fix(mcp): add proper check for mcp routes ( #6282 )
...
* add proper check for mcp routes
* cleaner
* apply to flow
* fix add checks scopes
---------
Co-authored-by: dieriba <dieriba.pro@gmail.com >
2025-07-28 10:11:36 +00:00
Ruben Fiszel
564e92e98d
cleanup warnings
2025-07-26 13:48:53 +00:00
centdix
e8f4c2418b
fix(mcp): allow mcp scopes to run scripts and flows ( #6278 )
...
* allow mcp scopes to run scripts and flows
* fix
* fix
2025-07-25 17:16:03 +00:00
dieriba
5f364100f3
feat: granular token scopes ( #6093 )
...
* base
* add scopes in the UI
* remove legacy scope, unified create token into a components
* fix layout, convert old scope to new scope
* update scope
* update ui, and clear scope
* remove desc
* almsot there
* fix path
* fix delete and scope resource path matching
* update scope
* update scope and error message
* nits and fix logic
* nits and fix
* added multiple resource and jobs scope for script and flow
* add check_scope for endpoint
* clean front and improve fronetend code
* fix resource validation logic and backward compatibility with old scope
* fix frontend state and scope checks logic
* update scopes
* fix height
* nits: better_naming
* fix route
* fix add missing import
* fix import and move fn
* update repo ref
* fix import
* fix query and nits
* nits
* fix ,missing import
* fix
* revert add admin protection
* handle run action correctly
* fix
* add check scopes to some endpoint
* fix and nits
* nits
* remove unused import
* nits
* add chevron when domain is exapanded
* fix border bottom
* nits adds resource path button
* nits
* fix
* nits
* nits
* nits
* fix merge
* fix
* UI nits
* update repo ref
* add lazy static
* update scopes
---------
Co-authored-by: HugoCasa <hugo@casademont.ch >
2025-07-17 15:18:40 +00:00
HugoCasa
8edf4b2b92
feat: kafka better retry and errors ( #6067 )
...
* feat: kafka better retry and errors
* update ee ref
2025-06-27 22:34:58 +02:00
dieriba
aba8c01d7f
feat: windmill http triggers and webhooks to openapi spec ( #5918 )
...
* add sum and description to http routes
* add to openapi spec
* add subsection
* add collaspable and action button
* added path rendering,
* migrate logic to backend
* remover server and handle different format generation
* add filter for http route and document generated
* remove print
* handled webhook and integrated server component
* done
* add download and copy
* nits
* update .sqlx
* remove .vscode
* fix npm check
* add summary description and fix toggle
* added security handling and nits
* update .sqlx
* nits and rename key
* remove unused code
* update ref
* nits rename var
* nits
* nits
* nits
* nits
* nits
* add token generation for cURL command
* create token
* update label and remove section
* update repo ref
* clean
* let brower start download before cleaning up resource
* handle sync/async for webhook
* format fix
* nits
* nits
* reset sum and description
2025-06-17 19:49:00 +02:00
Guilhem
70b7c8c998
refactor(frontend): capture refactor UI ( #5591 )
...
* migrate postgresEditorInner to svelte 5 syntaxe
* Add postgress
* add postgres capture section
* migrate kafka trigger config to svelte 5
* use snippets in kafka config
* feat: Update KafkaTriggerEditorInner with editMode, hideTarget and other props from WebsocketTriggerEditorInner
* feat: Create KafkaTriggerPanelV2 following WebsocketTriggersPanelV2 model
* feat: Integrate KafkaTriggerPanelV2 into TriggersEditorV2
* feat: add kafka capture panel
* use svelte 5 syntaxe for nats config
* use snippet in nats config
* feat: add editMode for nats trigger config
* fix import
* create NatsTriggerPanelV2.svelte for NATS trigger
* integrate NatsTriggerPanelV2 into TriggersEditorV2.svelte
* Create NatsCapture.svelte and update CaptureWrapperV2.svelte to use it
* migrate MqttTriggerEditorInner to svelte 5
* add mqtt trigger to new trigger panel
* migrate SqsTriggerEditorInner to svelte 5 syntaxe
* feat: add sqs triggers panel
* Add badge to MQTT config section
* remove unnecessary binding
* add gcp to the trigger list
* add prop size to GCP icon
* add gcp trigger utils
* migrate GcpTriggerEditorInner to svelte5 syntaxe
* add gcp trigger panel
* Revert "add gcp trigger utils"
This reverts commit 58f0df9985 .
* fix type error
* add gcp to trigger bar
* add capture gcp panel
* add schedule poll panel
* feat: add trigger table horizontal bar
* add http trigger label
* make triggerbar vertical
* nit
* add trigger delete button for drafts
* enable edit from table for all triggers
* fix automatic edit mode for draft trigger
* fix proxy dispatching issue
* fix primary star positionning
* fix apply args to preprocessor
* automatically load bigpayloads
* clean capture wrapper code
* nit
* fix capture config not passed
* use Url component
* remove unused prop captureTable
* use new schedule panel for scheduled poll
* update triggersWrapperV2
* improve webhook capture panel
* remove debug log
* save draft with flow draft
* add path in draft label when available
* remove flowcard title
* use trigger label for trigger badge dropdown
* break from table to sidebar at 1000px
* remove triggers badge allways show sidebar behavior
* fix multiple primary addition
* improve primary schedule deploy logic
* remove debug logs
* gather imports
* add path for draft primary schedule
* handle redirection
* Add confirmation modal to deploy triggers
* remove debug log
* Save draft route trigger on deploy
* Allow draft for deployed triggers
* add component trigger editor toolbar
* improve update trigger utility function
* Add reset button for deployed draft triggers
* allow draft trigger for kafka triggers
* allow draft trigger for websocket triggers
* allow draft trigger for postgres triggers
* Add toggle to trigger toolbar
* allow draft for nats triggers
* allow draft for mqtt triggers
* allow draft sqs triggers
* allow draft for gcp triggers
* revert changes on the schedule editor
* update all triggers to use the same toolbar
* remove debug logs
* remove PrimarySchedule Panel and merge primary schedule logic with all triggers
* load schema from draft when editing a draft schedule
* prevent overflow in trigger table
* fix path saving for draft schedule
* fix trigger badge dropdown display
* get draft status from trigger
* remove unused event
* nit
* Add deploy badge to trigger
* replace checkbox with toggle for the modal
* fix selection of triggers with draft
* fix nit
* fix nit
* add missing config for loading schedule
* save schedule from config
* save http route from cfg
* save websocket trigger from cfg
* save postgres trigger from cfg
* save kafka trigger from cfg
* save sqs trigger from cfg
* save nats trigger from cfg
* save mqtt triggers from cfg
* save gcp trigger from config
* nit
* fix path update when editing a trigger
* remove unused saveCb
* fix trigger node navigation
* remove debug log
* add min size for trigger editor capture panel
* Integrate new triggers Editor to script builder
* remove previous triggersEdior page
* Remove former triggers Editor
* Migrate detail page to new triggers editor UI
* Remove unused dev TriggersBadge
* migrate triggers to V2
* Migrate capture components to V2
* improve triggers badge UI
* fix trigger panel with scheduled poll
* fix auto select all draft on deploy
* simplify permission check
* Add custom label to every trigger editor
* fix draft not deleting when saving triggers and add option to deploy now
* remove unused utility function
* fix triggers loading from draft
* make advanced route section collapsible
* handle subflow triggers display
* center triggers badge
* fix panel redirection when adding a new triggers from node
* Remove unnecessary alerts
* Fix proxy issue in schedule editor inner
* Remove unused schedule pages
* nit
* nit cli panel
* Migrate selectedTrigger store to V2
* handle extra header button for trigger editor panel
* prevent reload on toggle schedule enable
* remove unused utility function
* remove primaryScheduleStore
* handle triggerCount with drafts
* fix editing in Schedule Poll Mode
* Remove triggers default value context store
* fix triggers label max width
* Remove dbg logs
* improve no trigger selected message
* nit
* Do not show enable toggle for http triggers
* Adapt ui to dark mode
* nit
* remove captureOn context value
* improve dark mode
* fix nit
* fix merge issue
* nit
* nit
* fix schedule permission initialisation
* nit
* Disable deploy now if needed
* Improve utilitu function for handling with triggers
* improve trigger badge look
* fix kafka
* nit
* fix schedule display
* fix toggling edit mode
* fix edit/cancel edit
* nit
* prevent capture config update in editor
* migrate webhook panel to svelte 5
* fix postgres trigger creation
* fix bind issue in nats triggers
* fix modal triggers message flow/script
* fix apply args for script
* fix gcp triggers update when creating
* fix gcp capture
* nits
* add loading state for deploying all triggers
* remove default mqtt
* update base_endpoint for gcp
* nit
* fix
* fix
* remove base endpoint
* add catch in case of error while creating a trigger
* Add animation is capture panels
* show preprocessor extra when there is a preprocessor
* Add loading state for captures
* add missing fields for capture
* migrate URL to svelte 5
* show icon by default in confirmation modal
* do not show draft triggers in detail badge list
* migrate to new captures
* revert unwanted change
* migrate to preprocesor v2
* nit
* fix email capture
* nits and fix
* nits
* update repo ref
* Feat: auto save draft instad of save button
* use triggerIndex as selection
* Add modified tag to triggers
* Update trigger modal
* fix trigger node select
* fix schedule page
* migrate TriggersEditor to svelte 5
* remove unused props
* fix schedule editor init
* fix store reactivity issue
* use class instead of store for triggers context
* nit
* nit
* fix schedule init
* Add postgres error message
* nit
* fix deploy new script
* load schema in shedule editor
* improve transitions
* Improve capture indication
* revert unwanted changes
* improve update
* nit
* migrate captures section to svelte 5
* only show trash on hover triggers row
* Add token count
* improve trigger display
* Add relevent naming for triggers
* Use wrapper div insted of width binding in flow card
* add trigger sorting
* nit
* handle reload from URL for draft triggers
* dirty script and flow draft with draft triggers
* handle cloud hosted triggers
* nit
* nit
* fix nats reactivity
* remove debug log
* handle deployed draft triggers in the flow editor
* Add warning for event stream capture
---------
Co-authored-by: dieriba <dieriba.pro@gmail.com >
Co-authored-by: Ruben Fiszel <ruben@windmill.dev >
2025-05-21 23:45:19 +02:00
HugoCasa
ddd18d22a6
perf: cache http trigger routers and auth ( #5748 )
...
* perf: cache http trigger routers and auth
* fix build
* fix
* fix build
* fix build
---------
Co-authored-by: Ruben Fiszel <ruben@windmill.dev >
2025-05-15 17:38:45 +02:00
dieriba
e920101107
feat: api key/basic/hmac auth for http triggers ( #5476 )
...
* feat: add webhook configuration in front and start handling logic in back
* feat: add generic implementation
* update: add stripe provider working on auth
* merge main
* handling new webhook, add generic implem
* feat: add auth method and api key and handling custom authentication
* nits
* added generic implem for webhook provider
* feat: added resource webhook_auth to handle http route auth, refactored backend code
* update sqlx
* fix: zoom and twitch challenge request event, call verify function
* removing webhook name to make it more general, properly added custom auth option alongside windmill_auth option
* update .sqlx
* update deply to for http routes
* update .sqlx
* add different auth method for http routes
* add custom script method and custom signature fixed bug with webhook auth
* update auth options
* update .sqlx
* add new auth method
* update .sqlx
* refacto function and fix frontend bug
* fix typo, update .sqlx and handle pototential error
* nits
* nits
* add script template flow
* Update frontend/src/lib/components/triggers/http/utils.ts
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* nits
* update: remove wrong trigger type and use right icon for sqs trigger
* nits
* update: .sqlx
* update: reunite flow and script logic for script placeholder value replacement
* Update backend/windmill-api/src/http_trigger_auth.rs
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* delete vite config
* remove darks mode observer
* update: add new option to capture panel for http route
* nits
* revert
* nits
* typo
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: HugoCasa <hugo@casademont.ch >
2025-03-27 08:43:42 +00:00
HugoCasa
7bf9e25ede
feat: track workspace runnables used in flows ( #5369 )
...
* feat: track workspace runnables used in flows
* track script hash
* weird
* do it with lock
* Revert "feat: add support for | None and Optional in python (#5361 )"
This reverts commit 9736355d5f .
* Revert "Revert "feat: add support for | None and Optional in python (#5361 )""
This reverts commit bb8f709894 .
* update openapi
* delete old in lock_modules + don't track hub scripts
2025-02-27 10:01:12 +01:00
Ruben Fiszel
90ba65ae20
improve error messages for internal err
2025-02-05 16:32:01 +01:00
Ruben Fiszel
51c0373b4c
feature gates more feature for faster compilation ( #4928 )
...
* cleanup
* cleanup
* all
* all
* all
* all
2024-12-15 00:00:37 +01:00
Guilhem
e888c84a36
polish critical alert modal ( #4802 )
...
* polish critical alert modal
* Use Table component
* use table component pagination
* Add acknowledge to the table
* Polishing table
* fix nit
* Filter alerts
* Add notification count on modal
* Adjust table height
* Change mute description
* Fix layout
* minor fix
* Fix small screen issue
* fix toast on refresh
* Revert "fix toast on refresh"
This reverts commit ae3593e1af .
* filtering to backend, superadmin also acknowledges workspace (unless CLOUD_HOSTED), simplifications
* sqlx prep
* improve reactivity
* improvements
---------
Co-authored-by: Alexander Petric <alpetric@users.noreply.github.com >
Co-authored-by: Alexander Petric <petric.al@gmail.com >
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com >
2024-12-05 11:07:11 +01:00
wendrul
4facf3ca3e
feat: Add a devops role to act as a "readonly admin" ( #4775 )
...
* Prepare sqlx
* Add devops role as bool
* Add devops reloe and use it for certain endpoints
* Critical alerts: complete devops role visiblity
* Update ee repo ref
* Prepare sqlx
2024-11-22 14:55:48 +01:00
Alexander Petric
c32038a76d
feat(monitoring): workspace critical alerts ( #4684 )
...
* critical alert ui
* updating ui, backend logic
* revert
* type check fix npm
* checking out cli files from main
* moving alert icon
* adding sqlx mock data
* more sqlx changes
* feat(frontend): nodes from flow can be connected directly in expr input through a plug icon (#4652 )
* Add flow prop picker
# Conflicts:
# frontend/src/lib/components/propertyPicker/PropPicker.svelte
* fix unwanted copy
* cleaning
* Fix unset context
* move button and always display input
* fix unwanted proppicker display
* update
* update
* clean all
* clean all
---------
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com >
* replace hide/show with toggle
* adding mutable setting and navigation to settings to configure channels
* merge fix
* ee non ee changees
* auto-acknowledge when muted
* pr comments
* fix bad log
* user inner modal component
* update unaknowledge alerts after acknowledging from modal
* aknowledge -> acknowledge
* format
* adding backend support for workspace critical alerts
* immediately check for alerts
* immediately check for alerts
* adding openapi changes
* simplify loading of superadmin/ee
* update modal logic
* frontend logic update
* sqlx prepare
* adding mute functionality for workspace critical alerts + show alerts button for instance and workspace settings
* npm / rust warnings & errors
* reverting non-mac cargo toml
* reverting non-mac cargo toml
* mute toggles in critical alert ui
* ui polish
* adding acknowledged_workspace column
* sqlx prepare
* make sure we wait for all stores to be loaded
* adding workspace mute logic to report_critical alert
* auto ack recovered alerts
* toggle workspace as superadmin and critical alerts in logs menu
* adding critical alert button if width < 786px
* refresh on change
* Move notification to logs (#4698 )
* Move notification to logs
* removing unused button
---------
Co-authored-by: Alexander Petric <petric.al@gmail.com >
* tailwind typo
* auto ack on mute
* don't change deref
* sqlx prep
* avoid renaming db column, keep acknowledged instead of acknowledged_global
* hide critical alert menu when not ee
* if workspace muted, also acknowledge global when workspace set
* removing save button for mute setting and improve ux/responsiveness
* fix: deployment callbacks have a concurrency limit of 1 on same path
* sqlx prep
* ee-repo ref
* z-[9999] for modal
---------
Co-authored-by: Guilhem <guilhemlemouel@gmail.com >
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com >
Co-authored-by: Ruben Fiszel <ruben@windmill.dev >
2024-11-15 09:48:48 +01:00
Ruben Fiszel
fd4fecf945
split better oss and ee
2024-11-02 16:31:03 +01:00
Ruben Fiszel
c62e152d27
feat: service logs ( #4244 )
2024-08-31 14:57:35 +02:00
HugoCasa
9efad477da
optional starred info on get item + update name of user instance ( #4295 )
2024-08-27 21:58:51 +02:00
HugoCasa
93f58056a0
feat: replace ephemeral tokens by jwt ( #3908 )
...
* feat: replace ephemeral tokens by jwt
* fix: migration + sqlx
* fix: tests, agent, ee ref
* fix: sqlx
* fix: tests
* fix: jwt prefix change + fix tests
* fix: nit
* fix: handle agent mode
2024-06-14 13:07:35 +02:00
Ruben Fiszel
6a332bc30f
fix: make all error strings more verbose
2024-05-25 22:15:15 +02:00
HugoCasa
cf4358a14b
feat: instance usernames ( #3382 )
...
* feat: instance usernames
* fix: sqlx + ee ref
* feat: make one-off button for enabling
* chore: set ee ref
* fix: permissions and nits
* fix: admin instance username + sqlx build
* fix: revert stupid change
* fix: only create instance username when setting enabled
* chore: update to ee latest
2024-03-12 11:55:18 +01:00
HugoCasa
253b679271
feat: scheduled app reports ( #2714 )
...
* feat: app preview discord
* feat: add custom, slack, email + worker groups
* fix: npm build
* fix: add assignable chromium tag
* feat: use workspace linked slack resource + hub scripts
* fix: nit
2023-11-29 16:35:42 +01:00
Ruben Fiszel
c77d38563d
remove unecessary postgres transactions and improve performance
2023-08-22 00:34:44 +02:00
Jakub Kołodziejczak
223b80768a
chore(backend): upgrade sqlx to ^0.7 ( #1865 )
...
* DRAFT chore(backend): upgrade sqlx to ^0.7
related to:
* https://github.com/windmill-labs/windmill/pull/1858
* https://github.com/launchbadge/sqlx/issues/1163#issuecomment-1627685514
* (vol. 2) in 0.7, `Transaction` can no longer implement `Executor` directly
ref: afb6b1066e/examples/postgres/transaction/src/main.rs (L14-L17)
notice that I'm temporarly using my custom patch
16e4c9a8f3
it's related to https://github.com/launchbadge/sqlx/issues/2611
* post git rebase chores
* use upstream fix from 0.7.1
* fix compile
---------
Co-authored-by: Ruben Fiszel <ruben@windmill.dev >
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com >
2023-07-15 14:06:20 +02:00
Ruben Fiszel
c9ff4639a5
improve require super_admin check error
2023-03-24 14:55:56 +01:00
Ruben Fiszel
291d0fbeae
make superadmin_secret work also for apis
2023-03-24 14:53:28 +01:00
Ruben Fiszel
039e1fa1e6
feat: implement usage tracker + quotas
2022-12-11 18:47:39 +01:00
Kai Jellinghaus
6263e90735
restructure the entire backend layout using workspaces ( #815 )
2022-10-29 11:58:06 +02:00