mirror of
https://github.com/fleetbase/fleetbase.git
synced 2026-01-07 23:04:14 +00:00
Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f8196ccc03 | ||
|
|
6f1664e123 | ||
|
|
687af92752 | ||
|
|
eb3f706791 | ||
|
|
5ceb3cbc84 | ||
|
|
7792cf31e2 | ||
|
|
50f30742a8 | ||
|
|
c7b1a876f5 | ||
|
|
892eaeeca0 | ||
|
|
32f4b69697 | ||
|
|
6317c4b2e4 | ||
|
|
e7c229ece5 | ||
|
|
983a3d22b5 | ||
|
|
42105380ca | ||
|
|
8fd4a40016 | ||
|
|
331e98af20 | ||
|
|
b1d226256a | ||
|
|
f1ee8b0c99 | ||
|
|
23d5ecfdb8 | ||
|
|
2795a2f1be | ||
|
|
69afdee975 | ||
|
|
60845b9953 |
@@ -13,7 +13,7 @@
|
||||
·
|
||||
<a href="https://fleetbase.apichecker.com" target="_api_status" rel="nofollow">API Status</a>
|
||||
·
|
||||
<a href="https://meetings.hubspot.com/shiv-thakker" rel="nofollow">Book a Demo</a>
|
||||
<a href="https://tally.so/r/3NBpAW" rel="nofollow">Book a Demo</a>
|
||||
·
|
||||
<a href="https://discord.gg/V7RVWRQ2Wm" target="discord" rel="nofollow">Discord</a>
|
||||
</p>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"require": {
|
||||
"php": "^8.0",
|
||||
"fleetbase/core-api": "^1.5.9",
|
||||
"fleetbase/fleetops-api": "^0.5.8",
|
||||
"fleetbase/registry-bridge": "^0.0.14",
|
||||
"fleetbase/storefront-api": "^0.3.15",
|
||||
"fleetbase/core-api": "^1.5.19",
|
||||
"fleetbase/fleetops-api": "^0.5.13",
|
||||
"fleetbase/registry-bridge": "^0.0.18",
|
||||
"fleetbase/storefront-api": "^0.3.17",
|
||||
"guzzlehttp/guzzle": "^7.0.1",
|
||||
"laravel/framework": "^10.0",
|
||||
"laravel/octane": "^2.3",
|
||||
@@ -22,7 +22,10 @@
|
||||
"phpoffice/phpspreadsheet": "^1.28",
|
||||
"predis/predis": "^2.1",
|
||||
"psr/http-factory-implementation": "*",
|
||||
"s-ichikawa/laravel-sendgrid-driver": "^4.0"
|
||||
"resend/resend-php": "^0.14.0",
|
||||
"s-ichikawa/laravel-sendgrid-driver": "^4.0",
|
||||
"symfony/mailgun-mailer": "^7.1",
|
||||
"symfony/postmark-mailer": "^7.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"spatie/laravel-ignition": "^2.0",
|
||||
|
||||
1241
api/composer.lock
generated
1241
api/composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -64,6 +64,8 @@ return [
|
||||
'transport' => 'sendgrid',
|
||||
],
|
||||
|
||||
'resend' => [],
|
||||
|
||||
'sendmail' => [
|
||||
'transport' => 'sendmail',
|
||||
'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -t -i'),
|
||||
|
||||
@@ -34,6 +34,10 @@ return [
|
||||
'api_key' => env('SENDGRID_API_KEY'),
|
||||
],
|
||||
|
||||
'resend' => [
|
||||
'key' => env('RESEND_KEY'),
|
||||
],
|
||||
|
||||
'stripe' => [
|
||||
'key' => env('STRIPE_KEY', env('STRIPE_API_KEY')),
|
||||
'secret' => env('STRIPE_SECRET', env('STRIPE_API_SECRET')),
|
||||
|
||||
@@ -27,5 +27,9 @@ php artisan schedule-monitor:sync
|
||||
# Clear cache
|
||||
php artisan cache:clear
|
||||
|
||||
# Optimize
|
||||
php artisan config:cache
|
||||
php artisan route:cache
|
||||
|
||||
# Initialize registry
|
||||
php artisan registry:init
|
||||
|
||||
@@ -1,54 +1,54 @@
|
||||
# ---- Build Stage ----
|
||||
FROM node:18.15.0-alpine as builder
|
||||
FROM node:18.15.0-alpine as builder
|
||||
|
||||
# Set the working directory in the container to /console
|
||||
WORKDIR /console
|
||||
|
||||
# Create the pnpm directory and set the PNPM_HOME environment variable
|
||||
RUN mkdir -p ~/.pnpm
|
||||
ENV PNPM_HOME /root/.pnpm
|
||||
|
||||
# Set environment
|
||||
ARG ENVIRONMENT=production
|
||||
|
||||
# Add the pnpm global bin to the PATH
|
||||
ENV PATH /root/.pnpm/bin:$PATH
|
||||
|
||||
# Copy pnpm-lock.yaml (or package.json) into the directory /console in the container
|
||||
COPY console/package.json console/pnpm-lock.yaml ./
|
||||
|
||||
# Copy over .npmrc if applicable
|
||||
COPY console/.npmr[c] ./
|
||||
|
||||
# Install global dependencies
|
||||
RUN npm install -g ember-cli pnpm
|
||||
|
||||
# Install git
|
||||
RUN apk update && apk add git openssh-client
|
||||
|
||||
# Trust GitHub's RSA host key
|
||||
RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts
|
||||
|
||||
# Install app dependencies
|
||||
RUN pnpm install
|
||||
|
||||
# Copy the console directory contents into the container at /console
|
||||
COPY console .
|
||||
|
||||
# Build the application
|
||||
RUN pnpm build --environment $ENVIRONMENT
|
||||
|
||||
# ---- Serve Stage ----
|
||||
FROM nginx:alpine
|
||||
|
||||
# Copy the built app to our served directory
|
||||
COPY --from=builder /console/dist /usr/share/nginx/html
|
||||
|
||||
# Expose the port nginx is bound to
|
||||
EXPOSE 4200
|
||||
|
||||
# Use custom nginx.conf
|
||||
COPY console/nginx.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
# Start Nginx server
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
# Set the working directory in the container to /console
|
||||
WORKDIR /console
|
||||
|
||||
# Create the pnpm directory and set the PNPM_HOME environment variable
|
||||
RUN mkdir -p ~/.pnpm
|
||||
ENV PNPM_HOME /root/.pnpm
|
||||
|
||||
# Set environment
|
||||
ARG ENVIRONMENT=production
|
||||
|
||||
# Add the pnpm global bin to the PATH
|
||||
ENV PATH /root/.pnpm/bin:$PATH
|
||||
|
||||
# Copy pnpm-lock.yaml (or package.json) into the directory /console in the container
|
||||
COPY console/package.json console/pnpm-lock.yaml ./
|
||||
|
||||
# Copy over .npmrc if applicable
|
||||
COPY console/.npmr[c] ./
|
||||
|
||||
# Install global dependencies
|
||||
RUN npm install -g ember-cli pnpm
|
||||
|
||||
# Install git
|
||||
RUN apk update && apk add git openssh-client
|
||||
|
||||
# Trust GitHub's RSA host key
|
||||
RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts
|
||||
|
||||
# Install app dependencies
|
||||
RUN pnpm install
|
||||
|
||||
# Copy the console directory contents into the container at /console
|
||||
COPY console .
|
||||
|
||||
# Build the application
|
||||
RUN pnpm build --environment $ENVIRONMENT
|
||||
|
||||
# ---- Serve Stage ----
|
||||
FROM nginx:alpine
|
||||
|
||||
# Copy the built app to our served directory
|
||||
COPY --from=builder /console/dist /usr/share/nginx/html
|
||||
|
||||
# Expose the port nginx is bound to
|
||||
EXPOSE 4200
|
||||
|
||||
# Use custom nginx.conf
|
||||
COPY console/nginx.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
# Start Nginx server
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
@@ -33,7 +33,7 @@
|
||||
</InputGroup>
|
||||
{{/if}}
|
||||
{{#if this.testResponse}}
|
||||
<div class="animate-pulse flex flex-row items-center rounded-lg border {{if (eq this.testResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}} shadow-sm my-2 px-4 py-2">
|
||||
<div class="flex flex-row items-center rounded-lg border {{if (eq this.testResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}} shadow-sm my-2 px-4 py-2">
|
||||
<FaIcon @icon={{if (eq this.testResponse.status 'error') 'triangle-exclamation' 'circle-check'}} class="mr-1.5 {{if (eq this.testResponse.status 'error') 'text-red-200' 'text-green-200'}}" />
|
||||
<span class="text-xs">{{this.this.testResponse.message}}</span>
|
||||
</div>
|
||||
|
||||
@@ -3,25 +3,54 @@
|
||||
<Select @options={{this.mailers}} @value={{this.mailer}} @onSelect={{this.setMailer}} @placeholder="Select mailer" class="w-full" />
|
||||
</InputGroup>
|
||||
{{#if (eq this.mailer "smtp")}}
|
||||
<InputGroup @name="SMTP Host" @value={{this.smtpHost}} disabled={{this.isLoading}} />
|
||||
<InputGroup @name="SMTP Port" @type="number" @value={{this.smtpPort}} disabled={{this.isLoading}} />
|
||||
<InputGroup @name="SMTP Encryption" @value={{this.smtpEncryption}} disabled={{this.isLoading}} />
|
||||
<InputGroup @name="SMTP Username" @value={{this.smtpUsername}} disabled={{this.isLoading}} />
|
||||
<InputGroup @name="SMTP Password" @type="password" @value={{this.smtpPassword}} disabled={{this.isLoading}} />
|
||||
<InputGroup @name="SMTP Timeout" @value={{this.smtpTimeout}} disabled={{this.isLoading}} />
|
||||
<InputGroup @name="SMTP Auth Mode" @value={{this.smtpAuth_mode}} disabled={{this.isLoading}} />
|
||||
<InputGroup @name="SMTP Host" @value={{this.smtpHost}} disabled={{this.loadConfigValues.isRunning}} />
|
||||
<InputGroup @name="SMTP Port" @type="number" @value={{this.smtpPort}} disabled={{this.loadConfigValues.isRunning}} />
|
||||
<InputGroup>
|
||||
<Toggle @isToggled={{eq this.smtpEncryption "tls"}} @onToggle={{this.enableSmtpEncryption}} @label="SMTP Encryption" @helpText="Enabled TLS Encryption" />
|
||||
</InputGroup>
|
||||
<InputGroup @name="SMTP Username" @value={{this.smtpUsername}} disabled={{this.loadConfigValues.isRunning}} />
|
||||
<InputGroup @name="SMTP Password" @value={{this.smtpPassword}} disabled={{this.loadConfigValues.isRunning}} />
|
||||
<InputGroup @name="SMTP Timeout" @value={{this.smtpTimeout}} disabled={{this.loadConfigValues.isRunning}} />
|
||||
<InputGroup @name="SMTP Auth Mode" @value={{this.smtpAuth_mode}} disabled={{this.loadConfigValues.isRunning}} />
|
||||
{{/if}}
|
||||
<InputGroup @name="From Address" @helpText="Input the email address for Fleetbase to send emails from." @value={{this.fromAddress}} @placeholder="From Address" disabled={{this.isLoading}} />
|
||||
{{#if (eq this.mailer "mailgun")}}
|
||||
<InputGroup @name="Mailgun Domain" @value={{this.mailgunDomain}} disabled={{this.loadConfigValues.isRunning}} />
|
||||
<InputGroup @name="Mailgun Endpoint" @value={{this.mailgunEndpoint}} disabled={{this.loadConfigValues.isRunning}} />
|
||||
<InputGroup @name="Mailgun Secret" @value={{this.mailgunSecret}} disabled={{this.loadConfigValues.isRunning}} />
|
||||
{{/if}}
|
||||
{{#if (eq this.mailer "postmark")}}
|
||||
<InputGroup @name="Postmark Token" @value={{this.postmarkToken}} disabled={{this.loadConfigValues.isRunning}} />
|
||||
{{/if}}
|
||||
{{#if (eq this.mailer "sendgrid")}}
|
||||
<InputGroup @name="Sendgrid API Key" @value={{this.sendgridApi_key}} disabled={{this.loadConfigValues.isRunning}} />
|
||||
{{/if}}
|
||||
{{#if (eq this.mailer "resend")}}
|
||||
<InputGroup @name="Resend API Key" @value={{this.resendKey}} disabled={{this.loadConfigValues.isRunning}} />
|
||||
{{/if}}
|
||||
<InputGroup
|
||||
@name="From Address"
|
||||
@helpText="Input the email address for Fleetbase to send emails from."
|
||||
@value={{this.fromAddress}}
|
||||
@placeholder="From Address"
|
||||
disabled={{this.isLoading}}
|
||||
/>
|
||||
<InputGroup @name="From Name" @helpText="Input the name for Fleetbase to send emails from." @value={{this.fromName}} @placeholder="From Name" disabled={{this.isLoading}} />
|
||||
{{#if this.testResponse}}
|
||||
<div class="animate-pulse flex flex-row items-center rounded-lg border {{if (eq this.testResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}} shadow-sm my-2 px-4 py-2">
|
||||
<FaIcon @icon={{if (eq this.testResponse.status 'error') 'triangle-exclamation' 'circle-check'}} class="mr-1.5 {{if (eq this.testResponse.status 'error') 'text-red-200' 'text-green-200'}}" />
|
||||
<span class="text-xs">{{this.this.testResponse.message}}</span>
|
||||
<div
|
||||
class="flex flex-row items-center rounded-lg border
|
||||
{{if (eq this.testResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}}
|
||||
shadow-sm my-2 px-4 py-2"
|
||||
>
|
||||
<FaIcon
|
||||
@icon={{if (eq this.testResponse.status "error") "triangle-exclamation" "circle-check"}}
|
||||
class="mr-1.5 {{if (eq this.testResponse.status 'error') 'text-red-200' 'text-green-200'}}"
|
||||
/>
|
||||
<span class="text-xs">{{this.testResponse.message}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
<Button @wrapperClass="mt-3" @icon="plug" @text="Test Config" @onClick={{this.test}} @isLoading={{this.isLoading}} />
|
||||
<Button @wrapperClass="mt-3" @icon="plug" @text="Test Config" @onClick={{perform this.test}} @isLoading={{this.test.isRunning}} />
|
||||
</ContentPanel>
|
||||
|
||||
<EmberWormhole @to="next-view-section-subheader-actions">
|
||||
<Button @type="primary" @size="sm" @icon="save" @text="Save Changes" @onClick={{this.save}} @disabled={{this.isLoading}} @isLoading={{this.isLoading}} />
|
||||
<Button @type="primary" @size="sm" @icon="save" @text="Save Changes" @onClick={{perform this.save}} @disabled={{this.save.isRunning}} @isLoading={{this.save.isRunning}} />
|
||||
</EmberWormhole>
|
||||
@@ -2,6 +2,7 @@ import Component from '@glimmer/component';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { tracked } from '@glimmer/tracking';
|
||||
import { action } from '@ember/object';
|
||||
import { task } from 'ember-concurrency';
|
||||
|
||||
export default class ConfigureMailComponent extends Component {
|
||||
@service fetch;
|
||||
@@ -14,11 +15,17 @@ export default class ConfigureMailComponent extends Component {
|
||||
@tracked fromName = null;
|
||||
@tracked smtpHost = 'smtp.mailgun.org';
|
||||
@tracked smtpPort = 587;
|
||||
@tracked smtpEncryption = 'tls';
|
||||
@tracked smtpEncryption = null;
|
||||
@tracked smtpUsername = null;
|
||||
@tracked smtpPassword = null;
|
||||
@tracked smtpTimeout = null;
|
||||
@tracked smtpAuth_mode = null;
|
||||
@tracked mailgunDomain = null;
|
||||
@tracked mailgunEndpoint = 'api.mailgun.net';
|
||||
@tracked mailgunSecret = null;
|
||||
@tracked postmarkToken = null;
|
||||
@tracked sendgridApi_key = null;
|
||||
@tracked resendKey = null;
|
||||
|
||||
/**
|
||||
* Creates an instance of ConfigureFilesystemComponent.
|
||||
@@ -26,7 +33,7 @@ export default class ConfigureMailComponent extends Component {
|
||||
*/
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.loadConfigValues();
|
||||
this.loadConfigValues.perform();
|
||||
}
|
||||
|
||||
@action setConfigValues(config) {
|
||||
@@ -37,6 +44,10 @@ export default class ConfigureMailComponent extends Component {
|
||||
}
|
||||
}
|
||||
|
||||
@action enableSmtpEncryption(enabled) {
|
||||
this.smtpEncryption = enabled ? 'tls' : null;
|
||||
}
|
||||
|
||||
@action setMailer(mailer) {
|
||||
this.mailer = mailer;
|
||||
}
|
||||
@@ -53,56 +64,77 @@ export default class ConfigureMailComponent extends Component {
|
||||
};
|
||||
}
|
||||
|
||||
@action loadConfigValues() {
|
||||
this.isLoading = true;
|
||||
|
||||
this.fetch
|
||||
.get('settings/mail-config')
|
||||
.then((response) => {
|
||||
this.setConfigValues(response);
|
||||
})
|
||||
.finally(() => {
|
||||
this.isLoading = false;
|
||||
});
|
||||
@action serializeMailgunConfig() {
|
||||
return {
|
||||
domain: this.mailgunDomain,
|
||||
secret: this.mailgunSecret,
|
||||
endpoint: this.mailgunEndpoint,
|
||||
};
|
||||
}
|
||||
|
||||
@action test() {
|
||||
this.isLoading = true;
|
||||
@action serializePostmarkConfig() {
|
||||
return {
|
||||
token: this.postmarkToken,
|
||||
};
|
||||
}
|
||||
|
||||
this.fetch
|
||||
.post('settings/test-mail-config', {
|
||||
@action serializeSendgridConfig() {
|
||||
return {
|
||||
api_key: this.sendgridApi_key,
|
||||
};
|
||||
}
|
||||
|
||||
@action serializeResendConfig() {
|
||||
return {
|
||||
key: this.resendKey,
|
||||
};
|
||||
}
|
||||
|
||||
@task *loadConfigValues() {
|
||||
try {
|
||||
const config = yield this.fetch.get('settings/mail-config');
|
||||
this.setConfigValues(config);
|
||||
} catch (error) {
|
||||
this.notifications.serverError(error);
|
||||
}
|
||||
}
|
||||
|
||||
@task *test() {
|
||||
try {
|
||||
this.testResponse = yield this.fetch.post('settings/test-mail-config', {
|
||||
mailer: this.mailer,
|
||||
from: {
|
||||
address: this.fromAddress,
|
||||
name: this.fromName,
|
||||
},
|
||||
smtp: this.serializeSmtpConfig(),
|
||||
})
|
||||
.then((response) => {
|
||||
this.testResponse = response;
|
||||
})
|
||||
.finally(() => {
|
||||
this.isLoading = false;
|
||||
mailgun: this.serializeMailgunConfig(),
|
||||
postmark: this.serializePostmarkConfig(),
|
||||
sendgrid: this.serializeSendgridConfig(),
|
||||
resend: this.serializeResendConfig(),
|
||||
});
|
||||
} catch (error) {
|
||||
this.notifications.serverError(error);
|
||||
}
|
||||
}
|
||||
|
||||
@action save() {
|
||||
this.isLoading = true;
|
||||
|
||||
this.fetch
|
||||
.post('settings/mail-config', {
|
||||
@task *save() {
|
||||
try {
|
||||
yield this.fetch.post('settings/mail-config', {
|
||||
mailer: this.mailer,
|
||||
from: {
|
||||
address: this.fromAddress,
|
||||
name: this.fromName,
|
||||
},
|
||||
smtp: this.serializeSmtpConfig(),
|
||||
})
|
||||
.then(() => {
|
||||
this.notifications.success('Mail configuration saved.');
|
||||
})
|
||||
.finally(() => {
|
||||
this.isLoading = false;
|
||||
mailgun: this.serializeMailgunConfig(),
|
||||
postmark: this.serializePostmarkConfig(),
|
||||
sendgrid: this.serializeSendgridConfig(),
|
||||
resend: this.serializeResendConfig(),
|
||||
});
|
||||
this.notifications.success('Mail configuration saved.');
|
||||
} catch (error) {
|
||||
this.notifications.serverError(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
<ContentPanel @title="Test Push Notification" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-900">
|
||||
{{#if this.testResponse}}
|
||||
<div class="animate-pulse flex flex-row items-center rounded-lg border {{if (eq this.testResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}} shadow-sm my-2 px-4 py-2">
|
||||
<div class="flex flex-row items-center rounded-lg border {{if (eq this.testResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}} shadow-sm my-2 px-4 py-2">
|
||||
<FaIcon @icon={{if (eq this.testResponse.status 'error') 'triangle-exclamation' 'circle-check'}} class="mr-1.5 {{if (eq this.testResponse.status 'error') 'text-red-200' 'text-green-200'}}" />
|
||||
<span class="text-xs">{{this.this.testResponse.message}}</span>
|
||||
</div>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<InputGroup @name="SQS Suffix" @value={{this.sqsSuffix}} disabled={{this.isLoading}} />
|
||||
{{/if}}
|
||||
{{#if this.testResponse}}
|
||||
<div class="animate-pulse flex flex-row items-center rounded-lg border {{if (eq this.testResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}} shadow-sm my-2 px-4 py-2">
|
||||
<div class="flex flex-row items-center rounded-lg border {{if (eq this.testResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}} shadow-sm my-2 px-4 py-2">
|
||||
<FaIcon @icon={{if (eq this.testResponse.status 'error') 'triangle-exclamation' 'circle-check'}} class="mr-1.5 {{if (eq this.testResponse.status 'error') 'text-red-200' 'text-green-200'}}" />
|
||||
<span class="text-xs">{{this.this.testResponse.message}}</span>
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<InputGroup @name="Twilio Token" @value={{this.twilioToken}} disabled={{this.isLoading}} />
|
||||
<InputGroup @name="Twilio From" @value={{this.twilioFrom}} disabled={{this.isLoading}} />
|
||||
{{#if this.twilioTestResponse}}
|
||||
<div class="animate-pulse flex flex-row items-center rounded-lg border {{if (eq this.twilioTestResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}} shadow-sm my-2 px-4 py-2">
|
||||
<div class="flex flex-row items-center rounded-lg border {{if (eq this.twilioTestResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}} shadow-sm my-2 px-4 py-2">
|
||||
<FaIcon @icon={{if (eq this.twilioTestResponse.status 'error') 'triangle-exclamation' 'circle-check'}} class="mr-1.5 {{if (eq this.twilioTestResponse.status 'error') 'text-red-200' 'text-green-200'}}" />
|
||||
<span class="text-xs">{{this.this.twilioTestResponse.message}}</span>
|
||||
</div>
|
||||
@@ -28,7 +28,7 @@
|
||||
<ContentPanel @title="Sentry" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
|
||||
<InputGroup @name="Sentry DSN" @value={{this.sentryDsn}} disabled={{this.isLoading}} />
|
||||
{{#if this.sentryTestResponse}}
|
||||
<div class="animate-pulse flex flex-row items-center rounded-lg border {{if (eq this.sentryTestResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}} shadow-sm my-2 px-4 py-2">
|
||||
<div class="flex flex-row items-center rounded-lg border {{if (eq this.sentryTestResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}} shadow-sm my-2 px-4 py-2">
|
||||
<FaIcon @icon={{if (eq this.sentryTestResponse.status 'error') 'triangle-exclamation' 'circle-check'}} class="mr-1.5 {{if (eq this.sentryTestResponse.status 'error') 'text-red-200' 'text-green-200'}}" />
|
||||
<span class="text-xs">{{this.this.sentryTestResponse.message}}</span>
|
||||
</div>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
</div>
|
||||
</div>
|
||||
{{#if this.testResponse}}
|
||||
<div class="animate-pulse flex flex-row items-center rounded-lg border {{if (eq this.testResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}} shadow-sm my-2 px-4 py-2">
|
||||
<div class="flex flex-row items-center rounded-lg border {{if (eq this.testResponse.status 'error') 'border-red-900 bg-red-800 text-red-100' 'border-green-900 bg-green-800 text-green-100'}} shadow-sm my-2 px-4 py-2">
|
||||
<FaIcon @icon={{if (eq this.testResponse.status 'error') 'triangle-exclamation' 'circle-check'}} class="mr-1.5 {{if (eq this.testResponse.status 'error') 'text-red-200' 'text-green-200'}}" />
|
||||
<span class="text-xs">{{this.this.testResponse.message}}</span>
|
||||
</div>
|
||||
|
||||
36
console/app/components/impersonator-tray.hbs
Normal file
36
console/app/components/impersonator-tray.hbs
Normal file
@@ -0,0 +1,36 @@
|
||||
{{#if this.isImpersonator}}
|
||||
<EmberWormhole @to="view-header-actions">
|
||||
<div class="next-user-button locale-selector-tray" ...attributes>
|
||||
<BasicDropdown
|
||||
class={{@wrapperClass}}
|
||||
@onOpen={{@onOpen}}
|
||||
@onClose={{@onClose}}
|
||||
@calculatePosition={{this.calculatePosition}}
|
||||
@verticalPosition={{@verticalPosition}}
|
||||
@horizontalPosition={{@horizontalPosition}}
|
||||
@renderInPlace={{or @renderInPlace (not (media "isMobile"))}}
|
||||
as |dd|
|
||||
>
|
||||
<dd.Trigger class="{{@triggerClass}} local-selector-tray-trigger {{if (media 'isMobile') 'is-mobile'}}">
|
||||
<div class="next-org-button-trigger flex-shrink-0 {{if dd.isOpen 'is-open'}}">
|
||||
<FaIcon @icon="user-secret" @size="sm" />
|
||||
</div>
|
||||
</dd.Trigger>
|
||||
<dd.Content class="{{@contentClass}} locale-selector-tray-content {{if (media 'isMobile') 'is-mobile'}}">
|
||||
<div class="next-dd-menu {{@dropdownMenuClass}} {{if dd.isOpen 'is-open'}}">
|
||||
<div class="px-1">
|
||||
<a href="javascript:;" class="next-dd-item" {{on "click" this.restoreSession}}>
|
||||
<div class="flex flex-row items-centerw-full">
|
||||
<div class="w-6">
|
||||
<FaIcon @icon="person-walking-arrow-loop-left" @size="sm" />
|
||||
</div>
|
||||
<div>End Impersonation</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</dd.Content>
|
||||
</BasicDropdown>
|
||||
</div>
|
||||
</EmberWormhole>
|
||||
{{/if}}
|
||||
39
console/app/components/impersonator-tray.js
Normal file
39
console/app/components/impersonator-tray.js
Normal file
@@ -0,0 +1,39 @@
|
||||
import Component from '@glimmer/component';
|
||||
import { tracked } from '@glimmer/tracking';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { action } from '@ember/object';
|
||||
import { later } from '@ember/runloop';
|
||||
|
||||
export default class ImpersonatorTrayComponent extends Component {
|
||||
@service session;
|
||||
@service notifications;
|
||||
@service router;
|
||||
@service fetch;
|
||||
|
||||
get isImpersonator() {
|
||||
return typeof this.session.data?.authenticated?.impersonator === 'string';
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore session
|
||||
*
|
||||
* @memberof ConsoleAdminOrganizationsIndexUsersController
|
||||
*/
|
||||
@action async restoreSession() {
|
||||
try {
|
||||
const { token } = await this.fetch.delete('auth/impersonate');
|
||||
await this.router.transitionTo('console');
|
||||
this.session.manuallyAuthenticate(token);
|
||||
this.notifications.info(`Ending impersonation session.`);
|
||||
later(
|
||||
this,
|
||||
() => {
|
||||
window.location.reload();
|
||||
},
|
||||
600
|
||||
);
|
||||
} catch (error) {
|
||||
this.notifications.serverError(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
12
console/app/components/modals/edit-organization.hbs
Normal file
12
console/app/components/modals/edit-organization.hbs
Normal file
@@ -0,0 +1,12 @@
|
||||
<Modal::Default @modalIsOpened={{@modalIsOpened}} @options={{@options}} @confirm={{@onConfirm}} @decline={{@onDecline}}>
|
||||
<div class="modal-body-container pt-0i text-gray-900 dark:text-white">
|
||||
<InputGroup @name="Organization name" @value={{@options.organization.name}} />
|
||||
<InputGroup @name="Organization description" @value={{@options.organization.description}} />
|
||||
<InputGroup @name="Organization phone number">
|
||||
<PhoneInput @value={{@options.organization.phone}} @onInput={{fn (mut @options.organization.phone)}} class="form-input w-full" />
|
||||
</InputGroup>
|
||||
<InputGroup @name="Organization currency">
|
||||
<CurrencySelect @value={{@options.organization.currency}} @onSelect={{fn (mut @options.organization.currency)}} @triggerClass="w-full form-select" />
|
||||
</InputGroup>
|
||||
</div>
|
||||
</Modal::Default>
|
||||
3
console/app/components/modals/edit-organization.js
Normal file
3
console/app/components/modals/edit-organization.js
Normal file
@@ -0,0 +1,3 @@
|
||||
import Component from '@glimmer/component';
|
||||
|
||||
export default class ModalsEditOrganizationComponent extends Component {}
|
||||
43
console/app/components/modals/leave-organization.hbs
Normal file
43
console/app/components/modals/leave-organization.hbs
Normal file
@@ -0,0 +1,43 @@
|
||||
<Modal::Default @modalIsOpened={{@modalIsOpened}} @options={{@options}} @confirm={{@onConfirm}} @decline={{@onDecline}}>
|
||||
<div class="modal-body-container pt-0i text-gray-900 dark:text-white">
|
||||
{{#if @options.isOwner}}
|
||||
{{#if @options.hasOtherMembers}}
|
||||
<p>
|
||||
<div class="text-base mb-2">
|
||||
As the owner of
|
||||
<strong>{{@options.organization.name}}</strong>, leaving the organization requires you to nominate a new owner.
|
||||
</div>
|
||||
<div>Please select a member from the dropdown below to transfer ownership before you can proceed.</div>
|
||||
</p>
|
||||
<InputGroup @name="Select a New Owner" @wrapperClass="mt-2 mb-0i">
|
||||
<Select
|
||||
@options={{@options.organization.users}}
|
||||
@value={{@options.newOwnerId}}
|
||||
@onSelect={{@options.selectNewOwner}}
|
||||
@optionLabel="name"
|
||||
@optionValue="id"
|
||||
@placeholder="Select a member"
|
||||
/>
|
||||
</InputGroup>
|
||||
{{else if @options.willBeDeleted}}
|
||||
<p>
|
||||
<div class="text-base mb-2">
|
||||
You are the sole owner of
|
||||
<strong>{{@options.organization.name}}</strong>.
|
||||
</div>
|
||||
<div>By leaving, the organization will be permanently deleted along with all its data.</div>
|
||||
<div>Are you sure you want to proceed?</div>
|
||||
</p>
|
||||
<p class="mt-3"><em>This action cannot be undone.</em></p>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<p>
|
||||
<div class="text-base mb-2">
|
||||
Are you sure you want to leave the organization
|
||||
<strong>{{@options.organization.name}}</strong>?
|
||||
</div>
|
||||
<div>You will no longer have access to its resources and settings.</div>
|
||||
</p>
|
||||
{{/if}}
|
||||
</div>
|
||||
</Modal::Default>
|
||||
3
console/app/components/modals/leave-organization.js
Normal file
3
console/app/components/modals/leave-organization.js
Normal file
@@ -0,0 +1,3 @@
|
||||
import Component from '@glimmer/component';
|
||||
|
||||
export default class ModalsLeaveOrganizationComponent extends Component {}
|
||||
@@ -6,47 +6,13 @@ import { later } from '@ember/runloop';
|
||||
import { not } from '@ember/object/computed';
|
||||
|
||||
export default class AuthVerificationController extends Controller {
|
||||
/**
|
||||
* Inject the `fetch` service
|
||||
*
|
||||
* @memberof OnboardIndexController
|
||||
*/
|
||||
@service fetch;
|
||||
|
||||
/**
|
||||
* Inject the `notifications` service
|
||||
*
|
||||
* @memberof OnboardIndexController
|
||||
*/
|
||||
@service notifications;
|
||||
|
||||
/**
|
||||
* Inject the `modalsManager` service
|
||||
*
|
||||
* @memberof OnboardIndexController
|
||||
*/
|
||||
@service modalsManager;
|
||||
|
||||
/**
|
||||
* Inject the `currentUser` service
|
||||
*
|
||||
* @memberof OnboardIndexController
|
||||
*/
|
||||
@service currentUser;
|
||||
|
||||
/**
|
||||
* Inject the `router` service
|
||||
*
|
||||
* @memberof OnboardIndexController
|
||||
*/
|
||||
@service router;
|
||||
|
||||
/**
|
||||
* Inject the `session` service
|
||||
*
|
||||
* @memberof OnboardIndexController
|
||||
*/
|
||||
@service session;
|
||||
@service intl;
|
||||
|
||||
/**
|
||||
* The session paramerer.
|
||||
@@ -62,13 +28,6 @@ export default class AuthVerificationController extends Controller {
|
||||
*/
|
||||
@tracked token;
|
||||
|
||||
/**
|
||||
* The loading state of the verification request.
|
||||
*
|
||||
* @memberof OnboardVerifyEmailController
|
||||
*/
|
||||
@tracked isLoading = false;
|
||||
|
||||
/**
|
||||
* Validation state tracker.
|
||||
*
|
||||
@@ -91,12 +50,19 @@ export default class AuthVerificationController extends Controller {
|
||||
@tracked stillWaiting = false;
|
||||
|
||||
/**
|
||||
* the input code.
|
||||
* The input code.
|
||||
*
|
||||
* @memberof OnboardVerifyEmailController
|
||||
*/
|
||||
@tracked code;
|
||||
|
||||
/**
|
||||
* The email to verify.
|
||||
*
|
||||
* @memberof OnboardVerifyEmailController
|
||||
*/
|
||||
@tracked email;
|
||||
|
||||
/**
|
||||
* The query param for the session token.
|
||||
*
|
||||
@@ -168,38 +134,27 @@ export default class AuthVerificationController extends Controller {
|
||||
/**
|
||||
* Submits to verify code.
|
||||
*
|
||||
* @return {Promise}
|
||||
* @memberof OnboardVerifyEmailController
|
||||
*/
|
||||
@action verifyCode() {
|
||||
const { token, code, email } = this;
|
||||
@task *verifyCode() {
|
||||
try {
|
||||
const { status, token } = yield this.fetch.post('auth/verify-email', { token: this.token, code: this.code, email: this.email, authenticate: true });
|
||||
if (status === 'ok') {
|
||||
this.notifications.success('Email successfully verified!');
|
||||
|
||||
this.isLoading = true;
|
||||
if (token) {
|
||||
this.notifications.info(`Welcome to ${this.intl.t('app.name')}`);
|
||||
this.session.manuallyAuthenticate(token);
|
||||
|
||||
return this.fetch
|
||||
.post('auth/verify-email', { token, code, email, authenticate: true })
|
||||
.then(({ status, token }) => {
|
||||
if (status === 'ok') {
|
||||
this.notifications.success('Email successfully verified!');
|
||||
|
||||
if (token) {
|
||||
this.notifications.info('Welcome to Fleetbase!');
|
||||
this.session.manuallyAuthenticate(token);
|
||||
|
||||
return this.router.transitionTo('console');
|
||||
}
|
||||
|
||||
return this.router.transitionTo('auth.login');
|
||||
return this.router.transitionTo('console');
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
this.notifications.serverError(error);
|
||||
})
|
||||
.finally(() => {
|
||||
this.isLoading = false;
|
||||
});
|
||||
}
|
||||
|
||||
return this.router.transitionTo('auth.login');
|
||||
}
|
||||
} catch (error) {
|
||||
this.notifications.serverError(error);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Action to resend verification code by SMS.
|
||||
*
|
||||
@@ -210,18 +165,21 @@ export default class AuthVerificationController extends Controller {
|
||||
title: 'Verify Account by Phone',
|
||||
acceptButtonText: 'Send',
|
||||
phone: this.currentUser.phone,
|
||||
confirm: (modal) => {
|
||||
confirm: async (modal) => {
|
||||
modal.startLoading();
|
||||
const phone = modal.getOption('phone');
|
||||
if (!phone) {
|
||||
this.notifications.error('No phone number provided.');
|
||||
}
|
||||
|
||||
return this.fetch
|
||||
.post('onboard/send-verification-sms', { phone, session: this.hello })
|
||||
.then(() => {
|
||||
this.notifications.success('Verification code SMS sent!');
|
||||
})
|
||||
.catch((error) => {
|
||||
this.notifications.serverError(error);
|
||||
});
|
||||
try {
|
||||
await this.fetch.post('onboard/send-verification-sms', { phone, session: this.hello });
|
||||
this.notifications.success('Verification code SMS sent!');
|
||||
modal.done();
|
||||
} catch (error) {
|
||||
this.notifications.serverError(error);
|
||||
modal.stopLoading();
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
@@ -236,18 +194,21 @@ export default class AuthVerificationController extends Controller {
|
||||
title: 'Resend Verification Code',
|
||||
acceptButtonText: 'Send',
|
||||
email: this.currentUser.email,
|
||||
confirm: (modal) => {
|
||||
confirm: async (modal) => {
|
||||
modal.startLoading();
|
||||
const email = modal.getOption('email');
|
||||
if (!email) {
|
||||
this.notifications.error('No email number provided.');
|
||||
}
|
||||
|
||||
return this.fetch
|
||||
.post('onboard/send-verification-email', { email, session: this.hello })
|
||||
.then(() => {
|
||||
this.notifications.success('Verification code email sent!');
|
||||
})
|
||||
.catch((error) => {
|
||||
this.notifications.serverError(error);
|
||||
});
|
||||
try {
|
||||
await this.fetch.post('onboard/send-verification-email', { email, session: this.hello });
|
||||
this.notifications.success('Verification code email sent!');
|
||||
modal.done();
|
||||
} catch (error) {
|
||||
this.notifications.serverError(error);
|
||||
modal.stopLoading();
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ export default class ConsoleController extends Controller {
|
||||
}
|
||||
|
||||
/**
|
||||
* Action to invalidate and log user out
|
||||
* Action to create or join an organization.
|
||||
*
|
||||
* @void
|
||||
*/
|
||||
|
||||
203
console/app/controllers/console/account/organizations.js
Normal file
203
console/app/controllers/console/account/organizations.js
Normal file
@@ -0,0 +1,203 @@
|
||||
import Controller from '@ember/controller';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { action } from '@ember/object';
|
||||
import { later } from '@ember/runloop';
|
||||
import { htmlSafe } from '@ember/template';
|
||||
|
||||
export default class ConsoleAccountOrganizationsController extends Controller {
|
||||
@service currentUser;
|
||||
@service modalsManager;
|
||||
@service crud;
|
||||
@service notifications;
|
||||
@service intl;
|
||||
@service fetch;
|
||||
@service router;
|
||||
|
||||
@action async leaveOrganization(organization) {
|
||||
const isOwner = this.currentUser.id === organization.owner_uuid;
|
||||
const hasOtherMembers = organization.users_count > 1;
|
||||
const willBeDeleted = isOwner && organization.users_count === 1;
|
||||
|
||||
if (this.model.length === 1) {
|
||||
return this.notifications.warning('Unable to leave your only organization.');
|
||||
}
|
||||
|
||||
if (hasOtherMembers) {
|
||||
organization.loadUsers({ exclude: [this.currentUser.id] });
|
||||
}
|
||||
|
||||
this.modalsManager.show('modals/leave-organization', {
|
||||
title: isOwner ? (willBeDeleted ? 'Delete Organization' : 'Transfer Ownership and Leave') : 'Leave Organization',
|
||||
acceptButtonText: isOwner ? (willBeDeleted ? 'Delete Organization' : 'Transfer Ownership and Leave') : 'Leave Organization',
|
||||
acceptButtonScheme: 'danger',
|
||||
acceptButtonIcon: isOwner ? (willBeDeleted ? 'trash' : 'person-walking-arrow-right') : 'person-walking-arrow-right',
|
||||
acceptButtonDisabled: isOwner && hasOtherMembers,
|
||||
isOwner,
|
||||
hasOtherMembers,
|
||||
willBeDeleted,
|
||||
organization,
|
||||
newOwnerId: null,
|
||||
selectNewOwner: (newOwnerId) => {
|
||||
this.modalsManager.setOption('newOwnerId', newOwnerId);
|
||||
this.modalsManager.setOption('acceptButtonDisabled', false);
|
||||
},
|
||||
confirm: async (modal) => {
|
||||
modal.startLoading();
|
||||
|
||||
if (isOwner) {
|
||||
if (hasOtherMembers) {
|
||||
const newOwnerId = this.modalsManager.getOption('newOwnerId');
|
||||
try {
|
||||
await organization.transferOwnership(newOwnerId, { leave: true });
|
||||
} catch (error) {
|
||||
this.notifications.serverError(error);
|
||||
}
|
||||
|
||||
return this.router.refresh();
|
||||
}
|
||||
|
||||
if (willBeDeleted) {
|
||||
try {
|
||||
await organization.destroyRecord();
|
||||
} catch (error) {
|
||||
this.notifications.serverError(error);
|
||||
}
|
||||
|
||||
return this.router.refresh();
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
await organization.leave();
|
||||
} catch (error) {
|
||||
this.notifications.serverError(error);
|
||||
}
|
||||
|
||||
return this.router.refresh();
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@action switchOrganization(organization) {
|
||||
this.modalsManager.confirm({
|
||||
title: this.intl.t('console.switch-organization.modal-title', { organizationName: organization.name }),
|
||||
body: this.intl.t('console.switch-organization.modal-body'),
|
||||
acceptButtonText: this.intl.t('console.switch-organization.modal-accept-button-text'),
|
||||
acceptButtonScheme: 'primary',
|
||||
confirm: async (modal) => {
|
||||
modal.startLoading();
|
||||
|
||||
try {
|
||||
await this.fetch.post('auth/switch-organization', { next: organization.uuid });
|
||||
this.fetch.flushRequestCache('auth/organizations');
|
||||
this.notifications.success(this.intl.t('console.switch-organization.success-notification'));
|
||||
return later(
|
||||
this,
|
||||
() => {
|
||||
window.location.reload();
|
||||
},
|
||||
900
|
||||
);
|
||||
} catch (error) {
|
||||
modal.stopLoading();
|
||||
return this.notifications.serverError(error);
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@action deleteOrganization(organization) {
|
||||
const isOwner = this.currentUser.id === organization.owner_uuid;
|
||||
|
||||
if (this.model.length === 1) {
|
||||
return this.notifications.warning('Unable to delete your only organization.');
|
||||
}
|
||||
|
||||
if (!isOwner) {
|
||||
return this.notifications.warning('You do not have rights to delete this organization.');
|
||||
}
|
||||
|
||||
this.crud.delete(organization, {
|
||||
title: `Are you sure you want to delete the organization ${organization.name}?`,
|
||||
body: htmlSafe(
|
||||
`This action will permanently remove all data, including orders, members, and settings associated with the organization. <br /><br /><strong>This action cannot be undone.</strong>`
|
||||
),
|
||||
acceptButtonText: 'Delete Organization',
|
||||
acceptButtonScheme: 'danger',
|
||||
acceptButtonIcon: 'trash',
|
||||
confirm: async (modal) => {
|
||||
modal.startLoading();
|
||||
|
||||
try {
|
||||
await organization.destroyRecord();
|
||||
return this.router.refresh();
|
||||
} catch (error) {
|
||||
this.notifications.serverError(error);
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@action editOrganization(organization) {
|
||||
this.modalsManager.show('modals/edit-organization', {
|
||||
title: 'Edit Organization',
|
||||
acceptButtonText: 'Save Changes',
|
||||
acceptButtonIcon: 'save',
|
||||
isOwner: this.currentUser.id === organization.owner_uuid,
|
||||
organization,
|
||||
confirm: async (modal) => {
|
||||
modal.startLoading();
|
||||
|
||||
try {
|
||||
await organization.save();
|
||||
return this.router.refresh();
|
||||
} catch (error) {
|
||||
this.notifications.serverError(error);
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@action createOrganization() {
|
||||
const currency = this.currentUser.currency;
|
||||
const country = this.currentUser.country;
|
||||
|
||||
this.modalsManager.show('modals/edit-organization', {
|
||||
title: 'Create Organization',
|
||||
acceptButtonText: this.intl.t('common.confirm'),
|
||||
acceptButtonIcon: 'check',
|
||||
acceptButtonIconPrefix: 'fas',
|
||||
organization: {
|
||||
name: null,
|
||||
decription: null,
|
||||
phone: null,
|
||||
currency,
|
||||
country,
|
||||
timezone: null,
|
||||
},
|
||||
confirm: async (modal) => {
|
||||
modal.startLoading();
|
||||
|
||||
const organization = modal.getOption('organization');
|
||||
const { name, description, phone, currency, country, timezone } = organization;
|
||||
|
||||
try {
|
||||
await this.fetch.post('auth/create-organization', {
|
||||
name,
|
||||
description,
|
||||
phone,
|
||||
currency,
|
||||
country,
|
||||
timezone,
|
||||
});
|
||||
this.fetch.flushRequestCache('auth/organizations');
|
||||
this.notifications.success(this.intl.t('console.create-or-join-organization.create-success-notification'));
|
||||
return this.router.refresh();
|
||||
} catch (error) {
|
||||
modal.stopLoading();
|
||||
return this.notifications.serverError(error);
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -10,41 +10,10 @@ import { action } from '@ember/object';
|
||||
* @extends Controller
|
||||
*/
|
||||
export default class ConsoleAdminOrganizationsController extends Controller {
|
||||
/**
|
||||
* The Ember Data service for interacting with the store.
|
||||
*
|
||||
* @property {Service} store
|
||||
* @type {Object}
|
||||
*/
|
||||
@service store;
|
||||
|
||||
/**
|
||||
* Inject the `intl` service
|
||||
*
|
||||
* @var {Service}
|
||||
*/
|
||||
@service intl;
|
||||
|
||||
/**
|
||||
* The Ember Router service for handling transitions between routes.
|
||||
*
|
||||
* @property {Service} router
|
||||
* @type {Object}
|
||||
*/
|
||||
@service router;
|
||||
|
||||
/**
|
||||
* Inject the `filters` service
|
||||
*
|
||||
* @var {Service}
|
||||
*/
|
||||
@service filters;
|
||||
|
||||
/**
|
||||
* Inject the `crud` service
|
||||
*
|
||||
* @var {Service}
|
||||
*/
|
||||
@service crud;
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,28 +2,16 @@ import Controller from '@ember/controller';
|
||||
import { tracked } from '@glimmer/tracking';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { action } from '@ember/object';
|
||||
import { later } from '@ember/runloop';
|
||||
|
||||
export default class ConsoleAdminOrganizationsIndexUsersController extends Controller {
|
||||
/**
|
||||
* Inject the `filters` service
|
||||
*
|
||||
* @var {Service}
|
||||
*/
|
||||
@service filters;
|
||||
|
||||
/**
|
||||
* Inject the `intl` service
|
||||
*
|
||||
* @var {Service}
|
||||
*/
|
||||
@service intl;
|
||||
|
||||
/**
|
||||
* Inject the `router` service
|
||||
*
|
||||
* @var {Service}
|
||||
*/
|
||||
@service router;
|
||||
@service fetch;
|
||||
@service notifications;
|
||||
@service modalsManager;
|
||||
@service session;
|
||||
|
||||
/**
|
||||
* The current page of data being viewed
|
||||
@@ -84,6 +72,10 @@ export default class ConsoleAdminOrganizationsIndexUsersController extends Contr
|
||||
label: this.intl.t('common.name'),
|
||||
valuePath: 'name',
|
||||
},
|
||||
{
|
||||
label: this.intl.t('common.role'),
|
||||
valuePath: 'roleName',
|
||||
},
|
||||
{
|
||||
label: this.intl.t('common.phone-number'),
|
||||
valuePath: 'phone',
|
||||
@@ -97,8 +89,71 @@ export default class ConsoleAdminOrganizationsIndexUsersController extends Contr
|
||||
valuePath: 'status',
|
||||
cellComponent: 'table/cell/status',
|
||||
},
|
||||
{
|
||||
label: '',
|
||||
cellComponent: 'table/cell/dropdown',
|
||||
ddButtonText: false,
|
||||
ddButtonIcon: 'ellipsis-h',
|
||||
ddButtonIconPrefix: 'fas',
|
||||
ddMenuLabel: 'User Actions',
|
||||
cellClassNames: 'overflow-visible',
|
||||
wrapperClass: 'flex items-center justify-end mx-2',
|
||||
width: '9%',
|
||||
actions: [
|
||||
{
|
||||
label: 'Impersonate',
|
||||
icon: 'user-secret',
|
||||
fn: this.impersonateUser,
|
||||
},
|
||||
{
|
||||
label: 'Change Password',
|
||||
icon: 'lock-open',
|
||||
fn: this.changeUserPassword,
|
||||
},
|
||||
],
|
||||
sortable: false,
|
||||
filterable: false,
|
||||
resizable: false,
|
||||
searchable: false,
|
||||
},
|
||||
];
|
||||
|
||||
/**
|
||||
* Impersonate the selected user.
|
||||
*
|
||||
* @param {UserModel} user
|
||||
* @memberof ConsoleAdminOrganizationsIndexUsersController
|
||||
*/
|
||||
@action async impersonateUser(user) {
|
||||
try {
|
||||
const { token } = await this.fetch.post('auth/impersonate', { user: user.id });
|
||||
await this.router.transitionTo('console');
|
||||
this.session.manuallyAuthenticate(token);
|
||||
this.notifications.info(`Now impersonating ${user.email}...`);
|
||||
later(
|
||||
this,
|
||||
() => {
|
||||
window.location.reload();
|
||||
},
|
||||
600
|
||||
);
|
||||
} catch (error) {
|
||||
this.notifications.serverError(error);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Change password for a user
|
||||
*
|
||||
* @void
|
||||
*/
|
||||
@action changeUserPassword(user) {
|
||||
this.modalsManager.show('modals/change-user-password', {
|
||||
keepOpen: true,
|
||||
user,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Update search query param and reset page to 1
|
||||
*
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import Model, { attr, belongsTo } from '@ember-data/model';
|
||||
import { computed } from '@ember/object';
|
||||
import { getOwner } from '@ember/application';
|
||||
import { format, formatDistanceToNow } from 'date-fns';
|
||||
import autoSerialize from '../utils/auto-serialize';
|
||||
|
||||
@@ -34,6 +35,7 @@ export default class Company extends Model {
|
||||
@attr('string') slug;
|
||||
|
||||
/** @dates */
|
||||
@attr('date') joined_at;
|
||||
@attr('date') deleted_at;
|
||||
@attr('date') created_at;
|
||||
@attr('date') updated_at;
|
||||
@@ -71,4 +73,32 @@ export default class Company extends Model {
|
||||
toJSON() {
|
||||
return autoSerialize(this);
|
||||
}
|
||||
|
||||
async transferOwnership(newOwner, params = {}) {
|
||||
const owner = getOwner(this);
|
||||
const fetch = owner.lookup('service:fetch');
|
||||
|
||||
return fetch.post('companies/transfer-ownership', { company: this.id, newOwner, ...params });
|
||||
}
|
||||
|
||||
async leave(user = null, params = {}) {
|
||||
const owner = getOwner(this);
|
||||
const fetch = owner.lookup('service:fetch');
|
||||
|
||||
return fetch.post('companies/leave', { company: this.id, user, ...params });
|
||||
}
|
||||
|
||||
async loadUsers(params = {}) {
|
||||
const owner = getOwner(this);
|
||||
const fetch = owner.lookup('service:fetch');
|
||||
|
||||
try {
|
||||
const users = await fetch.get(`companies/${this.id}/users`, { ...params }, { normalizeToEmberData: true, normalizeModelType: 'user' });
|
||||
this.set('users', users);
|
||||
return users;
|
||||
} catch (error) {
|
||||
this.set('users', []);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { set } from '@ember/object';
|
||||
import Model, { attr, belongsTo, hasMany } from '@ember-data/model';
|
||||
import { computed, get } from '@ember/object';
|
||||
import { not } from '@ember/object/computed';
|
||||
@@ -69,6 +70,17 @@ export default class UserModel extends Model {
|
||||
});
|
||||
}
|
||||
|
||||
verify() {
|
||||
const owner = getOwner(this);
|
||||
const fetch = owner.lookup('service:fetch');
|
||||
|
||||
return fetch.patch(`users/verify/${this.id}`).then((response) => {
|
||||
set(this, 'email_verified_at', response.email_verified_at);
|
||||
|
||||
return response;
|
||||
});
|
||||
}
|
||||
|
||||
removeFromCurrentCompany() {
|
||||
const owner = getOwner(this);
|
||||
const fetch = owner.lookup('service:fetch');
|
||||
|
||||
@@ -7,15 +7,18 @@ export default class Router extends EmberRouter {
|
||||
}
|
||||
|
||||
Router.map(function () {
|
||||
this.route('virtual', { path: '/:slug' });
|
||||
this.route('install');
|
||||
this.route('onboard', function () {
|
||||
this.route('verify-email');
|
||||
});
|
||||
this.route('auth', function () {
|
||||
this.route('login', { path: '/' });
|
||||
this.route('forgot-password');
|
||||
this.route('reset-password', { path: '/reset-password/:id' });
|
||||
this.route('two-fa');
|
||||
this.route('verification');
|
||||
});
|
||||
this.route('onboard', function () {
|
||||
this.route('verify-email');
|
||||
this.route('portal-login', { path: '/portal' });
|
||||
});
|
||||
this.route('invite', { path: 'join' }, function () {
|
||||
this.route('for-driver', { path: '/fleet/:public_id' });
|
||||
@@ -23,24 +26,23 @@ Router.map(function () {
|
||||
});
|
||||
this.route('console', { path: '/' }, function () {
|
||||
this.route('home', { path: '/' });
|
||||
this.route('extensions');
|
||||
this.route('notifications');
|
||||
this.route('account', function () {
|
||||
this.route('virtual', { path: '/:slug/:view' });
|
||||
this.route('virtual', { path: '/:slug' });
|
||||
this.route('auth');
|
||||
});
|
||||
this.route('settings', function () {
|
||||
this.route('virtual', { path: '/:slug/:view' });
|
||||
this.route('virtual', { path: '/:slug' });
|
||||
this.route('two-fa');
|
||||
});
|
||||
this.route('virtual', { path: '/:slug/:view' });
|
||||
this.route('virtual', { path: '/:slug' });
|
||||
this.route('admin', function () {
|
||||
this.route('config', function () {
|
||||
this.route('database');
|
||||
this.route('cache');
|
||||
this.route('filesystem');
|
||||
this.route('mail');
|
||||
this.route('notification-channels');
|
||||
this.route('notification-channels', { path: '/push-notifications' });
|
||||
this.route('queue');
|
||||
this.route('services');
|
||||
this.route('socket');
|
||||
@@ -48,12 +50,16 @@ Router.map(function () {
|
||||
this.route('branding');
|
||||
this.route('notifications');
|
||||
this.route('two-fa-settings');
|
||||
this.route('virtual', { path: '/:slug/:view' });
|
||||
this.route('virtual', { path: '/:slug' });
|
||||
this.route('organizations', function () {
|
||||
this.route('index', { path: '/' });
|
||||
this.route('users', { path: '/:company_id' });
|
||||
this.route('index', { path: '/' }, function () {
|
||||
this.route('users', { path: '/:public_id/users' });
|
||||
});
|
||||
});
|
||||
this.route('schedule-monitor', function () {
|
||||
this.route('logs', { path: '/:id/logs' });
|
||||
});
|
||||
});
|
||||
});
|
||||
this.route('install');
|
||||
this.route('catch', { path: '/*' });
|
||||
});
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import Route from '@ember/routing/route';
|
||||
import { tracked } from '@glimmer/tracking';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { action } from '@ember/object';
|
||||
import isElectron from '@fleetbase/ember-core/utils/is-electron';
|
||||
import pathToRoute from '@fleetbase/ember-core/utils/path-to-route';
|
||||
|
||||
@@ -16,6 +17,36 @@ export default class ApplicationRoute extends Route {
|
||||
@service universe;
|
||||
@tracked defaultTheme;
|
||||
|
||||
/**
|
||||
* Handle the transition into the application.
|
||||
*
|
||||
* @memberof ApplicationRoute
|
||||
*/
|
||||
@action willTransition(transition) {
|
||||
this.universe.callHooks('application:will-transition', this.session, this.router, transition);
|
||||
}
|
||||
|
||||
/**
|
||||
* On application route activation
|
||||
*
|
||||
* @memberof ApplicationRoute
|
||||
* @void
|
||||
*/
|
||||
@action activate() {
|
||||
this.initializeTheme();
|
||||
this.initializeLocale();
|
||||
}
|
||||
|
||||
/**
|
||||
* The application loading event.
|
||||
* Here will just run extension hooks.
|
||||
*
|
||||
* @memberof ApplicationRoute
|
||||
*/
|
||||
@action loading(transition) {
|
||||
this.universe.callHooks('application:loading', this.session, this.router, transition);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check the installation status of Fleetbase and transition user accordingly.
|
||||
*
|
||||
@@ -45,27 +76,18 @@ export default class ApplicationRoute extends Route {
|
||||
* @return {Transition}
|
||||
* @memberof ApplicationRoute
|
||||
*/
|
||||
async beforeModel() {
|
||||
async beforeModel(transition) {
|
||||
await this.session.setup();
|
||||
await this.universe.booting();
|
||||
|
||||
this.universe.callHooks('application:before-model', this.session, this.router, transition);
|
||||
|
||||
const shift = this.urlSearchParams.get('shift');
|
||||
if (this.session.isAuthenticated && shift) {
|
||||
return this.router.transitionTo(pathToRoute(shift));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* On application route activation
|
||||
*
|
||||
* @memberof ApplicationRoute
|
||||
* @void
|
||||
*/
|
||||
activate() {
|
||||
this.initializeTheme();
|
||||
this.initializeLocale();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the application's theme settings, applying necessary class names and default theme configurations.
|
||||
*
|
||||
|
||||
10
console/app/routes/catch.js
Normal file
10
console/app/routes/catch.js
Normal file
@@ -0,0 +1,10 @@
|
||||
import Route from '@ember/routing/route';
|
||||
import { inject as service } from '@ember/service';
|
||||
|
||||
export default class CatchRoute extends Route {
|
||||
@service router;
|
||||
|
||||
beforeModel() {
|
||||
return this.router.transitionTo('auth.login');
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
import Route from '@ember/routing/route';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { action } from '@ember/object';
|
||||
import '@fleetbase/leaflet-routing-machine';
|
||||
|
||||
export default class ConsoleRoute extends Route {
|
||||
@@ -27,6 +28,26 @@ export default class ConsoleRoute extends Route {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Register after model hook.
|
||||
*
|
||||
* @param {DS.Model} model
|
||||
* @param {Transition} transition
|
||||
* @memberof ConsoleRoute
|
||||
*/
|
||||
async afterModel(model, transition) {
|
||||
this.universe.callHooks('console:after-model', this.session, this.router, model, transition);
|
||||
}
|
||||
|
||||
/**
|
||||
* Route did complete transition.
|
||||
*
|
||||
* @memberof ConsoleRoute
|
||||
*/
|
||||
@action didTransition() {
|
||||
this.universe.callHooks('console:did-transition', this.session, this.router);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the branding settings.
|
||||
*
|
||||
|
||||
10
console/app/routes/console/account/organizations.js
Normal file
10
console/app/routes/console/account/organizations.js
Normal file
@@ -0,0 +1,10 @@
|
||||
import Route from '@ember/routing/route';
|
||||
import { inject as service } from '@ember/service';
|
||||
|
||||
export default class ConsoleAccountOrganizationsRoute extends Route {
|
||||
@service currentUser;
|
||||
|
||||
model() {
|
||||
return this.currentUser.loadOrganizations();
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
<div class="bg-white dark:bg-gray-800 py-8 px-4 shadow rounded-lg">
|
||||
<div class="mb-4">
|
||||
<Image src={{@model.logo_url}} @fallbackSrc="/images/fleetbase-logo-svg.svg" alt={{t "app.name"}} width="160" height="56" class="w-40 h-14 mx-auto" />
|
||||
<LinkTo @route="console" class="flex items-center justify-center">
|
||||
<LogoIcon @brand={{@brand}} @size="12" class="rounded-md" />
|
||||
</LinkTo>
|
||||
<h2 class="text-center text-lg font-extrabold text-gray-900 dark:text-white truncate">
|
||||
{{if this.isSent (t "auth.forgot-password.is-sent.title") (t "auth.forgot-password.not-sent.title")}}
|
||||
</h2>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div>
|
||||
<div class="mx-auto w-12 h-12">
|
||||
<LogoIcon @url={{@brand.icon_url}} @size="12" class="mx-auto" />
|
||||
</div>
|
||||
<LinkTo @route="console" class="flex items-center justify-center">
|
||||
<LogoIcon @brand={{@brand}} @size="12" class="rounded-md" />
|
||||
</LinkTo>
|
||||
<h2 class="mt-6 mb-3 text-3xl font-extrabold leading-9 text-center text-gray-900 dark:text-gray-100">
|
||||
{{t "auth.login.title"}}
|
||||
</h2>
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<div class="bg-white dark:bg-gray-800 py-8 px-4 shadow rounded-lg">
|
||||
<div class="mb-4">
|
||||
<Image src={{this.brand.logo_url}} @fallbackSrc="/images/fleetbase-logo-svg.svg" alt={{t "app.name"}} width="160" height="56" class="w-40 h-14 mx-auto" />
|
||||
<LinkTo @route="console" class="flex items-center justify-center">
|
||||
<LogoIcon @brand={{@brand}} @size="12" class="rounded-md" />
|
||||
</LinkTo>
|
||||
<h2 class="text-center text-lg font-extrabold text-gray-900 dark:text-white truncate">
|
||||
{{t "auth.reset-password.title"}}
|
||||
</h2>
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
<div class="mb-8 text-center">
|
||||
<Image src={{@model.logo_url}} @fallbackSrc="/images/fleetbase-logo-svg.svg" alt={{t "app.name"}} width="160" height="56" class="w-40 h-14 mx-auto" />
|
||||
<LinkTo @route="console" class="flex items-center justify-center">
|
||||
<LogoIcon @brand={{@brand}} @size="12" class="rounded-md" />
|
||||
</LinkTo>
|
||||
<h2 class="text-lg font-extrabold text-gray-900 dark:text-white truncate">
|
||||
{{if this.isSent "Verification Code"}}
|
||||
</h2>
|
||||
@@ -20,7 +22,7 @@
|
||||
<OtpInput @onInputCompleted={{this.handleOtpInput}} @size={{6}} class="w-full" />
|
||||
</div>
|
||||
|
||||
<div id="otp-countdown-container" class="otp-countdown-container flex {{if this.isCodeExpired "flex-col" "flex-row"}} items-center justify-center min-h-12">
|
||||
<div id="otp-countdown-container" class="otp-countdown-container flex {{if this.isCodeExpired 'flex-col' 'flex-row'}} items-center justify-center min-h-12">
|
||||
{{#if this.countdownReady}}
|
||||
<Countdown @expiry={{this.twoFactorSessionExpiresAfter}} @countdownClass="text-lg" @onCountdownEnd={{this.handleCodeExpired}} />
|
||||
{{/if}}
|
||||
|
||||
@@ -1,23 +1,20 @@
|
||||
{{page-title (t "auth.verification.header-title")}}
|
||||
|
||||
<div class="bg-white dark:bg-gray-800 py-8 px-4 shadow rounded-lg w-full">
|
||||
<div class="mb-8">
|
||||
<img class="mx-auto h-12 w-auto" src="/images/fleetbase-logo-svg.svg" alt={{t "app.name"}} />
|
||||
<div class="mb-6">
|
||||
<LinkTo @route="console" class="flex items-center justify-center">
|
||||
<LogoIcon @brand={{@brand}} @size="12" class="rounded-md" />
|
||||
</LinkTo>
|
||||
<h2 class="mt-6 text-center text-lg font-extrabold text-gray-900 dark:text-white truncate">
|
||||
{{t "auth.verification.title"}}
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div class="flex px-3 py-2 mb-6 rounded-md shadow-sm bg-blue-200">
|
||||
<div>
|
||||
<FaIcon @icon="shield-check" @size="lg" class="text-blue-900 mr-4" />
|
||||
</div>
|
||||
<p class="flex-1 text-sm text-blue-900 dark:text-blue-900">
|
||||
{{t "auth.verification.message-text" htmlSafe=true}}
|
||||
</p>
|
||||
</div>
|
||||
<InfoBlock @type="info" @icon="shield-halved" @iconSize="lg">
|
||||
{{t "auth.verification.message-text" htmlSafe=true}}
|
||||
</InfoBlock>
|
||||
|
||||
<form class="mt-8 space-y-6" {{on "submit" this.verifyCode}}>
|
||||
<form class="mt-8 space-y-6" {{on "submit" (perform this.verifyCode)}}>
|
||||
<InputGroup
|
||||
@type="tel"
|
||||
@name={{t "auth.verification.verification-input-label"}}
|
||||
@@ -36,9 +33,9 @@
|
||||
@type="primary"
|
||||
@size="lg"
|
||||
@text="Verify & Continue"
|
||||
@isLoading={{this.isLoading}}
|
||||
@disabled={{this.isNotReadyToSubmit}}
|
||||
@onClick={{this.verifyCode}}
|
||||
@isLoading={{this.verifyCode.isRunning}}
|
||||
@disabled={{not this.isReadyToSubmit}}
|
||||
@onClick={{perform this.verifyCode}}
|
||||
/>
|
||||
<a href="javascript:;" {{on "click" this.onDidntReceiveCode}} class="text-sm text-blue-400 hover:text-blue-300">{{t "auth.verification.didnt-receive-a-code"}}</a>
|
||||
</div>
|
||||
|
||||
2
console/app/templates/catch.hbs
Normal file
2
console/app/templates/catch.hbs
Normal file
@@ -0,0 +1,2 @@
|
||||
{{page-title "Catch"}}
|
||||
{{outlet}}
|
||||
@@ -16,6 +16,7 @@
|
||||
</Layout::Container>
|
||||
<ChatContainer />
|
||||
<ConsoleWormhole />
|
||||
<ImpersonatorTray />
|
||||
{{!-- template-lint-disable no-potential-path-strings --}}
|
||||
<RegistryYield @registry="@fleetbase/console" as |RegistryComponent|>
|
||||
<RegistryComponent @controller={{this}} />
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
<Layout::Sidebar::Panel @open={{true}} @title={{t "common.account"}}>
|
||||
<Layout::Sidebar::Item @route="console.account.index" @icon="user">Profile</Layout::Sidebar::Item>
|
||||
<Layout::Sidebar::Item @route="console.account.auth" @icon="key">Auth</Layout::Sidebar::Item>
|
||||
<Layout::Sidebar::Item @route="console.account.organizations" @icon="building">Organizations</Layout::Sidebar::Item>
|
||||
{{#each this.universe.accountMenuItems as |menuItem|}}
|
||||
<Layout::Sidebar::Item @onClick={{fn this.universe.transitionMenuItem "console.account.virtual" menuItem}} @item={{menuItem}} @icon={{menuItem.icon}}>{{menuItem.title}}</Layout::Sidebar::Item>
|
||||
{{/each}}
|
||||
|
||||
37
console/app/templates/console/account/organizations.hbs
Normal file
37
console/app/templates/console/account/organizations.hbs
Normal file
@@ -0,0 +1,37 @@
|
||||
{{page-title "Organizations"}}
|
||||
<Layout::Section::Header @title="Organizations" />
|
||||
|
||||
<Layout::Section::Body class="overflow-y-scroll h-full">
|
||||
<div class="container mx-auto h-screen">
|
||||
<div class="max-w-3xl my-10 mx-auto space-y-4">
|
||||
<div class="flex flex-row justify-end">
|
||||
<Button @type="primary" @icon="plus" @text="Create Organization" @onClick={{this.createOrganization}} />
|
||||
</div>
|
||||
<ContentPanel @title="Your Organizations" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
|
||||
<div class="space-y-2">
|
||||
{{#each @model as |organization|}}
|
||||
<div class="grid grid-cols-3 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900 rounded-lg px-3 py-2 items-center">
|
||||
<div>
|
||||
<div class="font-semibold">{{organization.name}}</div>
|
||||
<div>Member Since: {{format-date organization.joined_at}}</div>
|
||||
</div>
|
||||
<div class="col-span-2 flex flex-row items-center justify-end space-x-2">
|
||||
{{#let (eq organization.owner_uuid this.currentUser.id) as |isOwner|}}
|
||||
<Button @type="danger" @size="xs" @icon="person-walking-arrow-right" @text="Leave" @onClick={{fn this.leaveOrganization organization}} />
|
||||
{{#unless (eq this.currentUser.companyId organization.id)}}
|
||||
<Button @size="xs" @icon="shuffle" @text="Switch" @onClick={{fn this.switchOrganization organization}} />
|
||||
{{/unless}}
|
||||
{{#if isOwner}}
|
||||
<Button @size="xs" @icon="pencil" @text="Edit" @onClick={{fn this.editOrganization organization}} />
|
||||
<Button @type="danger" @size="xs" @icon="trash" @text="Delete" @onClick={{fn this.deleteOrganization organization}} />
|
||||
{{/if}}
|
||||
{{/let}}
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</ContentPanel>
|
||||
</div>
|
||||
</div>
|
||||
<Spacer @height="300px" />
|
||||
</Layout::Section::Body>
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@fleetbase/console",
|
||||
"version": "0.5.9",
|
||||
"version": "0.5.17",
|
||||
"private": true,
|
||||
"description": "Modular logistics and supply chain operating system (LSOS)",
|
||||
"repository": "https://github.com/fleetbase/fleetbase",
|
||||
@@ -29,15 +29,15 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@ember/legacy-built-in-components": "^0.4.2",
|
||||
"@fleetbase/dev-engine": "^0.2.7",
|
||||
"@fleetbase/ember-core": "^0.2.20",
|
||||
"@fleetbase/ember-ui": "^0.2.34",
|
||||
"@fleetbase/fleetops-data": "^0.1.18",
|
||||
"@fleetbase/fleetops-engine": "^0.5.8",
|
||||
"@fleetbase/iam-engine": "^0.1.1",
|
||||
"@fleetbase/dev-engine": "^0.2.9",
|
||||
"@fleetbase/ember-core": "latest",
|
||||
"@fleetbase/ember-ui": "latest",
|
||||
"@fleetbase/fleetops-data": "latest",
|
||||
"@fleetbase/fleetops-engine": "^0.5.13",
|
||||
"@fleetbase/iam-engine": "^0.1.3",
|
||||
"@fleetbase/leaflet-routing-machine": "^3.2.16",
|
||||
"@fleetbase/registry-bridge-engine": "^0.0.14",
|
||||
"@fleetbase/storefront-engine": "^0.3.15",
|
||||
"@fleetbase/registry-bridge-engine": "^0.0.18",
|
||||
"@fleetbase/storefront-engine": "^0.3.17",
|
||||
"@fortawesome/ember-fontawesome": "^2.0.0",
|
||||
"ember-changeset": "^4.1.2",
|
||||
"ember-changeset-validations": "^4.1.1",
|
||||
@@ -137,9 +137,9 @@
|
||||
},
|
||||
"pnpm": {
|
||||
"overrides": {
|
||||
"@fleetbase/ember-core": "^0.2.20",
|
||||
"@fleetbase/ember-ui": "^0.2.34",
|
||||
"@fleetbase/fleetops-data": "^0.1.18"
|
||||
"@fleetbase/ember-core": "latest",
|
||||
"@fleetbase/ember-ui": "latest",
|
||||
"@fleetbase/fleetops-data": "latest"
|
||||
}
|
||||
},
|
||||
"prettier": {
|
||||
|
||||
227
console/pnpm-lock.yaml
generated
227
console/pnpm-lock.yaml
generated
@@ -5,9 +5,9 @@ settings:
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
overrides:
|
||||
'@fleetbase/ember-core': ^0.2.20
|
||||
'@fleetbase/ember-ui': ^0.2.34
|
||||
'@fleetbase/fleetops-data': ^0.1.18
|
||||
'@fleetbase/ember-core': latest
|
||||
'@fleetbase/ember-ui': latest
|
||||
'@fleetbase/fleetops-data': latest
|
||||
|
||||
importers:
|
||||
|
||||
@@ -17,32 +17,32 @@ importers:
|
||||
specifier: ^0.4.2
|
||||
version: 0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))
|
||||
'@fleetbase/dev-engine':
|
||||
specifier: ^0.2.7
|
||||
version: 0.2.7(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
specifier: ^0.2.9
|
||||
version: 0.2.9(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fleetbase/ember-core':
|
||||
specifier: ^0.2.20
|
||||
version: 0.2.20(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
specifier: latest
|
||||
version: 0.2.21(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/ember-ui':
|
||||
specifier: ^0.2.34
|
||||
version: 0.2.34(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
specifier: latest
|
||||
version: 0.2.35(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fleetbase/fleetops-data':
|
||||
specifier: ^0.1.18
|
||||
specifier: latest
|
||||
version: 0.1.18(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/fleetops-engine':
|
||||
specifier: ^0.5.8
|
||||
version: 0.5.8(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
specifier: ^0.5.13
|
||||
version: 0.5.13(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fleetbase/iam-engine':
|
||||
specifier: ^0.1.1
|
||||
version: 0.1.1(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
specifier: ^0.1.3
|
||||
version: 0.1.3(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fleetbase/leaflet-routing-machine':
|
||||
specifier: ^3.2.16
|
||||
version: 3.2.16
|
||||
'@fleetbase/registry-bridge-engine':
|
||||
specifier: ^0.0.14
|
||||
version: 0.0.14(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
specifier: ^0.0.18
|
||||
version: 0.0.18(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fleetbase/storefront-engine':
|
||||
specifier: ^0.3.15
|
||||
version: 0.3.15(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
specifier: ^0.3.17
|
||||
version: 0.3.17(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fortawesome/ember-fontawesome':
|
||||
specifier: ^2.0.0
|
||||
version: 2.0.0(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(rollup@2.79.2)(webpack@5.95.0)
|
||||
@@ -1534,8 +1534,8 @@ packages:
|
||||
resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
|
||||
'@fleetbase/dev-engine@0.2.7':
|
||||
resolution: {integrity: sha512-+XQqJQ97y4WPC3iRgdEjo/9DXHPfSXQf/+2grzZzZ3JNzsMgeKu/0yet0oD4ESdHTK5ymp5WoyOuumnkq4L6Jw==}
|
||||
'@fleetbase/dev-engine@0.2.9':
|
||||
resolution: {integrity: sha512-nZSbV2q7rHTv1dhmKBL0NRm7vzDDimKpUwltK5AD88Dbr95xPd5Y3pHiGVPblkDdLSFZMBXSumzT5IYC56+uow==}
|
||||
engines: {node: '>= 18'}
|
||||
peerDependencies:
|
||||
ember-engines: ^0.9.0
|
||||
@@ -1546,26 +1546,26 @@ packages:
|
||||
peerDependencies:
|
||||
ember-source: '>= 4.0.0'
|
||||
|
||||
'@fleetbase/ember-core@0.2.20':
|
||||
resolution: {integrity: sha512-mh1QV+dIGrBZHqzXN5+rgIKrlqUpXXPdgaHPyOv2baEj9WRAFZdQ1tvLKoXd4RaSM0/lqlRAion0rjLIcn00Hg==}
|
||||
'@fleetbase/ember-core@0.2.21':
|
||||
resolution: {integrity: sha512-Jwe4ME+cJp24Oaf6wfd1QJK6g3D6/Ff+qUMinJ40yoMImpo3zKA+IAxfQSBPIf+9BrmNG31wquTz4WR7Um47LQ==}
|
||||
engines: {node: '>= 18'}
|
||||
|
||||
'@fleetbase/ember-ui@0.2.34':
|
||||
resolution: {integrity: sha512-9uLCufgIaMFgGR+G4m73shaiRz+F16CDs7jj4jFzQGSUQByaBcbSetiMoGXSnx+3IncaKAn8rjAVPd+QrDDRMg==}
|
||||
'@fleetbase/ember-ui@0.2.35':
|
||||
resolution: {integrity: sha512-diJRlY92LTSFhf2bMlO2j8uyVabeTTC5YHuRqYYpTHk6GjLcVHUVeL4MrLnskKzkkbRsAgmoavkW9HcXNBN8Ow==}
|
||||
engines: {node: '>= 18'}
|
||||
|
||||
'@fleetbase/fleetops-data@0.1.18':
|
||||
resolution: {integrity: sha512-SBiL992igloYgEGMbUX65uW95nv8k32u2QSoqVm7HrWfhCwMEeHubEOA916otDkBalkHNSE6QgWigaJDMNnW4A==}
|
||||
engines: {node: '>= 18'}
|
||||
|
||||
'@fleetbase/fleetops-engine@0.5.8':
|
||||
resolution: {integrity: sha512-UCvj5lZlLEzD1bQnXedzaNnJcoKF1Y4qkfwTGd9+6eVZ6dymLnSLAyqVUhC0lPFt+UE2QkmZU8gieCcoh1Z2nQ==}
|
||||
'@fleetbase/fleetops-engine@0.5.13':
|
||||
resolution: {integrity: sha512-QGNGwtOT+h/x99mVM5sDdButoUeBmd3OuYx0x0VEvkVTYzgZArjE6T7lzhi1sQofO4/NS9iz3zkCM0VPmcsiLw==}
|
||||
engines: {node: '>= 18'}
|
||||
peerDependencies:
|
||||
ember-engines: ^0.9.0
|
||||
|
||||
'@fleetbase/iam-engine@0.1.1':
|
||||
resolution: {integrity: sha512-T8OGEYyAMaSXPffE3VTBDUYhF61am1zBUIvLcl3DCjyWIfOoL7jM+Gmipsys7hRzsmGn4CaeOv4UG6duhSLsWA==}
|
||||
'@fleetbase/iam-engine@0.1.3':
|
||||
resolution: {integrity: sha512-66RmYn+kHblqlSEvfcQgU+beutxakPJGIr8Ra/hd9ogNxrH1WSZ4QZdl7q/Hz0DkjmS3u06gA2xo7KDHRRWtEg==}
|
||||
engines: {node: '>= 18'}
|
||||
peerDependencies:
|
||||
ember-engines: ^0.9.0
|
||||
@@ -1577,14 +1577,14 @@ packages:
|
||||
'@fleetbase/leaflet-routing-machine@3.2.16':
|
||||
resolution: {integrity: sha512-af0mKH3VKIGEfYEGXS9cedhgniwgkNwjC/Gp9ZEzXGTX2/13PyMdd1XOQTamaItPbh5x2uK2/n1BP0vIJ7ObEQ==}
|
||||
|
||||
'@fleetbase/registry-bridge-engine@0.0.14':
|
||||
resolution: {integrity: sha512-RAZ9MC23PcI3nENpU1waGXszesxIhzyYY1Ob1xu+w/oZpPlj9UX+vB8YdvuiizC4WxmLZiERB6UvJfJzkTjVLg==}
|
||||
'@fleetbase/registry-bridge-engine@0.0.18':
|
||||
resolution: {integrity: sha512-NBq2+hO34T/DwFoNfb7UgAurjJqFqcIisSwp1nIjohWGVCHEZ1p3YUEk+kHJn+WEE8dECj5G8i+bdhLWKaII3A==}
|
||||
engines: {node: '>= 18'}
|
||||
peerDependencies:
|
||||
ember-engines: ^0.9.0
|
||||
|
||||
'@fleetbase/storefront-engine@0.3.15':
|
||||
resolution: {integrity: sha512-hKL8pk+Ajzk0xOvklo4Z/1xq0cb21kbOFtLfFK08RrZTG0tOf2JhrU3gMw0G9Sa2MLslOBpPFR7DLyaOPLTP/Q==}
|
||||
'@fleetbase/storefront-engine@0.3.17':
|
||||
resolution: {integrity: sha512-c0DWyBLDnESziFIYcnlq3Jw/zfKdrdz1JWP62v4lHZBin0A0/bNKGktQ1dgDeKwUN0PvVjAmamOHJSHSo6bsag==}
|
||||
engines: {node: '>= 18'}
|
||||
peerDependencies:
|
||||
ember-engines: ^0.9.0
|
||||
@@ -1619,8 +1619,8 @@ packages:
|
||||
'@formatjs/intl-localematcher@0.5.4':
|
||||
resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==}
|
||||
|
||||
'@formatjs/intl@2.10.5':
|
||||
resolution: {integrity: sha512-f9qPNNgLrh2KvoFvHGIfcPTmNGbyy7lyyV4/P6JioDqtTE7Akdmgt+ZzVndr+yMLZnssUShyTMXxM/6aV9eVuQ==}
|
||||
'@formatjs/intl@2.10.6':
|
||||
resolution: {integrity: sha512-UYnnJt94cI3lPJeu8WCUUPnBBzwW1Zui/oqbSGUaD5XpWOznklMbWic5JRThz9X2mOZIahPX6wN20VszXwssOA==}
|
||||
peerDependencies:
|
||||
typescript: ^4.7 || 5
|
||||
peerDependenciesMeta:
|
||||
@@ -1754,8 +1754,8 @@ packages:
|
||||
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
|
||||
deprecated: Use @eslint/object-schema instead
|
||||
|
||||
'@inquirer/figures@1.0.6':
|
||||
resolution: {integrity: sha512-yfZzps3Cso2UbM7WlxKwZQh2Hs6plrbjs1QnzQDZhK2DgyCo6D8AaHps9olkNcUFlcYERMqU3uJSp1gmy3s/qQ==}
|
||||
'@inquirer/figures@1.0.7':
|
||||
resolution: {integrity: sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@isaacs/cliui@8.0.2':
|
||||
@@ -1880,8 +1880,8 @@ packages:
|
||||
'@socket.io/component-emitter@3.1.2':
|
||||
resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==}
|
||||
|
||||
'@stripe/connect-js@3.3.13':
|
||||
resolution: {integrity: sha512-WSSZngnrEqQ2yFPbc5xN0S2fgZDATI0h0uqGbW2mzTuo5HSOGcFvf240UCNnVpmxVY92mIycMq5tpYncsx6/xQ==}
|
||||
'@stripe/connect-js@3.3.16':
|
||||
resolution: {integrity: sha512-lMUKJJaDl6qzjp+czNn+N6wMwFXwLawmB2jNNgds8SeR+bXCVCXevzJ8dfF92KfmexKg++hBYagF9e99sEMBJQ==}
|
||||
|
||||
'@tailwindcss/forms@0.5.9':
|
||||
resolution: {integrity: sha512-tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg==}
|
||||
@@ -2159,8 +2159,8 @@ packages:
|
||||
'@types/minimist@1.2.5':
|
||||
resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
|
||||
|
||||
'@types/node@22.7.4':
|
||||
resolution: {integrity: sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==}
|
||||
'@types/node@22.7.5':
|
||||
resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==}
|
||||
|
||||
'@types/node@9.6.61':
|
||||
resolution: {integrity: sha512-/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==}
|
||||
@@ -3135,8 +3135,8 @@ packages:
|
||||
caniuse-api@3.0.0:
|
||||
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
|
||||
|
||||
caniuse-lite@1.0.30001666:
|
||||
resolution: {integrity: sha512-gD14ICmoV5ZZM1OdzPWmpx+q4GyefaK06zi8hmfHV5xe4/2nOQX3+Dw5o+fSqOws2xVwL9j+anOPFwHzdEdV4g==}
|
||||
caniuse-lite@1.0.30001667:
|
||||
resolution: {integrity: sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==}
|
||||
|
||||
capture-exit@2.0.0:
|
||||
resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==}
|
||||
@@ -3916,8 +3916,8 @@ packages:
|
||||
ee-first@1.1.1:
|
||||
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
|
||||
|
||||
electron-to-chromium@1.5.31:
|
||||
resolution: {integrity: sha512-QcDoBbQeYt0+3CWcK/rEbuHvwpbT/8SV9T3OSgs6cX1FlcUAkgrkqbg9zLnDrMM/rLamzQwal4LYFCiWk861Tg==}
|
||||
electron-to-chromium@1.5.33:
|
||||
resolution: {integrity: sha512-+cYTcFB1QqD4j4LegwLfpCNxifb6dDFUAwk6RsLusCwIaZI6or2f+q8rs5tTB2YC53HhOlIbEaqHMAAC8IOIwA==}
|
||||
|
||||
element-closest@3.0.2:
|
||||
resolution: {integrity: sha512-JxKQiJKX0Zr5Q2/bCaTx8P+UbfyMET1OQd61qu5xQFeWr1km3fGaxelSJtnfT27XQ5Uoztn2yIyeamAc/VX13g==}
|
||||
@@ -4667,6 +4667,7 @@ packages:
|
||||
eslint@8.57.1:
|
||||
resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
|
||||
hasBin: true
|
||||
|
||||
esm@3.2.25:
|
||||
@@ -7368,8 +7369,8 @@ packages:
|
||||
prosemirror-menu@1.2.4:
|
||||
resolution: {integrity: sha512-S/bXlc0ODQup6aiBbWVsX/eM+xJgCTAfMq/nLqaO5ID/am4wS0tTCIkzwytmao7ypEtjj39i7YbJjAgO20mIqA==}
|
||||
|
||||
prosemirror-model@1.22.3:
|
||||
resolution: {integrity: sha512-V4XCysitErI+i0rKFILGt/xClnFJaohe/wrrlT2NSZ+zk8ggQfDH4x2wNK7Gm0Hp4CIoWizvXFP7L9KMaCuI0Q==}
|
||||
prosemirror-model@1.23.0:
|
||||
resolution: {integrity: sha512-Q/fgsgl/dlOAW9ILu4OOhYWQbc7TQd4BwKH/RwmUjyVf8682Be4zj3rOYdLnYEcGzyg8LL9Q5IWYKD8tdToreQ==}
|
||||
|
||||
prosemirror-schema-basic@1.2.3:
|
||||
resolution: {integrity: sha512-h+H0OQwZVqMon1PNn0AG9cTfx513zgIG2DY00eJ00Yvgb3UD+GQ/VlWW5rcaxacpCGT1Yx8nuhwXk4+QbXUfJA==}
|
||||
@@ -7552,8 +7553,8 @@ packages:
|
||||
regjsgen@0.8.0:
|
||||
resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
|
||||
|
||||
regjsparser@0.11.0:
|
||||
resolution: {integrity: sha512-vTbzVAjQDzwQdKuvj7qEq6OlAprCjE656khuGQ4QaBLg7abQ9I9ISpmLuc6inWe7zP75AECjqUa4g4sdQvOXhg==}
|
||||
regjsparser@0.11.1:
|
||||
resolution: {integrity: sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==}
|
||||
hasBin: true
|
||||
|
||||
remote-promises@1.0.0:
|
||||
@@ -8228,8 +8229,8 @@ packages:
|
||||
resolution: {integrity: sha512-vngT2JmkSapgq0z7uIoYtB9kWOOzMihAAYq/D3Pjm/ODOGMgS4r++B+OZ09U4hWR6EaOdy9eqQ7/8ygbH3wehA==}
|
||||
engines: {node: 8.* || >= 10.*}
|
||||
|
||||
synckit@0.9.1:
|
||||
resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==}
|
||||
synckit@0.9.2:
|
||||
resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
|
||||
tabbable@5.3.3:
|
||||
@@ -10410,11 +10411,11 @@ snapshots:
|
||||
|
||||
'@eslint/js@8.57.1': {}
|
||||
|
||||
'@fleetbase/dev-engine@0.2.7(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)':
|
||||
'@fleetbase/dev-engine@0.2.9(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)':
|
||||
dependencies:
|
||||
'@babel/core': 7.25.7
|
||||
'@fleetbase/ember-core': 0.2.20(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/ember-ui': 0.2.34(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fleetbase/ember-core': 0.2.21(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/ember-ui': 0.2.35(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fortawesome/ember-fontawesome': 2.0.0(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(rollup@2.79.2)(webpack@5.95.0)
|
||||
'@fortawesome/fontawesome-svg-core': 6.4.0
|
||||
'@fortawesome/free-brands-svg-icons': 6.4.0
|
||||
@@ -10460,7 +10461,7 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@fleetbase/ember-core@0.2.20(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)':
|
||||
'@fleetbase/ember-core@0.2.21(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)':
|
||||
dependencies:
|
||||
'@babel/core': 7.25.7
|
||||
compress-json: 3.1.0
|
||||
@@ -10494,7 +10495,7 @@ snapshots:
|
||||
- utf-8-validate
|
||||
- webpack
|
||||
|
||||
'@fleetbase/ember-ui@0.2.34(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)':
|
||||
'@fleetbase/ember-ui@0.2.35(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)':
|
||||
dependencies:
|
||||
'@babel/core': 7.25.7
|
||||
'@ember/render-modifiers': 2.1.0(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))
|
||||
@@ -10599,7 +10600,7 @@ snapshots:
|
||||
'@fleetbase/fleetops-data@0.1.18(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)':
|
||||
dependencies:
|
||||
'@babel/core': 7.25.7
|
||||
'@fleetbase/ember-core': 0.2.20(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/ember-core': 0.2.21(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
date-fns: 2.30.0
|
||||
ember-cli-babel: 8.2.0(@babel/core@7.25.7)
|
||||
ember-cli-htmlbars: 6.3.0
|
||||
@@ -10616,11 +10617,11 @@ snapshots:
|
||||
- utf-8-validate
|
||||
- webpack
|
||||
|
||||
'@fleetbase/fleetops-engine@0.5.8(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)':
|
||||
'@fleetbase/fleetops-engine@0.5.13(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)':
|
||||
dependencies:
|
||||
'@babel/core': 7.25.7
|
||||
'@fleetbase/ember-core': 0.2.20(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/ember-ui': 0.2.34(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fleetbase/ember-core': 0.2.21(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/ember-ui': 0.2.35(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fleetbase/fleetops-data': 0.1.18(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/leaflet-routing-machine': 3.2.16
|
||||
'@fortawesome/ember-fontawesome': 2.0.0(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(rollup@2.79.2)(webpack@5.95.0)
|
||||
@@ -10629,7 +10630,7 @@ snapshots:
|
||||
'@fortawesome/free-solid-svg-icons': 6.4.0
|
||||
'@joint/core': 4.0.4
|
||||
'@joint/layout-directed-graph': 4.0.3
|
||||
'@stripe/connect-js': 3.3.13
|
||||
'@stripe/connect-js': 3.3.16
|
||||
'@terraformer/spatial': 2.2.1
|
||||
'@zestia/ember-dragula': 12.1.0(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0)
|
||||
broccoli-funnel: 3.0.8
|
||||
@@ -10672,11 +10673,11 @@ snapshots:
|
||||
- webpack-cli
|
||||
- webpack-command
|
||||
|
||||
'@fleetbase/iam-engine@0.1.1(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)':
|
||||
'@fleetbase/iam-engine@0.1.3(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)':
|
||||
dependencies:
|
||||
'@babel/core': 7.25.7
|
||||
'@fleetbase/ember-core': 0.2.20(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/ember-ui': 0.2.34(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fleetbase/ember-core': 0.2.21(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/ember-ui': 0.2.35(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fortawesome/ember-fontawesome': 2.0.0(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(rollup@2.79.2)(webpack@5.95.0)
|
||||
'@fortawesome/fontawesome-svg-core': 6.4.0
|
||||
'@fortawesome/free-brands-svg-icons': 6.4.0
|
||||
@@ -10726,16 +10727,16 @@ snapshots:
|
||||
'@mapbox/polyline': 0.2.0
|
||||
osrm-text-instructions: 0.13.4
|
||||
|
||||
'@fleetbase/registry-bridge-engine@0.0.14(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)':
|
||||
'@fleetbase/registry-bridge-engine@0.0.18(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)':
|
||||
dependencies:
|
||||
'@babel/core': 7.25.7
|
||||
'@fleetbase/ember-core': 0.2.20(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/ember-ui': 0.2.34(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fleetbase/ember-core': 0.2.21(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/ember-ui': 0.2.35(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fortawesome/ember-fontawesome': 2.0.0(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(rollup@2.79.2)(webpack@5.95.0)
|
||||
'@fortawesome/fontawesome-svg-core': 6.4.0
|
||||
'@fortawesome/free-brands-svg-icons': 6.4.0
|
||||
'@fortawesome/free-solid-svg-icons': 6.4.0
|
||||
'@stripe/connect-js': 3.3.13
|
||||
'@stripe/connect-js': 3.3.16
|
||||
ember-auto-import: 2.8.1(webpack@5.95.0)
|
||||
ember-cli-babel: 8.2.0(@babel/core@7.25.7)
|
||||
ember-cli-htmlbars: 6.3.0
|
||||
@@ -10771,11 +10772,11 @@ snapshots:
|
||||
- webpack-cli
|
||||
- webpack-command
|
||||
|
||||
'@fleetbase/storefront-engine@0.3.15(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)':
|
||||
'@fleetbase/storefront-engine@0.3.17(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-engines@0.9.0(@ember/legacy-built-in-components@0.4.2(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)':
|
||||
dependencies:
|
||||
'@babel/core': 7.25.7
|
||||
'@fleetbase/ember-core': 0.2.20(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/ember-ui': 0.2.34(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fleetbase/ember-core': 0.2.21(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fleetbase/ember-ui': 0.2.35(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(@glimmer/component@1.1.2(@babel/core@7.25.7))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(postcss@8.4.47)(rollup@2.79.2)(tracked-built-ins@3.3.0)(webpack@5.95.0)
|
||||
'@fleetbase/fleetops-data': 0.1.18(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.7)(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(webpack@5.95.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0)))(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(eslint@8.57.1)(webpack@5.95.0)
|
||||
'@fortawesome/ember-fontawesome': 2.0.0(ember-source@5.4.1(@babel/core@7.25.7)(@glimmer/component@1.1.2(@babel/core@7.25.7))(rsvp@4.8.5)(webpack@5.95.0))(rollup@2.79.2)(webpack@5.95.0)
|
||||
'@fortawesome/fontawesome-svg-core': 6.4.0
|
||||
@@ -10859,7 +10860,7 @@ snapshots:
|
||||
dependencies:
|
||||
tslib: 2.7.0
|
||||
|
||||
'@formatjs/intl@2.10.5':
|
||||
'@formatjs/intl@2.10.6':
|
||||
dependencies:
|
||||
'@formatjs/ecma402-abstract': 2.0.0
|
||||
'@formatjs/fast-memoize': 2.2.0
|
||||
@@ -11097,7 +11098,7 @@ snapshots:
|
||||
|
||||
'@humanwhocodes/object-schema@2.0.3': {}
|
||||
|
||||
'@inquirer/figures@1.0.6': {}
|
||||
'@inquirer/figures@1.0.7': {}
|
||||
|
||||
'@isaacs/cliui@8.0.2':
|
||||
dependencies:
|
||||
@@ -11234,7 +11235,7 @@ snapshots:
|
||||
|
||||
'@socket.io/component-emitter@3.1.2': {}
|
||||
|
||||
'@stripe/connect-js@3.3.13': {}
|
||||
'@stripe/connect-js@3.3.16': {}
|
||||
|
||||
'@tailwindcss/forms@0.5.9(tailwindcss@3.4.13)':
|
||||
dependencies:
|
||||
@@ -11408,12 +11409,12 @@ snapshots:
|
||||
prosemirror-keymap: 1.2.2
|
||||
prosemirror-markdown: 1.13.1
|
||||
prosemirror-menu: 1.2.4
|
||||
prosemirror-model: 1.22.3
|
||||
prosemirror-model: 1.23.0
|
||||
prosemirror-schema-basic: 1.2.3
|
||||
prosemirror-schema-list: 1.4.1
|
||||
prosemirror-state: 1.4.3
|
||||
prosemirror-tables: 1.5.0
|
||||
prosemirror-trailing-node: 3.0.0(prosemirror-model@1.22.3)(prosemirror-state@1.4.3)(prosemirror-view@1.34.3)
|
||||
prosemirror-trailing-node: 3.0.0(prosemirror-model@1.23.0)(prosemirror-state@1.4.3)(prosemirror-view@1.34.3)
|
||||
prosemirror-transform: 1.10.0
|
||||
prosemirror-view: 1.34.3
|
||||
|
||||
@@ -11449,7 +11450,7 @@ snapshots:
|
||||
'@types/body-parser@1.19.5':
|
||||
dependencies:
|
||||
'@types/connect': 3.4.38
|
||||
'@types/node': 22.7.4
|
||||
'@types/node': 22.7.5
|
||||
|
||||
'@types/broccoli-plugin@3.0.0':
|
||||
dependencies:
|
||||
@@ -11465,13 +11466,13 @@ snapshots:
|
||||
|
||||
'@types/connect@3.4.38':
|
||||
dependencies:
|
||||
'@types/node': 22.7.4
|
||||
'@types/node': 22.7.5
|
||||
|
||||
'@types/cookie@0.4.1': {}
|
||||
|
||||
'@types/cors@2.8.17':
|
||||
dependencies:
|
||||
'@types/node': 22.7.4
|
||||
'@types/node': 22.7.5
|
||||
|
||||
'@types/eslint@8.56.12':
|
||||
dependencies:
|
||||
@@ -11482,7 +11483,7 @@ snapshots:
|
||||
|
||||
'@types/express-serve-static-core@4.19.6':
|
||||
dependencies:
|
||||
'@types/node': 22.7.4
|
||||
'@types/node': 22.7.5
|
||||
'@types/qs': 6.9.16
|
||||
'@types/range-parser': 1.2.7
|
||||
'@types/send': 0.17.4
|
||||
@@ -11496,21 +11497,21 @@ snapshots:
|
||||
|
||||
'@types/fs-extra@5.1.0':
|
||||
dependencies:
|
||||
'@types/node': 22.7.4
|
||||
'@types/node': 22.7.5
|
||||
|
||||
'@types/fs-extra@8.1.5':
|
||||
dependencies:
|
||||
'@types/node': 22.7.4
|
||||
'@types/node': 22.7.5
|
||||
|
||||
'@types/glob@7.2.0':
|
||||
dependencies:
|
||||
'@types/minimatch': 5.1.2
|
||||
'@types/node': 22.7.4
|
||||
'@types/node': 22.7.5
|
||||
|
||||
'@types/glob@8.1.0':
|
||||
dependencies:
|
||||
'@types/minimatch': 5.1.2
|
||||
'@types/node': 22.7.4
|
||||
'@types/node': 22.7.5
|
||||
|
||||
'@types/http-errors@2.0.4': {}
|
||||
|
||||
@@ -11533,7 +11534,7 @@ snapshots:
|
||||
|
||||
'@types/minimist@1.2.5': {}
|
||||
|
||||
'@types/node@22.7.4':
|
||||
'@types/node@22.7.5':
|
||||
dependencies:
|
||||
undici-types: 6.19.8
|
||||
|
||||
@@ -11550,17 +11551,17 @@ snapshots:
|
||||
'@types/rimraf@2.0.5':
|
||||
dependencies:
|
||||
'@types/glob': 8.1.0
|
||||
'@types/node': 22.7.4
|
||||
'@types/node': 22.7.5
|
||||
|
||||
'@types/send@0.17.4':
|
||||
dependencies:
|
||||
'@types/mime': 1.3.5
|
||||
'@types/node': 22.7.4
|
||||
'@types/node': 22.7.5
|
||||
|
||||
'@types/serve-static@1.15.7':
|
||||
dependencies:
|
||||
'@types/http-errors': 2.0.4
|
||||
'@types/node': 22.7.4
|
||||
'@types/node': 22.7.5
|
||||
'@types/send': 0.17.4
|
||||
|
||||
'@types/symlink-or-copy@1.2.2': {}
|
||||
@@ -12024,7 +12025,7 @@ snapshots:
|
||||
autoprefixer@10.4.20(postcss@8.4.47):
|
||||
dependencies:
|
||||
browserslist: 4.24.0
|
||||
caniuse-lite: 1.0.30001666
|
||||
caniuse-lite: 1.0.30001667
|
||||
fraction.js: 4.3.7
|
||||
normalize-range: 0.1.2
|
||||
picocolors: 1.1.0
|
||||
@@ -13000,8 +13001,8 @@ snapshots:
|
||||
|
||||
browserslist@4.24.0:
|
||||
dependencies:
|
||||
caniuse-lite: 1.0.30001666
|
||||
electron-to-chromium: 1.5.31
|
||||
caniuse-lite: 1.0.30001667
|
||||
electron-to-chromium: 1.5.33
|
||||
node-releases: 2.0.18
|
||||
update-browserslist-db: 1.1.1(browserslist@4.24.0)
|
||||
|
||||
@@ -13107,11 +13108,11 @@ snapshots:
|
||||
caniuse-api@3.0.0:
|
||||
dependencies:
|
||||
browserslist: 4.24.0
|
||||
caniuse-lite: 1.0.30001666
|
||||
caniuse-lite: 1.0.30001667
|
||||
lodash.memoize: 4.1.2
|
||||
lodash.uniq: 4.5.0
|
||||
|
||||
caniuse-lite@1.0.30001666: {}
|
||||
caniuse-lite@1.0.30001667: {}
|
||||
|
||||
capture-exit@2.0.0:
|
||||
dependencies:
|
||||
@@ -13755,7 +13756,7 @@ snapshots:
|
||||
|
||||
ee-first@1.1.1: {}
|
||||
|
||||
electron-to-chromium@1.5.31: {}
|
||||
electron-to-chromium@1.5.33: {}
|
||||
|
||||
element-closest@3.0.2: {}
|
||||
|
||||
@@ -14807,7 +14808,7 @@ snapshots:
|
||||
ember-intl@6.3.2(@babel/core@7.25.7)(webpack@5.95.0):
|
||||
dependencies:
|
||||
'@formatjs/icu-messageformat-parser': 2.7.8
|
||||
'@formatjs/intl': 2.10.5
|
||||
'@formatjs/intl': 2.10.6
|
||||
broccoli-caching-writer: 3.0.3
|
||||
broccoli-funnel: 3.0.8
|
||||
broccoli-merge-files: 0.8.0
|
||||
@@ -15296,7 +15297,7 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/cookie': 0.4.1
|
||||
'@types/cors': 2.8.17
|
||||
'@types/node': 22.7.4
|
||||
'@types/node': 22.7.5
|
||||
accepts: 1.3.8
|
||||
base64id: 2.0.0
|
||||
cookie: 0.4.2
|
||||
@@ -15480,7 +15481,7 @@ snapshots:
|
||||
eslint: 8.57.1
|
||||
prettier: 3.3.3
|
||||
prettier-linter-helpers: 1.0.0
|
||||
synckit: 0.9.1
|
||||
synckit: 0.9.2
|
||||
optionalDependencies:
|
||||
'@types/eslint': 8.56.12
|
||||
eslint-config-prettier: 9.1.0(eslint@8.57.1)
|
||||
@@ -16621,7 +16622,7 @@ snapshots:
|
||||
|
||||
inquirer@9.3.7:
|
||||
dependencies:
|
||||
'@inquirer/figures': 1.0.6
|
||||
'@inquirer/figures': 1.0.7
|
||||
ansi-escapes: 4.3.2
|
||||
cli-width: 4.1.0
|
||||
external-editor: 3.1.0
|
||||
@@ -16871,7 +16872,7 @@ snapshots:
|
||||
|
||||
jest-worker@27.5.1:
|
||||
dependencies:
|
||||
'@types/node': 22.7.4
|
||||
'@types/node': 22.7.5
|
||||
merge-stream: 2.0.0
|
||||
supports-color: 8.1.1
|
||||
|
||||
@@ -18430,7 +18431,7 @@ snapshots:
|
||||
|
||||
prosemirror-commands@1.6.0:
|
||||
dependencies:
|
||||
prosemirror-model: 1.22.3
|
||||
prosemirror-model: 1.23.0
|
||||
prosemirror-state: 1.4.3
|
||||
prosemirror-transform: 1.10.0
|
||||
|
||||
@@ -18443,7 +18444,7 @@ snapshots:
|
||||
prosemirror-gapcursor@1.3.2:
|
||||
dependencies:
|
||||
prosemirror-keymap: 1.2.2
|
||||
prosemirror-model: 1.22.3
|
||||
prosemirror-model: 1.23.0
|
||||
prosemirror-state: 1.4.3
|
||||
prosemirror-view: 1.34.3
|
||||
|
||||
@@ -18468,7 +18469,7 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/markdown-it': 14.1.2
|
||||
markdown-it: 14.1.0
|
||||
prosemirror-model: 1.22.3
|
||||
prosemirror-model: 1.23.0
|
||||
|
||||
prosemirror-menu@1.2.4:
|
||||
dependencies:
|
||||
@@ -18477,49 +18478,49 @@ snapshots:
|
||||
prosemirror-history: 1.4.1
|
||||
prosemirror-state: 1.4.3
|
||||
|
||||
prosemirror-model@1.22.3:
|
||||
prosemirror-model@1.23.0:
|
||||
dependencies:
|
||||
orderedmap: 2.1.1
|
||||
|
||||
prosemirror-schema-basic@1.2.3:
|
||||
dependencies:
|
||||
prosemirror-model: 1.22.3
|
||||
prosemirror-model: 1.23.0
|
||||
|
||||
prosemirror-schema-list@1.4.1:
|
||||
dependencies:
|
||||
prosemirror-model: 1.22.3
|
||||
prosemirror-model: 1.23.0
|
||||
prosemirror-state: 1.4.3
|
||||
prosemirror-transform: 1.10.0
|
||||
|
||||
prosemirror-state@1.4.3:
|
||||
dependencies:
|
||||
prosemirror-model: 1.22.3
|
||||
prosemirror-model: 1.23.0
|
||||
prosemirror-transform: 1.10.0
|
||||
prosemirror-view: 1.34.3
|
||||
|
||||
prosemirror-tables@1.5.0:
|
||||
dependencies:
|
||||
prosemirror-keymap: 1.2.2
|
||||
prosemirror-model: 1.22.3
|
||||
prosemirror-model: 1.23.0
|
||||
prosemirror-state: 1.4.3
|
||||
prosemirror-transform: 1.10.0
|
||||
prosemirror-view: 1.34.3
|
||||
|
||||
prosemirror-trailing-node@3.0.0(prosemirror-model@1.22.3)(prosemirror-state@1.4.3)(prosemirror-view@1.34.3):
|
||||
prosemirror-trailing-node@3.0.0(prosemirror-model@1.23.0)(prosemirror-state@1.4.3)(prosemirror-view@1.34.3):
|
||||
dependencies:
|
||||
'@remirror/core-constants': 3.0.0
|
||||
escape-string-regexp: 4.0.0
|
||||
prosemirror-model: 1.22.3
|
||||
prosemirror-model: 1.23.0
|
||||
prosemirror-state: 1.4.3
|
||||
prosemirror-view: 1.34.3
|
||||
|
||||
prosemirror-transform@1.10.0:
|
||||
dependencies:
|
||||
prosemirror-model: 1.22.3
|
||||
prosemirror-model: 1.23.0
|
||||
|
||||
prosemirror-view@1.34.3:
|
||||
dependencies:
|
||||
prosemirror-model: 1.22.3
|
||||
prosemirror-model: 1.23.0
|
||||
prosemirror-state: 1.4.3
|
||||
prosemirror-transform: 1.10.0
|
||||
|
||||
@@ -18727,13 +18728,13 @@ snapshots:
|
||||
regenerate: 1.4.2
|
||||
regenerate-unicode-properties: 10.2.0
|
||||
regjsgen: 0.8.0
|
||||
regjsparser: 0.11.0
|
||||
regjsparser: 0.11.1
|
||||
unicode-match-property-ecmascript: 2.0.0
|
||||
unicode-match-property-value-ecmascript: 2.2.0
|
||||
|
||||
regjsgen@0.8.0: {}
|
||||
|
||||
regjsparser@0.11.0:
|
||||
regjsparser@0.11.1:
|
||||
dependencies:
|
||||
jsesc: 3.0.2
|
||||
|
||||
@@ -19545,7 +19546,7 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
synckit@0.9.1:
|
||||
synckit@0.9.2:
|
||||
dependencies:
|
||||
'@pkgr/core': 0.1.1
|
||||
tslib: 2.7.0
|
||||
|
||||
@@ -30,6 +30,7 @@ Router.map(function () {
|
||||
this.route('account', function () {
|
||||
this.route('virtual', { path: '/:slug' });
|
||||
this.route('auth');
|
||||
this.route('organizations');
|
||||
});
|
||||
this.route('settings', function () {
|
||||
this.route('virtual', { path: '/:slug' });
|
||||
@@ -61,4 +62,5 @@ Router.map(function () {
|
||||
});
|
||||
});
|
||||
});
|
||||
this.route('catch', { path: '/*' });
|
||||
});
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
import { module, test } from 'qunit';
|
||||
import { setupRenderingTest } from '@fleetbase/console/tests/helpers';
|
||||
import { render } from '@ember/test-helpers';
|
||||
import { hbs } from 'ember-cli-htmlbars';
|
||||
|
||||
module('Integration | Component | impersonator-tray', function (hooks) {
|
||||
setupRenderingTest(hooks);
|
||||
|
||||
test('it renders', async function (assert) {
|
||||
// Set any properties with this.set('myProperty', 'value');
|
||||
// Handle any actions with this.set('myAction', function(val) { ... });
|
||||
|
||||
await render(hbs`<ImpersonatorTray />`);
|
||||
|
||||
assert.dom().hasText('');
|
||||
|
||||
// Template block usage:
|
||||
await render(hbs`
|
||||
<ImpersonatorTray>
|
||||
template block text
|
||||
</ImpersonatorTray>
|
||||
`);
|
||||
|
||||
assert.dom().hasText('template block text');
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,26 @@
|
||||
import { module, test } from 'qunit';
|
||||
import { setupRenderingTest } from '@fleetbase/console/tests/helpers';
|
||||
import { render } from '@ember/test-helpers';
|
||||
import { hbs } from 'ember-cli-htmlbars';
|
||||
|
||||
module('Integration | Component | modals/edit-organization', function (hooks) {
|
||||
setupRenderingTest(hooks);
|
||||
|
||||
test('it renders', async function (assert) {
|
||||
// Set any properties with this.set('myProperty', 'value');
|
||||
// Handle any actions with this.set('myAction', function(val) { ... });
|
||||
|
||||
await render(hbs`<Modals::EditOrganization />`);
|
||||
|
||||
assert.dom().hasText('');
|
||||
|
||||
// Template block usage:
|
||||
await render(hbs`
|
||||
<Modals::EditOrganization>
|
||||
template block text
|
||||
</Modals::EditOrganization>
|
||||
`);
|
||||
|
||||
assert.dom().hasText('template block text');
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,26 @@
|
||||
import { module, test } from 'qunit';
|
||||
import { setupRenderingTest } from '@fleetbase/console/tests/helpers';
|
||||
import { render } from '@ember/test-helpers';
|
||||
import { hbs } from 'ember-cli-htmlbars';
|
||||
|
||||
module('Integration | Component | modals/leave-organization', function (hooks) {
|
||||
setupRenderingTest(hooks);
|
||||
|
||||
test('it renders', async function (assert) {
|
||||
// Set any properties with this.set('myProperty', 'value');
|
||||
// Handle any actions with this.set('myAction', function(val) { ... });
|
||||
|
||||
await render(hbs`<Modals::LeaveOrganization />`);
|
||||
|
||||
assert.dom().hasText('');
|
||||
|
||||
// Template block usage:
|
||||
await render(hbs`
|
||||
<Modals::LeaveOrganization>
|
||||
template block text
|
||||
</Modals::LeaveOrganization>
|
||||
`);
|
||||
|
||||
assert.dom().hasText('template block text');
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,12 @@
|
||||
import { module, test } from 'qunit';
|
||||
import { setupTest } from '@fleetbase/console/tests/helpers';
|
||||
|
||||
module('Unit | Controller | console/account/organizations', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
// TODO: Replace this with your real tests.
|
||||
test('it exists', function (assert) {
|
||||
let controller = this.owner.lookup('controller:console/account/organizations');
|
||||
assert.ok(controller);
|
||||
});
|
||||
});
|
||||
11
console/tests/unit/routes/catch-test.js
Normal file
11
console/tests/unit/routes/catch-test.js
Normal file
@@ -0,0 +1,11 @@
|
||||
import { module, test } from 'qunit';
|
||||
import { setupTest } from '@fleetbase/console/tests/helpers';
|
||||
|
||||
module('Unit | Route | catch', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
test('it exists', function (assert) {
|
||||
let route = this.owner.lookup('route:catch');
|
||||
assert.ok(route);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,11 @@
|
||||
import { module, test } from 'qunit';
|
||||
import { setupTest } from '@fleetbase/console/tests/helpers';
|
||||
|
||||
module('Unit | Route | console/account/organizations', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
test('it exists', function (assert) {
|
||||
let route = this.owner.lookup('route:console/account/organizations');
|
||||
assert.ok(route);
|
||||
});
|
||||
});
|
||||
@@ -74,6 +74,7 @@ common:
|
||||
unauthorized-access-message: Unauthorized Access, you must request permissions to access.
|
||||
permissions-required-for-changes: You do not have the required permissions to make changes.
|
||||
push-notifications: Push Notifications
|
||||
role: Role
|
||||
component:
|
||||
file:
|
||||
dropdown-label: File actions
|
||||
|
||||
@@ -70,9 +70,6 @@ services:
|
||||
MAIL_FROM_NAME: Fleetbase
|
||||
APP_NAME: Fleetbase
|
||||
LOG_CHANNEL: daily
|
||||
MODEL_CACHE_ENABLED: 'true'
|
||||
RESPONSE_CACHE_ENABLED: 'true'
|
||||
RESPONSE_CACHE_DRIVER: redis
|
||||
REGISTRY_HOST: https://registry.fleetbase.io
|
||||
REGISTRY_PREINSTALLED_EXTENSIONS: 'true'
|
||||
OSRM_HOST: https://router.project-osrm.org
|
||||
|
||||
Submodule packages/core-api updated: 4f7b6797f7...71c27a5bdd
Submodule packages/dev-engine updated: aa8274dfd5...23614889f5
Submodule packages/ember-core updated: b4dabd6023...4669d8379f
Submodule packages/ember-ui updated: 23c9e8a54e...daed82051e
Submodule packages/fleetops updated: 09487c1c50...ffdccb90cd
Submodule packages/iam-engine updated: 23dec1cda5...898b8d0d14
Submodule packages/registry-bridge updated: 572c135222...35fd33767a
Submodule packages/storefront updated: 9f4350d9dd...146b546c96
Reference in New Issue
Block a user