Merge pull request #225 from fleetbase/dev-v0.4.10

v0.4.10
This commit is contained in:
Ron
2024-03-11 21:12:01 +08:00
committed by GitHub
28 changed files with 812 additions and 632 deletions

11
COMMERCIAL_LICENSE.md Normal file
View File

@@ -0,0 +1,11 @@
FLEETBASE DUAL LICENSE
COPYRIGHT (C) 2024 FLEETBASE PTE LTD.
PERMISSION IS HEREBY GRANTED, FREE OF CHARGE, TO ANY PERSON OBTAINING A COPY OF THIS SOFTWARE AND ASSOCIATED DOCUMENTATION FILES (THE "SOFTWARE"), TO USE THE SOFTWARE FOR NON-COMMERCIAL PURPOSES ONLY. NON-COMMERCIAL PURPOSES INCLUDE INTERNAL OPERATIONS, ACADEMIC RESEARCH, PERSONAL PROJECTS, OR ANY OTHER USE THAT IS NOT INTENDED FOR COMMERCIAL GAIN.
FOR VERSIONS 0.4.10 ONWARDS, YOU ARE PERMITTED TO USE THE SOFTWARE FOR NON-COMMERCIAL PURPOSES FREE OF CHARGE. HOWEVER, COMMERCIAL USE OF THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO BUILDING SAAS PLATFORMS, OFFERING SERVICES TO THIRD PARTIES, OR INTEGRATING WITH COMMERCIAL PRODUCTS, REQUIRES THE PURCHASE OF A COMMERCIAL LICENSE FROM FLEETBASE PTE LTD.
FOR INQUIRIES REGARDING COMMERCIAL LICENSING OR ANY OTHER QUESTIONS RELATED TO FLEETBASE, PLEASE CONTACT HELLO@FLEETBASE.IO.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

21
LICENSE
View File

@@ -1,21 +0,0 @@
MIT License
Copyright (c) 2023 Fleetbase Pte Ltd
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

21
LICENSE.md Normal file
View File

