Commit Graph

41 Commits

Author SHA1 Message Date
Ruben Fiszel 25b50f1a49 add unique path and rls to apps 2022-12-03 09:21:26 +01:00
Ruben Fiszel 751dca0d28 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 7c3126efc0 feat: refactor variable + resource linkage + OAuth visibility 2022-11-27 17:26:37 +01:00
Ruben Fiszel f1725c7eb9 more visibility on OAuth errors Vol 1 2022-11-27 14:00:55 +01:00
Ruben Fiszel ce3f2cc71f pg migration 2022-11-26 19:39:37 +01:00
Kai Jellinghaus d33d465d3a 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 937e16c2af 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 5bc40f7d28 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 7c97fac746 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 39351d3fb8 remove initial invite to demo for ruben@windmill.dev 2022-11-05 10:45:17 +01:00
Ruben Fiszel 14fb4551f4 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 02f4113234 add resume_id to job_resume + add identity module 2022-10-24 14:48:28 +02:00
Ruben Fiszel 7a4bcd98f6 feat: add approver to approval step 2022-10-24 01:50:39 +02:00
Ruben Fiszel 6d4d8e2d64 feat: support running and publishing go, python scripts to the hub (#779) 2022-10-20 20:16:08 +02:00
Ruben Fiszel 849842e9c6 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 a4a583f4e3 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 9d991f968c 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 66df58af47 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 23cc49c576 fix audit log can accept username up to 255 2022-09-04 00:25:45 +02:00
Ruben Fiszel 9323f1f461 fix audit log can accept username up to 255 2022-09-04 00:07:55 +02:00
Ruben Fiszel 1d873d5bd5 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 6654474501 allow longer name for created_by 2022-08-18 15:01:17 +02:00
Ruben Fiszel 2c7509497b remove non admin user 2022-08-16 21:00:11 +02:00
Ruben Fiszel b5a0dc262a fix: users privileges 2022-08-14 22:47:51 +02:00
Ruben Fiszel 08374e7984 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 9a632befdd 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 80ddfed361 fix(frontend): filter script by is_trigger and jobs by is_skipped + path fix 2022-07-19 20:23:58 +02:00
Ruben Fiszel 738d429f2f 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 670e55b34b feat: account part II, handle refresh tokens, clarify oauth UI (#196) 2022-07-13 10:35:08 +02:00
Ruben Fiszel 60d48708f6 feat: OAuth "Connect an App" (#155) 2022-07-02 21:04:41 +02:00
Ruben Fiszel 37c145811d grant workspace read 2022-06-24 20:18:22 +02:00
Ruben Fiszel c22f0f2740 remove quotas for premium workspaces 2022-06-24 19:20:27 +02:00
Ruben Fiszel 4e1d71dd89 fix: make email constraint case insensitive 2022-06-20 23:11:48 +02:00
Ruben Fiszel 193a26cfad feat: alpha hub integration + frontend user store fixes + script client base_url fix 2022-06-12 01:55:05 +02:00
Ruben Fiszel c039ffe81e fix: language field broke flow too 2022-05-18 23:28:09 +02:00
Ruben Fiszel 51a4cd359e feat: Typescript support for scripts (alpha)
* typescript support

* frontend

* type inference

* type inference

* v0 works

* v0 typescript

* v0 typescript

* deno-client v0

* deno-client v0

* build_deno

* rm autogenerated files

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* on tags

* createResource

* createResource

* createResource2

* typescript support

* templates

* include version
2022-05-17 20:42:05 +02:00
Ruben Fiszel 9bee83caae fix: also store and display "started at" for completed jobs (#33) 2022-05-10 21:32:07 +02:00
Ruben Fiszel cbbc577d73 delete starter script without lock files 2022-05-08 17:56:16 +02:00
Ruben Fiszel a27535f503 feat: self host minimal 2022-05-08 17:26:51 +02:00
Ruben Fiszel b229455b96 feat: superadmin settings 2022-05-08 17:03:13 +02:00
Ruben Fiszel 2e132878e4 first commit 2022-05-05 04:25:58 +02:00