Hook up web interface to job updates

This commit is contained in:
Sybren A. Stüvel 2022-04-07 18:46:09 +02:00
parent 888d93147e
commit df3f7b44b9
18 changed files with 325 additions and 282 deletions

@ -10,7 +10,7 @@
"""
__version__ = "2fb3b4d6"
__version__ = "888d9314-dirty"
# import ApiClient
from flamenco.manager.api_client import ApiClient

@ -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

@ -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):

@ -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]

@ -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
"""

@ -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/)

@ -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)

@ -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)
}

@ -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")

@ -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

@ -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

@ -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"`

@ -3,7 +3,7 @@
<flamenco-navbar></flamenco-navbar>
<br />
<flamenco-jobs-table :apiClient="apiClient" />
<flamenco-jobs-table ref="jobsTable" :apiClient="apiClient" />
<chat-chatbox
@sendMessage="sendMessage"
@ -49,8 +49,10 @@ export default {
console.log("job update received:", jobUpdate);
if (jobUpdate.previous_status) {
this.messages.push(`Job update: ${jobUpdate.id} (${jobUpdate.previous_status}${jobUpdate.status})`);
this.$refs.jobsTable.processJobUpdate(jobUpdate);
} else {
this.messages.push(`New job: ${jobUpdate.id} (${jobUpdate.status})`);
this.$refs.jobsTable.processNewJob(jobUpdate);
}
},
onChatMessage(message) {

@ -7,6 +7,8 @@
<script>
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);
});
},
}
};
</script>

@ -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]

@ -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",

@ -55,7 +55,7 @@ class ApiClient {
* @default {}
*/
this.defaultHeaders = {
'User-Agent': 'Flamenco/2fb3b4d6 / webbrowser'
'User-Agent': 'Flamenco/888d9314-dirty / webbrowser'
};
/**

@ -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