@@ -0,0 +1,21 @@
MIT LICENSE
COPYRIGHT (C) 2023 FLEETBASE PTE LTD
PERMISSION IS HEREBY GRANTED, FREE OF CHARGE, TO ANY PERSON OBTAINING A COPY
OF THIS SOFTWARE AND ASSOCIATED DOCUMENTATION FILES (THE "SOFTWARE"), TO DEAL
IN THE SOFTWARE WITHOUT RESTRICTION, INCLUDING WITHOUT LIMITATION THE RIGHTS
TO USE, COPY, MODIFY, MERGE, PUBLISH, DISTRIBUTE, SUBLICENSE, AND/OR SELL
COPIES OF THE SOFTWARE, AND TO PERMIT PERSONS TO WHOM THE SOFTWARE IS
FURNISHED TO DO SO, SUBJECT TO THE FOLLOWING CONDITIONS:
THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN ALL
COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -9,9 +9,9 @@
"license": "MIT",
"require": {
"php": "^8.0",
"fleetbase/core-api": "^1.4.10",
"fleetbase/fleetops-api": "^0.4.16",
"fleetbase/storefront-api": "^0.3.3",
"fleetbase/core-api": "^1.4.11",
"fleetbase/fleetops-api": "^0.4.17",
"fleetbase/storefront-api": "^0.3.4",
"guzzlehttp/guzzle": "^7.0.1",
"laravel/framework": "^10.0",
"laravel/octane": "^2.3",

1031
api/composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -27,7 +27,7 @@ return [
'allowed_headers' => ['*'],
'exposed_headers' => [],
'exposed_headers' => ['x-compressed-json', 'access-console-sandbox', 'access-console-sandbox-key'],
'max_age' => 0,

View File

@@ -24,7 +24,7 @@ export default class ConfigureNotificationChannelsComponent extends Component {
production: true,
};
@tracked firebase = {
credentials: ''
credentials: '',
};
constructor() {

View File

@@ -1,7 +1,12 @@
export function initialize() {
const socketClusterClientScript = document.createElement('script');
socketClusterClientScript.src = '/assets/socketcluster-client.min.js';
document.body.appendChild(socketClusterClientScript);
// Check if the script already exists
// Only insert the script tag if it doesn't already exist
if (!document.querySelector('script[data-socketcluster-client]')) {
const socketClusterClientScript = document.createElement('script');
socketClusterClientScript.setAttribute('data-socketcluster-client', '1');
socketClusterClientScript.src = '/assets/socketcluster-client.min.js';
document.body.appendChild(socketClusterClientScript);
}
}
export default {

View File

@@ -29,6 +29,7 @@ export default class CategoryModel extends Model {
@attr('string') slug;
@attr('string') order;
@attr('raw') translations;
@attr('raw') meta;
/** @dates */
@attr('date') deleted_at;

View File

@@ -0,0 +1,54 @@
import Model, { attr } from '@ember-data/model';
import { computed } from '@ember/object';
import { getOwner } from '@ember/application';
import { format, formatDistanceToNow } from 'date-fns';
function isValidFileObjectJson(str) {
return typeof str === 'string' && str.startsWith('{') && str.endsWith('}');
}
export default class CustomFieldValueModel extends Model {
/** @ids */
@attr('string') company_uuid;
@attr('string') custom_field_uuid;
@attr('string') subject_uuid;
@attr('string') subject_type;
/** @attributes */
@attr('string') value;
@attr('string') value_type;
/** @dates */
@attr('date') created_at;
@attr('date') updated_at;
@attr('date') deleted_at;
/** @computed */
@computed('value') get asFile() {
const owner = getOwner(this);
const fetch = owner.lookup(`service:fetch`);
const value = this.value;
if (!isValidFileObjectJson(value)) {
return null;
}
const fileModel = fetch.jsonToModel(value, 'file');
return fileModel;
}
@computed('created_at') get createdAgo() {
return formatDistanceToNow(this.created_at);
}
@computed('created_at') get createdAt() {
return format(this.created_at, 'PPP p');
}
@computed('updated_at') get updatedAgo() {
return formatDistanceToNow(this.updated_at);
}
@computed('updated_at') get updatedAt() {
return format(this.updated_at, 'PPP p');
}
}

View File

@@ -0,0 +1,48 @@
import Model, { attr } from '@ember-data/model';
import { computed } from '@ember/object';
import { format, formatDistanceToNow } from 'date-fns';
export default class CustomFieldModel extends Model {
/** @ids */
@attr('string') company_uuid;
@attr('string') category_uuid;
@attr('string') subject_uuid;
@attr('string') subject_type;
/** @attributes */
@attr('string') name;
@attr('string') description;
@attr('string') help_text;
@attr('string') label;
@attr('string') type;
@attr('string') component;
@attr('string') default_value;
@attr('number') order;
@attr('boolean') required;
@attr('boolean', { defaultValue: true }) editable;
@attr('raw') options;
@attr('raw') validation_rules;
@attr('raw') meta;
/** @dates */
@attr('date') created_at;
@attr('date') updated_at;
@attr('date') deleted_at;
/** @computed */
@computed('created_at') get createdAgo() {
return formatDistanceToNow(this.created_at);
}
@computed('created_at') get createdAt() {
return format(this.created_at, 'PPP p');
}
@computed('updated_at') get updatedAgo() {
return formatDistanceToNow(this.updated_at);
}
@computed('updated_at') get updatedAt() {
return format(this.updated_at, 'PPP p');
}
}

View File

@@ -1,6 +1,5 @@
import Model, { attr } from '@ember-data/model';
import { computed } from '@ember/object';
import { format, formatDistanceToNow } from 'date-fns';
export default class NotificationModel extends Model {

View File

@@ -46,9 +46,12 @@ module.exports = function (environment) {
driverImage: getenv('DEFAULT_DRIVER_IMAGE', 'https://s3.ap-southeast-1.amazonaws.com/flb-assets/static/no-avatar.png'),
userImage: getenv('DEFAULT_USER_IMAGE', 'https://s3.ap-southeast-1.amazonaws.com/flb-assets/static/no-avatar.png'),
contactImage: getenv('DEFAULT_CONTACT_IMAGE', 'https://s3.ap-southeast-1.amazonaws.com/flb-assets/static/no-avatar.png'),
entityImage: getenv('DEFAULT_ENTITY_IMAGE', 'https://flb-assets.s3-ap-southeast-1.amazonaws.com/static/parcels/medium.png'),
vendorImage: getenv('DEFAULT_VENDOR_IMAGE', 'https://s3.ap-southeast-1.amazonaws.com/flb-assets/static/no-avatar.png'),
vehicleImage: getenv('DEFAULT_VEHICLE_IMAGE', 'https://s3.ap-southeast-1.amazonaws.com/flb-assets/static/vehicle-placeholder.png'),
vehicleAvatar: getenv('DEFAUL_VEHICLE_AVATAR', 'https://flb-assets.s3-ap-southeast-1.amazonaws.com/static/vehicle-icons/mini_bus.svg'),
driverAvatar: getenv('DEFAUL_DRIVER_AVATAR', 'https://flb-assets.s3-ap-southeast-1.amazonaws.com/static/driver-icons/moto-driver.png'),
placeAvatar: getenv('DEFAUL_PLACE_AVATAR', 'https://flb-assets.s3-ap-southeast-1.amazonaws.com/static/place-icons/basic-building.png'),
},
'ember-simple-auth': {
@@ -60,6 +63,11 @@ module.exports = function (environment) {
keyDelimiter: '/',
includeEmberDataSupport: true,
},
'ember-cli-notifications': {
autoClear: true,
clearDuration: 1000 * 3.5,
},
};
if (environment === 'development') {

View File

@@ -1,6 +1,6 @@
{
"name": "@fleetbase/console",
"version": "0.4.9",
"version": "0.4.10",
"private": true,
"description": "Fleetbase Console",
"repository": "https://github.com/fleetbase/fleetbase",
@@ -29,11 +29,11 @@
"test:ember": "ember test"
},
"dependencies": {
"@fleetbase/ember-core": "^0.2.4",
"@fleetbase/ember-core": "^0.2.5",
"@fleetbase/ember-ui": "^0.2.11",
"@fleetbase/fleetops-engine": "^0.4.16",
"@fleetbase/fleetops-data": "^0.1.9",
"@fleetbase/storefront-engine": "^0.3.3",
"@fleetbase/fleetops-engine": "^0.4.17",
"@fleetbase/fleetops-data": "^0.1.12",
"@fleetbase/storefront-engine": "^0.3.4",
"@fleetbase/dev-engine": "^0.2.1",
"@fleetbase/iam-engine": "^0.0.9",
"@fleetbase/leaflet-routing-machine": "^3.2.16",
@@ -142,9 +142,9 @@
},
"pnpm": {
"overrides": {
"@fleetbase/ember-core": "^0.2.4",
"@fleetbase/ember-core": "^0.2.5",
"@fleetbase/ember-ui": "^0.2.11",
"@fleetbase/fleetops-data": "^0.1.9"
"@fleetbase/fleetops-data": "^0.1.12"
}
},
"prettier": {

140
console/pnpm-lock.yaml generated
View File

@@ -1,9 +1,9 @@
lockfileVersion: '6.0'
overrides:
'@fleetbase/ember-core': ^0.2.4
'@fleetbase/ember-core': ^0.2.5
'@fleetbase/ember-ui': ^0.2.11
'@fleetbase/fleetops-data': ^0.1.9
'@fleetbase/fleetops-data': ^0.1.12
dependencies:
'@ember/legacy-built-in-components':
@@ -13,17 +13,17 @@ dependencies:
specifier: ^0.2.1
version: 0.2.1(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-engines@0.8.23)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0)
'@fleetbase/ember-core':
specifier: ^0.2.4
version: 0.2.4(@ember/test-helpers@3.2.0)(ember-source@5.4.0)(webpack@5.89.0)
specifier: ^0.2.5
version: 0.2.5(@ember/test-helpers@3.2.0)(ember-source@5.4.0)(webpack@5.89.0)
'@fleetbase/ember-ui':
specifier: ^0.2.11
version: 0.2.11(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0)
'@fleetbase/fleetops-data':
specifier: ^0.1.9
version: 0.1.9
specifier: ^0.1.12
version: 0.1.12
'@fleetbase/fleetops-engine':
specifier: ^0.4.16
version: 0.4.16(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-engines@0.8.23)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0)
specifier: ^0.4.17
version: 0.4.17(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-engines@0.8.23)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0)
'@fleetbase/iam-engine':
specifier: ^0.0.9
version: 0.0.9(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-engines@0.8.23)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0)
@@ -31,8 +31,8 @@ dependencies:
specifier: ^3.2.16
version: 3.2.16
'@fleetbase/storefront-engine':
specifier: ^0.3.3
version: 0.3.3(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-engines@0.8.23)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0)
specifier: ^0.3.4
version: 0.3.4(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-engines@0.8.23)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0)
'@fortawesome/ember-fontawesome':
specifier: ^0.4.1
version: 0.4.1(rollup@4.12.0)
@@ -2136,6 +2136,17 @@ packages:
postcss: 8.4.21
dev: false
/@dagrejs/dagre@1.0.4:
resolution: {integrity: sha512-jrEore+HhW1yg1Rsd9H1PPMcoEOD4bVh0WCXc6GqzyzubnJj4GaWGg8ETOrskTd/3n/g5LOzumGM4CCgpNLJNw==}
dependencies:
'@dagrejs/graphlib': 2.1.13
dev: false
/@dagrejs/graphlib@2.1.13:
resolution: {integrity: sha512-calbMa7Gcyo+/t23XBaqQqon8LlgE9regey4UVoikoenKBXvUnCUL3s9RP6USCxttfr0XWVICtYUuKMdehKqMw==}
engines: {node: '>17.0.0'}
dev: false
/@ember-data/adapter@4.12.5(@ember-data/store@4.12.5)(@ember/string@3.1.1)(ember-inflector@4.0.2):
resolution: {integrity: sha512-YWCjBga9h59q3iBqLONxi68AjNZtKmxQ/uB7e8uSv7czOXGQKpzONlTb68jyMJ687qpg0RWebxLBlBU5yPxq1Q==}
engines: {node: 16.* || >= 18.*}
@@ -2167,7 +2178,7 @@ packages:
'@ember/edition-utils': 1.2.0
'@ember/string': 3.1.1
'@embroider/macros': 1.13.5
ember-auto-import: 2.6.3(webpack@5.89.0)
ember-auto-import: 2.7.2(webpack@5.89.0)
ember-cli-babel: 7.26.11
transitivePeerDependencies:
- '@glint/template'
@@ -2642,7 +2653,7 @@ packages:
ember-engines: ^0.9.0
dependencies:
'@babel/core': 7.23.2
'@fleetbase/ember-core': 0.2.4(@ember/test-helpers@3.2.0)(ember-source@5.4.0)(webpack@5.89.0)
'@fleetbase/ember-core': 0.2.5(@ember/test-helpers@3.2.0)(ember-source@5.4.0)(webpack@5.89.0)
'@fleetbase/ember-ui': 0.2.11(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0)
'@fortawesome/ember-fontawesome': 0.4.1(rollup@4.12.0)
'@fortawesome/fontawesome-svg-core': 6.4.0
@@ -2690,13 +2701,14 @@ packages:
- supports-color
dev: false
/@fleetbase/ember-core@0.2.4(@ember/test-helpers@3.2.0)(ember-source@5.4.0)(webpack@5.89.0):
resolution: {integrity: sha512-flOA8Qz/y9gQLEUOw1ZoZ85mRU9+dvcr8aYgDtNc1iLFQcuEwZQcvwviLh3j/xIDcSNKsYL2ACopAXAQP5n7nA==}
/@fleetbase/ember-core@0.2.5(@ember/test-helpers@3.2.0)(ember-source@5.4.0)(webpack@5.89.0):
resolution: {integrity: sha512-nLfNW5iiRdPcFzeLstKeEaPFkXuAPJbI04i19xz5a/D+zqstfD4bYQpv+vxbQpzRKwNFtFLYaJt+qg8xMWdB2A==}
engines: {node: '>= 18'}
dependencies:
'@babel/core': 7.23.2
compress-json: 3.0.0
date-fns: 2.30.0
ember-auto-import: 2.6.3(webpack@5.89.0)
ember-auto-import: 2.7.2(webpack@5.89.0)
ember-cli-babel: 8.2.0(@babel/core@7.23.2)
ember-cli-htmlbars: 6.3.0
ember-cli-notifications: 9.0.0
@@ -2805,8 +2817,8 @@ packages:
- webpack-command
dev: false
/@fleetbase/fleetops-data@0.1.9:
resolution: {integrity: sha512-b+HxJ2Pv5M9kL7GijYlIYGnGtyqOkfKJXIpoEKjCgLttwH+e54T8R2XrQh1ArKDnxJNFFqEk5QtHTSx/J16kQQ==}
/@fleetbase/fleetops-data@0.1.12:
resolution: {integrity: sha512-t3tuflZkZCeYPGuW81l9cYsI4ezg5JKBVplwaelhyIb5a9ZzIFwm0grRNN1jMJRbwCZkIVKyMMDnqIHw4mrWAg==}
engines: {node: '>= 18'}
dependencies:
'@babel/core': 7.23.2
@@ -2817,20 +2829,22 @@ packages:
- supports-color
dev: false
/@fleetbase/fleetops-engine@0.4.16(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-engines@0.8.23)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0):
resolution: {integrity: sha512-w0BXBlO71ouryp6m94zK9lk6/FILbrxM7eW8fbZW//YBeVri03T1mNf7p80Kqvg6spXYnQQ68df7mFW81QMBfg==}
/@fleetbase/fleetops-engine@0.4.17(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-engines@0.8.23)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0):
resolution: {integrity: sha512-2o2cb7UTCMzOCzZshWrjiAFYV+6kXi1KFo014PkeKC/dOdKhcFAlB+DWg2JMz2rCbeM+f1lS2JqyuraVSWwtyQ==}
engines: {node: '>= 18'}
peerDependencies:
ember-engines: ^0.9.0
dependencies:
'@babel/core': 7.23.2
'@fleetbase/ember-core': 0.2.4(@ember/test-helpers@3.2.0)(ember-source@5.4.0)(webpack@5.89.0)
'@fleetbase/ember-core': 0.2.5(@ember/test-helpers@3.2.0)(ember-source@5.4.0)(webpack@5.89.0)
'@fleetbase/ember-ui': 0.2.11(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0)
'@fleetbase/fleetops-data': 0.1.9
'@fleetbase/fleetops-data': 0.1.12
'@fleetbase/leaflet-routing-machine': 3.2.16
'@fortawesome/ember-fontawesome': 0.4.1(rollup@4.12.0)
'@fortawesome/fontawesome-svg-core': 6.4.0
'@fortawesome/free-solid-svg-icons': 6.4.0
'@joint/core': 4.0.1
'@joint/layout-directed-graph': 4.0.1
'@terraformer/spatial': 2.1.2
'@zestia/ember-dragula': 12.1.0(@babel/core@7.23.2)(ember-source@5.4.0)(webpack@5.89.0)
broccoli-funnel: 3.0.8
@@ -2881,7 +2895,7 @@ packages:
ember-engines: ^0.9.0
dependencies:
'@babel/core': 7.23.2
'@fleetbase/ember-core': 0.2.4(@ember/test-helpers@3.2.0)(ember-source@5.4.0)(webpack@5.89.0)
'@fleetbase/ember-core': 0.2.5(@ember/test-helpers@3.2.0)(ember-source@5.4.0)(webpack@5.89.0)
'@fleetbase/ember-ui': 0.2.11(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0)
'@fortawesome/ember-fontawesome': 0.4.1(rollup@4.12.0)
'@fortawesome/fontawesome-svg-core': 6.4.0
@@ -2933,16 +2947,16 @@ packages:
osrm-text-instructions: 0.13.4
dev: false
/@fleetbase/storefront-engine@0.3.3(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-engines@0.8.23)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0):
resolution: {integrity: sha512-+rvZUhxbMV5UxI5Wv1ovLprqeQNpqGgXDHojiND+rcbJ9noHvcjdjjmDkP4SkUxvh90Pu40Yjj45iMHVRvR4Ew==}
/@fleetbase/storefront-engine@0.3.4(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-engines@0.8.23)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0):
resolution: {integrity: sha512-HZ76VyJA/feRHKE2U5EXq1u6Wc+5utFYVO4qHy8+ZnOeqVvWE9wJ3xPXwYVA7AsxakD0cvo8RZutLD/9jt2n3w==}
engines: {node: '>= 18'}
peerDependencies:
ember-engines: ^0.9.0
dependencies:
'@babel/core': 7.23.2
'@fleetbase/ember-core': 0.2.4(@ember/test-helpers@3.2.0)(ember-source@5.4.0)(webpack@5.89.0)
'@fleetbase/ember-core': 0.2.5(@ember/test-helpers@3.2.0)(ember-source@5.4.0)(webpack@5.89.0)
'@fleetbase/ember-ui': 0.2.11(@ember/test-helpers@3.2.0)(@glimmer/component@1.1.2)(@glimmer/tracking@1.1.2)(ember-source@5.4.0)(postcss@8.4.21)(rollup@4.12.0)(tracked-built-ins@3.3.0)(webpack@5.89.0)
'@fleetbase/fleetops-data': 0.1.9
'@fleetbase/fleetops-data': 0.1.12
'@fortawesome/ember-fontawesome': 0.4.1(rollup@4.12.0)
'@fortawesome/fontawesome-svg-core': 6.4.0
'@fortawesome/free-solid-svg-icons': 6.4.0
@@ -3403,6 +3417,18 @@ packages:
resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
dev: true
/@joint/core@4.0.1:
resolution: {integrity: sha512-/nI64MhSUhTJ4rVT0UeaVBYyFYE8SLGbz1M6nB3lcE9pub1a8cudXG6+8MqhmQMMBOZ2SwNUpHebZXyl5gqDZg==}
dev: false
/@joint/layout-directed-graph@4.0.1:
resolution: {integrity: sha512-PgYARBoJjutgHRy2a97xpLdn46IeklXr9ka4TzJxz3uFTY+1C6BNa3nb12uJ44dA5SmlcTSDe6hu3Sf5hazmNw==}
dependencies:
'@dagrejs/dagre': 1.0.4
'@dagrejs/graphlib': 2.1.13
'@joint/core': 4.0.1
dev: false
/@jridgewell/gen-mapping@0.3.3:
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
engines: {node: '>=6.0.0'}
@@ -6404,6 +6430,10 @@ packages:
/component-emitter@1.3.1:
resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==}
/compress-json@3.0.0:
resolution: {integrity: sha512-oebYSI+JLtVsZep+rAe1zbZ37vxmf93xnBj+JkHvQyFKvc4ZIAUtiZNX5yB/ERPWpTFEml3cGOKFM7cCpgmyAw==}
dev: false
/compressible@2.0.18:
resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
engines: {node: '>= 0.6'}
@@ -6913,13 +6943,13 @@ packages:
peerDependencies:
webpack: ^4.27.0 || ^5.0.0
dependencies:
icss-utils: 5.1.0(postcss@8.4.21)
icss-utils: 5.1.0(postcss@8.4.35)
loader-utils: 2.0.4
postcss: 8.4.21
postcss-modules-extract-imports: 3.0.0(postcss@8.4.21)
postcss-modules-local-by-default: 4.0.4(postcss@8.4.21)
postcss-modules-scope: 3.1.1(postcss@8.4.21)
postcss-modules-values: 4.0.0(postcss@8.4.21)
postcss: 8.4.35
postcss-modules-extract-imports: 3.0.0(postcss@8.4.35)
postcss-modules-local-by-default: 4.0.4(postcss@8.4.35)
postcss-modules-scope: 3.1.1(postcss@8.4.35)
postcss-modules-values: 4.0.0(postcss@8.4.35)
postcss-value-parser: 4.2.0
schema-utils: 3.3.0
semver: 7.6.0
@@ -7433,7 +7463,6 @@ packages:
- '@glint/template'
- supports-color
- webpack
dev: false
/ember-basic-dropdown@6.0.2(@babel/core@7.23.2)(ember-source@5.4.0):
resolution: {integrity: sha512-JgI/cy7eS/Y2WoQl7B2Mko/1aFTAlxr5d+KpQeH7rBKOFml7IQtLvhiDQrpU/FLkrQ9aLNEJtzwtDZV1xQxAKA==}
@@ -8203,7 +8232,7 @@ packages:
'@babel/core': 7.23.2
'@ember/render-modifiers': 2.1.0(@babel/core@7.23.2)(ember-source@5.4.0)
'@glimmer/component': 1.1.2(@babel/core@7.23.2)
ember-auto-import: 2.6.3(webpack@5.89.0)
ember-auto-import: 2.7.2(webpack@5.89.0)
ember-cli-babel: 8.2.0(@babel/core@7.23.2)
ember-cli-htmlbars: 6.3.0
ember-element-helper: 0.8.5(ember-source@5.4.0)
@@ -8868,7 +8897,7 @@ packages:
ember-cli-babel: 7.26.11
ember-cli-htmlbars: 6.3.0
ember-cli-typescript: 5.2.1
ember-concurrency: 3.0.0(@babel/core@7.23.2)
ember-concurrency: 3.1.1(@babel/core@7.23.2)(ember-source@5.4.0)
ember-text-measurer: 0.6.0
ember-truth-helpers: 4.0.3(ember-source@5.4.0)
transitivePeerDependencies:
@@ -11053,13 +11082,13 @@ packages:
safer-buffer: 2.1.2
dev: true
/icss-utils@5.1.0(postcss@8.4.21):
/icss-utils@5.1.0(postcss@8.4.35):
resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
postcss: 8.4.21
postcss: 8.4.35
/ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
@@ -13720,42 +13749,42 @@ packages:
postcss-simple-vars: 7.0.0(postcss@8.4.21)
sugarss: 4.0.1(postcss@8.4.21)
/postcss-modules-extract-imports@3.0.0(postcss@8.4.21):
/postcss-modules-extract-imports@3.0.0(postcss@8.4.35):
resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
postcss: 8.4.21
postcss: 8.4.35
/postcss-modules-local-by-default@4.0.4(postcss@8.4.21):
/postcss-modules-local-by-default@4.0.4(postcss@8.4.35):
resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
icss-utils: 5.1.0(postcss@8.4.21)
postcss: 8.4.21
icss-utils: 5.1.0(postcss@8.4.35)
postcss: 8.4.35
postcss-selector-parser: 6.0.15
postcss-value-parser: 4.2.0
/postcss-modules-scope@3.1.1(postcss@8.4.21):
/postcss-modules-scope@3.1.1(postcss@8.4.35):
resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
postcss: 8.4.21
postcss: 8.4.35
postcss-selector-parser: 6.0.15
/postcss-modules-values@4.0.0(postcss@8.4.21):
/postcss-modules-values@4.0.0(postcss@8.4.35):
resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
icss-utils: 5.1.0(postcss@8.4.21)
postcss: 8.4.21
icss-utils: 5.1.0(postcss@8.4.35)
postcss: 8.4.35
/postcss-nested@5.0.6(postcss@8.4.21):
resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==}
@@ -14097,7 +14126,6 @@ packages:
nanoid: 3.3.7
picocolors: 1.0.0
source-map-js: 1.0.2
dev: true
/preact@10.12.1:
resolution: {integrity: sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==}
@@ -15239,7 +15267,7 @@ packages:
stream-demux: 8.1.0
uuid: 8.3.2
vinyl-buffer: 1.0.1
ws: 8.16.0
ws: 8.11.0
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -16814,20 +16842,6 @@ packages:
optional: true
utf-8-validate:
optional: true
dev: true
/ws@8.16.0:
resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: '>=5.0.2'
peerDependenciesMeta:
bufferutil:
optional: true
utf-8-validate:
optional: true
dev: false
/xdg-basedir@4.0.0:
resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==}

