Commit Graph
100 Commits
Author SHA1 Message Date
Peter Stockings 24a0c0ffef Enhance timer function tracking with invocation count and log storage
- Add `invocation_count` column to `timer_functions` table
- Change `logs` column in `timer_function_invocations` to JSONB type
- Create trigger function to automatically increment invocation count on new log entries
2025-02-20 22:51:52 +11:00
Peter Stockings 19b5508a9c Refactor timer settings UI in editor component
- Integrate timer settings directly into the main edit template
- Remove separate timer settings panel
- Improve layout and styling of timer configuration inputs
- Maintain existing functionality for interval and date-based triggers
2025-02-17 20:42:29 +11:00
Peter Stockings 0a70f90953 Simplify timer function edit template configuration
- Disable public, log request, and log response toggles in edit template
- Streamline edit view configuration for timer functions
2025-02-17 19:25:31 +11:00
Peter Stockings 17457e492e Add version history view for timer functions
- Implement `/history/<function_id>` route in timer routes to fetch and display function versions
- Create new Mithril `DiffView` component for comparing script versions
- Add new history template for timer functions with version comparison
- Include version diff functionality using AceDiff library
- Update header and edit templates to include history URL for timer functions
2025-02-17 19:19:45 +11:00
Peter Stockings 77957a61a3 Add logs view for timer functions
- Create new database table `timer_function_invocations` to track function executions
- Implement `/logs/<function_id>` route in timer routes to fetch and display invocation logs
- Add new logs template for timer functions with detailed invocation information
- Update header templates to include logs URL for timer functions
2025-02-17 00:24:49 +11:00
Peter Stockings 29da93a9f8 Update ResponseView to support timer function display
- Add `isTimer` flag to conditionally render response view tabs and details
- Hide preview and raw tabs for timer responses
- Automatically switch to logs tab for timer responses
- Conditionally hide status and size details for timer responses
2025-02-17 00:09:02 +11:00
Peter Stockings d5338f17c1 Hide client details in timer function edit template 2025-02-17 00:08:37 +11:00
Peter Stockings aeb880ed0a Update cancel URL handling in HTTP and timer function templates
- Modify header template to use explicit `cancel_url` parameter
- Add `cancel_url` to new timer and HTTP function templates
- Remove default URL fallback in header template
2025-02-16 20:22:03 +11:00
Peter Stockings e09437c7b8 Implement timer functions with full CRUD functionality and enhanced UI
- Add comprehensive routes for creating, editing, deleting, and toggling timer functions
- Create new HTML templates for timer function overview, new, and edit pages
- Extend Mithril editor component to support timer-specific settings like trigger type, frequency, and enabled status
- Implement database schema and versioning for timer functions
- Add UI improvements for timer function listing with detailed schedule and status information
2025-02-16 19:50:58 +11:00
Peter Stockings adeb62365b Update Jinja2 environment to include Flask's default globals and filters 2025-02-16 14:07:23 +11:00
Peter Stockings 699ee50229 Add blueprint scaffold for timer functions 2025-02-16 13:45:34 +11:00
Peter Stockings 9d48bbd285 Refactor HTTP functions overview and logs pages with improved UI and responsiveness
- Modernize the design of HTTP functions overview and logs pages
- Add more detailed styling with Tailwind CSS
- Improve layout and readability with better typography and spacing
- Add empty state handling for both logs and functions lists
- Enhance visual hierarchy and interaction states
2025-02-14 22:22:27 +11:00
Peter Stockings 5ec8bba9e8 Refactor HTTP function editor with Mithril components and new API endpoints
- Add new Mithril components for editor (editor.js), response view (responseView.js), and alerts (alert.js)
- Create new API endpoints for creating, updating, and deleting HTTP functions
- Update templates to use new Mithril editor component
- Improve header navigation with more consistent styling and active state indicators
- Remove old edit form route and template
- Add new dedicated editor route and template

