diff --git a/lib/Helper/Environment.php b/lib/Helper/Environment.php index 1fac5d0df6..7deaddce59 100644 --- a/lib/Helper/Environment.php +++ b/lib/Helper/Environment.php @@ -30,7 +30,7 @@ */ class Environment { - public static $WEBSITE_VERSION_NAME = '4.0.0-alpha'; + public static $WEBSITE_VERSION_NAME = '4.0.0-alpha2'; public static $XMDS_VERSION = '7'; public static $XLF_VERSION = 3; public static $VERSION_REQUIRED = '8.1.0'; diff --git a/package-lock.json b/package-lock.json index fe22d7cfd5..8a478d00b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3427,7 +3427,7 @@ "@mapbox/leaflet-pip": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@mapbox/leaflet-pip/-/leaflet-pip-1.1.0.tgz", - "integrity": "sha1-SnpL60WMjMJNhJNvylq6CV3m430=", + "integrity": "sha512-uySBUgl8Mxv4YTTf2SKcCA0XdGL9iBJOrgMUwDk6nHdKsg840X56OTJlMnlVj+8Yz8pIDRUc0BRFnRW9TD24VA==", "requires": { "geojson-utils": "~1.1.0", "uglify-js": "2.7.4" @@ -3868,7 +3868,7 @@ "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -3889,12 +3889,12 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" }, "anymatch": { "version": "3.1.2", @@ -3929,7 +3929,7 @@ "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, "array-union": { @@ -4020,7 +4020,7 @@ "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", "requires": { "chalk": "^1.1.3", "esutils": "^2.0.2", @@ -4030,7 +4030,7 @@ "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -4118,7 +4118,7 @@ "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", "dev": true } } @@ -4126,7 +4126,7 @@ "babel-helper-builder-binary-assignment-operator-visitor": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "integrity": "sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q==", "dev": true, "requires": { "babel-helper-explode-assignable-expression": "^6.24.1", @@ -4137,7 +4137,7 @@ "babel-helper-builder-react-jsx": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", - "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", + "integrity": "sha512-02I9jDjnVEuGy2BR3LRm9nPRb/+Ja0pvZVLr1eI5TYAA/dB0Xoc+WBo50+aDfhGDLhlBY1+QURjn9uvcFd8gzg==", "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -4148,7 +4148,7 @@ "babel-helper-call-delegate": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", "dev": true, "requires": { "babel-helper-hoist-variables": "^6.24.1", @@ -4160,7 +4160,7 @@ "babel-helper-define-map": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==", "dev": true, "requires": { "babel-helper-function-name": "^6.24.1", @@ -4172,7 +4172,7 @@ "babel-helper-explode-assignable-expression": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "integrity": "sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==", "dev": true, "requires": { "babel-runtime": "^6.22.0", @@ -4183,7 +4183,7 @@ "babel-helper-function-name": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", "dev": true, "requires": { "babel-helper-get-function-arity": "^6.24.1", @@ -4196,7 +4196,7 @@ "babel-helper-get-function-arity": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", "dev": true, "requires": { "babel-runtime": "^6.22.0", @@ -4206,7 +4206,7 @@ "babel-helper-hoist-variables": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", "dev": true, "requires": { "babel-runtime": "^6.22.0", @@ -4216,7 +4216,7 @@ "babel-helper-optimise-call-expression": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", "dev": true, "requires": { "babel-runtime": "^6.22.0", @@ -4226,7 +4226,7 @@ "babel-helper-regex": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==", "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -4237,7 +4237,7 @@ "babel-helper-remap-async-to-generator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "integrity": "sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg==", "dev": true, "requires": { "babel-helper-function-name": "^6.24.1", @@ -4250,7 +4250,7 @@ "babel-helper-replace-supers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", "dev": true, "requires": { "babel-helper-optimise-call-expression": "^6.24.1", @@ -4264,7 +4264,7 @@ "babel-helpers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", "dev": true, "requires": { "babel-runtime": "^6.22.0", @@ -4286,7 +4286,7 @@ "babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -4295,7 +4295,7 @@ "babel-plugin-check-es2015-constants": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -4342,37 +4342,37 @@ "babel-plugin-syntax-async-functions": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "integrity": "sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==", "dev": true }, "babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "integrity": "sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ==", "dev": true }, "babel-plugin-syntax-flow": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", + "integrity": "sha512-HbTDIoG1A1op7Tl/wIFQPULIBA61tsJ8Ntq2FAhLwuijrzosM/92kAfgU1Q3Kc7DH/cprJg5vDfuTY4QUL4rDA==", "dev": true }, "babel-plugin-syntax-jsx": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", + "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==", "dev": true }, "babel-plugin-syntax-trailing-function-commas": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "integrity": "sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==", "dev": true }, "babel-plugin-transform-async-to-generator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "integrity": "sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw==", "dev": true, "requires": { "babel-helper-remap-async-to-generator": "^6.24.1", @@ -4383,7 +4383,7 @@ "babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==", "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -4392,7 +4392,7 @@ "babel-plugin-transform-es2015-block-scoped-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==", "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -4401,7 +4401,7 @@ "babel-plugin-transform-es2015-block-scoping": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==", "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -4414,7 +4414,7 @@ "babel-plugin-transform-es2015-classes": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", "dev": true, "requires": { "babel-helper-define-map": "^6.24.1", @@ -4431,7 +4431,7 @@ "babel-plugin-transform-es2015-computed-properties": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==", "dev": true, "requires": { "babel-runtime": "^6.22.0", @@ -4441,7 +4441,7 @@ "babel-plugin-transform-es2015-destructuring": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==", "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -4450,7 +4450,7 @@ "babel-plugin-transform-es2015-duplicate-keys": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==", "dev": true, "requires": { "babel-runtime": "^6.22.0", @@ -4460,7 +4460,7 @@ "babel-plugin-transform-es2015-for-of": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==", "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -4469,7 +4469,7 @@ "babel-plugin-transform-es2015-function-name": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==", "dev": true, "requires": { "babel-helper-function-name": "^6.24.1", @@ -4480,7 +4480,7 @@ "babel-plugin-transform-es2015-literals": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==", "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -4489,7 +4489,7 @@ "babel-plugin-transform-es2015-modules-amd": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==", "dev": true, "requires": { "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", @@ -4512,7 +4512,7 @@ "babel-plugin-transform-es2015-modules-systemjs": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==", "dev": true, "requires": { "babel-helper-hoist-variables": "^6.24.1", @@ -4523,7 +4523,7 @@ "babel-plugin-transform-es2015-modules-umd": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", "dev": true, "requires": { "babel-plugin-transform-es2015-modules-amd": "^6.24.1", @@ -4534,7 +4534,7 @@ "babel-plugin-transform-es2015-object-super": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", "dev": true, "requires": { "babel-helper-replace-supers": "^6.24.1", @@ -4544,7 +4544,7 @@ "babel-plugin-transform-es2015-parameters": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==", "dev": true, "requires": { "babel-helper-call-delegate": "^6.24.1", @@ -4558,7 +4558,7 @@ "babel-plugin-transform-es2015-shorthand-properties": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==", "dev": true, "requires": { "babel-runtime": "^6.22.0", @@ -4568,7 +4568,7 @@ "babel-plugin-transform-es2015-spread": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -4577,7 +4577,7 @@ "babel-plugin-transform-es2015-sticky-regex": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==", "dev": true, "requires": { "babel-helper-regex": "^6.24.1", @@ -4588,7 +4588,7 @@ "babel-plugin-transform-es2015-template-literals": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -4597,7 +4597,7 @@ "babel-plugin-transform-es2015-typeof-symbol": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==", "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -4606,7 +4606,7 @@ "babel-plugin-transform-es2015-unicode-regex": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==", "dev": true, "requires": { "babel-helper-regex": "^6.24.1", @@ -4617,13 +4617,13 @@ "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true }, "regexpu-core": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", "dev": true, "requires": { "regenerate": "^1.2.1", @@ -4634,13 +4634,13 @@ "regjsgen": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==", "dev": true }, "regjsparser": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -4651,7 +4651,7 @@ "babel-plugin-transform-exponentiation-operator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "integrity": "sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==", "dev": true, "requires": { "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", @@ -4662,7 +4662,7 @@ "babel-plugin-transform-flow-strip-types": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "integrity": "sha512-TxIM0ZWNw9oYsoTthL3lvAK3+eTujzktoXJg4ubGvICGbVuXVYv5hHv0XXpz8fbqlJaGYY4q5SVzaSmsg3t4Fg==", "dev": true, "requires": { "babel-plugin-syntax-flow": "^6.18.0", @@ -4672,7 +4672,7 @@ "babel-plugin-transform-react-display-name": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "integrity": "sha512-QLYkLiZeeED2PKd4LuXGg5y9fCgPB5ohF8olWUuETE2ryHNRqqnXlEVP7RPuef89+HTfd3syptMGVHeoAu0Wig==", "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -4681,7 +4681,7 @@ "babel-plugin-transform-react-jsx": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "integrity": "sha512-s+q/Y2u2OgDPHRuod3t6zyLoV8pUHc64i/O7ZNgIOEdYTq+ChPeybcKBi/xk9VI60VriILzFPW+dUxAEbTxh2w==", "dev": true, "requires": { "babel-helper-builder-react-jsx": "^6.24.1", @@ -4692,7 +4692,7 @@ "babel-plugin-transform-react-jsx-self": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", - "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", + "integrity": "sha512-Y3ZHP1nunv0U1+ysTNwLK39pabHj6cPVsfN4TRC7BDBfbgbyF4RifP5kd6LnbuMV9wcfedQMe7hn1fyKc7IzTQ==", "dev": true, "requires": { "babel-plugin-syntax-jsx": "^6.8.0", @@ -4702,7 +4702,7 @@ "babel-plugin-transform-react-jsx-source": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "integrity": "sha512-pcDNDsZ9q/6LJmujQ/OhjeoIlp5Nl546HJ2yiFIJK3mYpgNXhI5/S9mXfVxu5yqWAi7HdI7e/q6a9xtzwL69Vw==", "dev": true, "requires": { "babel-plugin-syntax-jsx": "^6.8.0", @@ -4712,7 +4712,7 @@ "babel-plugin-transform-regenerator": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==", "dev": true, "requires": { "regenerator-transform": "^0.10.0" @@ -4734,7 +4734,7 @@ "babel-plugin-transform-strict-mode": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", "dev": true, "requires": { "babel-runtime": "^6.22.0", @@ -4744,7 +4744,7 @@ "babel-polyfill": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "integrity": "sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==", "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -4755,7 +4755,7 @@ "regenerator-runtime": { "version": "0.10.5", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==", "dev": true } } @@ -4813,7 +4813,7 @@ "babel-preset-flow": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", - "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", + "integrity": "sha512-PQZFJXnM3d80Vq4O67OE6EMVKIw2Vmzy8UXovqulNogCtblWU8rzP7Sm5YgHiCg4uejUxzCkHfNXQ4Z6GI+Dhw==", "dev": true, "requires": { "babel-plugin-transform-flow-strip-types": "^6.22.0" @@ -4822,7 +4822,7 @@ "babel-preset-react": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", - "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", + "integrity": "sha512-phQe3bElbgF887UM0Dhz55d22ob8czTL1kbhZFwpCE6+R/X9kHktfwmx9JZb+bBSVRGphP5tZ9oWhVhlgjrX3Q==", "dev": true, "requires": { "babel-plugin-syntax-jsx": "^6.3.13", @@ -4836,7 +4836,7 @@ "babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", "dev": true, "requires": { "babel-core": "^6.26.0", @@ -4851,7 +4851,7 @@ "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", "dev": true, "requires": { "core-js": "^2.4.0", @@ -4869,7 +4869,7 @@ "babel-template": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -4882,7 +4882,7 @@ "babel-traverse": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", "dev": true, "requires": { "babel-code-frame": "^6.26.0", @@ -4922,7 +4922,7 @@ "babel-types": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -4934,7 +4934,7 @@ "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", "dev": true } } @@ -5004,7 +5004,7 @@ "blueimp-canvas-to-blob": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.5.0.tgz", - "integrity": "sha1-VnmsMvaig1gh8MOtZhcZ/4WpI2s=", + "integrity": "sha512-1Aq2Yn6SUsOERT4Ng7GUWRy6oRvqeNU2Iwhcq5ZH7aoejFkLEKjRx/XcpepfU7IMmj3sONSmiLmSgzj9umGUPw==", "optional": true }, "blueimp-file-upload": { @@ -5020,7 +5020,7 @@ "blueimp-load-image": { "version": "2.12.2", "resolved": "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-2.12.2.tgz", - "integrity": "sha1-ahdZiquFjU+/AVQ+BjEUG1EFfIc=", + "integrity": "sha512-o6YeeBo0e6g3/T7mPZtED/y/66VdhMxYVEqE5Owl+9Ew0MpLFgFh6humePBAh0JVRfCtK7CHQ7K84S4GIfaZtg==", "optional": true } } @@ -5033,7 +5033,7 @@ "blueimp-tmpl": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/blueimp-tmpl/-/blueimp-tmpl-3.6.0.tgz", - "integrity": "sha1-pJEJddBC4rwDunfw5i0E8VSKUkw=", + "integrity": "sha512-FPbl2VMophcudvT2Li+y10RtKT4l7wBto1NZycXoVQb1JVlo8QbjDgEqL9Ph41/rUl4dTOv3mqWPoxqCHA1b7A==", "optional": true }, "body-parser": { @@ -5095,7 +5095,7 @@ "bootstrap-calendar": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/bootstrap-calendar/-/bootstrap-calendar-0.2.4.tgz", - "integrity": "sha1-SviRoPIP3wOoby6/v4Z/Pcks7m4=" + "integrity": "sha512-rI2LOtq+bY79rbquQuD9LqAYYjvqS7nWmXmslUCO1f5Av4V33kNrv8pZn+peQH2WFM6TwvL7r3qeSLhsA4PWHA==" }, "bootstrap-colorpicker": { "version": "2.5.3", @@ -5118,7 +5118,7 @@ "bootstrap-switch": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/bootstrap-switch/-/bootstrap-switch-3.3.4.tgz", - "integrity": "sha1-cOCusqh3wNx2aZHeEI4hcPwpov8=" + "integrity": "sha512-7YQo+Ir6gCUqC36FFp1Zvec5dRF/+obq+1drMtdIMi9Xc84Kx63Evi0kdcp4HfiGsZpiz6IskyYDNlSKcxsL7w==" }, "bootstrap-tagsinput": { "version": "0.7.1", @@ -5259,7 +5259,7 @@ "caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", "dev": true, "requires": { "callsites": "^2.0.0" @@ -5306,7 +5306,7 @@ "center-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", "requires": { "align-text": "^0.1.3", "lazy-cache": "^1.0.3" @@ -5343,7 +5343,7 @@ "chardet": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" + "integrity": "sha512-j/Toj7f1z98Hh2cYo2BVr85EpIRWqUi7rtRSGxh/cqUjqrnJe9l9UE7IUGd2vQ2p+kSHLkSzObQPZPLUC6TQwg==" }, "chart.js": { "version": "2.9.4", @@ -5585,7 +5585,7 @@ "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "dev": true }, "clone-deep": { @@ -5610,7 +5610,7 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" }, "color-convert": { "version": "1.9.3", @@ -5641,7 +5641,7 @@ "colors.js": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/colors.js/-/colors.js-1.2.4.tgz", - "integrity": "sha1-U4DdOUERZ4b7wFX06kAgL8/goPA=" + "integrity": "sha512-L0WwXcT55bCbziygKNCYRBfCpSqoDSFTFJ+8PlDBrDB3cyMd9QmAXGNkvNR9ptd5tUXpkHzjBYI7u2I9beW6Cg==" }, "combined-stream": { "version": "1.0.8", @@ -5667,13 +5667,13 @@ "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "concat-stream": { "version": "1.6.2", @@ -5727,7 +5727,7 @@ "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, "copy-anything": { @@ -6445,7 +6445,7 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" }, "deep-is": { "version": "0.1.4", @@ -6467,7 +6467,7 @@ "desandro-matches-selector": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/desandro-matches-selector/-/desandro-matches-selector-2.0.2.tgz", - "integrity": "sha1-cXvu1NwT59jzdi9wem1YpndCGOE=" + "integrity": "sha512-+1q0nXhdzg1IpIJdMKalUwvvskeKnYyEe3shPRwedNcWtnhEKT3ZxvFjzywHDeGcKViIxTCAoOYQWP1qD7VNyg==" }, "destroy": { "version": "1.2.0", @@ -6478,7 +6478,7 @@ "detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", "dev": true, "requires": { "repeating": "^2.0.0" @@ -6487,7 +6487,7 @@ "detect-libc": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==" }, "dir-glob": { "version": "3.0.1", @@ -6547,7 +6547,7 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, "ejs": { @@ -6582,7 +6582,7 @@ "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true }, "end-of-stream": { @@ -6652,13 +6652,13 @@ "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "eslint": { "version": "7.32.0", @@ -7160,7 +7160,7 @@ "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true }, "ev-emitter": { @@ -7406,7 +7406,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "fastest-levenshtein": { "version": "1.0.16", @@ -7650,7 +7650,7 @@ "font-awesome": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", - "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" + "integrity": "sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==" }, "forever-agent": { "version": "0.6.1", @@ -7672,7 +7672,7 @@ "form-serializer": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/form-serializer/-/form-serializer-2.5.0.tgz", - "integrity": "sha1-yuovrLwbzuf2VdkTZwcTPz+staM=" + "integrity": "sha512-/ywBrSMOWrbpVYJFuin0OuOnqTas7gER1Eimi43D1iqQvNF6z1vY8KcWkC/YGt8zPE9k8KmyDVwIth6e5C1nxg==" }, "forwarded": { "version": "0.2.0", @@ -7688,13 +7688,13 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true }, "from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -7725,7 +7725,7 @@ "fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -7737,7 +7737,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { "version": "2.3.2", @@ -7755,7 +7755,7 @@ "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" }, "gensync": { "version": "1.0.0-beta.2", @@ -7766,7 +7766,7 @@ "geojson-utils": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/geojson-utils/-/geojson-utils-1.1.0.tgz", - "integrity": "sha1-6P+0yBwKdbPjBvUYcmXW8jBA9Qs=" + "integrity": "sha512-9irmjugYFrMvGjMw+qW5BQpghJO4ClFMDdPzVe2oDgtH2DhoKMaXqjIYPS5VpfrcnV0kOSrXcj8D9Izmr0AM9Q==" }, "gesto": { "version": "1.19.1", @@ -8012,7 +8012,7 @@ "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", "requires": { "ansi-regex": "^2.0.0" } @@ -8020,7 +8020,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "has-symbols": { "version": "1.0.3", @@ -8036,7 +8036,7 @@ "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", "dev": true, "requires": { "os-homedir": "^1.0.0", @@ -8095,7 +8095,7 @@ "icss-replace-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==", "dev": true }, "icss-utils": { @@ -8116,7 +8116,7 @@ "iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", "dev": true }, "ignore": { @@ -8127,7 +8127,7 @@ "image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", "dev": true, "optional": true }, @@ -8148,7 +8148,7 @@ "import-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "integrity": "sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==", "dev": true, "requires": { "import-from": "^2.1.0" @@ -8175,7 +8175,7 @@ "import-from": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "integrity": "sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==", "dev": true, "requires": { "resolve-from": "^3.0.0" @@ -8202,7 +8202,7 @@ "imports-loader": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.7.1.tgz", - "integrity": "sha1-8gS180cCoywdt9SNidXoZ6BEElM=", + "integrity": "sha512-tQ1upp3IcLH8YRk9b9PlJi7BsAGQhGRlgyLil6uZ/6kFb7C0H9YH9XwDVIjxl/TxFgQ0Wkrx8VRt1Ff2Vf6Mag==", "dev": true, "requires": { "loader-utils": "^1.0.2", @@ -8234,7 +8234,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" }, "indent-string": { "version": "4.0.0", @@ -8245,7 +8245,7 @@ "indexes-of": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==", "dev": true }, "infer-owner": { @@ -8257,7 +8257,7 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", "wrappy": "1" @@ -8319,7 +8319,7 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "is-binary-path": { @@ -8357,13 +8357,13 @@ "is-directory": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", "dev": true }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-finite": { @@ -8375,7 +8375,7 @@ "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" }, "is-glob": { "version": "4.0.3", @@ -8449,23 +8449,23 @@ "is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "dev": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, "isstream": { @@ -8534,7 +8534,7 @@ "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" }, "js-yaml": { "version": "3.14.1", @@ -8583,7 +8583,7 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, "json-stringify-safe": { "version": "5.0.1", @@ -8644,7 +8644,7 @@ "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==" }, "leaflet": { "version": "1.8.0", @@ -8767,7 +8767,7 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true } } @@ -8849,7 +8849,7 @@ "lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true }, "log-symbols": { @@ -9039,7 +9039,7 @@ "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==" }, "loose-envify": { "version": "1.4.0", @@ -9088,18 +9088,18 @@ "material-design-icons": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/material-design-icons/-/material-design-icons-3.0.1.tgz", - "integrity": "sha1-mnHEh0chjrylHlGmbaaCA4zct78=" + "integrity": "sha512-t19Z+QZBwSZulxptEu05kIm+UyfIdJY1JDwI+nx02j269m6W414whiQz9qfvQIiLrdx71RQv+T48nHhuQXOCIQ==" }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, "merge-stream": { @@ -9117,7 +9117,7 @@ "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true }, "micromatch": { @@ -9297,7 +9297,7 @@ "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dev": true, "requires": { "aproba": "^1.1.1", @@ -9328,7 +9328,7 @@ "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==" }, "native-request": { "version": "1.1.0", @@ -9340,7 +9340,7 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "negotiator": { "version": "0.6.3", @@ -9368,7 +9368,7 @@ "normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", "dev": true }, "npm-run-path": { @@ -9383,13 +9383,13 @@ "num2fraction": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", "dev": true }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, "object-inspect": { "version": "1.12.2", @@ -9409,7 +9409,7 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } @@ -9444,13 +9444,13 @@ "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", "dev": true }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" }, "ospath": { "version": "1.2.2", @@ -9461,7 +9461,7 @@ "outlayer": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/outlayer/-/outlayer-2.1.1.tgz", - "integrity": "sha1-KYY7beEOpdrf/8rfoNcokHOH6aI=", + "integrity": "sha512-+GplXsCQ3VrbGujAeHEzP9SXsBmJxzn/YdDSQZL0xqBmAWBmortu2Y9Gwdp9J0bgDQ8/YNIPMoBM13nTwZfAhw==", "requires": { "ev-emitter": "^1.0.0", "fizzy-ui-utils": "^2.0.0", @@ -9540,7 +9540,7 @@ "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, "requires": { "error-ex": "^1.3.1", @@ -9562,12 +9562,12 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" }, "path-key": { "version": "3.1.1", @@ -9584,7 +9584,7 @@ "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, "path-type": { @@ -9626,7 +9626,7 @@ "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", "requires": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", @@ -9682,12 +9682,12 @@ "fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==" }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==" } } }, @@ -9781,7 +9781,7 @@ "postcss-atroot": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/postcss-atroot/-/postcss-atroot-0.1.3.tgz", - "integrity": "sha1-Z1LAIwx0UUBUk0WysOMOvtoBpAU=", + "integrity": "sha512-8SOS3MZZiyrztbpdOqZQ/h2mPBxRnLJNxjtZRooXbNbg13hrw3Z0ujm+ECizPCvnbVMG3ULx2RzGRAhx8e1VAw==", "dev": true, "requires": { "postcss": "^5.0.5" @@ -9790,7 +9790,7 @@ "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "dev": true, "requires": { "ansi-styles": "^2.2.1", @@ -9803,7 +9803,7 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", "dev": true } } @@ -9811,7 +9811,7 @@ "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", "dev": true }, "postcss": { @@ -9838,7 +9838,7 @@ "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", "dev": true, "requires": { "has-flag": "^1.0.0" @@ -10536,7 +10536,7 @@ "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "dev": true }, "proxy-addr": { @@ -10558,13 +10558,13 @@ "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" }, "psl": { "version": "1.9.0", @@ -10783,12 +10783,12 @@ "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" }, "repeating": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", "dev": true, "requires": { "is-finite": "^1.0.0" @@ -10812,7 +10812,7 @@ "require-uncached": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "integrity": "sha512-Xct+41K3twrbBHdxAgMoOS+cNcoqIjfM2/VxBF4LL2hVph7YsF8VSKyQ3BDFZwEVbok9yeDl2le/qo0S77WG2w==", "requires": { "caller-path": "^0.1.0", "resolve-from": "^1.0.0" @@ -10875,7 +10875,7 @@ "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", "requires": { "align-text": "^0.1.1" } @@ -10905,7 +10905,7 @@ "run-queue": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dev": true, "requires": { "aproba": "^1.1.1" @@ -10914,12 +10914,12 @@ "rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=" + "integrity": "sha512-Cun9QucwK6MIrp3mry/Y7hqD1oFqTYLQ4pGxaHTjIdaFDWRGGLikqp6u8LcWJnzpoALg9hap+JGk8sFIUuEGNA==" }, "rx-lite-aggregates": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "integrity": "sha512-3xPNZGW93oCjiO7PtKxRK6iOVYBWBvtf9QHDfU23Oc+dLIQmAV//UnyXV/yihv81VS/UqoQPk4NegS8EFi55Hg==", "requires": { "rx-lite": "*" } @@ -11031,7 +11031,7 @@ "select2-bootstrap-theme": { "version": "0.1.0-beta.10", "resolved": "https://registry.npmjs.org/select2-bootstrap-theme/-/select2-bootstrap-theme-0.1.0-beta.10.tgz", - "integrity": "sha1-uUJuz8A79KI152oTI3dXQxBGmsA=" + "integrity": "sha512-gc9Y9yNjkGRqeFmI/pAKyL4maMKH9VKAn62E+uF/hxz8FTmfuKH0sDEGhFhk3f8Jp+emtsDdK1c1nb6S51BV0Q==" }, "semver": { "version": "5.7.1", @@ -11124,7 +11124,7 @@ "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "requires": { "shebang-regex": "^1.0.0" } @@ -11132,7 +11132,7 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" }, "side-channel": { "version": "1.0.4", @@ -11153,7 +11153,7 @@ "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", "dev": true }, "slice-ansi": { @@ -11173,7 +11173,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" }, "source-map-js": { "version": "1.0.2", @@ -11193,7 +11193,7 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "sshpk": { "version": "1.17.0", @@ -11299,7 +11299,7 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" }, "supports-preserve-symlinks-flag": { "version": "1.0.0", @@ -11469,7 +11469,7 @@ "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, "throttleit": { "version": "1.0.0", @@ -11480,7 +11480,7 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, "through2": { "version": "2.0.5", @@ -11518,7 +11518,7 @@ "toastr": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz", - "integrity": "sha1-i0O+ZPudDEFIcURvLbjoyk6V8YE=", + "integrity": "sha512-LIy77F5n+sz4tefMmFOntcJ6HL0Fv3k1TDnNmFZ0bU/GcvIIfy6eG2v7zQmMiYgaalAiUv75ttFrPn5s0gyqlA==", "requires": { "jquery": ">=1.12.0" } @@ -11542,7 +11542,7 @@ "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", "dev": true }, "tryer": { @@ -11599,7 +11599,7 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, "uglify-js": { "version": "2.7.4", @@ -11615,7 +11615,7 @@ "uglify-to-browserify": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=" + "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==" }, "uglifyjs-webpack-plugin": { "version": "2.2.0", @@ -11830,7 +11830,7 @@ "uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==", "dev": true }, "unique-filename": { @@ -11860,7 +11860,7 @@ "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true }, "untildify": { @@ -11952,12 +11952,12 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true }, "uuid": { @@ -11975,7 +11975,7 @@ "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true }, "verror": { @@ -12237,7 +12237,7 @@ "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==" }, "word-wrap": { "version": "1.2.3", @@ -12324,12 +12324,12 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "write": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "integrity": "sha512-CJ17OoULEKXpA5pef3qLj5AxTJ6mSt7g84he2WIskKwqFO4T97d5V7Tadl0DYDk7qyUOQD5WlUlOMChaYrhxeA==", "requires": { "mkdirp": "^0.5.1" } @@ -12358,7 +12358,7 @@ "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" }, "yargs": { "version": "3.10.0", diff --git a/web/swagger.json b/web/swagger.json index ac73ddc907..00e3dfebf3 100644 --- a/web/swagger.json +++ b/web/swagger.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "Xibo API", - "description": "Xibo CMS API.\n Using HTTP formData requests.\n All PUT requests require Content-Type:application/x-www-form-urlencoded header.", + "description": "Xibo CMS API.\r\n Using HTTP formData requests.\r\n All PUT requests require Content-Type:application/x-www-form-urlencoded header.", "termsOfService": "https://xibosignage.com/legal", "contact": { "email": "info@xibo.org.uk" @@ -92,6 +92,20 @@ "description": "Filter by Action target Id", "required": false, "type": "integer" + }, + { + "name": "layoutId", + "in": "query", + "description": "Return all actions pertaining to a particular Layout", + "required": false, + "type": "integer" + }, + { + "name": "sourceOrTargetId", + "in": "query", + "description": "Return all actions related to a source or target with the provided ID", + "required": false, + "type": "integer" } ], "responses": { @@ -105,9 +119,7 @@ } } } - } - }, - "/action/{source}/{sourceId}": { + }, "post": { "tags": [ "action" @@ -117,51 +129,58 @@ "operationId": "actionAdd", "parameters": [ { - "name": "source", - "in": "path", - "description": "Source for this action layout, region or widget", + "name": "layoutId", + "in": "formData", + "description": "LayoutId associted with this Action", "required": true, - "type": "string" + "type": "integer" }, { - "name": "sourceId", - "in": "path", - "description": "The id of the source object, layoutId, regionId or widgetId", + "name": "actionType", + "in": "formData", + "description": "Action type, next, previous, navLayout, navWidget", "required": true, - "type": "integer" + "type": "string" }, { - "name": "triggerType", + "name": "target", "in": "formData", - "description": "Action trigger type, touch or webhook", + "description": "Target for this action, screen or region", "required": true, "type": "string" }, { - "name": "triggerCode", + "name": "targetId", "in": "formData", - "description": "Action trigger code", - "required": true, + "description": "The id of the target for this action - regionId if the target is set to region", + "required": false, "type": "string" }, { - "name": "actionType", + "name": "source", "in": "formData", - "description": "Action type, next, previous, navLayout, navWidget", - "required": true, + "description": "Source for this action layout, region or widget", + "required": false, "type": "string" }, { - "name": "target", + "name": "sourceId", "in": "formData", - "description": "Target for this action, screen or region", - "required": true, + "description": "The id of the source object, layoutId, regionId or widgetId", + "required": false, + "type": "integer" + }, + { + "name": "triggerType", + "in": "formData", + "description": "Action trigger type, touch or webhook", + "required": false, "type": "string" }, { - "name": "targetId", + "name": "triggerCode", "in": "formData", - "description": "The id of the target for this action - regionId if the target is set to region", + "description": "Action trigger code", "required": false, "type": "string" }, @@ -4446,6 +4465,167 @@ } } }, + "/fonts": { + "get": { + "tags": [ + "font" + ], + "summary": "Font Search", + "description": "Search the available Fonts", + "operationId": "fontSearch", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Filter by Font Id", + "required": false, + "type": "integer" + }, + { + "name": "name", + "in": "query", + "description": "Filter by Font Name", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Font" + } + } + } + } + }, + "post": { + "tags": [ + "font" + ], + "summary": "Font Upload", + "description": "Upload a new Font file", + "operationId": "fontUpload", + "parameters": [ + { + "name": "files", + "in": "formData", + "description": "The Uploaded File", + "required": true, + "type": "file" + }, + { + "name": "name", + "in": "formData", + "description": "Optional Font Name", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "successful operation" + } + } + } + }, + "/fonts/details/{id}": { + "get": { + "tags": [ + "font" + ], + "summary": "Font Details", + "description": "Get the Font details", + "operationId": "fontDetails", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The Font ID", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "object", + "additionalProperties": { + "title": "details", + "type": "array" + } + } + } + } + } + }, + "/fonts/download/{id}": { + "get": { + "tags": [ + "font" + ], + "summary": "Download Font", + "description": "Download a Font file from the Library", + "operationId": "fontDownload", + "produces": [ + "application/octet-stream" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The Font ID to Download", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "file" + }, + "headers": { + "X-Sendfile": { + "description": "Apache Send file header - if enabled.", + "type": "string" + }, + "X-Accel-Redirect": { + "description": "nginx send file header - if enabled.", + "type": "string" + } + } + } + } + } + }, + "/fonts/{id}/delete": { + "delete": { + "tags": [ + "font" + ], + "summary": "Font Delete", + "description": "Delete existing Font file", + "operationId": "fontDelete", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The Font ID to delete", + "required": true, + "type": "integer" + } + ], + "responses": { + "204": { + "description": "successful operation" + } + } + } + }, "/layout": { "get": { "tags": [ @@ -4578,7 +4758,7 @@ "name": "name", "in": "formData", "description": "The layout name", - "required": true, + "required": false, "type": "string" }, { @@ -4791,6 +4971,36 @@ } } }, + "/layout/applyTemplate/{layoutId}": { + "put": { + "tags": [ + "layout" + ], + "summary": "Apply Template", + "description": "Apply a new Template to an existing Layout, replacing it.", + "operationId": "layoutApplyTemplate", + "parameters": [ + { + "name": "layoutId", + "in": "path", + "required": true, + "type": "integer" + }, + { + "name": "templateId", + "in": "formData", + "description": "If the Layout should be created with a Template, provide the ID, otherwise don't provide", + "required": false, + "type": "integer" + } + ], + "responses": { + "204": { + "description": "successful operation" + } + } + } + }, "/layout/retire/{layoutId}": { "put": { "tags": [ @@ -5120,36 +5330,97 @@ } } }, - "/library/setenablestat/{mediaId}": { - "put": { + "/layout/fullscreen": { + "post": { "tags": [ - "library" + "layout" ], - "summary": "Enable Stats Collection", - "description": "Set Enable Stats Collection? to use for the collection of Proof of Play statistics for a media.", - "operationId": "mediaSetEnableStat", + "summary": "Add a Full Screen Layout", + "description": "Add a new full screen Layout with specified Media/Playlist", + "operationId": "layoutAddFullScreen", "parameters": [ { - "name": "mediaId", - "in": "path", - "description": "The Media ID", + "name": "id", + "in": "formData", + "description": "The Media or Playlist ID that should be added to this Layout", "required": true, "type": "integer" }, { - "name": "enableStat", + "name": "type", "in": "formData", - "description": "The option to enable the collection of Media Proof of Play statistics", + "description": "The type of Layout to be created = media or playlist", "required": true, "type": "string" + }, + { + "name": "resolutionId", + "in": "formData", + "description": "The Id of the resolution for this Layout, defaults to 1080p for playlist and closest resolution match for Media", + "required": false, + "type": "integer" + }, + { + "name": "backgroundColor", + "in": "formData", + "description": "A HEX color to use as the background color of this Layout. Default is black #000", + "required": false, + "type": "string" + }, + { + "name": "layoutDuration", + "in": "formData", + "description": "Use with media type, to specify the duration this Media should play in one loop", + "required": false, + "type": "boolean" } ], "responses": { - "204": { - "description": "successful operation" - } - } - } + "201": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Layout" + }, + "headers": { + "Location": { + "description": "Location of the new record", + "type": "string" + } + } + } + } + } + }, + "/library/setenablestat/{mediaId}": { + "put": { + "tags": [ + "library" + ], + "summary": "Enable Stats Collection", + "description": "Set Enable Stats Collection? to use for the collection of Proof of Play statistics for a media.", + "operationId": "mediaSetEnableStat", + "parameters": [ + { + "name": "mediaId", + "in": "path", + "description": "The Media ID", + "required": true, + "type": "integer" + }, + { + "name": "enableStat", + "in": "formData", + "description": "The option to enable the collection of Media Proof of Play statistics", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "successful operation" + } + } + } }, "/library": { "get": { @@ -5262,7 +5533,7 @@ "library" ], "summary": "Add Media", - "description": "Add Media to the Library", + "description": "Add Media to the Library, optionally replacing an existing media item, optionally adding to a playlist.", "operationId": "libraryAdd", "parameters": [ { @@ -5314,17 +5585,24 @@ "required": false, "type": "string" }, + { + "name": "playlistId", + "in": "formData", + "description": "A playlistId to add this uploaded media to", + "required": false, + "type": "int" + }, { "name": "widgetFromDt", "in": "formData", - "description": "Date in Y-m-d H:i:s format, will set widget start date", + "description": "Date in Y-m-d H:i:s format, will set widget start date. Requires a playlistId.", "required": false, "type": "string" }, { "name": "widgetToDt", "in": "formData", - "description": "Date in Y-m-d H:i:s format, will set widget end date", + "description": "Date in Y-m-d H:i:s format, will set widget end date. Requires a playlistId.", "required": false, "type": "string" }, @@ -5561,6 +5839,46 @@ } } }, + "/library/thumbnail/{mediaId}": { + "get": { + "tags": [ + "library" + ], + "summary": "Download Thumbnail", + "description": "Download thumbnail for a Media file from the Library", + "operationId": "libraryThumbnail", + "produces": [ + "application/octet-stream" + ], + "parameters": [ + { + "name": "mediaId", + "in": "path", + "description": "The Media ID to Download", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "file" + }, + "headers": { + "X-Sendfile": { + "description": "Apache Send file header - if enabled.", + "type": "string" + }, + "X-Accel-Redirect": { + "description": "nginx send file header - if enabled.", + "type": "string" + } + } + } + } + } + }, "/library/{mediaId}/tag": { "post": { "tags": [ @@ -6538,128 +6856,122 @@ } } }, - "/playlist/widget/{type}/{playlistId}": { - "post": { + "/notification": { + "get": { "tags": [ - "widget" + "notification" ], - "summary": "Add a Widget to a Playlist", - "description": "Add a new Widget to a Playlist", - "operationId": "addWidget", + "summary": "Notification Search", + "description": "Search this users Notifications", + "operationId": "notificationSearch", "parameters": [ { - "name": "type", - "in": "path", - "description": "The type of the Widget e.g. text. Media based Widgets like Image are added via POST /playlist/library/assign/{playlistId} call.", - "required": true, - "type": "string" + "name": "notificationId", + "in": "query", + "description": "Filter by Notification Id", + "required": false, + "type": "integer" }, { - "name": "playlistId", - "in": "path", - "description": "The Playlist ID", - "required": true, - "type": "integer" + "name": "subject", + "in": "query", + "description": "Filter by Subject", + "required": false, + "type": "string" }, { - "name": "displayOrder", - "in": "formData", - "description": "Optional integer to say which position this assignment should occupy in the list. If more than one media item is being added, this will be the position of the first one.", + "name": "embed", + "in": "query", + "description": "Embed related data such as userGroups,displayGroups", "required": false, - "type": "integer" + "type": "string" } ], "responses": { - "201": { + "200": { "description": "successful operation", - "headers": { - "Location": { - "description": "Location of the new record", - "type": "string" + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Notification" } } } } - } - }, - "/playlist/widget/{widgetId}": { - "delete": { + }, + "post": { "tags": [ - "widget" + "notification" ], - "summary": "Delete a Widget", - "description": "Deleted a specified widget", - "operationId": "WidgetDelete", + "summary": "Notification Add", + "description": "Add a Notification", + "operationId": "notificationAdd", "parameters": [ { - "name": "widgetId", - "in": "path", - "description": "The widget ID to delete", + "name": "subject", + "in": "formData", + "description": "The Subject", "required": true, - "type": "integer" - } - ], - "responses": { - "200": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/transition/{type}/{widgetId}": { - "put": { - "tags": [ - "widget" - ], - "summary": "Adds In/Out transition", - "description": "Adds In/Out transition to a specified widget", - "operationId": "WidgetEditTransition", - "parameters": [ + "type": "string" + }, { - "name": "type", - "in": "path", - "description": "Transition type, available options: in, out", - "required": true, + "name": "body", + "in": "formData", + "description": "The Body", + "required": false, "type": "string" }, { - "name": "widgetId", - "in": "path", - "description": "The widget ID to add the transition to", + "name": "releaseDt", + "in": "formData", + "description": "ISO date representing the release date for this notification", + "required": false, + "type": "string" + }, + { + "name": "isEmail", + "in": "formData", + "description": "Flag indicating whether this notification should be emailed.", "required": true, "type": "integer" }, { - "name": "transitionType", + "name": "isInterrupt", "in": "formData", - "description": "Type of a transition, available Options: fly, fadeIn, fadeOut", + "description": "Flag indication whether this notification should interrupt the web portal nativation/login", "required": true, - "type": "string" + "type": "integer" }, { - "name": "transitionDuration", + "name": "displayGroupIds", "in": "formData", - "description": "Duration of this transition in milliseconds", - "required": false, - "type": "integer" + "description": "The display group ids to assign this notification to", + "required": true, + "type": "array", + "items": { + "type": "integer" + } }, { - "name": "transitionDirection", + "name": "userGroupIds", "in": "formData", - "description": "The direction for this transition, only appropriate for transitions that move, such as fly. Available options: N, NE, E, SE, S, SW, W, NW", - "required": false, - "type": "integer" + "description": "The user group ids to assign to this notification", + "required": true, + "type": "array", + "items": { + "type": "integer" + } } ], "responses": { "201": { "description": "successful operation", "schema": { - "$ref": "#/definitions/Widget" + "$ref": "#/definitions/Notification" }, "headers": { "Location": { - "description": "Location of the new widget", + "description": "Location of the new record", "type": "string" } } @@ -6667,116 +6979,144 @@ } } }, - "/playlist/widget/{widgetId}/audio": { + "/notification/{notificationId}": { "put": { "tags": [ - "widget" + "notification" ], - "summary": "Parameters for edting/adding audio file to a specific widget", - "description": "Parameters for edting/adding audio file to a specific widget", - "operationId": "WidgetAssignedAudioEdit", + "summary": "Notification Edit", + "description": "Edit a Notification", + "operationId": "notificationEdit", "parameters": [ { - "name": "widgetId", + "name": "notificationId", "in": "path", - "description": "Id of a widget to which you want to add audio or edit existing audio", + "description": "The NotificationId", "required": true, "type": "integer" }, { - "name": "mediaId", + "name": "subject", "in": "formData", - "description": "Id of a audio file in CMS library you wish to add to a widget", - "required": false, - "type": "integer" + "description": "The Subject", + "required": true, + "type": "string" }, { - "name": "volume", + "name": "body", "in": "formData", - "description": "Volume percentage(0-100) for this audio to play at", + "description": "The Body", "required": false, + "type": "string" + }, + { + "name": "releaseDt", + "in": "formData", + "description": "ISO date representing the release date for this notification", + "required": true, + "type": "string" + }, + { + "name": "isEmail", + "in": "formData", + "description": "Flag indicating whether this notification should be emailed.", + "required": true, "type": "integer" }, { - "name": "loop", + "name": "isInterrupt", "in": "formData", - "description": "Flag (0, 1) Should the audio loop if it finishes before the widget has finished?", - "required": false, + "description": "Flag indication whether this notification should interrupt the web portal nativation/login", + "required": true, "type": "integer" + }, + { + "name": "displayGroupIds", + "in": "formData", + "description": "The display group ids to assign this notification to", + "required": true, + "type": "array", + "items": { + "type": "integer" + } + }, + { + "name": "userGroupIds", + "in": "formData", + "description": "The user group ids to assign to this notification", + "required": true, + "type": "array", + "items": { + "type": "integer" + } } ], "responses": { "200": { "description": "successful operation", "schema": { - "$ref": "#/definitions/Widget" - }, - "headers": { - "Location": { - "description": "Location of the new widget", - "type": "string" - } + "$ref": "#/definitions/Notification" } } } }, "delete": { "tags": [ - "widget" + "notification" ], - "summary": "Delete assigned audio widget", - "description": "Delete assigned audio widget from specified widget ID", - "operationId": "WidgetAudioDelete", + "summary": "Delete Notification", + "description": "Delete the provided notification", + "operationId": "notificationDelete", "parameters": [ { - "name": "widgetId", + "name": "notificationId", "in": "path", - "description": "Id of a widget from which you want to delete the audio from", + "description": "The Notification Id to Delete", "required": true, "type": "integer" } ], "responses": { - "200": { + "204": { "description": "successful operation" } } } }, - "/playlist/widget/{widgetId}/expiry": { + "/playersoftware/{versionId}": { "put": { "tags": [ - "widget" + "Player Software" ], - "summary": "Set Widget From/To Dates", - "description": "Control when this Widget is active on this Playlist", - "operationId": "WidgetAssignedExpiryEdit", + "summary": "Edit Player Version", + "description": "Edit a Player Version file information", + "operationId": "playersoftwareEdit", "parameters": [ { - "name": "widgetId", + "name": "versionId", "in": "path", - "description": "Id of a widget to which you want to add audio or edit existing audio", + "description": "The Version ID to Edit", "required": true, "type": "integer" }, { - "name": "fromDt", + "name": "playerShowVersion", "in": "formData", - "description": "The From Date in Y-m-d H::i:s format", + "description": "The Name of the player version application, this will be displayed in Version dropdowns in Display Profile and Display", "required": false, "type": "string" }, { - "name": "toDt", + "name": "version", "in": "formData", - "description": "The To Date in Y-m-d H::i:s format", + "description": "The Version number", "required": false, "type": "string" }, { - "name": "deleteOnExpiry", + "name": "code", "in": "formData", - "description": "Delete this Widget when it expires?", + "description": "The Code number", "required": false, "type": "integer" } @@ -6785,78 +7125,169 @@ "200": { "description": "successful operation", "schema": { - "$ref": "#/definitions/Widget" - }, - "headers": { - "Location": { - "description": "Location of the new widget", - "type": "string" - } + "$ref": "#/definitions/Media" } } } - } - }, - "/playlist/widget/{widgetId}/region": { - "put": { + }, + "delete": { "tags": [ - "widget" + "Player Software" ], - "summary": "Set Widget Region", - "description": "Set the Region this Widget is intended for - only suitable for Drawer Widgets", - "operationId": "WidgetAssignedRegionSet", + "summary": "Delete Version", + "description": "Delete Version file from the Library and Player Versions table", + "operationId": "playerSoftwareDelete", "parameters": [ { - "name": "widgetId", + "name": "versionId", "in": "path", - "description": "Id of the Widget to set region on", + "description": "The Version ID to Delete", "required": true, "type": "integer" - }, + } + ], + "responses": { + "204": { + "description": "successful operation" + } + } + } + }, + "/playersoftware": { + "post": { + "tags": [ + "Player Software" + ], + "summary": "Player Software Upload", + "description": "Upload a new Player version file", + "operationId": "playersoftwareUpload", + "parameters": [ { - "name": "targetRegionId", + "name": "files", "in": "formData", - "description": "The target regionId", + "description": "The Uploaded File", "required": true, - "type": "string" + "type": "file" } ], "responses": { - "204": { + "200": { "description": "successful operation" } } } }, - "/notification": { + "/playersoftware/download/{id}": { "get": { "tags": [ - "notification" + "Player Software" + ], + "summary": "Download Player Version file", + "description": "Download Player Version file", + "operationId": "playersoftwareDownload", + "produces": [ + "application/octet-stream" ], - "summary": "Notification Search", - "description": "Search this users Notifications", - "operationId": "notificationSearch", "parameters": [ { - "name": "notificationId", + "name": "id", + "in": "path", + "description": "The Player Version ID to Download", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "file" + }, + "headers": { + "X-Sendfile": { + "description": "Apache Send file header - if enabled.", + "type": "string" + }, + "X-Accel-Redirect": { + "description": "nginx send file header - if enabled.", + "type": "string" + } + } + } + } + } + }, + "/playlist": { + "get": { + "tags": [ + "playlist" + ], + "summary": "Search Playlists", + "description": "Search for Playlists viewable by this user", + "operationId": "playlistSearch", + "parameters": [ + { + "name": "playlistId", "in": "query", - "description": "Filter by Notification Id", + "description": "Filter by Playlist Id", "required": false, "type": "integer" }, { - "name": "subject", + "name": "name", "in": "query", - "description": "Filter by Subject", + "description": "Filter by partial Playlist name", + "required": false, + "type": "string" + }, + { + "name": "userId", + "in": "query", + "description": "Filter by user Id", + "required": false, + "type": "integer" + }, + { + "name": "tags", + "in": "query", + "description": "Filter by tags", + "required": false, + "type": "string" + }, + { + "name": "exactTags", + "in": "query", + "description": "A flag indicating whether to treat the tags filter as an exact match", + "required": false, + "type": "integer" + }, + { + "name": "logicalOperator", + "in": "query", + "description": "When filtering by multiple Tags, which logical operator should be used? AND|OR", "required": false, "type": "string" }, + { + "name": "ownerUserGroupId", + "in": "query", + "description": "Filter by users in this UserGroupId", + "required": false, + "type": "integer" + }, { "name": "embed", "in": "query", - "description": "Embed related data such as userGroups,displayGroups", + "description": "Embed related data such as regions, widgets, permissions, tags", "required": false, "type": "string" + }, + { + "name": "folderId", + "in": "query", + "description": "Filter by Folder ID", + "required": false, + "type": "integer" } ], "responses": { @@ -6865,7 +7296,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/definitions/Notification" + "$ref": "#/definitions/Playlist" } } } @@ -6873,73 +7304,88 @@ }, "post": { "tags": [ - "notification" + "playlist" ], - "summary": "Notification Add", - "description": "Add a Notification", - "operationId": "notificationAdd", + "summary": "Add a Playlist", + "description": "Add a new Playlist", + "operationId": "playlistAdd", "parameters": [ { - "name": "subject", + "name": "name", "in": "formData", - "description": "The Subject", + "description": "The Name for this Playlist", "required": true, "type": "string" }, { - "name": "body", + "name": "tags", "in": "formData", - "description": "The Body", + "description": "Tags", "required": false, "type": "string" }, { - "name": "releaseDt", + "name": "isDynamic", "in": "formData", - "description": "ISO date representing the release date for this notification", - "required": false, + "description": "Is this Playlist Dynamic?", + "required": true, + "type": "integer" + }, + { + "name": "filterMediaName", + "in": "formData", + "description": "Add Library Media matching the name filter provided", + "required": false, "type": "string" }, { - "name": "isEmail", + "name": "logicalOperatorName", "in": "formData", - "description": "Flag indicating whether this notification should be emailed.", - "required": true, - "type": "integer" + "description": "When filtering by multiple names in name filter, which logical operator should be used? AND|OR", + "required": false, + "type": "string" }, { - "name": "isInterrupt", + "name": "filterMediaTag", "in": "formData", - "description": "Flag indication whether this notification should interrupt the web portal nativation/login", - "required": true, + "description": "Add Library Media matching the tag filter provided", + "required": false, + "type": "string" + }, + { + "name": "exactTags", + "in": "formData", + "description": "When filtering by Tags, should we use exact match?", + "required": false, "type": "integer" }, { - "name": "displayGroupIds", + "name": "logicalOperator", "in": "formData", - "description": "The display group ids to assign this notification to", - "required": true, - "type": "array", - "items": { - "type": "integer" - } + "description": "When filtering by Tags, which logical operator should be used? AND|OR", + "required": false, + "type": "string" }, { - "name": "userGroupIds", + "name": "maxNumberOfItems", "in": "formData", - "description": "The user group ids to assign to this notification", - "required": true, - "type": "array", - "items": { - "type": "integer" - } + "description": "Maximum number of items that can be assigned to this Playlist (dynamic Playlist only)", + "required": false, + "type": "integer" + }, + { + "name": "folderId", + "in": "formData", + "description": "Folder ID to which this object should be assigned to", + "required": false, + "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { - "$ref": "#/definitions/Notification" + "$ref": "#/definitions/Playlist" }, "headers": { "Location": { @@ -6951,99 +7397,111 @@ } } }, - "/notification/{notificationId}": { + "/playlist/{playlistId}": { "put": { "tags": [ - "notification" + "playlist" ], - "summary": "Notification Edit", - "description": "Edit a Notification", - "operationId": "notificationEdit", + "summary": "Edit a Playlist", + "description": "Edit a Playlist", + "operationId": "playlistEdit", "parameters": [ { - "name": "notificationId", + "name": "playlistId", "in": "path", - "description": "The NotificationId", + "description": "The PlaylistId to Edit", "required": true, "type": "integer" }, { - "name": "subject", + "name": "name", "in": "formData", - "description": "The Subject", + "description": "The Name for this Playlist", "required": true, "type": "string" }, { - "name": "body", + "name": "tags", "in": "formData", - "description": "The Body", + "description": "Tags", "required": false, "type": "string" }, { - "name": "releaseDt", + "name": "isDynamic", "in": "formData", - "description": "ISO date representing the release date for this notification", + "description": "Is this Playlist Dynamic?", "required": true, + "type": "integer" + }, + { + "name": "filterMediaName", + "in": "formData", + "description": "Add Library Media matching the name filter provided", + "required": false, "type": "string" }, { - "name": "isEmail", + "name": "logicalOperatorName", "in": "formData", - "description": "Flag indicating whether this notification should be emailed.", - "required": true, - "type": "integer" + "description": "When filtering by multiple names in name filter, which logical operator should be used? AND|OR", + "required": false, + "type": "string" }, { - "name": "isInterrupt", + "name": "filterMediaTag", "in": "formData", - "description": "Flag indication whether this notification should interrupt the web portal nativation/login", - "required": true, + "description": "Add Library Media matching the tag filter provided", + "required": false, + "type": "string" + }, + { + "name": "exactTags", + "in": "formData", + "description": "When filtering by Tags, should we use exact match?", + "required": false, "type": "integer" }, { - "name": "displayGroupIds", + "name": "logicalOperator", "in": "formData", - "description": "The display group ids to assign this notification to", - "required": true, - "type": "array", - "items": { - "type": "integer" - } + "description": "When filtering by Tags, which logical operator should be used? AND|OR", + "required": false, + "type": "string" }, { - "name": "userGroupIds", + "name": "maxNumberOfItems", "in": "formData", - "description": "The user group ids to assign to this notification", - "required": true, - "type": "array", - "items": { - "type": "integer" - } + "description": "Maximum number of items that can be assigned to this Playlist (dynamic Playlist only)", + "required": false, + "type": "integer" + }, + { + "name": "folderId", + "in": "formData", + "description": "Folder ID to which this object should be assigned to", + "required": false, + "type": "integer" } ], "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/Notification" - } + "204": { + "description": "successful operation" } } }, "delete": { "tags": [ - "notification" + "playlist" ], - "summary": "Delete Notification", - "description": "Delete the provided notification", - "operationId": "notificationDelete", + "summary": "Delete a Playlist", + "description": "Delete a Playlist", + "operationId": "playlistDelete", "parameters": [ { - "name": "notificationId", + "name": "playlistId", "in": "path", - "description": "The Notification Id to Delete", + "description": "The PlaylistId to delete", "required": true, "type": "integer" } @@ -7055,145 +7513,97 @@ } } }, - "/playersoftware/{versionId}": { - "put": { + "/playlist/copy/{playlistId}": { + "post": { "tags": [ - "Player Software" + "playlist" ], - "summary": "Edit Player Version", - "description": "Edit a Player Version file information", - "operationId": "playersoftwareEdit", + "summary": "Copy Playlist", + "description": "Copy a Playlist, providing a new name if applicable", + "operationId": "playlistCopy", "parameters": [ { - "name": "versionId", + "name": "playlistId", "in": "path", - "description": "The Version ID to Edit", + "description": "The Playlist ID to Copy", "required": true, "type": "integer" }, { - "name": "playerShowVersion", - "in": "formData", - "description": "The Name of the player version application, this will be displayed in Version dropdowns in Display Profile and Display", - "required": false, - "type": "string" - }, - { - "name": "version", + "name": "name", "in": "formData", - "description": "The Version number", - "required": false, + "description": "The name for the new Playlist", + "required": true, "type": "string" }, { - "name": "code", + "name": "copyMediaFiles", "in": "formData", - "description": "The Code number", - "required": false, + "description": "Flag indicating whether to make new Copies of all Media Files assigned to the Playlist being Copied", + "required": true, "type": "integer" } ], "responses": { - "200": { + "201": { "description": "successful operation", "schema": { - "$ref": "#/definitions/Media" + "$ref": "#/definitions/Playlist" + }, + "headers": { + "Location": { + "description": "Location of the new record", + "type": "string" + } } } } - }, - "delete": { - "tags": [ - "Player Software" - ], - "summary": "Delete Version", - "description": "Delete Version file from the Library and Player Versions table", - "operationId": "playerSoftwareDelete", - "parameters": [ - { - "name": "versionId", - "in": "path", - "description": "The Version ID to Delete", - "required": true, - "type": "integer" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } } }, - "/playlist": { - "get": { + "/playlist/library/assign/{playlistId}": { + "post": { "tags": [ "playlist" ], - "summary": "Search Playlists", - "description": "Search for Playlists viewable by this user", - "operationId": "playlistSearch", + "summary": "Assign Library Items", + "description": "Assign Media from the Library to this Playlist", + "operationId": "playlistLibraryAssign", "parameters": [ { "name": "playlistId", - "in": "query", - "description": "Filter by Playlist Id", - "required": false, + "in": "path", + "description": "The Playlist ID to assign to", + "required": true, "type": "integer" }, { - "name": "name", - "in": "query", - "description": "Filter by partial Playlist name", - "required": false, - "type": "string" - }, - { - "name": "userId", - "in": "query", - "description": "Filter by user Id", - "required": false, - "type": "integer" - }, - { - "name": "tags", - "in": "query", - "description": "Filter by tags", - "required": false, - "type": "string" + "name": "media", + "in": "formData", + "description": "Array of Media IDs to assign", + "required": true, + "type": "array", + "items": { + "type": "integer" + } }, { - "name": "exactTags", - "in": "query", - "description": "A flag indicating whether to treat the tags filter as an exact match", + "name": "duration", + "in": "formData", + "description": "Optional duration for all Media in this assignment to use on the Widget", "required": false, "type": "integer" }, { - "name": "logicalOperator", - "in": "query", - "description": "When filtering by multiple Tags, which logical operator should be used? AND|OR", - "required": false, - "type": "string" - }, - { - "name": "ownerUserGroupId", - "in": "query", - "description": "Filter by users in this UserGroupId", + "name": "useDuration", + "in": "formData", + "description": "Optional flag indicating whether to enable the useDuration field", "required": false, "type": "integer" }, { - "name": "embed", - "in": "query", - "description": "Embed related data such as regions, widgets, permissions, tags", - "required": false, - "type": "string" - }, - { - "name": "folderId", - "in": "query", - "description": "Filter by Folder ID", + "name": "displayOrder", + "in": "formData", + "description": "Optional integer to say which position this assignment should occupy in the list. If more than one media item is being added, this will be the position of the first one.", "required": false, "type": "integer" } @@ -7202,460 +7612,105 @@ "200": { "description": "successful operation", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/Playlist" - } + "$ref": "#/definitions/Playlist" } } } - }, + } + }, + "/playlist/order/{playlistId}": { "post": { "tags": [ "playlist" ], - "summary": "Add a Playlist", - "description": "Add a new Playlist", - "operationId": "playlistAdd", + "summary": "Order Widgets", + "description": "Set the order of widgets in the Playlist", + "operationId": "playlistOrder", "parameters": [ { - "name": "name", - "in": "formData", - "description": "The Name for this Playlist", - "required": true, - "type": "string" - }, - { - "name": "tags", - "in": "formData", - "description": "Tags", - "required": false, - "type": "string" - }, - { - "name": "isDynamic", - "in": "formData", - "description": "Is this Playlist Dynamic?", + "name": "playlistId", + "in": "path", + "description": "The Playlist ID to Order", "required": true, "type": "integer" }, { - "name": "filterMediaName", - "in": "formData", - "description": "Add Library Media matching the name filter provided", - "required": false, - "type": "string" - }, - { - "name": "logicalOperatorName", - "in": "formData", - "description": "When filtering by multiple names in name filter, which logical operator should be used? AND|OR", - "required": false, - "type": "string" - }, - { - "name": "filterMediaTag", - "in": "formData", - "description": "Add Library Media matching the tag filter provided", - "required": false, - "type": "string" - }, - { - "name": "exactTags", - "in": "formData", - "description": "When filtering by Tags, should we use exact match?", - "required": false, - "type": "integer" - }, - { - "name": "logicalOperator", - "in": "formData", - "description": "When filtering by Tags, which logical operator should be used? AND|OR", - "required": false, - "type": "string" - }, - { - "name": "maxNumberOfItems", - "in": "formData", - "description": "Maximum number of items that can be assigned to this Playlist (dynamic Playlist only)", - "required": false, - "type": "integer" - }, - { - "name": "folderId", + "name": "widgets", "in": "formData", - "description": "Folder ID to which this object should be assigned to", - "required": false, - "type": "integer" + "description": "Array of widgetIds and positions - all widgetIds present in the playlist need to be passed in the call with their positions", + "required": true, + "type": "array", + "items": { + "$ref": "#/definitions/PlaylistWidgetList" + } } ], "responses": { - "201": { + "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Playlist" - }, - "headers": { - "Location": { - "description": "Location of the new record", - "type": "string" - } } } } } }, - "/playlist/{playlistId}": { - "put": { + "/playlist/usage/{playlistId}": { + "get": { "tags": [ "playlist" ], - "summary": "Edit a Playlist", - "description": "Edit a Playlist", - "operationId": "playlistEdit", + "summary": "Get Playlist Item Usage Report", + "description": "Get the records for the playlist item usage report", + "operationId": "playlistUsageReport", "parameters": [ { "name": "playlistId", "in": "path", - "description": "The PlaylistId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "The Name for this Playlist", - "required": true, - "type": "string" - }, - { - "name": "tags", - "in": "formData", - "description": "Tags", - "required": false, - "type": "string" - }, - { - "name": "isDynamic", - "in": "formData", - "description": "Is this Playlist Dynamic?", + "description": "The Playlist Id", "required": true, "type": "integer" - }, - { - "name": "filterMediaName", - "in": "formData", - "description": "Add Library Media matching the name filter provided", - "required": false, - "type": "string" - }, - { - "name": "logicalOperatorName", - "in": "formData", - "description": "When filtering by multiple names in name filter, which logical operator should be used? AND|OR", - "required": false, - "type": "string" - }, - { - "name": "filterMediaTag", - "in": "formData", - "description": "Add Library Media matching the tag filter provided", - "required": false, - "type": "string" - }, - { - "name": "exactTags", - "in": "formData", - "description": "When filtering by Tags, should we use exact match?", - "required": false, - "type": "integer" - }, - { - "name": "logicalOperator", - "in": "formData", - "description": "When filtering by Tags, which logical operator should be used? AND|OR", - "required": false, - "type": "string" - }, - { - "name": "maxNumberOfItems", - "in": "formData", - "description": "Maximum number of items that can be assigned to this Playlist (dynamic Playlist only)", - "required": false, - "type": "integer" - }, - { - "name": "folderId", - "in": "formData", - "description": "Folder ID to which this object should be assigned to", - "required": false, - "type": "integer" } ], "responses": { - "204": { + "200": { "description": "successful operation" } } - }, - "delete": { + } + }, + "/playlist/usage/layouts/{playlistId}": { + "get": { "tags": [ "playlist" ], - "summary": "Delete a Playlist", - "description": "Delete a Playlist", - "operationId": "playlistDelete", + "summary": "Get Playlist Item Usage Report for Layouts", + "description": "Get the records for the playlist item usage report for Layouts", + "operationId": "playlistUsageLayoutsReport", "parameters": [ { "name": "playlistId", "in": "path", - "description": "The PlaylistId to delete", + "description": "The Playlist Id", "required": true, "type": "integer" } ], "responses": { - "204": { + "200": { "description": "successful operation" } } } }, - "/playlist/copy/{playlistId}": { - "post": { + "/playlist/setenablestat/{playlistId}": { + "put": { "tags": [ "playlist" ], - "summary": "Copy Playlist", - "description": "Copy a Playlist, providing a new name if applicable", - "operationId": "playlistCopy", - "parameters": [ - { - "name": "playlistId", - "in": "path", - "description": "The Playlist ID to Copy", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "The name for the new Playlist", - "required": true, - "type": "string" - }, - { - "name": "copyMediaFiles", - "in": "formData", - "description": "Flag indicating whether to make new Copies of all Media Files assigned to the Playlist being Copied", - "required": true, - "type": "integer" - } - ], - "responses": { - "201": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/Playlist" - }, - "headers": { - "Location": { - "description": "Location of the new record", - "type": "string" - } - } - } - } - } - }, - "/playlist/widget": { - "get": { - "tags": [ - "playlist" - ], - "summary": "Playlist Widget Search", - "description": "Search widgets on a Playlist", - "operationId": "playlistWidgetSearch", - "parameters": [ - { - "name": "playlistId", - "in": "query", - "description": "The Playlist ID to Search", - "required": false, - "type": "integer" - }, - { - "name": "widgetId", - "in": "query", - "description": "The Widget ID to Search", - "required": false, - "type": "integer" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/Widget" - } - } - } - } - } - }, - "/playlist/library/assign/{playlistId}": { - "post": { - "tags": [ - "playlist" - ], - "summary": "Assign Library Items", - "description": "Assign Media from the Library to this Playlist", - "operationId": "playlistLibraryAssign", - "parameters": [ - { - "name": "playlistId", - "in": "path", - "description": "The Playlist ID to assign to", - "required": true, - "type": "integer" - }, - { - "name": "media", - "in": "formData", - "description": "Array of Media IDs to assign", - "required": true, - "type": "array", - "items": { - "type": "integer" - } - }, - { - "name": "duration", - "in": "formData", - "description": "Optional duration for all Media in this assignment to use on the Widget", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "Optional flag indicating whether to enable the useDuration field", - "required": false, - "type": "integer" - }, - { - "name": "displayOrder", - "in": "formData", - "description": "Optional integer to say which position this assignment should occupy in the list. If more than one media item is being added, this will be the position of the first one.", - "required": false, - "type": "integer" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/Playlist" - } - } - } - } - }, - "/playlist/order/{playlistId}": { - "post": { - "tags": [ - "playlist" - ], - "summary": "Order Widgets", - "description": "Set the order of widgets in the Playlist", - "operationId": "playlistOrder", - "parameters": [ - { - "name": "playlistId", - "in": "path", - "description": "The Playlist ID to Order", - "required": true, - "type": "integer" - }, - { - "name": "widgets", - "in": "formData", - "description": "Array of widgetIds and positions - all widgetIds present in the playlist need to be passed in the call with their positions", - "required": true, - "type": "array", - "items": { - "$ref": "#/definitions/PlaylistWidgetList" - } - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/Playlist" - } - } - } - } - }, - "/playlist/usage/{playlistId}": { - "get": { - "tags": [ - "playlist" - ], - "summary": "Get Playlist Item Usage Report", - "description": "Get the records for the playlist item usage report", - "operationId": "playlistUsageReport", - "parameters": [ - { - "name": "playlistId", - "in": "path", - "description": "The Playlist Id", - "required": true, - "type": "integer" - } - ], - "responses": { - "200": { - "description": "successful operation" - } - } - } - }, - "/playlist/usage/layouts/{playlistId}": { - "get": { - "tags": [ - "playlist" - ], - "summary": "Get Playlist Item Usage Report for Layouts", - "description": "Get the records for the playlist item usage report for Layouts", - "operationId": "playlistUsageLayoutsReport", - "parameters": [ - { - "name": "playlistId", - "in": "path", - "description": "The Playlist Id", - "required": true, - "type": "integer" - } - ], - "responses": { - "200": { - "description": "successful operation" - } - } - } - }, - "/playlist/setenablestat/{playlistId}": { - "put": { - "tags": [ - "playlist" - ], - "summary": "Enable Stats Collection", - "description": "Set Enable Stats Collection? to use for the collection of Proof of Play statistics for a Playlist.", - "operationId": "playlistSetEnableStat", + "summary": "Enable Stats Collection", + "description": "Set Enable Stats Collection? to use for the collection of Proof of Play statistics for a Playlist.", + "operationId": "playlistSetEnableStat", "parameters": [ { "name": "playlistId", @@ -7704,11 +7759,8 @@ } ], "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/Campaign" - } + "204": { + "description": "successful operation" } } } @@ -7817,6 +7869,13 @@ "required": true, "type": "integer" }, + { + "name": "type", + "in": "formData", + "description": "The type of region this should be, zone, frame, playlist or canvas. Default = frame.", + "required": false, + "type": "string" + }, { "name": "width", "in": "formData", @@ -8252,34 +8311,110 @@ } }, "/schedule": { - "post": { + "get": { "tags": [ "schedule" ], - "summary": "Add Schedule Event", - "description": "Add a new scheduled event for a Campaign/Layout to be shown on a Display Group/Display.", - "operationId": "scheduleAdd", + "summary": "Generates the Schedule events grid", + "operationId": "scheduleSearch", "parameters": [ { "name": "eventTypeId", - "in": "formData", - "description": "The Event Type Id to use for this Event. 1=Layout, 2=Command, 3=Overlay, 4=Interrupt, 5=Campaign, 6=Action", - "required": true, + "in": "query", + "description": "Filter grid by eventTypeId. 1=Layout, 2=Command, 3=Overlay, 4=Interrupt, 5=Campaign, 6=Action, 7=Media Library, 8=Playlist", + "required": false, "type": "integer" }, { - "name": "campaignId", - "in": "formData", - "description": "The Campaign ID to use for this Event. If a Layout is needed then the Campaign specific ID for that Layout should be used.", + "name": "fromDt", + "in": "query", + "description": "From Date in Y-m-d H:i:s format", "required": false, - "type": "integer" + "type": "string" }, { - "name": "commandId", - "in": "formData", - "description": "The Command ID to use for this Event.", + "name": "toDt", + "in": "query", + "description": "To Date in Y-m-d H:i:s format", "required": false, - "type": "integer" + "type": "string" + }, + { + "name": "geoAware", + "in": "query", + "description": "Flag (0-1), whether to return events using Geo Location", + "required": false, + "type": "integer" + }, + { + "name": "recurring", + "in": "query", + "description": "Flag (0-1), whether to return Recurring events", + "required": false, + "type": "integer" + }, + { + "name": "campaignId", + "in": "query", + "description": "Filter events by specific campaignId", + "required": false, + "type": "integer" + }, + { + "name": "displayGroupIds", + "in": "query", + "description": "Filter events by an array of Display Group Ids", + "required": false, + "type": "array" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Schedule" + } + } + } + } + }, + "post": { + "tags": [ + "schedule" + ], + "summary": "Add Schedule Event", + "description": "Add a new scheduled event for a Campaign/Layout to be shown on a Display Group/Display.", + "operationId": "scheduleAdd", + "parameters": [ + { + "name": "eventTypeId", + "in": "formData", + "description": "The Event Type Id to use for this Event. 1=Layout, 2=Command, 3=Overlay, 4=Interrupt, 5=Campaign, 6=Action, 7=Media Library, 8=Playlist", + "required": true, + "type": "integer" + }, + { + "name": "campaignId", + "in": "formData", + "description": "The Campaign ID to use for this Event. If a Layout is needed then the Campaign specific ID for that Layout should be used.", + "required": false, + "type": "integer" + }, + { + "name": "fullScreenCampaignId", + "in": "formData", + "description": "For Media or Playlist eventyType. The Layout specific Campaign ID to use for this Event. This needs to be the Layout created with layout/fullscreen function", + "required": false, + "type": "integer" + }, + { + "name": "commandId", + "in": "formData", + "description": "The Command ID to use for this Event.", + "required": false, + "type": "integer" }, { "name": "displayOrder", @@ -8928,171 +9063,145 @@ } } }, - "/tag": { + "/syncgroups": { "get": { "tags": [ - "tags" + "syncGroup" ], - "summary": "Search Tags", - "description": "Search for Tags viewable by this user", - "operationId": "tagSearch", + "summary": "Get Sync Groups", + "operationId": "syncGroupSearch", "parameters": [ { - "name": "tagId", + "name": "syncGroupId", "in": "query", - "description": "Filter by Tag Id", + "description": "Filter by syncGroup Id", "required": false, "type": "integer" }, { - "name": "tag", - "in": "query", - "description": "Filter by partial Tag", - "required": false, - "type": "string" - }, - { - "name": "exactTag", + "name": "name", "in": "query", - "description": "Filter by exact Tag", + "description": "Filter by syncGroup Name", "required": false, "type": "string" }, { - "name": "isSystem", - "in": "query", - "description": "Filter by isSystem flag", - "required": false, - "type": "integer" - }, - { - "name": "isRequired", + "name": "ownerId", "in": "query", - "description": "Filter by isRequired flag", + "description": "Filter by Owner ID", "required": false, "type": "integer" }, { - "name": "haveOptions", + "name": "folderId", "in": "query", - "description": "Set to 1 to show only results that have options set", + "description": "Filter by Folder ID", "required": false, "type": "integer" } ], "responses": { "200": { - "description": "successful operation", + "description": "a successful response", "schema": { "type": "array", "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/SyncGroup" + } + }, + "headers": { + "X-Total-Count": { + "description": "The total number of records", + "type": "integer" } } } } - }, + } + }, + "/syncgroup/add": { "post": { "tags": [ - "tags" + "syncGroup" ], - "summary": "Add a new Tag", - "description": "Add a new Tag", - "operationId": "tagAdd", + "summary": "Add a Sync Group", + "description": "Add a new Sync Group to the CMS", + "operationId": "syncGroupAdd", "parameters": [ { "name": "name", "in": "formData", - "description": "Tag name", - "required": false, + "description": "The Sync Group Name", + "required": true, "type": "string" }, { - "name": "isRequired", + "name": "syncPublisherPort", "in": "formData", - "description": "A flag indicating whether value selection on assignment is required", + "description": "The publisher port number on which sync group members will communicate - default 9590", "required": false, "type": "integer" }, { - "name": "options", + "name": "folderId", "in": "formData", - "description": "A comma separated string of Tag options", + "description": "Folder ID to which this object should be assigned to", "required": false, - "type": "string" + "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/DisplayGroup" + }, + "headers": { + "Location": { + "description": "Location of the new DisplayGroup", + "type": "string" } } } } } }, - "/tag/{tagId}": { - "put": { + "/syncgroup/{syncGroupId}/members": { + "post": { "tags": [ - "tags" + "syncGroup" ], - "summary": "Edit existing Tag", - "description": "Edit existing Tag", - "operationId": "tagEdit", + "summary": "Assign one or more Displays to a Sync Group", + "description": "Adds the provided Displays to the Sync Group", + "operationId": "syncGroupMembers", "parameters": [ { - "name": "name", - "in": "formData", - "description": "Tag name", - "required": false, - "type": "string" + "name": "syncGroupId", + "in": "path", + "description": "The Sync Group to assign to", + "required": true, + "type": "integer" }, { - "name": "isRequired", + "name": "displayId", "in": "formData", - "description": "A flag indicating whether value selection on assignment is required", - "required": false, - "type": "integer" + "description": "The Display Ids to assign", + "required": true, + "type": "array", + "items": { + "type": "integer" + } }, { - "name": "options", + "name": "unassignDisplayId", "in": "formData", - "description": "A comma separated string of Tag options", + "description": "An optional array of Display IDs to unassign", "required": false, - "type": "string" - } - ], - "responses": { - "201": { - "description": "successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/Tag" - } + "type": "array", + "items": { + "type": "integer" } } - } - }, - "delete": { - "tags": [ - "tags" - ], - "summary": "Delete Tag", - "description": "Delete a Tag", - "operationId": "tagDelete", - "parameters": [ - { - "name": "tagId", - "in": "path", - "description": "The Tag ID to delete", - "required": true, - "type": "integer" - } ], "responses": { "204": { @@ -9101,72 +9210,60 @@ } } }, - "/template": { - "get": { - "tags": [ - "template" - ], - "summary": "Template Search", - "description": "Search templates this user has access to", - "operationId": "templateSearch", - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/Layout" - } - } - } - } - }, + "/syncgroup/{syncGroupId}/edit": { "post": { "tags": [ - "template" + "syncGroup" ], - "summary": "Add a Template", - "description": "Add a new Template to the CMS", - "operationId": "templateAdd", + "summary": "Edit a Sync Group", + "description": "Edit an existing Sync Group", + "operationId": "syncGroupEdit", "parameters": [ + { + "name": "syncGroupId", + "in": "path", + "description": "The Sync Group to assign to", + "required": true, + "type": "integer" + }, { "name": "name", "in": "formData", - "description": "The layout name", + "description": "The Sync Group Name", "required": true, "type": "string" }, { - "name": "description", + "name": "syncPublisherPort", "in": "formData", - "description": "The layout description", + "description": "The publisher port number on which sync group members will communicate - default 9590", "required": false, - "type": "string" + "type": "integer" }, { - "name": "resolutionId", + "name": "leadDisplayId", "in": "formData", - "description": "If a Template is not provided, provide the resolutionId for this Layout.", - "required": false, + "description": "The ID of the Display that belongs to this Sync Group and should act as a Lead Display", + "required": true, "type": "integer" }, { - "name": "returnDraft", + "name": "folderId", "in": "formData", - "description": "Should we return the Draft Layout or the Published Layout on Success?", + "description": "Folder ID to which this object should be assigned to", "required": false, - "type": "boolean" + "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { - "$ref": "#/definitions/Layout" + "$ref": "#/definitions/DisplayGroup" }, "headers": { "Location": { - "description": "Location of the new record", + "description": "Location of the new DisplayGroup", "type": "string" } } @@ -9174,140 +9271,114 @@ } } }, - "/template/search": { - "get": { + "/syncgroup/{syncGroupId}/delete": { + "delete": { "tags": [ - "template" + "syncGroup" + ], + "summary": "Delete a Sync Group", + "description": "Delete an existing Sync Group identified by its Id", + "operationId": "syncGroupDelete", + "parameters": [ + { + "name": "syncGroupId", + "in": "path", + "description": "The syncGroupId to delete", + "required": true, + "type": "integer" + } ], - "summary": "Template Search All", - "description": "Search all templates from local and connectors", - "operationId": "templateSearchAll", "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/SearchResult" - } - } + "204": { + "description": "successful operation" } } } }, - "/template/{layoutId}": { - "post": { + "/syncgroup/{syncGroupId}/displays": { + "get": { "tags": [ - "template" + "syncGroup" ], - "summary": "Add a template from a Layout", - "description": "Use the provided layout as a base for a new template", - "operationId": "template.add.from.layout", + "summary": "Get members of this sync group", + "operationId": "syncGroupDisplays", "parameters": [ { - "name": "layoutId", + "name": "syncGroupId", "in": "path", - "description": "The Layout ID", - "required": true, - "type": "integer" - }, - { - "name": "includeWidgets", - "in": "formData", - "description": "Flag indicating whether to include the widgets in the Template", + "description": "The syncGroupId to delete", "required": true, "type": "integer" }, { - "name": "name", - "in": "formData", - "description": "The Template Name", - "required": true, - "type": "string" - }, - { - "name": "tags", - "in": "formData", - "description": "Comma separated list of Tags for the template", - "required": false, - "type": "string" - }, - { - "name": "description", - "in": "formData", - "description": "A description of the Template", + "name": "eventId", + "in": "query", + "description": "Filter by event ID - return will include Layouts Ids scheduled against each group member", "required": false, - "type": "string" - } - ], - "responses": { - "201": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/Layout" - }, - "headers": { - "Location": { - "description": "Location of the new record", - "type": "string" - } - } + "type": "integer" } - } - } - }, - "/user/me": { - "get": { - "tags": [ - "user" ], - "summary": "Get Me", - "description": "Get my details", - "operationId": "userMe", "responses": { "200": { - "description": "successful operation", + "description": "a successful response", "schema": { - "$ref": "#/definitions/User" + "type": "array", + "items": { + "$ref": "#/definitions/SyncGroup" + } } } } } }, - "/user": { + "/tag": { "get": { "tags": [ - "user" + "tags" ], - "summary": "User Search", - "description": "Search users", - "operationId": "userSearch", + "summary": "Search Tags", + "description": "Search for Tags viewable by this user", + "operationId": "tagSearch", "parameters": [ { - "name": "userId", + "name": "tagId", "in": "query", - "description": "Filter by User Id", + "description": "Filter by Tag Id", "required": false, "type": "integer" }, { - "name": "userName", + "name": "tag", "in": "query", - "description": "Filter by User Name", + "description": "Filter by partial Tag", "required": false, "type": "string" }, { - "name": "userTypeId", + "name": "exactTag", "in": "query", - "description": "Filter by UserType Id", + "description": "Filter by exact Tag", + "required": false, + "type": "string" + }, + { + "name": "isSystem", + "in": "query", + "description": "Filter by isSystem flag", "required": false, "type": "integer" }, { - "name": "retired", + "name": "isRequired", "in": "query", - "description": "Filter by Retired", + "description": "Filter by isRequired flag", + "required": false, + "type": "integer" + }, + { + "name": "haveOptions", + "in": "query", + "description": "Set to 1 to show only results that have options set", "required": false, "type": "integer" } @@ -9318,7 +9389,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/definitions/User" + "$ref": "#/definitions/Tag" } } } @@ -9326,315 +9397,85 @@ }, "post": { "tags": [ - "user" + "tags" ], - "summary": "Add User", - "description": "Add a new User", - "operationId": "userAdd", + "summary": "Add a new Tag", + "description": "Add a new Tag", + "operationId": "tagAdd", "parameters": [ { - "name": "userName", - "in": "formData", - "description": "The User Name", - "required": true, - "type": "string" - }, - { - "name": "email", + "name": "name", "in": "formData", - "description": "The user email address", + "description": "Tag name", "required": false, "type": "string" }, { - "name": "userTypeId", - "in": "formData", - "description": "The user type ID", - "required": true, - "type": "integer" - }, - { - "name": "homePageId", - "in": "formData", - "description": "The homepage to use for this User", - "required": true, - "type": "integer" - }, - { - "name": "libraryQuota", + "name": "isRequired", "in": "formData", - "description": "The users library quota in kilobytes", + "description": "A flag indicating whether value selection on assignment is required", "required": false, "type": "integer" }, { - "name": "password", - "in": "formData", - "description": "The users password", - "required": true, - "type": "string" - }, - { - "name": "groupId", - "in": "formData", - "description": "The inital user group for this User", - "required": true, - "type": "integer" - }, - { - "name": "firstName", - "in": "formData", - "description": "The users first name", - "required": false, - "type": "string" - }, - { - "name": "lastName", - "in": "formData", - "description": "The users last name", - "required": false, - "type": "string" - }, - { - "name": "phone", - "in": "formData", - "description": "The users phone number", - "required": false, - "type": "string" - }, - { - "name": "ref1", - "in": "formData", - "description": "Reference 1", - "required": false, - "type": "string" - }, - { - "name": "ref2", - "in": "formData", - "description": "Reference 2", - "required": false, - "type": "string" - }, - { - "name": "ref3", - "in": "formData", - "description": "Reference 3", - "required": false, - "type": "string" - }, - { - "name": "ref4", - "in": "formData", - "description": "Reference 4", - "required": false, - "type": "string" - }, - { - "name": "ref5", + "name": "options", "in": "formData", - "description": "Reference 5", + "description": "A comma separated string of Tag options", "required": false, "type": "string" - }, - { - "name": "newUserWizard", - "in": "formData", - "description": "Flag indicating whether to show the new user guide", - "required": true, - "type": "integer" - }, - { - "name": "hideNavigation", - "in": "formData", - "description": "Flag indicating whether to hide the navigation", - "required": true, - "type": "integer" - }, - { - "name": "isPasswordChangeRequired", - "in": "formData", - "description": "A flag indicating whether password change should be forced for this user", - "required": false, - "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { - "$ref": "#/definitions/User" - }, - "headers": { - "Location": { - "description": "Location of the new record", - "type": "string" + "type": "array", + "items": { + "$ref": "#/definitions/Tag" } } } } } }, - "/user/{userId}": { + "/tag/{tagId}": { "put": { "tags": [ - "user" + "tags" ], - "summary": "Edit User", - "description": "Edit existing User", - "operationId": "userEdit", + "summary": "Edit existing Tag", + "description": "Edit existing Tag", + "operationId": "tagEdit", "parameters": [ { - "name": "userId", - "in": "path", - "description": "The user ID to edit", - "required": true, - "type": "integer" - }, - { - "name": "userName", - "in": "formData", - "description": "The User Name", - "required": true, - "type": "string" - }, - { - "name": "email", - "in": "formData", - "description": "The user email address", - "required": false, - "type": "string" - }, - { - "name": "userTypeId", - "in": "formData", - "description": "The user type ID", - "required": true, - "type": "integer" - }, - { - "name": "homePageId", - "in": "formData", - "description": "The homepage to use for this User", - "required": true, - "type": "integer" - }, - { - "name": "libraryQuota", - "in": "formData", - "description": "The users library quota in kilobytes", - "required": false, - "type": "integer" - }, - { - "name": "newPassword", - "in": "formData", - "description": "New User password", - "required": false, - "type": "string" - }, - { - "name": "retypeNewPassword", + "name": "name", "in": "formData", - "description": "Repeat the new User password", + "description": "Tag name", "required": false, "type": "string" }, { - "name": "retired", + "name": "isRequired", "in": "formData", - "description": "Flag indicating whether to retire this user", + "description": "A flag indicating whether value selection on assignment is required", "required": false, "type": "integer" }, { - "name": "firstName", - "in": "formData", - "description": "The users first name", - "required": false, - "type": "string" - }, - { - "name": "lastName", - "in": "formData", - "description": "The users last name", - "required": false, - "type": "string" - }, - { - "name": "phone", - "in": "formData", - "description": "The users phone number", - "required": false, - "type": "string" - }, - { - "name": "ref1", - "in": "formData", - "description": "Reference 1", - "required": false, - "type": "string" - }, - { - "name": "ref2", - "in": "formData", - "description": "Reference 2", - "required": false, - "type": "string" - }, - { - "name": "ref3", - "in": "formData", - "description": "Reference 3", - "required": false, - "type": "string" - }, - { - "name": "ref4", - "in": "formData", - "description": "Reference 4", - "required": false, - "type": "string" - }, - { - "name": "ref5", + "name": "options", "in": "formData", - "description": "Reference 5", + "description": "A comma separated string of Tag options", "required": false, "type": "string" - }, - { - "name": "newUserWizard", - "in": "formData", - "description": "Flag indicating whether to show the new user guide", - "required": true, - "type": "integer" - }, - { - "name": "hideNavigation", - "in": "formData", - "description": "Flag indicating whether to hide the navigation", - "required": true, - "type": "integer" - }, - { - "name": "isPasswordChangeRequired", - "in": "formData", - "description": "A flag indicating whether password change should be forced for this user", - "required": false, - "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { - "$ref": "#/definitions/User" - }, - "headers": { - "Location": { - "description": "Location of the new record", - "type": "string" + "type": "array", + "items": { + "$ref": "#/definitions/Tag" } } } @@ -9642,78 +9483,42 @@ }, "delete": { "tags": [ - "user" + "tags" ], - "summary": "User Delete", - "description": "Delete user", - "operationId": "userDelete", + "summary": "Delete Tag", + "description": "Delete a Tag", + "operationId": "tagDelete", "parameters": [ { - "name": "userId", + "name": "tagId", "in": "path", - "description": "Id of the user to delete", + "description": "The Tag ID to delete", "required": true, "type": "integer" - }, - { - "name": "deleteAllItems", - "in": "formData", - "description": "Flag indicating whether to delete all items owned by that user", - "required": false, - "type": "integer" - }, - { - "name": "reassignUserId", - "in": "formData", - "description": "Reassign all items owned by this user to the specified user ID", - "required": false, - "type": "integer" } ], "responses": { "204": { - "description": "successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/User" - } - } + "description": "successful operation" } } } }, - "/user/permissions/{entity}/{objectId}": { + "/template": { "get": { "tags": [ - "user" - ], - "summary": "Permission Data", - "description": "Permission data for the Entity and Object Provided.", - "operationId": "userPermissionsSearch", - "parameters": [ - { - "name": "entity", - "in": "path", - "description": "The Entity", - "required": true, - "type": "string" - }, - { - "name": "objectId", - "in": "path", - "description": "The ID of the Object to return permissions for", - "required": true, - "type": "integer" - } + "template" ], + "summary": "Template Search", + "description": "Search templates this user has access to", + "operationId": "templateSearch", "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { - "$ref": "#/definitions/Permission" + "$ref": "#/definitions/Layout" } } } @@ -9721,253 +9526,193 @@ }, "post": { "tags": [ - "user" + "template" ], - "summary": "Permission Set", - "description": "Set Permissions to users/groups for the provided entity.", - "operationId": "userPermissionsSet", + "summary": "Add a Template", + "description": "Add a new Template to the CMS", + "operationId": "templateAdd", "parameters": [ { - "name": "entity", - "in": "path", - "description": "The Entity", + "name": "name", + "in": "formData", + "description": "The layout name", "required": true, "type": "string" }, { - "name": "objectId", - "in": "path", - "description": "The ID of the Object to set permissions on", - "required": true, - "type": "integer" + "name": "description", + "in": "formData", + "description": "The layout description", + "required": false, + "type": "string" }, { - "name": "groupIds", + "name": "resolutionId", "in": "formData", - "description": "Array of permissions with groupId as the key", - "required": true, - "type": "array", - "items": { - "type": "string" - } + "description": "If a Template is not provided, provide the resolutionId for this Layout.", + "required": false, + "type": "integer" }, { - "name": "ownerId", + "name": "returnDraft", "in": "formData", - "description": "Change the owner of this item. Leave empty to keep the current owner", + "description": "Should we return the Draft Layout or the Published Layout on Success?", "required": false, - "type": "integer" + "type": "boolean" } ], "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/user/permissions/{entity}": { + "201": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Layout" + }, + "headers": { + "Location": { + "description": "Location of the new record", + "type": "string" + } + } + } + } + } + }, + "/template/search": { "get": { "tags": [ - "user" - ], - "summary": "Permission Data", - "description": "Permission data for the multiple Entities and Objects Provided.", - "operationId": "userPermissionsMultiSearch", - "parameters": [ - { - "name": "entity", - "in": "path", - "description": "The Entity", - "required": true, - "type": "string" - }, - { - "name": "ids", - "in": "query", - "description": "The IDs of the Objects to return permissions for", - "required": true, - "type": "string" - } + "template" ], + "summary": "Template Search All", + "description": "Search all templates from local and connectors", + "operationId": "templateSearchAll", "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { - "$ref": "#/definitions/Permission" + "$ref": "#/definitions/SearchResult" } } } } } }, - "/user/permissions/{entity}/multiple": { + "/template/{layoutId}": { "post": { "tags": [ - "user" + "template" ], - "summary": "Multiple Permission Set", - "description": "Set Permissions to users/groups for multiple provided entities.", - "operationId": "userPermissionsMultiSet", + "summary": "Add a template from a Layout", + "description": "Use the provided layout as a base for a new template", + "operationId": "template.add.from.layout", "parameters": [ { - "name": "entity", + "name": "layoutId", "in": "path", - "description": "The Entity type", + "description": "The Layout ID", "required": true, - "type": "string" + "type": "integer" }, { - "name": "ids", + "name": "includeWidgets", "in": "formData", - "description": "Array of object IDs", + "description": "Flag indicating whether to include the widgets in the Template", "required": true, "type": "integer" }, { - "name": "groupIds", + "name": "name", "in": "formData", - "description": "Array of permissions with groupId as the key", + "description": "The Template Name", "required": true, - "type": "array", - "items": { - "type": "string" - } + "type": "string" }, { - "name": "ownerId", + "name": "tags", "in": "formData", - "description": "Change the owner of this item. Leave empty to keep the current owner", + "description": "Comma separated list of Tags for the template", "required": false, - "type": "integer" + "type": "string" + }, + { + "name": "description", + "in": "formData", + "description": "A description of the Template", + "required": false, + "type": "string" } ], "responses": { - "204": { - "description": "successful operation" + "201": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Layout" + }, + "headers": { + "Location": { + "description": "Location of the new record", + "type": "string" + } + } } } } }, - "/user/pref": { + "/user/me": { "get": { "tags": [ "user" ], - "summary": "Retrieve User Preferences", - "description": "User preferences for non-state information, such as Layout designer zoom levels", - "operationId": "userPrefGet", - "parameters": [ - { - "name": "preference", - "in": "query", - "description": "An optional preference", - "required": false, - "type": "string" - } - ], + "summary": "Get Me", + "description": "Get my details", + "operationId": "userMe", "responses": { "200": { - "description": "successful response", + "description": "successful operation", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/UserOption" - } + "$ref": "#/definitions/User" } } } - }, - "put": { + } + }, + "/user": { + "get": { "tags": [ "user" ], - "summary": "Save User Preferences", - "description": "Save User preferences from the Preferences form.", - "operationId": "userPrefEditFromForm", + "summary": "User Search", + "description": "Search users", + "operationId": "userSearch", "parameters": [ { - "name": "navigationMenuPosition", - "in": "formData", - "required": true, - "type": "string" - }, - { - "name": "useLibraryDuration", - "in": "formData", + "name": "userId", + "in": "query", + "description": "Filter by User Id", "required": false, "type": "integer" }, { - "name": "showThumbnailColumn", - "in": "formData", + "name": "userName", + "in": "query", + "description": "Filter by User Name", "required": false, - "type": "integer" + "type": "string" }, { - "name": "rememberFolderTreeStateGlobally", - "in": "formData", - "required": false, - "type": "integer" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - }, - "post": { - "tags": [ - "user" - ], - "summary": "Save User Preferences", - "description": "Save User preferences for non-state information, such as Layout designer zoom levels", - "operationId": "userPrefEdit", - "parameters": [ - { - "name": "preference", - "in": "body", - "required": true, - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/UserOption" - } - } - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/group": { - "get": { - "tags": [ - "usergroup" - ], - "summary": "UserGroup Search", - "description": "Search User Groups", - "operationId": "userGroupSearch", - "parameters": [ - { - "name": "userGroupId", + "name": "userTypeId", "in": "query", - "description": "Filter by UserGroup Id", + "description": "Filter by UserType Id", "required": false, "type": "integer" }, { - "name": "userGroup", + "name": "retired", "in": "query", - "description": "Filter by UserGroup Name", + "description": "Filter by Retired", "required": false, - "type": "string" + "type": "integer" } ], "responses": { @@ -9976,7 +9721,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/definitions/UserGroup" + "$ref": "#/definitions/User" } } } @@ -9984,290 +9729,135 @@ }, "post": { "tags": [ - "usergroup" + "user" ], - "summary": "UserGroup Add", - "description": "Add User Group", - "operationId": "userGroupAdd", + "summary": "Add User", + "description": "Add a new User", + "operationId": "userAdd", "parameters": [ { - "name": "group", + "name": "userName", "in": "formData", - "description": "Name of the User Group", + "description": "The User Name", "required": true, "type": "string" }, { - "name": "decription", + "name": "email", "in": "formData", - "description": "A description of the User Group", + "description": "The user email address", "required": false, "type": "string" }, { - "name": "libraryQuota", + "name": "userTypeId", "in": "formData", - "description": "The quota that should be applied (KiB). Provide 0 for no quota", - "required": false, - "type": "string" + "description": "The user type ID", + "required": true, + "type": "integer" }, { - "name": "isSystemNotification", + "name": "homePageId", "in": "formData", - "description": "Flag (0, 1), should members of this Group receive system notifications?", - "required": false, + "description": "The homepage to use for this User", + "required": true, "type": "integer" }, { - "name": "isDisplayNotification", + "name": "libraryQuota", "in": "formData", - "description": "Flag (0, 1), should members of this Group receive Display notifications for Displays they have permissions to see", + "description": "The users library quota in kilobytes", "required": false, "type": "integer" }, { - "name": "isShownForAddUser", + "name": "password", "in": "formData", - "description": "Flag (0, 1), should this Group be shown in the Add User onboarding form.", - "required": false, - "type": "integer" + "description": "The users password", + "required": true, + "type": "string" }, { - "name": "defaultHomePageId", + "name": "groupId", "in": "formData", - "description": "If this user has been created via the onboarding form, this should be the default home page", - "required": false, - "type": "integer" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/UserGroup" - } - } - } - } - } - }, - "/group/{userGroupId}": { - "put": { - "tags": [ - "usergroup" - ], - "summary": "UserGroup Edit", - "description": "Edit User Group", - "operationId": "userGroupEdit", - "parameters": [ - { - "name": "userGroupId", - "in": "path", - "description": "ID of the User Group", + "description": "The inital user group for this User", "required": true, "type": "integer" }, { - "name": "group", + "name": "firstName", "in": "formData", - "description": "Name of the User Group", - "required": true, + "description": "The users first name", + "required": false, "type": "string" }, { - "name": "decription", + "name": "lastName", "in": "formData", - "description": "A description of the User Group", + "description": "The users last name", "required": false, "type": "string" }, { - "name": "libraryQuota", + "name": "phone", "in": "formData", - "description": "The quota that should be applied (KiB). Provide 0 for no quota", + "description": "The users phone number", "required": false, "type": "string" }, { - "name": "isSystemNotification", + "name": "ref1", "in": "formData", - "description": "Flag (0, 1), should members of this Group receive system notifications?", + "description": "Reference 1", "required": false, - "type": "integer" + "type": "string" }, { - "name": "isDisplayNotification", + "name": "ref2", "in": "formData", - "description": "Flag (0, 1), should members of this Group receive Display notifications for Displays they have permissions to see", + "description": "Reference 2", "required": false, - "type": "integer" + "type": "string" }, { - "name": "isShownForAddUser", + "name": "ref3", "in": "formData", - "description": "Flag (0, 1), should this Group be shown in the Add User onboarding form.", + "description": "Reference 3", "required": false, - "type": "integer" + "type": "string" }, { - "name": "defaultHomePageId", + "name": "ref4", "in": "formData", - "description": "If this user has been created via the onboarding form, this should be the default home page", + "description": "Reference 4", "required": false, - "type": "integer" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/UserGroup" - } - } - } - } - }, - "delete": { - "tags": [ - "usergroup" - ], - "summary": "Delete User Group", - "description": "Delete User Group", - "operationId": "userGroupDelete", - "parameters": [ - { - "name": "userGroupId", - "in": "path", - "description": "The user Group ID to Delete", - "required": true, - "type": "integer" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/group/members/assign/{userGroupId}": { - "post": { - "tags": [ - "usergroup" - ], - "summary": "Assign User to User Group", - "description": "Assign User to User Group", - "operationId": "userGroupAssign", - "parameters": [ - { - "name": "userGroupId", - "in": "path", - "description": "ID of the user group to which assign the user", - "required": true, - "type": "integer" + "type": "string" }, { - "name": "userId", + "name": "ref5", "in": "formData", - "description": "Array of userIDs to assign", - "required": true, - "type": "array", - "items": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/UserGroup" - } - } - } - } - } - }, - "/group/members/unassign/{userGroupId}": { - "post": { - "tags": [ - "usergroup" - ], - "summary": "Unassign User from User Group", - "description": "Unassign User from User Group", - "operationId": "userGroupUnassign", - "parameters": [ - { - "name": "userGroupId", - "in": "path", - "description": "ID of the user group from which to unassign the user", - "required": true, - "type": "integer" + "description": "Reference 5", + "required": false, + "type": "string" }, { - "name": "userId", + "name": "newUserWizard", "in": "formData", - "description": "Array of userIDs to unassign", - "required": true, - "type": "array", - "items": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/UserGroup" - } - } - } - } - } - }, - "/group/{userGroupId}/copy": { - "post": { - "tags": [ - "usergroup" - ], - "summary": "Copy User Group", - "description": "Copy an user group, optionally copying the group members", - "operationId": "userGroupCopy", - "parameters": [ - { - "name": "userGroupId", - "in": "path", - "description": "The User Group ID to Copy", + "description": "Flag indicating whether to show the new user guide", "required": true, "type": "integer" }, { - "name": "group", + "name": "hideNavigation", "in": "formData", - "description": "The Group Name", + "description": "Flag indicating whether to hide the navigation", "required": true, - "type": "string" - }, - { - "name": "copyMembers", - "in": "formData", - "description": "Flag indicating whether to copy group members", - "required": false, "type": "integer" }, { - "name": "copyFeatures", + "name": "isPasswordChangeRequired", "in": "formData", - "description": "Flag indicating whether to copy group features", + "description": "A flag indicating whether password change should be forced for this user", "required": false, "type": "integer" } @@ -10276,7 +9866,7 @@ "201": { "description": "successful operation", "schema": { - "$ref": "#/definitions/UserGroup" + "$ref": "#/definitions/User" }, "headers": { "Location": { @@ -10288,3374 +9878,286 @@ } } }, - "/playlist/widget/{widgetId}?agenda": { + "/user/{userId}": { "put": { "tags": [ - "widget" + "user" ], - "summary": "Edit an Agenda Widget", - "description": "Edit an Agenda Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "widgetCalendarEdit", + "summary": "Edit User", + "description": "Edit existing User", + "operationId": "userEdit", "parameters": [ { - "name": "widgetId", + "name": "userId", "in": "path", - "description": "The WidgetId to Edit", + "description": "The user ID to edit", "required": true, "type": "integer" }, { - "name": "name", + "name": "userName", "in": "formData", - "description": "Optional Widget Name", - "required": false, + "description": "The User Name", + "required": true, "type": "string" }, { - "name": "duration", + "name": "email", "in": "formData", - "description": "The Widget Duration", + "description": "The user email address", "required": false, + "type": "string" + }, + { + "name": "userTypeId", + "in": "formData", + "description": "The user type ID", + "required": true, "type": "integer" }, { - "name": "useDuration", + "name": "homePageId", + "in": "formData", + "description": "The homepage to use for this User", + "required": true, + "type": "integer" + }, + { + "name": "libraryQuota", "in": "formData", - "description": "Select 1 only if you will provide duration parameter as well", + "description": "The users library quota in kilobytes", "required": false, "type": "integer" }, { - "name": "enableStat", + "name": "newPassword", "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", + "description": "New User password", "required": false, "type": "string" }, { - "name": "uri", - "in": "formData", - "description": "The Link for the iCal Feed", - "required": true, - "type": "string" - }, - { - "name": "customInterval", - "in": "formData", - "description": "Using natural language enter a string representing the period for which events should be returned, for example 2 days or 1 week.", - "required": false, - "type": "string" - }, - { - "name": "dateFormat", + "name": "retypeNewPassword", "in": "formData", - "description": "The date format to apply to all dates returned", + "description": "Repeat the new User password", "required": false, "type": "string" }, { - "name": "numItems", - "in": "formData", - "description": "he number of items you want to display", - "required": false, - "type": "integer" - }, - { - "name": "itemsPerPage", + "name": "retired", "in": "formData", - "description": "When in single mode, how many items per page should be shown", + "description": "Flag indicating whether to retire this user", "required": false, "type": "integer" }, { - "name": "effect", + "name": "firstName", "in": "formData", - "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind", + "description": "The users first name", "required": false, "type": "string" }, { - "name": "durationIsPerItem", - "in": "formData", - "description": "A flag (0, 1), The duration specified is per page/item, otherwise the widget duration is divided between the number of pages/items", - "required": false, - "type": "integer" - }, - { - "name": "itemsSideBySide", - "in": "formData", - "description": "A flag (0, 1), Should items be shown side by side", - "required": false, - "type": "integer" - }, - { - "name": "useCurrentTemplate", - "in": "formData", - "description": "A flag (0, 1), Should current event use different template?", - "required": false, - "type": "integer" - }, - { - "name": "excludeOnlyCurrent", - "in": "formData", - "description": "A flag (0, 1), Exclude no current events results?", - "required": false, - "type": "integer" - }, - { - "name": "excludeCurrent", - "in": "formData", - "description": "A flag (0, 1), Exclude current event from results?", - "required": false, - "type": "integer" - }, - { - "name": "excludeAllDay", - "in": "formData", - "description": "A flag (0, 1), Exclude all day events from results?", - "required": false, - "type": "integer" - }, - { - "name": "updateInterval", - "in": "formData", - "description": "Update interval in minutes", - "required": false, - "type": "integer" - }, - { - "name": "template", + "name": "lastName", "in": "formData", - "description": "Template to use", + "description": "The users last name", "required": false, "type": "string" }, { - "name": "template_advanced", + "name": "phone", "in": "formData", - "description": "A flag (0, 1), Should text area by presented as a visual editor?", + "description": "The users phone number", "required": false, - "type": "integer" + "type": "string" }, { - "name": "currentEventTemplate", + "name": "ref1", "in": "formData", - "description": "Template to use for current Event", + "description": "Reference 1", "required": false, "type": "string" }, { - "name": "currentEventTemplate_advanced", + "name": "ref2", "in": "formData", - "description": "A flag (0, 1), Should text area by presented as a visual editor?", + "description": "Reference 2", "required": false, - "type": "integer" + "type": "string" }, { - "name": "noDataMessage", + "name": "ref3", "in": "formData", - "description": "Message to show when no notifications are available", + "description": "Reference 3", "required": false, "type": "string" }, { - "name": "noDataMessage_advanced", + "name": "ref4", "in": "formData", - "description": "A flag (0, 1), Should text area by presented as a visual editor?", + "description": "Reference 4", "required": false, - "type": "integer" + "type": "string" }, { - "name": "styleSheet", + "name": "ref5", "in": "formData", - "description": "Optional StyleSheet", + "description": "Reference 5", "required": false, "type": "string" }, { - "name": "useEventTimezone", + "name": "newUserWizard", "in": "formData", - "description": "A flag (0,1), Should we use Event Timezone?", - "required": false, + "description": "Flag indicating whether to show the new user guide", + "required": true, "type": "integer" }, { - "name": "useCalendarTimezone", + "name": "hideNavigation", "in": "formData", - "description": "A flag (0,1), Should we use Calendar Timezone?", - "required": false, + "description": "Flag indicating whether to hide the navigation", + "required": true, "type": "integer" }, { - "name": "windowsFormatCalendar", + "name": "isPasswordChangeRequired", "in": "formData", - "description": "Does the calendar feed come from Windows - if unsure leave unselected.", + "description": "A flag indicating whether password change should be forced for this user", "required": false, "type": "integer" - }, + } + ], + "responses": { + "201": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/User" + }, + "headers": { + "Location": { + "description": "Location of the new record", + "type": "string" + } + } + } + } + }, + "delete": { + "tags": [ + "user" + ], + "summary": "User Delete", + "description": "Delete user", + "operationId": "userDelete", + "parameters": [ { - "name": "useDateRange", - "in": "formData", - "description": "Should we look for events with provided date range?", - "required": false, + "name": "userId", + "in": "path", + "description": "Id of the user to delete", + "required": true, "type": "integer" }, { - "name": "rangeStart", - "in": "formData", - "description": "Date in Y-m-d H:i:s", - "required": false, - "type": "string" - }, - { - "name": "rangeEnd", - "in": "formData", - "description": "Date in Y-m-d H:i:s", - "required": false, - "type": "string" - }, - { - "name": "noEventTrigger", - "in": "formData", - "description": "Trigger code for a no event action", - "required": false, - "type": "string" - }, - { - "name": "currentEventTrigger", + "name": "deleteAllItems", "in": "formData", - "description": "Trigger code for a current event action", + "description": "Flag indicating whether to delete all items owned by that user", "required": false, - "type": "string" + "type": "integer" }, { - "name": "backgroundColor", + "name": "reassignUserId", "in": "formData", - "description": "A HEX color to use as the background color of this widget", + "description": "Reassign all items owned by this user to the specified user ID", "required": false, - "type": "string" + "type": "integer" } ], "responses": { "204": { - "description": "successful operation" + "description": "successful operation", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/User" + } + } } } } }, - "/playlist/widget/{widgetId}?audio": { - "put": { + "/user/permissions/{entity}/{objectId}": { + "get": { "tags": [ - "widget" + "user" ], - "summary": "Parameters for editing existing audio widget on a layout", - "description": "For uploading new audio files, please refer to POST /library documentation.\n * For assigning existing audio file to a Playlist please see POST /playlist/library/assign/{playlistId} documentation.\n * This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetAudioEdit", + "summary": "Permission Data", + "description": "Permission data for the Entity and Object Provided.", + "operationId": "userPermissionsSearch", "parameters": [ { - "name": "widgetId", + "name": "entity", "in": "path", - "description": "The Widget ID", + "description": "The Entity", "required": true, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "Edit Only - (0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "duration", - "in": "formData", - "description": "Edit Only - The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Edit Only - The Widget name", - "required": false, "type": "string" }, { - "name": "mute", - "in": "formData", - "description": "Edit only - Flag (0, 1) Should the audio be muted?", - "required": false, - "type": "integer" - }, - { - "name": "loop", - "in": "formData", - "description": "Edit only - Flag (0, 1) Should the audio loop (only for duration > 0 )?", - "required": false, + "name": "objectId", + "in": "path", + "description": "The ID of the Object to return permissions for", + "required": true, "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" } ], "responses": { - "201": { + "200": { "description": "successful operation", "schema": { - "$ref": "#/definitions/Widget" - }, - "headers": { - "Location": { - "description": "Location of the new widget", - "type": "string" + "type": "array", + "items": { + "$ref": "#/definitions/Permission" } } } } - } - }, - "/playlist/widget/{widgetId}?calendar": { - "put": { + }, + "post": { "tags": [ - "widget" + "user" ], - "summary": "Edit a Calendar Widget", - "description": "Edit a Calendar Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "widgetCalendarEdit", + "summary": "Permission Set", + "description": "Set Permissions to users/groups for the provided entity.", + "operationId": "userPermissionsSet", "parameters": [ { - "name": "widgetId", + "name": "entity", "in": "path", - "description": "The WidgetId to Edit", + "description": "The Entity", "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, "type": "string" }, { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, + "name": "objectId", + "in": "path", + "description": "The ID of the Object to set permissions on", + "required": true, "type": "integer" }, { - "name": "useDuration", + "name": "groupIds", "in": "formData", - "description": "Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" + "description": "Array of permissions with groupId as the key", + "required": true, + "type": "array", + "items": { + "type": "string" + } }, { - "name": "enableStat", + "name": "ownerId", "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "uri", - "in": "formData", - "description": "The Link for the iCal Feed", - "required": true, - "type": "string" - }, - { - "name": "noEventsMessage", - "in": "formData", - "description": "No upcoming events message", - "required": false, - "type": "string" - }, - { - "name": "customInterval", - "in": "formData", - "description": "Using natural language enter a string representing the period for which events should be returned, for example 2 days or 1 week.", - "required": false, - "type": "string" - }, - { - "name": "excludeAllDay", - "in": "formData", - "description": "A flag (0, 1), Exclude all day events from results?", - "required": false, - "type": "integer" - }, - { - "name": "excludeWeekendDays", - "in": "formData", - "description": "A flag (0, 1), Exclude Saturdays and Sundays from the view?", - "required": false, - "type": "integer" - }, - { - "name": "updateInterval", - "in": "formData", - "description": "Update interval in minutes", - "required": false, - "type": "integer" - }, - { - "name": "useEventTimezone", - "in": "formData", - "description": "A flag (0,1), Should we use Event Timezone?", - "required": false, - "type": "integer" - }, - { - "name": "useCalendarTimezone", - "in": "formData", - "description": "A flag (0,1), Should we use Calendar Timezone?", - "required": false, - "type": "integer" - }, - { - "name": "windowsFormatCalendar", - "in": "formData", - "description": "Does the calendar feed come from Windows - if unsure leave unselected.", - "required": false, - "type": "integer" - }, - { - "name": "useDateRange", - "in": "formData", - "description": "Should we look for events with provided date range?", - "required": false, - "type": "integer" - }, - { - "name": "rangeStart", - "in": "formData", - "description": "Date in Y-m-d H:i:s", - "required": false, - "type": "string" - }, - { - "name": "rangeEnd", - "in": "formData", - "description": "Date in Y-m-d H:i:s", - "required": false, - "type": "string" - }, - { - "name": "noEventTrigger", - "in": "formData", - "description": "Trigger code for a no event action", - "required": false, - "type": "string" - }, - { - "name": "currentEventTrigger", - "in": "formData", - "description": "Trigger code for a current event action", - "required": false, - "type": "string" - }, - { - "name": "calendarType", - "in": "formData", - "description": "Calendar Type (0:custom ; 1:schedule ; 2:daily ; 3:weekly ; 4:monthly )", - "required": false, - "type": "integer" - }, - { - "name": "showHeader", - "in": "formData", - "description": "A flag (0, 1), Should the calendar template have a header?", - "required": false, - "type": "integer" - }, - { - "name": "showNowMarker", - "in": "formData", - "description": "A flag (0, 1), Should the calendar show a marker for the current time?", - "required": false, - "type": "integer" - }, - { - "name": "showDescription", - "in": "formData", - "description": "A flag (0, 1), Should the event description if exists?", - "required": false, - "type": "integer" - }, - { - "name": "timeFormat", - "in": "formData", - "description": "Moment time format", - "required": false, - "type": "string" - }, - { - "name": "startTime", - "in": "formData", - "description": "The start time for the calendar view", - "required": false, - "type": "string" - }, - { - "name": "endTime", - "in": "formData", - "description": "The end time for the calendar view", - "required": false, - "type": "string" - }, - { - "name": "textScale", - "in": "formData", - "description": "Scale for the text elements on calendar templates, defaults to 1.", - "required": false, - "type": "number" - }, - { - "name": "weekdayNameLength", - "in": "formData", - "description": "Week day name length", - "required": false, - "type": "string" - }, - { - "name": "gridStep", - "in": "formData", - "description": "Weekly/Daily grid step in minutes.", - "required": false, - "type": "integer" - }, - { - "name": "templateTheme", - "in": "formData", - "description": "Template color theme dark/light", - "required": false, - "type": "string" - }, - { - "name": "overrideColorTemplate", - "in": "formData", - "description": "A flag (0, 1), Should the template colors be overriden?", - "required": false, - "type": "integer" - }, - { - "name": "gridColor", - "in": "formData", - "description": "Colour for the grid between days/hours", - "required": false, - "type": "string" - }, - { - "name": "mainBackgroundColor", - "in": "formData", - "description": "Colour for the main template", - "required": false, - "type": "string" - }, - { - "name": "gridTextColor", - "in": "formData", - "description": "Colour for the grid text", - "required": false, - "type": "string" - }, - { - "name": "dayBgColor", - "in": "formData", - "description": "Background colour for day elements on monthly/weekly calendars", - "required": false, - "type": "string" - }, - { - "name": "dayTextColor", - "in": "formData", - "description": "Text colour for day elements on monthly/weekly calendars", - "required": false, - "type": "string" - }, - { - "name": "todayTextColor", - "in": "formData", - "description": "Text colour for current day element on monthly/weekly calendars", - "required": false, - "type": "string" - }, - { - "name": "nowMarkerColor", - "in": "formData", - "description": "Background colour for the current time marker", - "required": false, - "type": "string" - }, - { - "name": "dayOtherMonthBgColor", - "in": "formData", - "description": "Background colour for unfocused month day elements on monthly calendar", - "required": false, - "type": "string" - }, - { - "name": "dayOtherMonthTextColor", - "in": "formData", - "description": "Text colour for unfocused month day elements on monthly calendar", - "required": false, - "type": "string" - }, - { - "name": "headerBgColor", - "in": "formData", - "description": "Background colour for main header", - "required": false, - "type": "string" - }, - { - "name": "headerTextColor", - "in": "formData", - "description": "Text colour for main header", - "required": false, - "type": "string" - }, - { - "name": "weekDaysHeaderBgColor", - "in": "formData", - "description": "Background colour for week days label on monthly/weekly calendars", - "required": false, - "type": "string" - }, - { - "name": "weekDaysHeaderTextColor", - "in": "formData", - "description": "Text colour for week days label on monthly/weekly calendars", - "required": false, - "type": "string" - }, - { - "name": "eventBgColor", - "in": "formData", - "description": "Background colour for a single day timed event", - "required": false, - "type": "string" - }, - { - "name": "eventTextColor", - "in": "formData", - "description": "Text colour for a single day timed event", - "required": false, - "type": "string" - }, - { - "name": "dailyEventBgColor", - "in": "formData", - "description": "Background colour for a all day event", - "required": false, - "type": "string" - }, - { - "name": "dailyEventTextColor", - "in": "formData", - "description": "Text colour for a all day event", - "required": false, - "type": "string" - }, - { - "name": "multiDayEventBgColor", - "in": "formData", - "description": "Background colour for a multiple day event", - "required": false, - "type": "string" - }, - { - "name": "multiDayEventTextColor", - "in": "formData", - "description": "Text colour for a multiple day event", - "required": false, - "type": "string" - }, - { - "name": "aditionalEventsBgColor", - "in": "formData", - "description": "Background colour for the extra element counter label", - "required": false, - "type": "string" - }, - { - "name": "aditionalEventsTextColor", - "in": "formData", - "description": "Text colour for the extra element counter label", - "required": false, - "type": "string" - }, - { - "name": "noEventsBgColor", - "in": "formData", - "description": "Background colour for the no events message", - "required": false, - "type": "string" - }, - { - "name": "noEventsTextColor", - "in": "formData", - "description": "Text colour for the no events message", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?chart": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a Chart Widget", - "description": "Edit Chart Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "widgetChartEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "step", - "in": "formData", - "description": "The Step Number being edited", - "required": false, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "dataSetId", - "in": "formData", - "description": "Required for step 1. Create Chart Widget using provided dataSetId of an existing dataSet", - "required": true, - "type": "integer" - }, - { - "name": "graphType", - "in": "formData", - "description": "Chart Type", - "required": true, - "type": "string" - }, - { - "name": "columnType", - "in": "formData", - "description": "Array of Column Types (x-axis, y-axis, series-identifier) to assign", - "required": false, - "type": "array", - "items": { - "type": "integer" - } - }, - { - "name": "dataSetColumnId", - "in": "formData", - "description": "Array of dataSetColumn IDs to assign", - "required": false, - "type": "array", - "items": { - "type": "integer" - } - }, - { - "name": "duration", - "in": "formData", - "description": "The Chart Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "Edit Only - (0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "updateInterval", - "in": "formData", - "description": "Update interval in minutes", - "required": false, - "type": "integer" - }, - { - "name": "filter", - "in": "formData", - "description": "SQL clause for filter this dataSet", - "required": false, - "type": "string" - }, - { - "name": "ordering", - "in": "formData", - "description": "SQL clause for how this dataSet should be ordered", - "required": false, - "type": "string" - }, - { - "name": "useOrderingClause", - "in": "formData", - "description": "flag (0,1) Use advanced order clause - set to 1 if ordering is provided", - "required": false, - "type": "integer" - }, - { - "name": "useFilteringClause", - "in": "formData", - "description": "flag (0,1) Use advanced filter clause - set to 1 if filter is provided", - "required": false, - "type": "integer" - }, - { - "name": "backgroundColor", - "in": "formData", - "description": "Background Color", - "required": false, - "type": "string" - }, - { - "name": "fontColor", - "in": "formData", - "description": "Font Color", - "required": false, - "type": "string" - }, - { - "name": "fontSize", - "in": "formData", - "description": "Font Size", - "required": false, - "type": "integer" - }, - { - "name": "showLegend", - "in": "formData", - "description": "Should the Legend be Shown", - "required": false, - "type": "integer" - }, - { - "name": "legendPosition", - "in": "formData", - "description": "Where should the Legend be Shown (top, left, right, bottom)", - "required": false, - "type": "string" - }, - { - "name": "startYAtZero", - "in": "formData", - "description": "Start the Y-Axis at 0", - "required": false, - "type": "integer" - }, - { - "name": "title", - "in": "formData", - "description": "Chart title", - "required": false, - "type": "string" - }, - { - "name": "x-axis-label", - "in": "formData", - "description": "Chart x-axis label", - "required": false, - "type": "string" - }, - { - "name": "y-axis-label", - "in": "formData", - "description": "Chart y-axis label", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?clock": { - "put": { - "tags": [ - "widget" - ], - "summary": "Clock Widget", - "description": "Edit Clock Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "widgetClockEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "themeId", - "in": "formData", - "description": "Flag (0 , 1) for Analogue clock the light and dark theme", - "required": false, - "type": "integer" - }, - { - "name": "clockTypeId", - "in": "formData", - "description": "Type of a clock widget 1-Analogue, 2-Digital, 3-Flip clock", - "required": false, - "type": "integer" - }, - { - "name": "offset", - "in": "formData", - "description": "The offset in minutes that should be applied to the current time, if a counter is selected then date/time to run from in the format Y-m-d H:i:s", - "required": false, - "type": "string" - }, - { - "name": "format", - "in": "formData", - "description": "For digital clock, format in which the time should be displayed example [HH:mm]", - "required": false, - "type": "string" - }, - { - "name": "ta_text_advanced", - "in": "formData", - "description": "A flag (0, 1), Should text area by presented as a visual editor?", - "required": false, - "type": "integer" - }, - { - "name": "showSeconds", - "in": "formData", - "description": "For Flip Clock, should the clock show seconds or not", - "required": false, - "type": "integer" - }, - { - "name": "clockFace", - "in": "formData", - "description": "For Flip Clock, supported options: TwelveHourClock TwentyFourHourClock HourlyCounter MinuteCounter DailyCounter", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?countdown": { - "put": { - "tags": [ - "widget" - ], - "summary": "Countdown Widget", - "description": "Edit Countdown Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "widgetCountdownEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "themeId", - "in": "formData", - "description": "Flag (0 , 1) for Analogue countdown the light and dark theme", - "required": false, - "type": "integer" - }, - { - "name": "countdownType", - "in": "formData", - "description": "Type of a countdown widget 1-Use widget duration, 2- Custom duration", - "required": false, - "type": "integer" - }, - { - "name": "countdownDuration", - "in": "formData", - "description": "The duration in minutes, or a target date/time in the format Y-m-d H:i:s", - "required": false, - "type": "string" - }, - { - "name": "countdownWarningDuration", - "in": "formData", - "description": "The warning duration in minutes, or a target date/time in the format Y-m-d H:i:s", - "required": false, - "type": "string" - }, - { - "name": "overrideTemplate", - "in": "formData", - "description": "flag (0, 1) set to 0 and use templateId or set to 1 and provide whole template in the next parameters", - "required": false, - "type": "integer" - }, - { - "name": "widgetOriginalWidth", - "in": "formData", - "description": "This is the intended Width of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", - "required": false, - "type": "integer" - }, - { - "name": "widgetOriginalHeight", - "in": "formData", - "description": "This is the intended Height of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", - "required": false, - "type": "integer" - }, - { - "name": "mainTemplate", - "in": "formData", - "description": "Main template, Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "mainTemplate_advanced", - "in": "formData", - "description": "A flag (0, 1), Should text area by presented as a visual editor?", - "required": false, - "type": "integer" - }, - { - "name": "styleSheet", - "in": "formData", - "description": "Optional StyleSheet Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "alignH", - "in": "formData", - "description": "Horizontal alignment - left, center, bottom", - "required": false, - "type": "string" - }, - { - "name": "alignV", - "in": "formData", - "description": "Vertical alignment - top, middle, bottom", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?currencies": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a Currencies Widget", - "description": "Edit a new Currencies Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "widgetCurrenciesEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "base", - "in": "formData", - "description": "The base currency", - "required": true, - "type": "string" - }, - { - "name": "items", - "in": "formData", - "description": "A comma separated list of Currency Acronyms/Abbreviations, e.g. GBP,USD,EUR. For the best results enter no more than 5 items.", - "required": true, - "type": "string" - }, - { - "name": "reverseConversion", - "in": "formData", - "description": "(0, 1) Select 1 if you'd like your base currency to be used as the comparison currency you've entered", - "required": false, - "type": "integer" - }, - { - "name": "effect", - "in": "formData", - "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind ", - "required": false, - "type": "string" - }, - { - "name": "speed", - "in": "formData", - "description": "The transition speed of the selected effect in milliseconds (1000 = normal)", - "required": false, - "type": "integer" - }, - { - "name": "backgroundColor", - "in": "formData", - "description": "A HEX color to use as the background color of this widget", - "required": false, - "type": "string" - }, - { - "name": "noRecordsMessage", - "in": "formData", - "description": "A message to display when there are no records returned by the search query", - "required": false, - "type": "string" - }, - { - "name": "dateFormat", - "in": "formData", - "description": "The format to apply to all dates returned by he widget", - "required": false, - "type": "string" - }, - { - "name": "updateInterval", - "in": "formData", - "description": "Update interval in minutes, should be kept as high as possible, if data change once per hour, this should be set to 60", - "required": false, - "type": "integer" - }, - { - "name": "durationIsPerPage", - "in": "formData", - "description": "A flag (0, 1), The duration specified is per page/item, otherwise the widget duration is divided between the number of pages/items", - "required": false, - "type": "integer" - }, - { - "name": "templateId", - "in": "formData", - "description": "Use pre-configured templates, available options: currencies1, currencies2", - "required": false, - "type": "string" - }, - { - "name": "overrideTemplate", - "in": "formData", - "description": "flag (0, 1) set to 0 and use templateId or set to 1 and provide whole template in the next parameters", - "required": false, - "type": "integer" - }, - { - "name": "widgetOriginalWidth", - "in": "formData", - "description": "This is the intended Width of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", - "required": false, - "type": "integer" - }, - { - "name": "widgetOriginalHeight", - "in": "formData", - "description": "This is the intended Height of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", - "required": false, - "type": "integer" - }, - { - "name": "maxItemsPerPage", - "in": "formData", - "description": "This is the intended number of items on each page", - "required": false, - "type": "integer" - }, - { - "name": "mainTemplate", - "in": "formData", - "description": "Main template, Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "itemtemplate", - "in": "formData", - "description": "Template for each item, replaces [itemsTemplate] in main template, Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "styleSheet", - "in": "formData", - "description": "Optional StyleSheet Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "javaScript", - "in": "formData", - "description": "Optional JavaScript, Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "alignH", - "in": "formData", - "description": "Horizontal alignment - left, center, bottom", - "required": false, - "type": "string" - }, - { - "name": "alignV", - "in": "formData", - "description": "Vertical alignment - top, middle, bottom", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?dataSetTicker": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a dataSet ticker Widget", - "description": "Edit a dataSet ticker Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetDataSetTickerEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "step", - "in": "formData", - "description": "The Step Number being edited", - "required": false, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "dataSetId", - "in": "formData", - "description": "Required for Step 1. Create ticker Widget using provided dataSetId of an existing dataSet", - "required": true, - "type": "integer" - }, - { - "name": "updateInterval", - "in": "formData", - "description": "Update interval in minutes", - "required": false, - "type": "integer" - }, - { - "name": "freshnessTimeout", - "in": "formData", - "description": "How long should a Player in minutes show content before switching to the No Data Template?", - "required": false, - "type": "integer" - }, - { - "name": "effect", - "in": "formData", - "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind, marqueeUp, marqueeDown, marqueeRight, marqueeLeft", - "required": false, - "type": "string" - }, - { - "name": "speed", - "in": "formData", - "description": "The transition speed of the selected effect in milliseconds (1000 = normal) or the Marquee speed in a low to high scale (normal = 1)", - "required": false, - "type": "integer" - }, - { - "name": "durationIsPerItem", - "in": "formData", - "description": "A flag (0, 1), The duration specified is per item, otherwise it is per feed", - "required": false, - "type": "integer" - }, - { - "name": "itemsSideBySide", - "in": "formData", - "description": "A flag (0, 1), Should items be shown side by side", - "required": false, - "type": "integer" - }, - { - "name": "upperLimit", - "in": "formData", - "description": "Upper low limit for this dataSet, 0 for nor limit", - "required": false, - "type": "integer" - }, - { - "name": "lowerLimit", - "in": "formData", - "description": "Lower low limit for this dataSet, 0 for nor limit", - "required": false, - "type": "integer" - }, - { - "name": "itemsPerPage", - "in": "formData", - "description": "When in single mode, how many items per page should be shown", - "required": false, - "type": "integer" - }, - { - "name": "backgroundColor", - "in": "formData", - "description": "A HEX color to use as the background color of this widget", - "required": false, - "type": "string" - }, - { - "name": "noDataMessage", - "in": "formData", - "description": "A message to display when no data is returned from the source", - "required": false, - "type": "string" - }, - { - "name": "noDataMessage_advanced", - "in": "formData", - "description": "A flag (0, 1), Should text area by presented as a visual editor?", - "required": false, - "type": "integer" - }, - { - "name": "template", - "in": "formData", - "description": "Template for each item", - "required": false, - "type": "string" - }, - { - "name": "ta_text_advanced", - "in": "formData", - "description": "A flag (0, 1), Should text area by presented as a visual editor?", - "required": false, - "type": "integer" - }, - { - "name": "css", - "in": "formData", - "description": "Optional StyleSheet", - "required": false, - "type": "string" - }, - { - "name": "javaScript", - "in": "formData", - "description": "Optional JavaScript", - "required": false, - "type": "string" - }, - { - "name": "filter", - "in": "formData", - "description": "SQL clause for filter this dataSet", - "required": false, - "type": "string" - }, - { - "name": "ordering", - "in": "formData", - "description": "SQL clause for how this dataSet should be ordered", - "required": false, - "type": "string" - }, - { - "name": "useOrderingClause", - "in": "formData", - "description": "Use advanced order clause - set to 1 if ordering is provided", - "required": false, - "type": "integer" - }, - { - "name": "useFilteringClause", - "in": "formData", - "description": "Use advanced filter clause - set to 1 if filter is provided", - "required": false, - "type": "integer" - }, - { - "name": "randomiseItems", - "in": "formData", - "description": "A flag (0, 1), whether to randomise the feed", - "required": false, - "type": "integer" - } - ], - "responses": { - "200": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?dataSetView": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a dataSetView Widget", - "description": "Edit an existing dataSetView Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "widgetDataSetViewEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "step", - "in": "formData", - "description": "The Step Number being edited", - "required": false, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "dataSetId", - "in": "formData", - "description": "For Step 1. Create dataSetView Widget using provided dataSetId of an existing dataSet", - "required": true, - "type": "integer" - }, - { - "name": "dataSetColumnId", - "in": "formData", - "description": "Array of dataSetColumn IDs to assign", - "required": false, - "type": "array", - "items": { - "type": "integer" - } - }, - { - "name": "duration", - "in": "formData", - "description": "The dataSetView Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "updateInterval", - "in": "formData", - "description": "Update interval in minutes", - "required": false, - "type": "integer" - }, - { - "name": "freshnessTimeout", - "in": "formData", - "description": "How long should a Player in minutes show content before switching to the No Data Template?", - "required": false, - "type": "integer" - }, - { - "name": "rowsPerPage", - "in": "formData", - "description": "Number of rows per page, 0 for no pages", - "required": false, - "type": "integer" - }, - { - "name": "showHeadings", - "in": "formData", - "description": "Should the table show Heading? (0,1)", - "required": false, - "type": "integer" - }, - { - "name": "upperLimit", - "in": "formData", - "description": "Upper low limit for this dataSet, 0 for no limit", - "required": false, - "type": "integer" - }, - { - "name": "lowerLimit", - "in": "formData", - "description": "Lower low limit for this dataSet, 0 for no limit", - "required": false, - "type": "integer" - }, - { - "name": "filter", - "in": "formData", - "description": "SQL clause for filter this dataSet", - "required": false, - "type": "string" - }, - { - "name": "ordering", - "in": "formData", - "description": "SQL clause for how this dataSet should be ordered", - "required": false, - "type": "string" - }, - { - "name": "templateId", - "in": "formData", - "description": "Template you'd like to apply, options available: empty, light-green", - "required": false, - "type": "string" - }, - { - "name": "overrideTemplate", - "in": "formData", - "description": "flag (0, 1) override template checkbox", - "required": false, - "type": "integer" - }, - { - "name": "useOrderingClause", - "in": "formData", - "description": "flag (0,1) Use advanced order clause - set to 1 if ordering is provided", - "required": false, - "type": "integer" - }, - { - "name": "useFilteringClause", - "in": "formData", - "description": "flag (0,1) Use advanced filter clause - set to 1 if filter is provided", - "required": false, - "type": "integer" - }, - { - "name": "noDataMessage", - "in": "formData", - "description": "A message to display when no data is returned from the source", - "required": false, - "type": "string" - }, - { - "name": "noDataMessage_advanced", - "in": "formData", - "description": "A flag (0, 1), Should text area by presented as a visual editor?", - "required": false, - "type": "integer" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?embedded": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a Embedded Widget", - "description": "Edit Embedded Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "widgetEmbeddedEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "transparency", - "in": "formData", - "description": "Flag (0,1) - Should the HTML be shown with transparent background? - not available on Windows Clients", - "required": false, - "type": "integer" - }, - { - "name": "scaleContent", - "in": "formData", - "description": "Flag (0,1) - Should the embedded content be scaled along with the layout?", - "required": false, - "type": "integer" - }, - { - "name": "isPreNavigate", - "in": "formData", - "description": "Flag (0,1) - Should this Widget be loaded off screen so that it is made ready in the background? Dynamic content will run.", - "required": false, - "type": "integer" - }, - { - "name": "embedHtml", - "in": "formData", - "description": "HTML to embed", - "required": false, - "type": "string" - }, - { - "name": "embedHtml_advanced", - "in": "formData", - "description": "A flag (0, 1), Should text area by presented as a visual editor?", - "required": false, - "type": "integer" - }, - { - "name": "embedScript", - "in": "formData", - "description": "HEAD content to Embed (including script tags)", - "required": false, - "type": "string" - }, - { - "name": "embedStyle", - "in": "formData", - "description": "Custom Style Sheets (CSS)", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?weather": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit Weather Widget", - "description": "Edit Weather Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetWeatherEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "useDisplayLocation", - "in": "formData", - "description": "Flag (0, 1) Use the location configured on display", - "required": true, - "type": "integer" - }, - { - "name": "longitude", - "in": "formData", - "description": "The longitude for this weather widget, only pass if useDisplayLocation set to 0", - "required": false, - "type": "number" - }, - { - "name": "latitude", - "in": "formData", - "description": "The latitude for this weather widget, only pass if useDisplayLocation set to 0", - "required": false, - "type": "number" - }, - { - "name": "templateOrientation", - "in": "formData", - "description": "Filter templates by orientation, available options: all, squared, landscape, portrait, scale", - "required": false, - "type": "string" - }, - { - "name": "templateType", - "in": "formData", - "description": "Filter templates by weather type, available options: all, current, forecast", - "required": false, - "type": "string" - }, - { - "name": "templateId", - "in": "formData", - "description": "Use pre-configured templates", - "required": false, - "type": "string" - }, - { - "name": "units", - "in": "formData", - "description": "Units you would like to use, available options: auto, ca, si, uk2, us", - "required": false, - "type": "string" - }, - { - "name": "updateInterval", - "in": "formData", - "description": "Update interval in minutes, should be kept as high as possible, if data change once per hour, this should be set to 60", - "required": false, - "type": "integer" - }, - { - "name": "lang", - "in": "formData", - "description": "Language you'd like to use, supported languages ar, az, be, bs, cs, de, en, el, es, fr, hr, hu, id, it, is, kw, nb, nl, pl, pt, ru, sk, sr, sv, tet, tr, uk, x-pig-latin, zh, zh-tw", - "required": false, - "type": "string" - }, - { - "name": "dayConditionsOnly", - "in": "formData", - "description": "Flag (0, 1) Would you like to only show the Daytime weather conditions", - "required": false, - "type": "integer" - }, - { - "name": "overrideTemplate", - "in": "formData", - "description": "flag (0, 1) set to 0 and use templateId or set to 1 and provide whole template in the next parameters", - "required": false, - "type": "integer" - }, - { - "name": "widgetOriginalWidth", - "in": "formData", - "description": "This is the intended Width of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", - "required": false, - "type": "integer" - }, - { - "name": "widgetOriginalHeight", - "in": "formData", - "description": "This is the intended Height of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", - "required": false, - "type": "integer" - }, - { - "name": "currentTemplate", - "in": "formData", - "description": "Current template, Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "dailyTemplate", - "in": "formData", - "description": "Replaces [dailyForecast] in main template, Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "styleSheet", - "in": "formData", - "description": "Optional StyleSheet, Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "styleSheet", - "in": "formData", - "description": "Optional JavaScript, Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "alignH", - "in": "formData", - "description": "Horizontal alignment - left, center, bottom", - "required": false, - "type": "string" - }, - { - "name": "alignV", - "in": "formData", - "description": "Vertical alignment - top, middle, bottom", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/Widget" - } - } - } - } - }, - "/playlist/widget/{widgetId}?traffic": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a Google Traffic Widget", - "description": "Edit a Google traffic Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "widgetGoogleTrafficEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "zoom", - "in": "formData", - "description": "How far should the map be zoomed in? The higher the number the closer the zoom, 1 represents entire globe", - "required": true, - "type": "integer" - }, - { - "name": "useDisplayLocation", - "in": "formData", - "description": "Flag (0, 1) Use the location configured on display", - "required": true, - "type": "integer" - }, - { - "name": "longitude", - "in": "formData", - "description": "The longitude for this Google Traffic widget, only pass if useDisplayLocation set to 0", - "required": false, - "type": "number" - }, - { - "name": "latitude", - "in": "formData", - "description": "The latitude for this Google Traffic widget, only pass if useDisplayLocation set to 0", - "required": false, - "type": "number" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?hls": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a HLS Widget", - "description": "Edit HLS Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetHlsEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "useDuration", - "in": "formData", - "description": "Select only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "uri", - "in": "formData", - "description": "URL to HLS video stream", - "required": true, - "type": "string" - }, - { - "name": "mute", - "in": "formData", - "description": "Flag (0, 1) Should the video be muted?", - "required": false, - "type": "integer" - }, - { - "name": "transparency", - "in": "formData", - "description": "Flag (0, 1), This causes some android devices to switch to a hardware accelerated web view", - "required": false, - "type": "integer" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?htmlPackage": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a HtmlPackage Widget", - "description": "Edit HtmlPackage Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetHtmlPackageEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "useDuration", - "in": "formData", - "description": "Select only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "nominatedFile", - "in": "formData", - "description": "Enter a nominated file name that player will attempt to open after extracting the .htz archive", - "required": true, - "type": "string" - }, - { - "name": "updateInterval", - "in": "formData", - "description": "Update Interval for this Widget", - "required": false, - "type": "integer" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?image": { - "put": { - "tags": [ - "widget" - ], - "summary": "Parameters for editing existing image on a layout", - "description": "For uploading new image files, please refer to POST /library documentation.\n * For assigning existing image file to a Playlist please see POST /playlist/library/assign/{playlistId} documentation.\n * This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetImageEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId ID", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "scaleTypeId", - "in": "formData", - "description": "Select scale type available options: center, stretch", - "required": false, - "type": "string" - }, - { - "name": "alignId", - "in": "formData", - "description": "Horizontal alignment - left, center, bottom", - "required": false, - "type": "string" - }, - { - "name": "valignId", - "in": "formData", - "description": "Vertical alignment - top, middle, bottom", - "required": false, - "type": "string" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - } - ], - "responses": { - "201": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/Widget" - }, - "headers": { - "Location": { - "description": "Location of the new widget", - "type": "string" - } - } - } - } - } - }, - "/playlist/widget/{widgetId}?localVideo": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a Local Video Widget", - "description": "Edit a Local Video Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetLocalVideoEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "uri", - "in": "formData", - "description": "A local file path or URL to the video. This can be RTSP stream.", - "required": true, - "type": "string" - }, - { - "name": "scaleTypeId", - "in": "formData", - "description": "How should the video be scaled, available options: aspect, stretch", - "required": false, - "type": "string" - }, - { - "name": "mute", - "in": "formData", - "description": "Flag (0, 1) Should the video be muted?", - "required": false, - "type": "integer" - }, - { - "name": "showFullScreen", - "in": "formData", - "description": "Should the video expand over the top of existing content and show in full screen?", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?menuboard": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a Menu Board Widget", - "description": "Edit Menu Board Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetMenuBoardEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "useDuration", - "in": "formData", - "description": "Select only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "alignH", - "in": "formData", - "description": "Horizontal alignment - left, center, bottom", - "required": false, - "type": "string" - }, - { - "name": "alignV", - "in": "formData", - "description": "Vertical alignment - top, middle, bottom", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?notificationView": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a Notification Widget", - "description": "Edit a Notification Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetNotificationEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "age", - "in": "formData", - "description": "The maximum notification age in minutes - 0 for all", - "required": true, - "type": "integer" - }, - { - "name": "noDataMessage", - "in": "formData", - "description": "Message to show when no notifications are available", - "required": false, - "type": "string" - }, - { - "name": "noDataMessage_advanced", - "in": "formData", - "description": "A flag (0, 1), Should text area by presented as a visual editor?", - "required": false, - "type": "integer" - }, - { - "name": "effect", - "in": "formData", - "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind ", - "required": false, - "type": "string" - }, - { - "name": "speed", - "in": "formData", - "description": "The transition speed of the selected effect in milliseconds (1000 = normal)", - "required": false, - "type": "integer" - }, - { - "name": "durationIsPerItem", - "in": "formData", - "description": "A flag (0, 1), The duration specified is per page/item, otherwise the widget duration is divided between the number of pages/items", - "required": false, - "type": "integer" - }, - { - "name": "embedStyle", - "in": "formData", - "description": "Custom Style Sheets (CSS)", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?pdf": { - "put": { - "tags": [ - "widget" - ], - "summary": "Parameters for editing existing pdf on a layout", - "description": "Parameters for editing existing pdf on a layout, for adding new files, please refer to POST /library documentation", - "operationId": "WidgetPdfEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Edit only - Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "duration", - "in": "formData", - "description": "Edit Only - The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "durationIsPerItem", - "in": "formData", - "description": "A flag (0, 1), The duration specified is per item, otherwise it is per feed", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?shellCommand": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a Shell Command Widget", - "description": "Edit a Shell Command Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetShellCommandEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "globalCommand", - "in": "formData", - "description": "Enter a global command line compatible with multiple devices", - "required": false, - "type": "string" - }, - { - "name": "androidCommand", - "in": "formData", - "description": "Enter a Android command line compatible command", - "required": false, - "type": "string" - }, - { - "name": "windowsCommand", - "in": "formData", - "description": "Enter a Windows command line compatible command", - "required": false, - "type": "string" - }, - { - "name": "linuxCommand", - "in": "formData", - "description": "Enter a Linux command line compatible command", - "required": false, - "type": "string" - }, - { - "name": "launchThroughCmd", - "in": "formData", - "description": "flag (0,1) Windows only, Should the player launch this command through the windows command line (cmd.exe)? This is useful for batch files, if you try to terminate this command only the command line will be terminated", - "required": false, - "type": "integer" - }, - { - "name": "terminateCommand", - "in": "formData", - "description": "flag (0,1) Should the player forcefully terminate the command after the duration specified, 0 to let the command terminate naturally", - "required": false, - "type": "integer" - }, - { - "name": "useTaskkill", - "in": "formData", - "description": "flag (0,1) Windows only, should the player use taskkill to terminate commands", - "required": false, - "type": "integer" - }, - { - "name": "commandCode", - "in": "formData", - "description": "Enter a reference code for exiting command in CMS", - "required": false, - "type": "string" - } - ], - "responses": { - "201": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?spacer": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a Spacer Widget", - "description": "Edit Spacer Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetSpacerEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "useDuration", - "in": "formData", - "description": "Select only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?stocks": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a Stocks Widget", - "description": "Edit a new Stocks Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetStocksEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "items", - "in": "formData", - "description": "A comma separated list of Stock Ticker Symbols, e.g. GOOGL,NVDA,AMZN. For the best results enter no more than 5 items.", - "required": true, - "type": "string" - }, - { - "name": "effect", - "in": "formData", - "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind", - "required": false, - "type": "string" - }, - { - "name": "speed", - "in": "formData", - "description": "The transition speed of the selected effect in milliseconds (1000 = normal)", - "required": false, - "type": "integer" - }, - { - "name": "backgroundColor", - "in": "formData", - "description": "A HEX color to use as the background color of this widget", - "required": false, - "type": "string" - }, - { - "name": "noRecordsMessage", - "in": "formData", - "description": "A message to display when there are no records returned by the search query", - "required": false, - "type": "string" - }, - { - "name": "dateFormat", - "in": "formData", - "description": "The format to apply to all dates returned by he widget", - "required": false, - "type": "string" - }, - { - "name": "updateInterval", - "in": "formData", - "description": "Update interval in minutes, should be kept as high as possible, if data change once per hour, this should be set to 60", - "required": false, - "type": "integer" - }, - { - "name": "templateId", - "in": "formData", - "description": "Use pre-configured templates, available options: stocks1, stocks2", - "required": false, - "type": "string" - }, - { - "name": "durationIsPerPage", - "in": "formData", - "description": "A flag (0, 1), The duration specified is per page, otherwise the widget duration is divided between the number of pages/items", - "required": false, - "type": "integer" - }, - { - "name": "overrideTemplate", - "in": "formData", - "description": "flag (0, 1) set to 0 and use templateId or set to 1 and provide whole template in the next parameters", - "required": false, - "type": "integer" - }, - { - "name": "maxItemsPerPage", - "in": "formData", - "description": "This is the intended number of items on each page", - "required": false, - "type": "integer" - }, - { - "name": "mainTemplate", - "in": "formData", - "description": "Main template, Pass only with overrideTemplate set to 1", - "required": false, - "type": "string" - }, - { - "name": "itemtemplate", - "in": "formData", - "description": "Template for each item, replaces [itemsTemplate] in main template, Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "styleSheet", - "in": "formData", - "description": "Optional StyleSheet Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "javaScript", - "in": "formData", - "description": "Optional JavaScript, Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "alignH", - "in": "formData", - "description": "Horizontal alignment - left, center, bottom", - "required": false, - "type": "string" - }, - { - "name": "alignV", - "in": "formData", - "description": "Vertical alignment - top, middle, bottom", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?subPlaylist": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a Sub-Playlist Widget", - "description": "Edit a new Sub-Playlist Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetSubPlaylistEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "subPlaylistId", - "in": "formData", - "description": "The Playlist Ids to assign", - "required": true, - "type": "array", - "items": { - "type": "integer" - } - }, - { - "name": "arrangement", - "in": "formData", - "description": "Arrangement type - even, roundrobin, none", - "required": false, - "type": "string" - }, - { - "name": "remainder", - "in": "formData", - "description": "Reminder - drop, repeat, none", - "required": false, - "type": "string" - }, - { - "name": "subPlaylistIdSpots", - "in": "formData", - "description": "An array with number of spots for each Playlist", - "required": true, - "type": "array", - "items": { - "type": "integer" - } - }, - { - "name": "subPlaylistIdSpotLength", - "in": "formData", - "description": "An array with spot length for each Playlist", - "required": true, - "type": "array", - "items": { - "type": "integer" - } - }, - { - "name": "subPlaylistIdSpotFill", - "in": "formData", - "description": "An array of spot fill type for each Playlist - fill, repeat, pad", - "required": true, - "type": "array", - "items": { - "type": "string" - } - }, - { - "name": "cyclePlaybackEnabled", - "in": "formData", - "description": "Enable cycle based playback?", - "required": false, - "type": "integer" - }, - { - "name": "playCount", - "in": "formData", - "description": "In cycle based playback, how many plays should each Widget have before moving on?", - "required": false, - "type": "integer" - }, - { - "name": "cycleRandomWidget", - "in": "formData", - "description": "In cycle based playback, a random Widget will be selected at the start of each cycle and shown until its play count has been met.", - "required": false, - "type": "integer" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?text": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a Text Widget", - "description": "Edit a new Text Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetTextEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "effect", - "in": "formData", - "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind, marqueeUp, marqueeDown, marqueeRight, marqueeLeft", - "required": false, - "type": "string" - }, - { - "name": "speed", - "in": "formData", - "description": "The transition speed of the selected effect in milliseconds (1000 = normal) or the Marquee speed in a low to high scale (normal = 1)", - "required": false, - "type": "integer" - }, - { - "name": "backgroundcolor", - "in": "formData", - "description": "A HEX color to use as the background color of this widget", - "required": false, - "type": "string" - }, - { - "name": "marqueeInlineSelector", - "in": "formData", - "description": "The selector to use for stacking marquee items in a line when scrolling left/right", - "required": false, - "type": "string" - }, - { - "name": "text", - "in": "formData", - "description": "Enter the text to display", - "required": true, - "type": "string" - }, - { - "name": "ta_text_advanced", - "in": "formData", - "description": "A flag (0, 1), Should text area by presented as a visual editor?", - "required": false, - "type": "integer" - }, - { - "name": "javaScript", - "in": "formData", - "description": "Optional JavaScript", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "successful operation" - } - } - } - }, - "/playlist/widget/{widgetId}?ticker": { - "put": { - "tags": [ - "widget" - ], - "summary": "Edit a ticker Widget", - "description": "Edit a ticker Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetTickerEdit", - "parameters": [ - { - "name": "widgetId", - "in": "path", - "description": "The WidgetId to Edit", - "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "The Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "uri", - "in": "formData", - "description": "The link for the rss feed", - "required": true, - "type": "string" - }, - { - "name": "updateInterval", - "in": "formData", - "description": "Update interval in minutes", - "required": false, - "type": "integer" - }, - { - "name": "updateIntervalImages", - "in": "formData", - "description": "Update interval for downloaded Images, in minutes", - "required": false, - "type": "integer" - }, - { - "name": "effect", - "in": "formData", - "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind, marqueeUp, marqueeDown, marqueeRight, marqueeLeft", - "required": false, - "type": "string" - }, - { - "name": "speed", - "in": "formData", - "description": "The transition speed of the selected effect in milliseconds (1000 = normal) or the Marquee speed in a low to high scale (normal = 1)", - "required": false, - "type": "integer" - }, - { - "name": "copyright", - "in": "formData", - "description": "Copyright information to display as the last item in this feed. can be styled with the #copyright CSS selector", - "required": false, - "type": "string" - }, - { - "name": "numItems", - "in": "formData", - "description": "The number of RSS items you want to display", - "required": false, - "type": "integer" - }, - { - "name": "takeItemsFrom", - "in": "formData", - "description": "Take the items form the beginning or the end of the list, available options: start, end", - "required": false, - "type": "string" - }, - { - "name": "reverseOrder", - "in": "formData", - "description": "A flag (0, 1), Should we reverse the order of the feed items as well?", - "required": false, - "type": "integer" - }, - { - "name": "durationIsPerItem", - "in": "formData", - "description": "A flag (0, 1), The duration specified is per item, otherwise it is per feed", - "required": false, - "type": "integer" - }, - { - "name": "itemsSideBySide", - "in": "formData", - "description": "A flag (0, 1), Should items be shown side by side", - "required": false, - "type": "integer" - }, - { - "name": "itemsPerPage", - "in": "formData", - "description": "When in single mode, how many items per page should be shown", - "required": false, - "type": "integer" - }, - { - "name": "dateFormat", - "in": "formData", - "description": "The date format to apply to all dates returned by the ticker", - "required": false, - "type": "string" - }, - { - "name": "allowedAttributes", - "in": "formData", - "description": "A comma separated list of attributes that should not be stripped from the feed", - "required": false, - "type": "string" - }, - { - "name": "stripTags", - "in": "formData", - "description": "A comma separated list of attributes that should be stripped from the feed", - "required": false, - "type": "string" - }, - { - "name": "decodeHtml", - "in": "formData", - "description": "Should we decode the HTML entities in this feed before parsing it?", - "required": false, - "type": "integer" - }, - { - "name": "backgroundColor", - "in": "formData", - "description": "A HEX color to use as the background color of this widget", - "required": false, - "type": "string" - }, - { - "name": "disableDateSort", - "in": "formData", - "description": "Should the date sort applied to the feed be disabled?", - "required": false, - "type": "integer" - }, - { - "name": "textDirection", - "in": "formData", - "description": "Which direction does the text in the feed use? Available options: ltr, rtl", - "required": false, - "type": "string" - }, - { - "name": "noDataMessage", - "in": "formData", - "description": "A message to display when no data is returned from the source", - "required": false, - "type": "string" - }, - { - "name": "templateId", - "in": "formData", - "description": "Template you'd like to apply, options available: title-only, prominent-title-with-desc-and-name-separator, media-rss-with-title, media-rss-wth-left-hand-text, media-rss-image-only", - "required": false, - "type": "string" - }, - { - "name": "overrideTemplate", - "in": "formData", - "description": "Flag (0, 1) override template checkbox", - "required": false, - "type": "integer" - }, - { - "name": "css", - "in": "formData", - "description": "Optional StyleSheet Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "javaScript", - "in": "formData", - "description": "Optional JavaScript, Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "randomiseItems", - "in": "formData", - "description": "A flag (0, 1), whether to randomise the feed", + "description": "Change the owner of this item. Leave empty to keep the current owner", "required": false, "type": "integer" } @@ -13667,501 +10169,637 @@ } } }, - "/playlist/widget/{widgetId}?twitter": { - "put": { + "/user/permissions/{entity}": { + "get": { "tags": [ - "widget" + "user" ], - "summary": "Edit a Twitter Widget", - "description": "Edit a Twitter Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetTwitterEdit", + "summary": "Permission Data", + "description": "Permission data for the multiple Entities and Objects Provided.", + "operationId": "userPermissionsMultiSearch", "parameters": [ { - "name": "widgetId", + "name": "entity", "in": "path", - "description": "The WidgetId to Edit", + "description": "The Entity", "required": true, - "type": "integer" - }, - { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, "type": "string" }, { - "name": "searchTerm", - "in": "formData", - "description": "Twitter search term, you can test your search term in twitter.com search box first", + "name": "ids", + "in": "query", + "description": "The IDs of the Objects to return permissions for", "required": true, "type": "string" - }, - { - "name": "language", - "in": "formData", - "description": "Language in which tweets should be returned", - "required": false, - "type": "string" - }, + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + } + } + } + } + }, + "/user/permissions/{entity}/multiple": { + "post": { + "tags": [ + "user" + ], + "summary": "Multiple Permission Set", + "description": "Set Permissions to users/groups for multiple provided entities.", + "operationId": "userPermissionsMultiSet", + "parameters": [ { - "name": "effect", - "in": "formData", - "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind ", - "required": false, + "name": "entity", + "in": "path", + "description": "The Entity type", + "required": true, "type": "string" }, { - "name": "speed", + "name": "ids", "in": "formData", - "description": "The transition speed of the selected effect in milliseconds (1000 = normal)", - "required": false, + "description": "Array of object IDs", + "required": true, "type": "integer" }, { - "name": "backgroundColor", + "name": "groupIds", "in": "formData", - "description": "A HEX color to use as the background color of this widget", - "required": false, - "type": "string" + "description": "Array of permissions with groupId as the key", + "required": true, + "type": "array", + "items": { + "type": "string" + } }, { - "name": "noTweetsMessage", + "name": "ownerId", "in": "formData", - "description": "A message to display when there are no tweets returned by the search query", + "description": "Change the owner of this item. Leave empty to keep the current owner", "required": false, - "type": "string" - }, + "type": "integer" + } + ], + "responses": { + "204": { + "description": "successful operation" + } + } + } + }, + "/user/pref": { + "get": { + "tags": [ + "user" + ], + "summary": "Retrieve User Preferences", + "description": "User preferences for non-state information, such as Layout designer zoom levels", + "operationId": "userPrefGet", + "parameters": [ { - "name": "dateFormat", - "in": "formData", - "description": "The format to apply to all dates returned by he widget", + "name": "preference", + "in": "query", + "description": "An optional preference", "required": false, "type": "string" - }, + } + ], + "responses": { + "200": { + "description": "successful response", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/UserOption" + } + } + } + } + }, + "put": { + "tags": [ + "user" + ], + "summary": "Save User Preferences", + "description": "Save User preferences from the Preferences form.", + "operationId": "userPrefEditFromForm", + "parameters": [ { - "name": "resultType", + "name": "navigationMenuPosition", "in": "formData", - "description": "1 - Mixed, 2 -Recent 3 - Popular, Recent shows only recent tweets, Popular the most popular tweets and Mixed included both popular and recent", - "required": false, + "required": true, "type": "string" }, { - "name": "tweetDistance", + "name": "useLibraryDuration", "in": "formData", - "description": "Distance in miles that the tweets should be returned from. Set 0 for no restrictions", "required": false, "type": "integer" }, { - "name": "tweetCount", + "name": "showThumbnailColumn", "in": "formData", - "description": "The number of tweets to return", "required": false, "type": "integer" }, { - "name": "removeUrls", + "name": "rememberFolderTreeStateGlobally", "in": "formData", - "description": "Flag (0, 1) Should the URLs be removed from the tweet text?", "required": false, "type": "integer" - }, + } + ], + "responses": { + "204": { + "description": "successful operation" + } + } + }, + "post": { + "tags": [ + "user" + ], + "summary": "Save User Preferences", + "description": "Save User preferences for non-state information, such as Layout designer zoom levels", + "operationId": "userPrefEdit", + "parameters": [ { - "name": "removeMentions", - "in": "formData", - "description": "Flag (0, 1) Should mentions (@someone) be removed from the tweet text?", - "required": false, - "type": "integer" - }, + "name": "preference", + "in": "body", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/UserOption" + } + } + } + ], + "responses": { + "204": { + "description": "successful operation" + } + } + } + }, + "/group": { + "get": { + "tags": [ + "usergroup" + ], + "summary": "UserGroup Search", + "description": "Search User Groups", + "operationId": "userGroupSearch", + "parameters": [ { - "name": "removeHashtags", - "in": "formData", - "description": "Flag (0, 1) Should the hashtags (#something) be removed from the tweet text", + "name": "userGroupId", + "in": "query", + "description": "Filter by UserGroup Id", "required": false, "type": "integer" }, { - "name": "updateInterval", - "in": "formData", - "description": "Update interval in minutes, should be kept as high as possible, if data change once per hour, this should be set to 60", + "name": "userGroup", + "in": "query", + "description": "Filter by UserGroup Name", "required": false, - "type": "integer" - }, + "type": "string" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/UserGroup" + } + } + } + } + }, + "post": { + "tags": [ + "usergroup" + ], + "summary": "UserGroup Add", + "description": "Add User Group", + "operationId": "userGroupAdd", + "parameters": [ { - "name": "durationIsPerItem", + "name": "group", "in": "formData", - "description": "A flag (0, 1), The duration specified is per page/item, otherwise the widget duration is divided between the number of pages/items", - "required": false, - "type": "integer" + "description": "Name of the User Group", + "required": true, + "type": "string" }, { - "name": "itemsPerPage", + "name": "decription", "in": "formData", - "description": "EDIT Only - When in single mode, how many items per page should be shown", + "description": "A description of the User Group", "required": false, - "type": "integer" + "type": "string" }, { - "name": "templateId", + "name": "libraryQuota", "in": "formData", - "description": "Use pre-configured templates, available options: full-timeline-np, full-timeline, tweet-only, tweet-with-profileimage-left, tweet-with-profileimage-right, tweet-1, tweet-2, tweet-4. tweet-6NP, tweet-6PL, tweet-7, tweet-8", + "description": "The quota that should be applied (KiB). Provide 0 for no quota", "required": false, "type": "string" }, { - "name": "overrideTemplate", + "name": "isSystemNotification", "in": "formData", - "description": "flag (0, 1) set to 0 and use templateId or set to 1 and provide whole template in the next parameters", + "description": "Flag (0, 1), should members of this Group receive system notifications?", "required": false, "type": "integer" }, { - "name": "widgetOriginalWidth", + "name": "isDisplayNotification", "in": "formData", - "description": "This is the intended Width of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", + "description": "Flag (0, 1), should members of this Group receive Display notifications for Displays they have permissions to see", "required": false, "type": "integer" }, { - "name": "widgetOriginalHeight", + "name": "isShownForAddUser", "in": "formData", - "description": "This is the intended Height of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", + "description": "Flag (0, 1), should this Group be shown in the Add User onboarding form.", "required": false, "type": "integer" }, { - "name": "widgetOriginalPadding", + "name": "defaultHomePageId", "in": "formData", - "description": "This is the intended Padding of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", + "description": "If this user has been created via the onboarding form, this should be the default home page", "required": false, "type": "integer" - }, - { - "name": "resultContent", - "in": "formData", - "description": "Intended content Type, available Options: 0 - All Tweets 1 - Tweets with the text only content 2 - Tweets with the text and image content. Pass only with overrideTemplate set to 1", - "required": false, - "type": "string" - }, - { - "name": "template", - "in": "formData", - "description": "Main template, Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "styleSheet", - "in": "formData", - "description": "Optional StyleSheet Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "javaScript", - "in": "formData", - "description": "Optional JavaScript, Pass only with overrideTemplate set to 1 ", - "required": false, - "type": "string" - }, - { - "name": "alignH", - "in": "formData", - "description": "Horizontal alignment - left, center, bottom", - "required": false, - "type": "string" - }, - { - "name": "alignV", - "in": "formData", - "description": "Vertical alignment - top, middle, bottom", - "required": false, - "type": "string" } ], "responses": { - "204": { - "description": "successful operation" + "200": { + "description": "successful operation", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/UserGroup" + } + } } } } }, - "/playlist/widget/{widgetId}?twitterMetro": { + "/group/{userGroupId}": { "put": { "tags": [ - "widget" + "usergroup" ], - "summary": "Edit a Twitter Metro Widget", - "description": "Edit a Twitter Metro Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetTwitterMetroEdit", + "summary": "UserGroup Edit", + "description": "Edit User Group", + "operationId": "userGroupEdit", "parameters": [ { - "name": "widgetId", + "name": "userGroupId", "in": "path", - "description": "The WidgetId to Edit", + "description": "ID of the User Group", "required": true, "type": "integer" }, { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "Widget Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "searchTerm", + "name": "group", "in": "formData", - "description": "Twitter search term, you can test your search term in twitter.com search box first", + "description": "Name of the User Group", "required": true, "type": "string" }, { - "name": "language", + "name": "decription", "in": "formData", - "description": "Language in which tweets should be returned", + "description": "A description of the User Group", "required": false, "type": "string" }, { - "name": "effect", + "name": "libraryQuota", "in": "formData", - "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind ", + "description": "The quota that should be applied (KiB). Provide 0 for no quota", "required": false, "type": "string" }, { - "name": "speed", + "name": "isSystemNotification", "in": "formData", - "description": "The transition speed of the selected effect in milliseconds (1000 = normal)", + "description": "Flag (0, 1), should members of this Group receive system notifications?", "required": false, "type": "integer" }, { - "name": "backgroundColor", - "in": "formData", - "description": "A HEX color to use as the background color of this widget", - "required": false, - "type": "string" - }, - { - "name": "noTweetsMessage", - "in": "formData", - "description": "A message to display when there are no tweets returned by the search query", - "required": false, - "type": "string" - }, - { - "name": "dateFormat", - "in": "formData", - "description": "The format to apply to all dates returned by he widget", - "required": false, - "type": "string" - }, - { - "name": "resultType", + "name": "isDisplayNotification", "in": "formData", - "description": "1 - Mixed, 2 -Recent 3 - Popular, Recent shows only recent tweets, Popular the most popular tweets and Mixed included both popular and recent", + "description": "Flag (0, 1), should members of this Group receive Display notifications for Displays they have permissions to see", "required": false, - "type": "string" + "type": "integer" }, { - "name": "tweetDistance", + "name": "isShownForAddUser", "in": "formData", - "description": "Distance in miles that the tweets should be returned from. Set 0 for no restrictions", + "description": "Flag (0, 1), should this Group be shown in the Add User onboarding form.", "required": false, "type": "integer" }, { - "name": "tweetCount", + "name": "defaultHomePageId", "in": "formData", - "description": "The number of tweets to return", + "description": "If this user has been created via the onboarding form, this should be the default home page", "required": false, "type": "integer" - }, + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/UserGroup" + } + } + } + } + }, + "delete": { + "tags": [ + "usergroup" + ], + "summary": "Delete User Group", + "description": "Delete User Group", + "operationId": "userGroupDelete", + "parameters": [ { - "name": "removeUrls", - "in": "formData", - "description": "Flag (0, 1) Should the URLs be removed from the tweet text?", - "required": false, + "name": "userGroupId", + "in": "path", + "description": "The user Group ID to Delete", + "required": true, "type": "integer" - }, + } + ], + "responses": { + "204": { + "description": "successful operation" + } + } + } + }, + "/group/members/assign/{userGroupId}": { + "post": { + "tags": [ + "usergroup" + ], + "summary": "Assign User to User Group", + "description": "Assign User to User Group", + "operationId": "userGroupAssign", + "parameters": [ { - "name": "removeMentions", - "in": "formData", - "description": "Flag (0, 1) Should mentions (@someone) be removed from the tweet text?", - "required": false, + "name": "userGroupId", + "in": "path", + "description": "ID of the user group to which assign the user", + "required": true, "type": "integer" }, { - "name": "removeHashtags", + "name": "userId", "in": "formData", - "description": "Flag (0, 1) Should the hashtags (#something) be removed from the tweet text", - "required": false, + "description": "Array of userIDs to assign", + "required": true, + "type": "array", + "items": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/UserGroup" + } + } + } + } + } + }, + "/group/members/unassign/{userGroupId}": { + "post": { + "tags": [ + "usergroup" + ], + "summary": "Unassign User from User Group", + "description": "Unassign User from User Group", + "operationId": "userGroupUnassign", + "parameters": [ + { + "name": "userGroupId", + "in": "path", + "description": "ID of the user group from which to unassign the user", + "required": true, "type": "integer" }, { - "name": "updateInterval", + "name": "userId", "in": "formData", - "description": "Update interval in minutes, should be kept as high as possible, if data change once per hour, this should be set to 60", - "required": false, + "description": "Array of userIDs to unassign", + "required": true, + "type": "array", + "items": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/UserGroup" + } + } + } + } + } + }, + "/group/{userGroupId}/copy": { + "post": { + "tags": [ + "usergroup" + ], + "summary": "Copy User Group", + "description": "Copy an user group, optionally copying the group members", + "operationId": "userGroupCopy", + "parameters": [ + { + "name": "userGroupId", + "in": "path", + "description": "The User Group ID to Copy", + "required": true, "type": "integer" }, { - "name": "colorTemplateId", + "name": "group", "in": "formData", - "description": "Use pre-configured templates, available options: default, full, gray, light, soft, vivid", - "required": false, + "description": "The Group Name", + "required": true, "type": "string" }, { - "name": "overrideColorTemplate", + "name": "copyMembers", "in": "formData", - "description": "flag (0, 1) set to 0 and use colorTemplateId or set to 1 and provide colours to use in templateColours parameter", + "description": "Flag indicating whether to copy group members", "required": false, "type": "integer" }, { - "name": "templateColours", + "name": "copyFeatures", "in": "formData", - "description": "Provide a string of new HEX colour codes to use, separated by |, for example: #e0d2c8|#5e411d|#fccf12|#82ff00|#64bae8", + "description": "Flag indicating whether to copy group features", "required": false, + "type": "integer" + } + ], + "responses": { + "201": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/UserGroup" + }, + "headers": { + "Location": { + "description": "Location of the new record", + "type": "string" + } + } + } + } + } + }, + "/playlist/widget/{type}/{playlistId}": { + "post": { + "tags": [ + "widget" + ], + "summary": "Add a Widget to a Playlist", + "description": "Add a new Widget to a Playlist", + "operationId": "addWidget", + "parameters": [ + { + "name": "type", + "in": "path", + "description": "The type of the Widget e.g. text. Media based Widgets like Image are added via POST /playlist/library/assign/{playlistId} call.", + "required": true, "type": "string" }, { - "name": "resultContent", - "in": "formData", - "description": "Intended content Type, available Options: 0 - All Tweets 1 - Tweets with the text only content 2 - Tweets with the text and image content. Pass only with overrideColorTemplate set to 1", - "required": false, - "type": "string" + "name": "playlistId", + "in": "path", + "description": "The Playlist ID", + "required": true, + "type": "integer" }, { - "name": "removeRetweets", + "name": "displayOrder", "in": "formData", - "description": "Flag (0, 1) Should retweets be filtered?", + "description": "Optional integer to say which position this assignment should occupy in the list. If more than one media item is being added, this will be the position of the first one.", "required": false, "type": "integer" } ], "responses": { "201": { - "description": "successful operation" + "description": "successful operation", + "headers": { + "Location": { + "description": "Location of the new record", + "type": "string" + } + } } } } }, - "/playlist/widget/{widgetId}?video": { - "put": { + "/playlist/widget/{widgetId}": { + "delete": { "tags": [ "widget" ], - "summary": "Parameters for editing existing video on a layout", - "description": "For uploading new video files, please refer to POST /library documentation.\n * For assigning existing video file to a Playlist please see POST /playlist/library/assign/{playlistId} documentation.\n * This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetVideoEdit", + "summary": "Delete a Widget", + "description": "Deleted a specified widget", + "operationId": "WidgetDelete", "parameters": [ { "name": "widgetId", "in": "path", - "description": "The Widget ID", + "description": "The widget ID to delete", "required": true, "type": "integer" - }, + } + ], + "responses": { + "200": { + "description": "successful operation" + } + } + } + }, + "/playlist/widget/transition/{type}/{widgetId}": { + "put": { + "tags": [ + "widget" + ], + "summary": "Adds In/Out transition", + "description": "Adds In/Out transition to a specified widget", + "operationId": "WidgetEditTransition", + "parameters": [ { - "name": "name", - "in": "formData", - "description": "Edit only - Optional Widget Name", - "required": false, + "name": "type", + "in": "path", + "description": "Transition type, available options: in, out", + "required": true, "type": "string" }, { - "name": "useDuration", - "in": "formData", - "description": "Edit Only - (0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "duration", - "in": "formData", - "description": "Edit Only - The Widget Duration", - "required": false, + "name": "widgetId", + "in": "path", + "description": "The widget ID to add the transition to", + "required": true, "type": "integer" }, { - "name": "scaleTypeId", + "name": "transitionType", "in": "formData", - "description": "How should the video be scaled, available options: aspect, stretch", - "required": false, + "description": "Type of a transition, available Options: fly, fadeIn, fadeOut", + "required": true, "type": "string" }, { - "name": "mute", - "in": "formData", - "description": "Edit only - Flag (0, 1) Should the video be muted?", - "required": false, - "type": "integer" - }, - { - "name": "loop", + "name": "transitionDuration", "in": "formData", - "description": "Edit only - Flag (0, 1) Should the video loop (only for duration > 0 )?", + "description": "Duration of this transition in milliseconds", "required": false, "type": "integer" }, { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" - }, - { - "name": "showFullScreen", + "name": "transitionDirection", "in": "formData", - "description": "Edit only - Should the video expand over the top of existing content and show in full screen?", + "description": "The direction for this transition, only appropriate for transitions that move, such as fly. Available options: N, NE, E, SE, S, SW, W, NW", "required": false, "type": "integer" } @@ -14182,179 +10820,163 @@ } } }, - "/playlist/widget/{widgetId}?videoIn": { + "/playlist/widget/{widgetId}/audio": { "put": { "tags": [ "widget" ], - "summary": "Edit a Video In Widget", - "description": "Edit a Video In Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetVideoInEdit", + "summary": "Parameters for edting/adding audio file to a specific widget", + "description": "Parameters for edting/adding audio file to a specific widget", + "operationId": "WidgetAssignedAudioEdit", "parameters": [ { "name": "widgetId", "in": "path", - "description": "The WidgetId to Edit", + "description": "Id of a widget to which you want to add audio or edit existing audio", "required": true, "type": "integer" }, { - "name": "duration", + "name": "mediaId", "in": "formData", - "description": "The Widget Duration", + "description": "Id of a audio file in CMS library you wish to add to a widget", "required": false, "type": "integer" }, { - "name": "useDuration", + "name": "volume", "in": "formData", - "description": "Flag (0, 1) Select only if you will provide duration parameter as well", + "description": "Volume percentage(0-100) for this audio to play at", "required": false, "type": "integer" }, { - "name": "sourceId", - "in": "formData", - "description": "Which device input should be shown? available options: HDMI, RGB, DVI, DP, OPS", - "required": true, - "type": "string" - }, - { - "name": "showFullScreen", + "name": "loop", "in": "formData", - "description": "Should the video expand over the top of existing content and show in full screen?", + "description": "Flag (0, 1) Should the audio loop if it finishes before the widget has finished?", "required": false, "type": "integer" - }, + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Widget" + }, + "headers": { + "Location": { + "description": "Location of the new widget", + "type": "string" + } + } + } + } + }, + "delete": { + "tags": [ + "widget" + ], + "summary": "Delete assigned audio widget", + "description": "Delete assigned audio widget from specified widget ID", + "operationId": "WidgetAudioDelete", + "parameters": [ { - "name": "enableStat", - "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", - "required": false, - "type": "string" + "name": "widgetId", + "in": "path", + "description": "Id of a widget from which you want to delete the audio from", + "required": true, + "type": "integer" } ], "responses": { - "201": { + "200": { "description": "successful operation" } } } }, - "/playlist/widget/{widgetId}?webpage": { + "/playlist/widget/{widgetId}/expiry": { "put": { "tags": [ "widget" ], - "summary": "Edit a Web page Widget", - "description": "Edit a Web page Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", - "operationId": "WidgetWebpageEdit", + "summary": "Set Widget From/To Dates", + "description": "Control when this Widget is active on this Playlist", + "operationId": "WidgetAssignedExpiryEdit", "parameters": [ { "name": "widgetId", "in": "path", - "description": "The WidgetId to Edit", + "description": "Id of a widget to which you want to add audio or edit existing audio", "required": true, "type": "integer" }, { - "name": "name", - "in": "formData", - "description": "Optional Widget Name", - "required": false, - "type": "string" - }, - { - "name": "duration", - "in": "formData", - "description": "The Web page Duration", - "required": false, - "type": "integer" - }, - { - "name": "useDuration", - "in": "formData", - "description": "(0, 1) Select 1 only if you will provide duration parameter as well", - "required": false, - "type": "integer" - }, - { - "name": "enableStat", + "name": "fromDt", "in": "formData", - "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", + "description": "The From Date in Y-m-d H::i:s format", "required": false, "type": "string" }, { - "name": "transparency", + "name": "toDt", "in": "formData", - "description": " flag (0,1) should the HTML be shown with a transparent background?", + "description": "The To Date in Y-m-d H::i:s format", "required": false, - "type": "integer" - }, - { - "name": "uri", - "in": "formData", - "description": " string containing the location (URL) of the web page", - "required": true, "type": "string" }, { - "name": "scaling", - "in": "formData", - "description": "For Manual position the percentage to scale the Web page (0-100)", - "required": false, - "type": "integer" - }, - { - "name": "offsetLeft", - "in": "formData", - "description": "For Manual position, the starting point from the left in pixels", - "required": false, - "type": "integer" - }, - { - "name": "offsetTop", - "in": "formData", - "description": "For Manual position, the starting point from the Top in pixels", - "required": false, - "type": "integer" - }, - { - "name": "pageWidth", - "in": "formData", - "description": "For Manual Position and Best Fit, The width of the page - if empty it will use region width", - "required": false, - "type": "integer" - }, - { - "name": "pageHeight", + "name": "deleteOnExpiry", "in": "formData", - "description": "For Manual Position and Best Fit, The height of the page - if empty it will use region height", + "description": "Delete this Widget when it expires?", "required": false, "type": "integer" - }, + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Widget" + }, + "headers": { + "Location": { + "description": "Location of the new widget", + "type": "string" + } + } + } + } + } + }, + "/playlist/widget/{widgetId}/region": { + "put": { + "tags": [ + "widget" + ], + "summary": "Set Widget Region", + "description": "Set the Region this Widget is intended for - only suitable for Drawer Widgets", + "operationId": "WidgetAssignedRegionSet", + "parameters": [ { - "name": "modeId", - "in": "formData", - "description": "The mode option for Web page, 1- Open Natively, 2- Manual Position, 3- Best Ft", + "name": "widgetId", + "in": "path", + "description": "Id of the Widget to set region on", "required": true, "type": "integer" }, { - "name": "isPreNavigate", + "name": "targetRegionId", "in": "formData", - "description": "Flag (0,1) - Should this Widget be loaded off screen so that it is made ready in the background? Dynamic content will run.", - "required": false, - "type": "integer" + "description": "The target regionId", + "required": true, + "type": "string" } ], "responses": { "204": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/Widget" - } + "description": "successful operation" } } } @@ -14572,6 +11194,10 @@ "layoutCode": { "description": "Layout Code identifier", "type": "string" + }, + "layoutId": { + "description": "Layout Id associated with this Action", + "type": "integer" } } }, @@ -14690,7 +11316,7 @@ "type": "integer" }, "type": { - "description": "The type of campaign, either list or ad", + "description": "The type of campaign, either list, ad, playlist or media", "type": "string" }, "campaign": { @@ -14709,6 +11335,11 @@ "description": "The total duration of the campaign (sum of layout's durations)", "type": "integer" }, + "tags": { + "description": "Tags associated with this Campaign, array of TagLink objects", + "type": "array", + "items": {} + }, "folderId": { "description": "The id of the Folder this Campaign belongs to", "type": "integer" @@ -15329,11 +11960,9 @@ "type": "string" }, "tags": { - "description": "Tags associated with this Display", + "description": "Tags associated with this Display, array of TagLink objects", "type": "array", - "items": { - "$ref": "#/definitions/Tag" - } + "items": {} }, "overrideConfig": { "description": "The configuration options that will overwrite Display Profile Config" @@ -15397,6 +12026,10 @@ "lanIpAddress": { "description": "LAN IP Address, if available on the Player", "type": "string" + }, + "syncGroupId": { + "description": "The Display Group ID this Display is synced to", + "type": "integer" } } }, @@ -15447,11 +12080,9 @@ "type": "integer" }, "tags": { - "description": "Tags associated with this DisplayGroup", + "description": "Tags associated with this Display Group, array of TagLink objects", "type": "array", - "items": { - "$ref": "#/definitions/Tag" - } + "items": {} }, "bandwidthLimit": { "description": "The display bandwidth limit", @@ -15555,6 +12186,10 @@ "description": "The ID of this Folder", "type": "integer" }, + "type": { + "description": "The type of folder (home or root)", + "type": "string" + }, "text": { "description": "The name of this Folder", "type": "string" @@ -15573,6 +12208,46 @@ } } }, + "Font": { + "properties": { + "id": { + "description": "The Font ID", + "type": "integer" + }, + "createdAt": { + "description": "The Font created date", + "type": "string" + }, + "modifiedAt": { + "description": "The Font modified date", + "type": "string" + }, + "modifiedBy": { + "description": "The name of the user that modified this font last", + "type": "string" + }, + "name": { + "description": "The Font name", + "type": "string" + }, + "fileName": { + "description": "The Font file name", + "type": "string" + }, + "familyName": { + "description": "The Font family name", + "type": "string" + }, + "size": { + "description": "The Font file size in bytes", + "type": "integer" + }, + "md5": { + "description": "A MD5 checksum of the stored font file", + "type": "string" + } + } + }, "Help": { "properties": { "helpId": { @@ -15701,6 +12376,10 @@ "description": "Code identifier for this Layout", "type": "string" }, + "isLocked": { + "description": "Is this layout locked by another user?", + "type": "boolean" + }, "regions": { "description": "An array of Regions belonging to this Layout", "type": "array", @@ -15709,11 +12388,9 @@ } }, "tags": { - "description": "An array of Tags belonging to this Layout", + "description": "Tags associated with this Layout, array of TagLink objects", "type": "array", - "items": { - "$ref": "#/definitions/Tag" - } + "items": {} }, "folderId": { "description": "The id of the Folder this Layout belongs to", @@ -15824,11 +12501,9 @@ "type": "string" }, "tags": { - "description": "Tags associated with this Media", + "description": "Tags associated with this Media, array of TagLink objects", "type": "array", - "items": { - "$ref": "#/definitions/Tag" - } + "items": {} }, "fileSize": { "description": "The file size in bytes", @@ -15843,7 +12518,7 @@ "type": "integer" }, "moduleSystemFile": { - "description": "Flag indicating whether this media is a system file or not", + "description": "DEPRECATED: Flag indicating whether this media is a system file or not", "type": "integer" }, "expires": { @@ -16053,64 +12728,126 @@ "description": "Module Name", "type": "string" }, - "description": { - "description": "Description of the Module", + "author": { + "description": "Module Author", "type": "string" }, - "validExtensions": { - "description": "A comma separated list of Valid Extensions", + "description": { + "description": "Description of the Module", "type": "string" }, "type": { "description": "The type code for this module", "type": "string" }, - "enabled": { - "description": "A flag indicating whether this module is enabled", - "type": "integer" + "legacyTypes": { + "description": "Legacy type codes for this module", + "type": "array", + "items": {} + }, + "dataType": { + "description": "The data type of the data expected to be returned by this modules data provider", + "type": "string" + }, + "group": { + "description": "The group details for this module", + "type": "array", + "items": { + "type": "string" + } + }, + "dataCacheKey": { + "description": "The cache key used when requesting data", + "type": "string" }, "regionSpecific": { - "description": "A flag indicating whether this module is specific to a Layout or can be uploaded to the Library", + "description": "Is specific to a Layout or can be uploaded to the Library?", "type": "integer" }, - "previewEnabled": { - "description": "A flag indicating whether the Layout designer should render a preview of this module", + "schemaVersion": { + "description": "The schema version of the module", "type": "integer" }, + "compatibilityClass": { + "description": "The compatibility class of the module", + "type": "string" + }, + "showIn": { + "description": "A flag indicating whether the module should be excluded from the Layout Editor", + "type": "string" + }, "assignable": { "description": "A flag indicating whether the module is assignable to a Layout", "type": "integer" }, + "hasThumbnail": { + "description": "Does this module have a thumbnail to render?", + "type": "integer" + }, + "thumbnail": { + "description": "This is the location to a module's thumbnail", + "type": "string" + }, "renderAs": { - "description": "A flag indicating whether the module should be rendered natively by the Player or via the CMS (native|html)", + "description": "Should be rendered natively by the Player or via the CMS (native|html)", "type": "string" }, - "defaultDuration": { - "description": "The default duration for Widgets of this Module when the user has elected to not set a specific duration.", - "type": "integer" + "class": { + "description": "Class Name including namespace", + "type": "string" }, - "settings": { - "description": "An array of additional module specific settings", + "validatorClass": { + "description": "Validator class name including namespace", "type": "array", "items": { "type": "string" } }, - "schemaVersion": { - "description": "The schema version of the module", - "type": "integer" + "onInitialize": { + "description": "JavaScript function run when a module is initialised, before data is returned", + "type": "string" }, - "class": { - "description": "Class Name including namespace", + "onParseData": { + "description": "Data Parser run against each data item applicable when a dataType is present", + "type": "string" + }, + "onRender": { + "description": "JavaScript function run when a module is rendered, after data has been returned", "type": "string" }, - "viewPath": { - "description": "The Twig View path for module specific templates", + "onVisible": { + "description": "JavaScript function run when a module becomes visible", "type": "string" }, - "installName": { - "description": "The original installation name of this module.", + "sampleData": { + "description": "Optional sample data item, only applicable when a dataType is present", "type": "string" + }, + "enabled": { + "description": "A flag indicating whether this module is enabled", + "type": "integer" + }, + "previewEnabled": { + "description": "A flag indicating whether the Layout designer should render a preview of this module", + "type": "integer" + }, + "defaultDuration": { + "description": "The default duration for Widgets of this Module when the user has not set a duration.", + "type": "integer" + }, + "settings": { + "description": "An array of additional module specific settings", + "type": "array", + "items": { + "type": "string" + } + }, + "propertyGroups": { + "description": "An array of additional module specific group properties", + "type": "array", + "items": { + "type": "string" + } } } }, @@ -16120,7 +12857,7 @@ "description": "The Notifcation ID", "type": "integer" }, - "createdDt": { + "createDt": { "description": "Create Date as Unix Timestamp", "type": "integer" }, @@ -16298,24 +13035,32 @@ "description": "Code number", "type": "integer" }, - "groupsWithPermissions": { - "description": "A comma separated list of groups/users with permissions to this Media", + "playerShowVersion": { + "description": "Player version to show", "type": "string" }, - "mediaId": { - "description": "The Media ID", - "type": "integer" + "createdAt": { + "description": "The Player Version created date", + "type": "string" }, - "playerShowVersion": { - "description": "Player version to show", + "modifiedAt": { + "description": "The Player Version modified date", "type": "string" }, - "originalFileName": { - "description": "Original name of the uploaded installer file", + "modifiedBy": { + "description": "The name of the user that modified this Player Version last", "type": "string" }, - "storedAs": { - "description": "Stored As", + "fileName": { + "description": "The Player Version file name", + "type": "string" + }, + "size": { + "description": "The Player Version file size in bytes", + "type": "integer" + }, + "md5": { + "description": "A MD5 checksum of the stored Player Version file", "type": "string" } } @@ -16387,11 +13132,9 @@ "type": "string" }, "tags": { - "description": "An array of Tags", + "description": "Tags associated with this Playlist, array of TagLink objects", "type": "array", - "items": { - "$ref": "#/definitions/Tag" - } + "items": {} }, "widgets": { "description": "An array of Widgets assigned to this Playlist", @@ -16431,6 +13174,10 @@ "description": "The userId of the User that owns this Region", "type": "integer" }, + "type": { + "description": "Region Type, zone, playlist, frame or canvas", + "type": "string" + }, "name": { "description": "The name of this Region", "type": "string" @@ -16459,6 +13206,10 @@ "description": "The z-index of the Region to control Layering", "type": "integer" }, + "syncKey": { + "description": "The syncKey of this Region", + "type": "string" + }, "regionOptions": { "description": "An array of Region Options", "type": "array", @@ -16593,10 +13344,6 @@ "description": "The ID of the User that owns this saved report", "type": "integer" }, - "mediaId": { - "description": "Media Id", - "type": "integer" - }, "originalFileName": { "description": "Original name of the saved report media file", "type": "string" @@ -16608,6 +13355,18 @@ "schemaVersion": { "description": "Schema Version", "type": "integer" + }, + "fileName": { + "description": "The Saved Report file name", + "type": "string" + }, + "size": { + "description": "The Saved Report file size in bytes", + "type": "integer" + }, + "md5": { + "description": "A MD5 checksum of the stored Saved Report file", + "type": "string" } } }, @@ -16753,6 +13512,10 @@ "parentCampaignId": { "description": "If the schedule should be considered part of a larger campaign", "type": "integer" + }, + "syncGroupId": { + "description": "For sync events, the id the the sync group", + "type": "integer" } } }, @@ -16833,50 +13596,7 @@ "type": "integer" }, "options": { - "description": "An array of options assigned to this Tag", - "type": "array", - "items": { - "type": "string" - } - }, - "layouts": { - "description": "An array of layoutID and values pairs with this Tag", - "type": "array", - "items": { - "type": "string" - } - }, - "playlists": { - "description": "An array of playlistIDs and values with this Tag", - "type": "array", - "items": { - "type": "string" - } - }, - "campaigns": { - "description": "An array of campaignIDs and values with this Tag", - "type": "array", - "items": { - "type": "string" - } - }, - "medias": { - "description": "An array of mediaIds and values with this Tag", - "type": "array", - "items": { - "type": "string" - } - }, - "displayGroups": { - "description": "An array of displayGroupIds and values with this Tag", - "type": "array", - "items": { - "type": "string" - } - }, - "value": { - "description": "The Tag Value", - "type": "string" + "description": "An array of options assigned to this Tag" } } }, @@ -17244,6 +13964,10 @@ "description": "Widget To Date", "type": "integer" }, + "schemaVersion": { + "description": "Widget Schema Version", + "type": "integer" + }, "transitionIn": { "description": "Transition Type In", "type": "integer" @@ -17288,10 +14012,6 @@ "$ref": "#/definitions/Permission" } }, - "module": { - "description": "The Module Object for this Widget", - "$ref": "#/definitions/ModuleWidget" - }, "playlist": { "description": "The name of the Playlist this Widget is on", "type": "string" @@ -17337,14 +14057,6 @@ "type": "string" } } - }, - "ModuleWidget": { - "properties": { - "widget": { - "description": "The Widget", - "$ref": "#/definitions/Widget" - } - } } }, "parameters": { @@ -17355,19 +14067,12 @@ "required": true, "type": "integer" }, - "triggerType": { - "name": "triggerType", + "layoutId": { + "name": "layoutId", "in": "formData", - "description": "Action trigger type, touch, webhook", + "description": "LayoutId associted with this Action", "required": true, - "type": "string" - }, - "triggerCode": { - "name": "triggerCode", - "in": "formData", - "description": "Action trigger code", - "required": false, - "type": "string" + "type": "integer" }, "actionType": { "name": "actionType", @@ -17386,10 +14091,38 @@ "targetId": { "name": "targetId", "in": "formData", - "description": "The id of the target for this action, regionId if target set to region", + "description": "The id of the target for this action - regionId if the target is set to region", "required": false, + "type": "string" + }, + "source": { + "name": "source", + "in": "formData", + "description": "Source for this action layout, region or widget", + "required": true, + "type": "string" + }, + "sourceId": { + "name": "sourceId", + "in": "formData", + "description": "The id of the source object, layoutId, regionId or widgetId", + "required": true, "type": "integer" }, + "triggerType": { + "name": "triggerType", + "in": "formData", + "description": "Action trigger type, touch or webhook", + "required": true, + "type": "string" + }, + "triggerCode": { + "name": "triggerCode", + "in": "formData", + "description": "Action trigger code", + "required": false, + "type": "string" + }, "widgetId": { "name": "widgetId", "in": "formData",