Commit Graph

59 Commits

Author SHA1 Message Date
Ruben Fiszel d663884a99 more folders permission 2023-01-31 16:01:13 +01:00
Ruben Fiszel d0fc40b483 grant all privilege to table favorite 2023-01-27 22:08:46 +01:00
Ruben Fiszel 791a772199 increase token size for refresh token 2023-01-27 18:56:42 +01:00
Ruben Fiszel 22080312f0 description at bottom 2023-01-21 17:33:23 +01:00
Ruben Fiszel 6edf9b9946 feat: add archive/unarchive/delete workspace 2023-01-07 09:39:50 +01:00
Ruben Fiszel 4822c863f8 deprecate starters workspace by pointing resource types to admins 2023-01-01 09:00:56 +01:00
Ruben Fiszel 4329d25988 feat: introduce folders, deprecate items owned by groups 2022-12-19 19:11:23 +01:00
Ruben Fiszel 2e7b2a9e20 rework default visibility of runs of scripts not belonging to oneself 2022-12-15 18:55:30 +01:00
Ruben Fiszel 09e38981ed add visible_to_owner 2022-12-15 16:01:17 +01:00
Ruben Fiszel 3485b07b25 feat: add operator mode 2022-12-13 20:16:57 +01:00
Ruben Fiszel 2bae50f391 feat: auto-invite from same domain 2022-12-12 20:20:17 +01:00
Ruben Fiszel 94cecd56d2 add the all group to admin 2022-12-12 12:47:07 +01:00
Ruben Fiszel ac6f9e90f0 usage tracker v2 2022-12-11 22:48:09 +01:00
Ruben Fiszel c77e4a06c0 grant all on usage 2022-12-11 20:27:04 +01:00
Ruben Fiszel fd871093f0 feat: implement usage tracker + quotas 2022-12-11 18:47:39 +01:00
Ruben Fiszel 2e36f65986 increase variable length to 10000 2022-12-10 13:57:41 +01:00
Kai Jellinghaus 4004de0618 feat: Superadmins workspace (#1003)
* Add auto-invite superadmins workspace

* Revert "Add auto-invite superadmins workspace"

This reverts commit 768ae31857.

* Add Admin Workspace

* Show unable to delete info in UI

* Add Hub sync

* Update Migration

* Add Starter workspace

* Add workspace_key for admins workspace

* Remove schedule

* Update CI
2022-12-10 01:46:26 +01:00
Kai Jellinghaus abc0ca3a5b feat(backend): Input transform errors (#1006)
* Add pre run error & propagate input transforms there

* Handle pre-run errors

* Update SQLX data

* Update SQLX data
2022-12-08 23:56:49 +01:00
Ruben Fiszel cafa6d4a0c add unique path and rls to apps 2022-12-03 09:21:26 +01:00
Ruben Fiszel f3f694e925 feat: add favorite/star + remove flows/scripts page in favor of unified home page (#968)
* favorites

* favorites

* favorites

* feat(frontend): add favorite + refactor homepage
2022-11-30 00:15:43 +01:00
Ruben Fiszel 37967a7950 feat: refactor variable + resource linkage + OAuth visibility 2022-11-27 17:26:37 +01:00
Ruben Fiszel 346a7f3f47 more visibility on OAuth errors Vol 1 2022-11-27 14:00:55 +01:00
Ruben Fiszel 6d134ceea3 pg migration 2022-11-26 19:39:37 +01:00
Kai Jellinghaus 4ddb3ec276 fix(backend): bash flow lock & add flow lock tests (#933)
* Fix Bash flow lock

* Tests w/ fixes

* Add Sequence privileges
2022-11-23 19:17:19 +01:00
Kai Jellinghaus 47c9ff1edc feat(backend): Flow lock (#868)
* Add lockfile information

* Allow Lockfiles to be pushed to queue

* Handle raw_lock on worker

* Flow Lock Job

* Allow RawScript path

* Simplify handle_code_execution_job

* Regenerate SQLX

* Fix tests

* fix test

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-11-13 18:31:08 +01:00
Ruben Fiszel 2d9e9909da fix(backend): apps backend v0 (#888)
* progress

* post merge

* progress

* fix

* fix

* fix

* fix

* v1

* fix openapi
2022-11-12 20:17:08 +01:00
Ruben Fiszel 3c09275960 feat: support bash as 4th language (#865)
* bash support

* bash backend working

* frontend part

* bash backend working
2022-11-06 23:48:18 +01:00
Ruben Fiszel 6439ffc2b5 remove initial invite to demo for ruben@windmill.dev 2022-11-05 10:45:17 +01:00
Ruben Fiszel 9a67607b20 feat: payload capture of json to initialize flow input (#655)
* capture table and some endpoints for json pastebin

* only retain user's most recent captures

* merge conflict

* sqlx data

* fix migration

Co-authored-by: sqwishy <somebody@froghat.ca>
2022-10-25 00:54:53 +02:00
Ruben Fiszel 40bfc486c7 add resume_id to job_resume + add identity module 2022-10-24 14:48:28 +02:00
Ruben Fiszel a0b2c9e77d feat: add approver to approval step 2022-10-24 01:50:39 +02:00
Ruben Fiszel 8ec33c5e16 feat: support running and publishing go, python scripts to the hub (#779) 2022-10-20 20:16:08 +02:00
Ruben Fiszel f4caa4ffa6 feat: implement same_worker openflow attribute for running flow all in one go + sharing folder /shared (#689)
* init

* progress

* all

* sqlx

* remove unecessary test

* done

* frontend

* frontend
2022-10-06 04:59:09 +02:00
sqwishy 126dd24c71 feat(backend): flow suspend resume (#522)
Flow observes `suspend` setting and will wait for resume messages sent for the job before continuing to the next step in a flow.

Adds endpoints under workspaces at `/jobs/<cancel|resume>/<job-uuid>` to either cancel or resume the job with a payload. For POST requests to the endpoint, payload is a JSON document. For GET requests to the endpoints, the payload is a base64url encoded JSON document as the value of the payload query parameter.
2022-09-14 11:46:57 -07:00
Ruben Fiszel 39918a9bb1 feat: implement go support (#571)
* progress

* progress

* all in one

* frontend

* small nits

* go job test

* go.sum is optional

* add golang-go to backend test image

Co-authored-by: sqwishy <somebody@froghat.ca>
2022-09-13 21:14:21 +02:00
Ruben Fiszel e9abcffdd1 feat: is_trigger is just a type tag, soon to include failure and command (#523)
* script kind

* all

* init code flow

* kind: trigger

* kind: trigger
2022-09-05 09:55:04 +02:00
Ruben Fiszel 62c1f2028e fix audit log can accept username up to 255 2022-09-04 00:25:45 +02:00
Ruben Fiszel 4afde0a593 fix audit log can accept username up to 255 2022-09-04 00:07:55 +02:00
Ruben Fiszel cf7209bdb9 feat: clean openflow spec v1 (#491)
* clean api 2

* the rest

* clean tests

* stop_after_if test

* unbox `modules: Vec<FlowModule>` in `ForloopFlow`

* migrate

* initFlow stop_after_if_expr and skip_if_stopped

* s/migrateInitTransform/migrateFlowModule

I didn't read the name before... oops

* sql migration for openflow changes

* fix frontend migration code

Co-authored-by: sqwishy <somebody@froghat.ca>
2022-09-02 01:26:39 +02:00
Ruben Fiszel ae44a1ecc1 allow longer name for created_by 2022-08-18 15:01:17 +02:00
Ruben Fiszel bc50b51cf9 remove non admin user 2022-08-16 21:00:11 +02:00
Ruben Fiszel 2bdb617b1f fix: users privileges 2022-08-14 22:47:51 +02:00
Ruben Fiszel 1c40f01e5d feat: db users: admin -> windmill_admin, app -> windmill_user (#404)
* feat: db users: admin -> windmill_admin, app -> windmill_user

* clean up

* backend tests

* backend tests

* backend tests

* lock roles in first migration

* check if user is superuser too

* add init-db

* add init-db
2022-08-14 18:20:27 +02:00
sqwishy e1d16860e4 job duration to ms & added to /api/w/*/users/list (#261)
* add jobs_duration to /api/w/*/users/list

A few improvements on this might be considered.

- Adding the duration to /whoami and /whois
- Optionally fetching duration conditional on a query parameter.
- Using the query parameter value to select how far back to look,
  `created_at > now() - $2 * '1 day'::interval`.

Subquery might not be optimal, but performance is a bit weird to test
right now as I haven't done much with my development database to get it
to resemble a typical (production) database.  And there aren't many
indexes currently either.

And I think my rust rustfmt doesn't run because unstable options in the
rustfmt.toml or something so the formatting might be a bit wonky.

* duration -> duration_ms for completed_job

sqlx reordered keys in sqlx-data.json so the diff is quite noisy. I'm
not sure if I did it wrong or if this tool is obnoxious that way.

* don't double count job duration in flows

* job_duration_ms to Usage duration_ms jobs flows

rustfmt got carried away sorry
2022-07-30 00:02:51 +02:00
Ruben Fiszel 97292d18fb fix(frontend): filter script by is_trigger and jobs by is_skipped + path fix 2022-07-19 20:23:58 +02:00
Ruben Fiszel af23b30c37 feat: trigger scripts and have flows being triggered by checking new external events regularly (#200)
* v1 trigger scripts

* progress

* stop early condition

* backend execution model

* progress

* progress

* progress

* works but todo: collect result, render forloop, convert forloopraw to seq for frontend

* collect result

* v1

* that's enough

* sed
2022-07-17 13:17:45 +02:00
Ruben Fiszel 8403fbbc02 feat: account part II, handle refresh tokens, clarify oauth UI (#196) 2022-07-13 10:35:08 +02:00
Ruben Fiszel 3636866dda feat: OAuth "Connect an App" (#155) 2022-07-02 21:04:41 +02:00
Ruben Fiszel 368779bfc5 grant workspace read 2022-06-24 20:18:22 +02:00
Ruben Fiszel b10645ff65 remove quotas for premium workspaces 2022-06-24 19:20:27 +02:00