cursor.ai
2025-02-14 00:40:45 +11:00
Peter Stockings abf3ca15d2 Revert "Update python version from 3.9.18 to 3.10 in attempt to resolve build issue after updating dokku"
This reverts commit 3d70517c67.
2024-12-18 23:21:48 +11:00
Peter Stockings 3d70517c67 Update python version from 3.9.18 to 3.10 in attempt to resolve build issue after updating dokku
"Requested runtime (python-3.9.18) is not available for this stack (heroku-24)."
2024-12-18 23:07:21 +11:00
Peter Stockings bc4a1ae9a6 Show original script as well, still need to add revert/switch version functionality 2024-05-18 22:46:44 +10:00
Peter Stockings 2b4ca571ca Add in version history for http functions
and also load .env in dev mode
2024-05-18 21:55:11 +10:00
Peter Stockings b4c67d8346 Add versions for http_functions, whenever script is updated a new version is logged. 2024-04-06 19:49:46 +11:00
Peter Stockings 4b30deb709 On function editor, if the editor loads slow enough then you can see the code/environment json as html text so I changed the text to transparent to avoid this, not a real fix (For some reason I cant find any mention of other people having this issue) 2024-03-29 22:34:57 +11:00
Peter Stockings 3ce976507e Seperated landing page into self contained template as gradient stylings were making the dashboard hard to read 2024-03-29 22:00:17 +11:00
Peter Stockings d25e8bb182 Fix dashboard -> http functions over view page not working on refresh (was sending html partial for htmx) 2024-03-29 21:40:37 +11:00
Peter Stockings cb3afa77fc In function editor template modify add/delete functionality so it uses htmx.ajax and updates url 2024-03-29 21:20:35 +11:00
Peter Stockings 163a1dbc5f Disable send request button and display animation when request is already started 2024-03-29 20:19:52 +11:00
Peter Stockings c2cf448528 For postman-like http client change default tab for response view to Browser Preview 2024-03-29 19:57:23 +11:00
Peter Stockings e92a1ad69d Limit decimal places length of response time in ms 2024-03-29 19:07:17 +11:00
Peter Stockings db191d7cf5 Format response time & size 2024-03-29 18:44:32 +11:00
Peter Stockings 6044d2e00b For postman-like mithril.js driven client made the following minor changes
* Display response status, size, time
* Toggle between response body (text), Browser preview (HTML), & headers
2024-03-29 18:38:48 +11:00
Peter Stockings c2d17e1b82 Remove unused stylings from landing page template 2024-03-29 18:32:23 +11:00
Peter Stockings 25178b5aad Packaging a few small changes
* Make edit http function endpoint accept function id rather than name
* Move show alert js function to function editor template as its only used here
* Added a note that previous commit (API -> isolator request was changed from global routing to inter app routing) (It sped things up, but not its regressed; need to look into this further)
2024-03-28 21:26:49 +11:00
Peter Stockings df458c2738 Use mithril.js to make postman like client (Previously was static html with a sprinkling of js) 2024-03-28 20:49:49 +11:00
Peter Stockings 01d24c7b29 Testing: In the current setup function executes js functions on isolator through a rest api and it calls the external address https://isolator.peterstockings.com/execute, switching to interal http://isolator.web:5000/execute. Im checking if this results in a speed up 2024-03-27 21:56:02 +11:00
Peter Stockings 1a496d2441 Fix issue where on page refresh when on function edit/new sub pages you would be redirected back to dashboard 2024-03-27 14:03:52 +11:00
Peter Stockings 48b013c1f4 Minor styling update for functions overview & edit/new pages to make it more usable after landing page changes, also started to work on making pages refreshable through htmx hx-push-url 2024-03-27 13:08:29 +11:00
Peter Stockings ea366d9f8b Add error page for http functions 2024-03-24 22:28:58 +11:00
Peter Stockings fc021d6971 Use landing page template and perform minor UI updates on other pages (Still needs alot of work) 2024-03-24 21:50:21 +11:00
Peter Stockings 6dcd46fee0 Udpate default script to a random svg line graph generator 2024-03-24 21:49:05 +11:00
Peter Stockings e21a575726 Update function editor response view, and add execution timer 2024-03-24 20:52:32 +11:00
Peter Stockings 761165cb23 Minor UI change for function edit form, moved execute button to bottom 2024-03-24 19:48:43 +11:00
Peter Stockings 2d9c0b9d53 Add ability to rename http functions 2024-01-03 16:37:36 +11:00
Peter Stockings 6e172f568f Now attempt to handle case when query/form array param has a single value, still should be in array 2023-12-27 22:45:35 +11:00
Peter Stockings 7249575fc8 Apply same change to query as well 2023-12-27 22:34:43 +11:00
Peter Stockings 5ba69ec5ad Attempt to fix issue where form and query dont support arrays 2023-12-27 22:19:42 +11:00
Peter Stockings d666aab95a Add default request path of '/' for playground 2023-12-27 00:05:20 +11:00
Peter Stockings e96e9b3b0c Make some fix for create http function logic 2023-12-22 20:02:12 +11:00
Peter Stockings 1ffb3cd900 Fix for error thrown when updating http function with true/false in environment info 2023-12-22 20:00:32 +11:00
Peter Stockings 56d47232e1 If a function invocation isnt successful and log response isnt enabled, store response anyway 2023-12-22 19:01:52 +11:00
Peter Stockings fe13df57ca Send function name to isolator when executing code so it can be accessed as a variable from within side the script 2023-12-22 17:58:08 +11:00
Peter Stockings 563d93ab69 Add favicon 2023-12-22 15:46:33 +11:00
Peter Stockings c6554cf399 Create http function header template and move all http function related templates into same directory 2023-12-22 14:36:00 +11:00
Peter Stockings 6fab33ea2b Change function name to path so you can pass in sub paths to executing code 2023-12-22 10:11:17 +11:00
Peter Stockings 34186d25a0 Remove current user_ids from error 2023-12-21 22:34:03 +11:00
Peter Stockings bb29718467 Slightly reduce size of is public icon on http functions list view 2023-12-21 21:38:53 +11:00
Peter Stockings c03c650da0 Logout when clicking on profile icon 2023-12-21 21:23:12 +11:00
Peter Stockings e124025568 Add icon on http function list view to denote public status 2023-12-21 20:04:39 +11:00
Peter Stockings 37b9e10914 Add link to logs from edit page and vice versa for http functions, QOL change 2023-12-21 19:11:24 +11:00
Peter Stockings 19cebc0f45 Add option to toggle logging of request/response for http functions, this has been added to due storage capacity concerns 2023-12-21 14:45:25 +11:00
Peter Stockings 7c7dbae05a Add option to make http functions private (Require authentication, currently just redirects to login page; Should look into cookie + JWT + api key) 2023-12-21 14:03:25 +11:00
Peter Stockings 14e4672be6 Add link to login page from signup page 2023-12-21 12:05:15 +11:00
Peter Stockings 54cd8258e4 Ensure username/password are atleast 10 characters long 2023-12-21 12:04:49 +11:00
Peter Stockings 5f1330f776 Pass in user_id to delete_http_function to fix error 2023-12-20 23:55:19 +11:00
Peter Stockings 2077eb835f Render http function url in client url feild 2023-12-20 23:45:40 +11:00
Peter Stockings 8d38c39604 Ensure you can only view/edit http functions created by the currently logged in user 2023-12-20 22:57:39 +11:00
Peter Stockings 30e16277df Add in authentication via Flask-Login, still need to modify http functions so they are linked to a user 2023-12-20 22:26:11 +11:00
Peter Stockings 6a894df009 In function editor response panel show returned http status code 2023-12-20 21:08:26 +11:00
Peter Stockings 595d392af4 Change text to red when isolator returns error on function playground 2023-12-19 23:17:12 +11:00
Peter Stockings fc2ca7c4e8 Remove debugger from editor template 2023-12-19 21:24:46 +11:00
Peter Stockings 223afec05d Refactor all function editor front end html + js into a single jinja template (also slight improvement to look of response/logs) 2023-12-19 21:20:11 +11:00
Peter Stockings 4b64430022 Add refresh view button on edit page, found it useful for testing to see updates to environment info 2023-12-19 19:10:58 +11:00
Peter Stockings c968ef583c Use url_for to generate url for http functions on overview page 2023-12-19 12:41:48 +11:00
Peter Stockings c30c666caf Update remaining editor maxLines to 100 from 15 2023-12-18 23:06:13 +11:00
Peter Stockings 17f98195a2 Update maxLines to 100 for all ace editors, this auto sizes the editors 2023-12-18 22:39:21 +11:00
Peter Stockings 4b0c356cda Add link to selected http function from edit/logs views. Also remove min number of lines from environment info ace editor 2023-12-18 22:18:31 +11:00
Peter Stockings 4196d89440 Pretty print environment info JSON using json.dumps() 2023-12-18 22:16:23 +11:00
Peter Stockings 9aa551a083 Make http functions overview page more responsive 2023-12-18 21:24:40 +11:00
Peter Stockings 7e2181c7a6 Only show invocation logs for http function selected 2023-12-18 21:23:49 +11:00
Peter Stockings 71ab2c3b6b Add refresh button on logs page 2023-12-18 20:57:57 +11:00
Peter Stockings 7bde81c89a Make logs table more responsive (Still needs alot of work - probably need to make accordion) 2023-12-18 20:44:24 +11:00
Peter Stockings 6f46198693 Add ability to see history of http functions invocations 2023-12-18 20:33:58 +11:00
Peter Stockings 678e978b4b Fix error thrown when logging http function invocation 2023-12-18 19:39:13 +11:00
Peter Stockings ca9bf33edf Record request, response, status, & logs for http function invocations 2023-12-18 19:19:38 +11:00
Peter Stockings 8ad1b6bb85 Add js function to show alerts when updating http functions 2023-12-18 18:39:55 +11:00
Peter Stockings 8ffdf4c28c Display http function invoked count in list 2023-12-18 15:36:44 +11:00
Peter Stockings efda151cd5 Update environment info for http_function after execution using the data returned from isolator 2023-12-18 15:28:32 +11:00
Peter Stockings 5cc29309d5 Add json object for environment info for each function, this is mutable from custom code 2023-12-18 15:15:14 +11:00
Peter Stockings 538d5083e4 Remove trailing newlines introduced from new/edit page for http functions 2023-12-17 11:06:42 +11:00
Peter Stockings 204000a668 Add ability to delete http functions 2023-12-16 22:35:28 +11:00
Peter Stockings 2365fa3987 Add edit form for http functions 2023-12-16 21:56:35 +11:00
Peter Stockings d8b441374e Add ability to add new http functions (Needs refactor, bad stuff) 2023-12-16 21:27:49 +11:00
Peter Stockings efa815c5cb When trying out http function, ensure response is rendered 2023-12-16 20:09:50 +11:00
Peter Stockings 7293801ddd Remove content type as default header from fetch request (this should be fetched from dom) 2023-12-16 20:03:27 +11:00
Peter Stockings ab25d557f8 Add ability to test http functions with postman like interface 2023-12-16 19:55:51 +11:00
Peter Stockings 8f94ae12ef Add .env to gitignore 2023-12-16 19:05:37 +11:00
Peter Stockings b0785d282f Remove numpy as dependency 2023-12-16 19:05:10 +11:00
Peter Stockings e88661dfd2 Fetch http_functions from database 2023-12-16 19:02:04 +11:00
Peter Stockings 4796b7d8d1 Add views (static for now) for http and timer functions on dashboard 2023-12-16 18:19:48 +11:00
Peter Stockings ca4cfd27b9 Add some text to explain what this does 2023-12-16 17:57:41 +11:00
Peter Stockings 9d4e6e1709 Add ability to clear script and output, and add link to dashboard from home page 2023-12-16 17:50:08 +11:00
Peter Stockings bc38aa181c Add dashboard, and flask endpoint that executes a script and returns the result (currently a hardcoded script) 2023-12-16 17:32:44 +11:00
Peter Stockings f18c4628b7 Hide scroll bar on editor 2023-12-16 17:04:04 +11:00
Peter Stockings 68c29b6617 Only show response when available 2023-12-16 16:56:39 +11:00