From df3f7b44b9430e31f1d2fc20bfb478aae7220786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 7 Apr 2022 18:46:09 +0200 Subject: [PATCH] Hook up web interface to job updates --- addon/flamenco/manager/__init__.py | 2 +- addon/flamenco/manager/api_client.py | 2 +- addon/flamenco/manager/configuration.py | 2 +- addon/flamenco/manager/docs/JobUpdate.md | 1 + addon/flamenco/manager/model/job_update.py | 4 + addon/flamenco/manager_README.md | 2 +- internal/manager/api_impl/jobs.go | 7 +- .../task_state_machine/task_state_machine.go | 8 +- internal/manager/webupdates/job_updates.go | 15 + pkg/api/flamenco-manager.yaml | 1 + pkg/api/openapi_spec.gen.go | 190 +++++------ pkg/api/openapi_types.gen.go | 5 +- web/app/src/App.vue | 4 +- web/app/src/components/FlamencoJobsTable.vue | 57 +++- web/manager-api/docs/JobUpdate.md | 1 + web/manager-api/package-lock.json | 295 ++++++++---------- web/manager-api/src/ApiClient.js | 2 +- web/manager-api/src/model/JobUpdate.js | 9 + 18 files changed, 325 insertions(+), 282 deletions(-) diff --git a/addon/flamenco/manager/__init__.py b/addon/flamenco/manager/__init__.py index 15305eb2..6d8c53c9 100644 --- a/addon/flamenco/manager/__init__.py +++ b/addon/flamenco/manager/__init__.py @@ -10,7 +10,7 @@ """ -__version__ = "2fb3b4d6" +__version__ = "888d9314-dirty" # import ApiClient from flamenco.manager.api_client import ApiClient diff --git a/addon/flamenco/manager/api_client.py b/addon/flamenco/manager/api_client.py index da393a47..16eb8672 100644 --- a/addon/flamenco/manager/api_client.py +++ b/addon/flamenco/manager/api_client.py @@ -76,7 +76,7 @@ class ApiClient(object): self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'Flamenco/2fb3b4d6 (Blender add-on)' + self.user_agent = 'Flamenco/888d9314-dirty (Blender add-on)' def __enter__(self): return self diff --git a/addon/flamenco/manager/configuration.py b/addon/flamenco/manager/configuration.py index 524aa469..cf72052d 100644 --- a/addon/flamenco/manager/configuration.py +++ b/addon/flamenco/manager/configuration.py @@ -404,7 +404,7 @@ conf = flamenco.manager.Configuration( "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: 1.0.0\n"\ - "SDK Package Version: 2fb3b4d6".\ + "SDK Package Version: 888d9314-dirty".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self): diff --git a/addon/flamenco/manager/docs/JobUpdate.md b/addon/flamenco/manager/docs/JobUpdate.md index 4f7efe54..19cf149a 100644 --- a/addon/flamenco/manager/docs/JobUpdate.md +++ b/addon/flamenco/manager/docs/JobUpdate.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes **id** | **str** | UUID of the Job | **updated** | **datetime** | Timestamp of last update | **status** | [**JobStatus**](JobStatus.md) | | +**name** | **str** | Name of the job | [optional] **previous_status** | [**JobStatus**](JobStatus.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/addon/flamenco/manager/model/job_update.py b/addon/flamenco/manager/model/job_update.py index 0c67df2a..1b733961 100644 --- a/addon/flamenco/manager/model/job_update.py +++ b/addon/flamenco/manager/model/job_update.py @@ -90,6 +90,7 @@ class JobUpdate(ModelNormal): 'id': (str,), # noqa: E501 'updated': (datetime,), # noqa: E501 'status': (JobStatus,), # noqa: E501 + 'name': (str,), # noqa: E501 'previous_status': (JobStatus,), # noqa: E501 } @@ -102,6 +103,7 @@ class JobUpdate(ModelNormal): 'id': 'id', # noqa: E501 'updated': 'updated', # noqa: E501 'status': 'status', # noqa: E501 + 'name': 'name', # noqa: E501 'previous_status': 'previous_status', # noqa: E501 } @@ -151,6 +153,7 @@ class JobUpdate(ModelNormal): Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + name (str): Name of the job. [optional] # noqa: E501 previous_status (JobStatus): [optional] # noqa: E501 """ @@ -241,6 +244,7 @@ class JobUpdate(ModelNormal): Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + name (str): Name of the job. [optional] # noqa: E501 previous_status (JobStatus): [optional] # noqa: E501 """ diff --git a/addon/flamenco/manager_README.md b/addon/flamenco/manager_README.md index 6ca9d324..486ce8c7 100644 --- a/addon/flamenco/manager_README.md +++ b/addon/flamenco/manager_README.md @@ -4,7 +4,7 @@ Render Farm manager API The `flamenco.manager` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: 1.0.0 -- Package version: 2fb3b4d6 +- Package version: 888d9314-dirty - Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit [https://flamenco.io/](https://flamenco.io/) diff --git a/internal/manager/api_impl/jobs.go b/internal/manager/api_impl/jobs.go index 62354412..e7f269e5 100644 --- a/internal/manager/api_impl/jobs.go +++ b/internal/manager/api_impl/jobs.go @@ -8,6 +8,7 @@ import ( "net/http" "git.blender.org/flamenco/internal/manager/persistence" + "git.blender.org/flamenco/internal/manager/webupdates" "git.blender.org/flamenco/pkg/api" "github.com/google/uuid" "github.com/labstack/echo/v4" @@ -67,11 +68,7 @@ func (f *Flamenco) SubmitJob(e echo.Context) error { return sendAPIError(e, http.StatusInternalServerError, "error retrieving job from database") } - jobUpdate := api.JobUpdate{ - Id: dbJob.UUID, - Status: dbJob.Status, - Updated: dbJob.UpdatedAt, - } + jobUpdate := webupdates.NewJobUpdate(dbJob) f.broadcaster.BroadcastNewJob(jobUpdate) apiJob := jobDBtoAPI(dbJob) diff --git a/internal/manager/task_state_machine/task_state_machine.go b/internal/manager/task_state_machine/task_state_machine.go index 700e1754..771fa362 100644 --- a/internal/manager/task_state_machine/task_state_machine.go +++ b/internal/manager/task_state_machine/task_state_machine.go @@ -257,12 +257,8 @@ func (sm *StateMachine) JobStatusChange(ctx context.Context, job *persistence.Jo } // Broadcast this change to the SocketIO clients. - jobUpdate := api.JobUpdate{ - Id: job.UUID, - Updated: job.UpdatedAt, - PreviousStatus: &oldJobStatus, - Status: job.Status, - } + jobUpdate := webupdates.NewJobUpdate(job) + jobUpdate.PreviousStatus = &oldJobStatus sm.broadcaster.BroadcastJobUpdate(jobUpdate) } diff --git a/internal/manager/webupdates/job_updates.go b/internal/manager/webupdates/job_updates.go index 89aab145..81306c06 100644 --- a/internal/manager/webupdates/job_updates.go +++ b/internal/manager/webupdates/job_updates.go @@ -4,9 +4,24 @@ package webupdates import ( "github.com/rs/zerolog/log" + "git.blender.org/flamenco/internal/manager/persistence" "git.blender.org/flamenco/pkg/api" ) +// NewJobUpdate returns a partial JobUpdate struct for the given job. +// It only fills in the fields that represent the current state of the job. For +// example, it omits `PreviousStatus`. The ommitted fields can be filled in by +// the caller. +func NewJobUpdate(job *persistence.Job) api.JobUpdate { + jobUpdate := api.JobUpdate{ + Id: job.UUID, + Name: &job.Name, + Updated: job.UpdatedAt, + Status: job.Status, + } + return jobUpdate +} + // BroadcastJobUpdate sends the job update to clients. func (b *BiDirComms) BroadcastJobUpdate(jobUpdate api.JobUpdate) { log.Debug().Interface("jobUpdate", jobUpdate).Msg("socketIO: broadcasting job update") diff --git a/pkg/api/flamenco-manager.yaml b/pkg/api/flamenco-manager.yaml index 74b0dec6..425ded61 100644 --- a/pkg/api/flamenco-manager.yaml +++ b/pkg/api/flamenco-manager.yaml @@ -903,6 +903,7 @@ components: type: string format: uuid description: UUID of the Job + "name": {type: string, description: "Name of the job"} "updated": type: string format: date-time diff --git a/pkg/api/openapi_spec.gen.go b/pkg/api/openapi_spec.gen.go index 50a22a37..02312e02 100644 --- a/pkg/api/openapi_spec.gen.go +++ b/pkg/api/openapi_spec.gen.go @@ -18,101 +18,101 @@ import ( // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/pkg/api/openapi_types.gen.go b/pkg/api/openapi_types.gen.go index 0f5227b7..dc43b452 100644 --- a/pkg/api/openapi_types.gen.go +++ b/pkg/api/openapi_types.gen.go @@ -228,7 +228,10 @@ type JobStatus string // JobUpdate defines model for JobUpdate. type JobUpdate struct { // UUID of the Job - Id string `json:"id"` + Id string `json:"id"` + + // Name of the job + Name *string `json:"name,omitempty"` PreviousStatus *JobStatus `json:"previous_status,omitempty"` Status JobStatus `json:"status"` diff --git a/web/app/src/App.vue b/web/app/src/App.vue index 09635314..1158d8ea 100644 --- a/web/app/src/App.vue +++ b/web/app/src/App.vue @@ -3,7 +3,7 @@
- + import { TabulatorComponent } from "vue-tabulator"; +const flamencoManager = require('flamenco-manager'); + export default { props: ["apiClient"], components: { @@ -14,20 +16,67 @@ export default { }, data: () => { const options = { + // See pkg/api/flamenco-manager.yaml, schemas Job and JobUpdate. columns: [ - { title: 'Name', field: 'name', sorter: 'string', width: 200, editor: true }, - { title: 'Age', field: 'age', sorter: 'int', width: 200, editor: true } + { title: 'Name', field: 'name', sorter: 'string', width: 200 }, + { title: 'Status', field: 'status', sorter: 'string', width: 100 }, + { title: 'Type', field: 'type', sorter: 'string', width: 150 }, + { title: 'Prio', field: 'priority', sorter: 'int', width: 60 }, + { title: 'Updated', field: 'updated', sorter: 'date', width: 300 }, ] }; return { jobs: [ - // To be loaded from an API call instead. - { name: 'Teste', age: 13 } + // Will be loaded via a Flamenco API call. ], options: options, }; }, + mounted: function() { + this.fetchAllJobs(); + }, + methods: { + fetchAllJobs: function() { + // TODO: maybe move fetching of the data out of this component? + const JobsApi = new flamencoManager.JobsApi(this.apiClient); + const jobsQuery = {}; + + JobsApi.queryJobs(jobsQuery).then(this.onJobsFetched, function(error) { + // TODO: error handling. + console.error(error); + }); + }, + onJobsFetched: function(data) { + this.jobs = data.jobs; + }, + processJobUpdate: function(jobUpdate) { + console.log("processJobUpdate:", jobUpdate); + for (let job of this.jobs) { + if (job.id != jobUpdate.id) { + console.log("not same ID:", job.id, jobUpdate.id); + continue; + } + console.log("Found job:", JSON.parse(JSON.stringify(job))); + job.name = jobUpdate.name; // Shouldn't be changing, but you never know. + job.status = jobUpdate.status; + job.updated = jobUpdate.updated; + } + }, + processNewJob: function(jobUpdate) { + console.log("processNewJob:", jobUpdate); + // The update doesn't have all the info we need, so just fetch the job via an API call. + // Updates should match what's needed here, but the API call needs testing too, so whatevah ;-) + const JobsApi = new flamencoManager.JobsApi(this.apiClient); + JobsApi.fetchJob(jobUpdate.id).then((job) => { + console.log('API called successfully. Returned data: ' + job); + console.log("Fetched job:", JSON.parse(JSON.stringify(job))); + this.jobs.push(job); + }, (error) => { + console.error(error); + }); + }, + } }; diff --git a/web/manager-api/docs/JobUpdate.md b/web/manager-api/docs/JobUpdate.md index e8b0ed29..1072698d 100644 --- a/web/manager-api/docs/JobUpdate.md +++ b/web/manager-api/docs/JobUpdate.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **String** | UUID of the Job | +**name** | **String** | Name of the job | [optional] **updated** | **Date** | Timestamp of last update | **status** | [**JobStatus**](JobStatus.md) | | **previous_status** | [**JobStatus**](JobStatus.md) | | [optional] diff --git a/web/manager-api/package-lock.json b/web/manager-api/package-lock.json index 1b521b93..f272394c 100644 --- a/web/manager-api/package-lock.json +++ b/web/manager-api/package-lock.json @@ -97,24 +97,24 @@ } }, "node_modules/@babel/core": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz", - "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", + "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.7", + "@babel/generator": "^7.17.9", "@babel/helper-compilation-targets": "^7.17.7", "@babel/helper-module-transforms": "^7.17.7", - "@babel/helpers": "^7.17.8", - "@babel/parser": "^7.17.8", + "@babel/helpers": "^7.17.9", + "@babel/parser": "^7.17.9", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", + "@babel/traverse": "^7.17.9", "@babel/types": "^7.17.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", + "json5": "^2.2.1", "semver": "^6.3.0" }, "engines": { @@ -126,9 +126,9 @@ } }, "node_modules/@babel/generator": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", - "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", + "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", "dependencies": { "@babel/types": "^7.17.0", "jsesc": "^2.5.1", @@ -181,15 +181,15 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", - "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", + "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7" @@ -260,24 +260,12 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" @@ -452,12 +440,12 @@ } }, "node_modules/@babel/helpers": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", - "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", + "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", "dependencies": { "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", + "@babel/traverse": "^7.17.9", "@babel/types": "^7.17.0" }, "engines": { @@ -465,9 +453,9 @@ } }, "node_modules/@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", + "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", "dependencies": { "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", @@ -478,9 +466,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", - "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", + "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -571,14 +559,15 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.8.tgz", - "integrity": "sha512-U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.9.tgz", + "integrity": "sha512-EfH2LZ/vPa2wuPwJ26j+kYRkaubf89UlwxKXtxqEm57HrgSEYDB8t4swFP+p8LcI9yiP9ZRJJjo/58hS6BnaDA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-create-class-features-plugin": "^7.17.9", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", "@babel/plugin-syntax-decorators": "^7.17.0", "charcodes": "^0.2.0" }, @@ -1419,9 +1408,9 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz", - "integrity": "sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", + "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.17.7", @@ -1548,12 +1537,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", - "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", "dev": true, "dependencies": { - "regenerator-transform": "^0.14.2" + "regenerator-transform": "^0.15.0" }, "engines": { "node": ">=6.9.0" @@ -1808,9 +1797,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz", - "integrity": "sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", + "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" @@ -1833,17 +1822,17 @@ } }, "node_modules/@babel/traverse": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", - "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", + "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", "dependencies": { "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", + "@babel/generator": "^7.17.9", "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.3", + "@babel/parser": "^7.17.9", "@babel/types": "^7.17.0", "debug": "^4.1.0", "globals": "^11.1.0" @@ -2415,9 +2404,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.103", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.103.tgz", - "integrity": "sha512-c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==" + "version": "1.4.106", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.106.tgz", + "integrity": "sha512-ZYfpVLULm67K7CaaGP7DmjyeMY4naxsbTy+syVVxT6QHI1Ww8XbJjmr9fDckrhq44WzCrcC5kH3zGpdusxwwqg==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -2968,14 +2957,11 @@ "dev": true }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.7.3.tgz", + "integrity": "sha512-WY9wjJNQt9+PZilnLbuFKM+SwDull9+6IAguOrarOMoOHTcJ9GnXSO11+Gw6c7xtDkBkthR57OZMtZKYr+1CEw==", "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/make-dir": { @@ -3568,9 +3554,9 @@ "dev": true }, "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" @@ -3839,17 +3825,17 @@ } }, "node_modules/superagent/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", + "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", "dependencies": { - "lru-cache": "^6.0.0" + "lru-cache": "^7.4.0" }, "bin": { "semver": "bin/semver.js" }, "engines": { - "node": ">=10" + "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/supports-color": { @@ -4087,11 +4073,6 @@ "node": ">=10" } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -4231,31 +4212,31 @@ "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==" }, "@babel/core": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz", - "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", + "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.7", + "@babel/generator": "^7.17.9", "@babel/helper-compilation-targets": "^7.17.7", "@babel/helper-module-transforms": "^7.17.7", - "@babel/helpers": "^7.17.8", - "@babel/parser": "^7.17.8", + "@babel/helpers": "^7.17.9", + "@babel/parser": "^7.17.9", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", + "@babel/traverse": "^7.17.9", "@babel/types": "^7.17.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", + "json5": "^2.2.1", "semver": "^6.3.0" } }, "@babel/generator": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", - "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", + "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", "requires": { "@babel/types": "^7.17.0", "jsesc": "^2.5.1", @@ -4293,15 +4274,15 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", - "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", + "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7" @@ -4351,21 +4332,12 @@ } }, "@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", "requires": { - "@babel/helper-get-function-arity": "^7.16.7", "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" } }, "@babel/helper-hoist-variables": { @@ -4495,19 +4467,19 @@ } }, "@babel/helpers": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", - "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", + "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", "requires": { "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", + "@babel/traverse": "^7.17.9", "@babel/types": "^7.17.0" } }, "@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", + "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", "requires": { "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", @@ -4515,9 +4487,9 @@ } }, "@babel/parser": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", - "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==" + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", + "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.16.7", @@ -4572,14 +4544,15 @@ } }, "@babel/plugin-proposal-decorators": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.8.tgz", - "integrity": "sha512-U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.9.tgz", + "integrity": "sha512-EfH2LZ/vPa2wuPwJ26j+kYRkaubf89UlwxKXtxqEm57HrgSEYDB8t4swFP+p8LcI9yiP9ZRJJjo/58hS6BnaDA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-create-class-features-plugin": "^7.17.9", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", "@babel/plugin-syntax-decorators": "^7.17.0", "charcodes": "^0.2.0" } @@ -5120,9 +5093,9 @@ } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz", - "integrity": "sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", + "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.17.7", @@ -5201,12 +5174,12 @@ } }, "@babel/plugin-transform-regenerator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", - "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", "dev": true, "requires": { - "regenerator-transform": "^0.14.2" + "regenerator-transform": "^0.15.0" } }, "@babel/plugin-transform-reserved-words": { @@ -5392,9 +5365,9 @@ } }, "@babel/runtime": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz", - "integrity": "sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", + "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" @@ -5411,17 +5384,17 @@ } }, "@babel/traverse": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", - "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", + "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", "requires": { "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", + "@babel/generator": "^7.17.9", "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.3", + "@babel/parser": "^7.17.9", "@babel/types": "^7.17.0", "debug": "^4.1.0", "globals": "^11.1.0" @@ -5858,9 +5831,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.103", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.103.tgz", - "integrity": "sha512-c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==" + "version": "1.4.106", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.106.tgz", + "integrity": "sha512-ZYfpVLULm67K7CaaGP7DmjyeMY4naxsbTy+syVVxT6QHI1Ww8XbJjmr9fDckrhq44WzCrcC5kH3zGpdusxwwqg==" }, "emoji-regex": { "version": "8.0.0", @@ -6261,12 +6234,9 @@ "dev": true }, "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.7.3.tgz", + "integrity": "sha512-WY9wjJNQt9+PZilnLbuFKM+SwDull9+6IAguOrarOMoOHTcJ9GnXSO11+Gw6c7xtDkBkthR57OZMtZKYr+1CEw==" }, "make-dir": { "version": "2.1.0", @@ -6703,9 +6673,9 @@ "dev": true }, "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" @@ -6913,11 +6883,11 @@ }, "dependencies": { "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", + "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", "requires": { - "lru-cache": "^6.0.0" + "lru-cache": "^7.4.0" } } } @@ -7093,11 +7063,6 @@ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", diff --git a/web/manager-api/src/ApiClient.js b/web/manager-api/src/ApiClient.js index 367e8125..2f00f7b0 100644 --- a/web/manager-api/src/ApiClient.js +++ b/web/manager-api/src/ApiClient.js @@ -55,7 +55,7 @@ class ApiClient { * @default {} */ this.defaultHeaders = { - 'User-Agent': 'Flamenco/2fb3b4d6 / webbrowser' + 'User-Agent': 'Flamenco/888d9314-dirty / webbrowser' }; /** diff --git a/web/manager-api/src/model/JobUpdate.js b/web/manager-api/src/model/JobUpdate.js index e7eae895..0167bcd1 100644 --- a/web/manager-api/src/model/JobUpdate.js +++ b/web/manager-api/src/model/JobUpdate.js @@ -57,6 +57,9 @@ class JobUpdate { if (data.hasOwnProperty('id')) { obj['id'] = ApiClient.convertToType(data['id'], 'String'); } + if (data.hasOwnProperty('name')) { + obj['name'] = ApiClient.convertToType(data['name'], 'String'); + } if (data.hasOwnProperty('updated')) { obj['updated'] = ApiClient.convertToType(data['updated'], 'Date'); } @@ -79,6 +82,12 @@ class JobUpdate { */ JobUpdate.prototype['id'] = undefined; +/** + * Name of the job + * @member {String} name + */ +JobUpdate.prototype['name'] = undefined; + /** * Timestamp of last update * @member {Date} updated