View File

@@ -0,0 +1,14 @@
import { module, test } from 'qunit';
import { setupTest } from '@fleetbase/console/tests/helpers';
module('Unit | Model | custom field', function (hooks) {
setupTest(hooks);
// Replace this with your real tests.
test('it exists', function (assert) {
let store = this.owner.lookup('service:store');
let model = store.createRecord('custom-field', {});
assert.ok(model);
});
});

View File

@@ -0,0 +1,14 @@
import { module, test } from 'qunit';
import { setupTest } from '@fleetbase/console/tests/helpers';
module('Unit | Model | custom field value', function (hooks) {
setupTest(hooks);
// Replace this with your real tests.
test('it exists', function (assert) {
let store = this.owner.lookup('service:store');
let model = store.createRecord('custom-field-value', {});
assert.ok(model);
});
});

View File

@@ -16,6 +16,7 @@ common:
confirm: Confirm
edit: Edit
save: Save
save-changes: Save Changes
cancel: Cancel
2fa-config: 2FA Config
account: Account
@@ -59,6 +60,7 @@ common:
users: Users
changelog: Changelog
ok: OK
select-file: Select File
component:
file:
dropdown-label: File actions

View File

@@ -12,7 +12,32 @@ server {
send_timeout 600;
index index.php;
# tweaks
client_max_body_size 600M;
client_body_buffer_size 1m;
client_header_buffer_size 1k;
large_client_header_buffers 4 16k;
keepalive_timeout 2 2;
#gzip tweaks
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain application/javascript application/json application/x-javascript text/xml text/css;
#open file cache tweaks
open_file_cache max=2000 inactive=20s;
open_file_cache_valid 60s;
open_file_cache_min_uses 5;
open_file_cache_errors off;
location / {
proxy_set_header Host $host;
proxy_pass http://${NGINX_APPLICATION_HOSTNAME}:8000;
}
}

View File

@@ -52,13 +52,13 @@ app.kubernetes.io/instance: {{ .Release.Name }}
{{- define "helm.commonVariables" -}}
- name: CACHE_URL
value: $(REDIS_SERVICE_PORT)/1
value: tcp://redis-service.{{ .Release.Namespace }}.svc.cluster.local/1
- name: CACHE_DRIVER
value: redis
- name: SOCKETCLUSTER_PORT
value: "80"
- name: SOCKETCLUSTER_HOST
value: $(SOCKETCLUSTER_SERVICE_HOST)
value: socketcluster.{{ .Release.Namespace }}.svc.cluster.local
{{- end }}
{{/*
Create the name of the service account to use

View File

@@ -10,7 +10,7 @@ metadata:
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
annotations:
"helm.sh/hook": pre-install,pre-upgrade
"helm.sh/hook-weight": "0"
"helm.sh/hook-weight": "20"
"helm.sh/hook-delete-policy": before-hook-creation
spec:
template:

View File

@@ -30,4 +30,3 @@ spec:
port: 6379
targetPort: 6379
type: ClusterIP

View File

@@ -33,4 +33,3 @@ spec:
port: 80
targetPort: 8000
type: ClusterIP