feat: no logos for whitelabel licenses

This commit is contained in:
Ruben Fiszel
2024-02-19 14:25:55 +01:00
parent 02dff11d96
commit 628dccf16a
10 changed files with 65 additions and 78 deletions

48
backend/Cargo.lock generated
View File

@@ -9152,7 +9152,7 @@ dependencies = [
[[package]]
name = "windmill-api"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"anyhow",
"argon2",
@@ -9176,7 +9176,7 @@ dependencies = [
"hf-hub",
"hmac",
"hyper",
"itertools 0.12.1",
"itertools 0.9.0",
"lazy_static",
"magic-crypt",
"mail-send",
@@ -9226,7 +9226,7 @@ dependencies = [
[[package]]
name = "windmill-api-client"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"base64 0.21.7",
"chrono",
@@ -9244,7 +9244,7 @@ dependencies = [
[[package]]
name = "windmill-audit"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"chrono",
"serde",
@@ -9257,7 +9257,7 @@ dependencies = [
[[package]]
name = "windmill-common"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"anyhow",
"axum",
@@ -9267,7 +9267,7 @@ dependencies = [
"hex",
"hmac",
"hyper",
"itertools 0.12.1",
"itertools 0.9.0",
"lazy_static",
"magic-crypt",
"object_store",
@@ -9290,7 +9290,7 @@ dependencies = [
[[package]]
name = "windmill-git-sync"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"regex",
"rsmq_async",
@@ -9305,7 +9305,7 @@ dependencies = [
[[package]]
name = "windmill-parser"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"serde",
"serde_json",
@@ -9313,7 +9313,7 @@ dependencies = [
[[package]]
name = "windmill-parser-bash"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"anyhow",
"lazy_static",
@@ -9324,11 +9324,11 @@ dependencies = [
[[package]]
name = "windmill-parser-go"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"anyhow",
"gosyn",
"itertools 0.12.1",
"itertools 0.9.0",
"lazy_static",
"regex",
"windmill-parser",
@@ -9336,7 +9336,7 @@ dependencies = [
[[package]]
name = "windmill-parser-graphql"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"anyhow",
"lazy_static",
@@ -9347,10 +9347,10 @@ dependencies = [
[[package]]
name = "windmill-parser-py"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"anyhow",
"itertools 0.12.1",
"itertools 0.9.0",
"rustpython-parser",
"serde_json",
"windmill-parser",
@@ -9358,11 +9358,11 @@ dependencies = [
[[package]]
name = "windmill-parser-py-imports"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"anyhow",
"async-recursion",
"itertools 0.12.1",
"itertools 0.9.0",
"lazy_static",
"phf",
"regex",
@@ -9375,7 +9375,7 @@ dependencies = [
[[package]]
name = "windmill-parser-sql"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"anyhow",
"lazy_static",
@@ -9386,7 +9386,7 @@ dependencies = [
[[package]]
name = "windmill-parser-ts"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"anyhow",
"convert_case 0.6.0",
@@ -9404,7 +9404,7 @@ dependencies = [
[[package]]
name = "windmill-parser-wasm"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"anyhow",
"getrandom 0.2.12",
@@ -9422,19 +9422,19 @@ dependencies = [
[[package]]
name = "windmill-queue"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"anyhow",
"async-recursion",
"axum",
"bigdecimal 0.4.2",
"bigdecimal 0.3.1",
"chrono",
"chrono-tz",
"cron",
"futures-core",
"hex",
"hmac",
"itertools 0.12.1",
"itertools 0.9.0",
"lazy_static",
"prometheus",
"regex",
@@ -9455,7 +9455,7 @@ dependencies = [
[[package]]
name = "windmill-worker"
version = "1.271.0"
version = "1.272.0"
dependencies = [
"anyhow",
"async-recursion",
@@ -9477,7 +9477,7 @@ dependencies = [
"gcp_auth",
"git-version",
"hex",
"itertools 0.12.1",
"itertools 0.9.0",
"jsonwebtoken",
"lazy_static",
"mysql_async",

View File

@@ -1,15 +1,19 @@
<script lang="ts">
import { setLicense } from '$lib/enterpriseUtils'
import { enterpriseLicense } from '$lib/stores'
import WindmillIcon from './icons/WindmillIcon.svelte'
import LoginPageHeader from './LoginPageHeader.svelte'
export let subtitle: string | undefined = undefined
export let title = 'Windmill'
export let disableLogo = false
setLicense()
</script>
<div class="center-center min-h-screen p-4 relative bg-surface-secondary">
<div class="flex flex-col gap-2 items-center w-full">
{#if !disableLogo}
{#if (!disableLogo && !$enterpriseLicense) || !$enterpriseLicense?.endsWith('_whitelabel')}
<div class="hidden lg:block">
<div>
<WindmillIcon height="100px" width="100px" spin="slow" />

View File

@@ -12,10 +12,9 @@
Preview,
type OpenFlow,
type FlowModule,
SettingsService
} from '$lib/gen'
import { inferArgs } from '$lib/infer'
import { enterpriseLicense, userStore, workspaceStore } from '$lib/stores'
import { userStore, workspaceStore } from '$lib/stores'
import { emptySchema, getModifierKey, sendUserToast } from '$lib/utils'
import { Pane, Splitpanes } from 'svelte-splitpanes'
import { onDestroy, onMount, setContext } from 'svelte'
@@ -34,6 +33,7 @@
import { loadSchemaFromModule } from './flows/flowInfers'
import { Play } from 'lucide-svelte'
import Toggle from './Toggle.svelte'
import { setLicense } from '$lib/enterpriseUtils'
$: token = $page.url.searchParams.get('wm_token') ?? undefined
$: workspace = $page.url.searchParams.get('workspace') ?? undefined
@@ -127,13 +127,9 @@
}
}
async function setEnterpriseLicense() {
if (!$enterpriseLicense) {
$enterpriseLicense = await SettingsService.getLicenseId()
}
}
setLicense()
onMount(() => {
setEnterpriseLicense()
window.addEventListener('message', el, false)
document.addEventListener('keydown', (e) => {
const obj = {

View File

@@ -176,6 +176,7 @@
</script>
<div class="pb-8">
<!-- svelte-ignore a11y-label-has-associated-control -->
<Tabs {hideTabs} bind:selected={tab}>
{#each settingsKeys as category}
<Tab value={category}>{category}</Tab>

View File

@@ -2,7 +2,7 @@
import { BROWSER } from 'esm-env'
import type { Schema, SupportedLanguage } from '$lib/common'
import { CompletedJob, Job, JobService, SettingsService } from '$lib/gen'
import { CompletedJob, Job, JobService } from '$lib/gen'
import { enterpriseLicense, userStore, workspaceStore } from '$lib/stores'
import { copyToClipboard, emptySchema, getModifierKey, sendUserToast } from '$lib/utils'
import Editor from './Editor.svelte'
@@ -23,6 +23,7 @@
import Modal from './common/modal/Modal.svelte'
import DiffEditor from './DiffEditor.svelte'
import { Clipboard, Github, Play } from 'lucide-svelte'
import { setLicense } from '$lib/enterpriseUtils'
// Exported
export let schema: Schema | any = emptySchema()
@@ -120,11 +121,8 @@
loadPastTests()
})
setLicense()
export async function setCollaborationMode() {
if (!$enterpriseLicense) {
$enterpriseLicense = await SettingsService.getLicenseId()
}
if (!$enterpriseLicense) {
sendUserToast(`Multiplayer is an enterprise feature`, true, [
{

View File

@@ -276,7 +276,7 @@
id={component.id}
bind:componentInput={componentSettings.item.data.componentInput}
/>
<a class="text-2xs" on:click={transformToFrontend} href="#">
<a class="text-2xs" on:click={transformToFrontend} href={undefined}>
transform to a frontend script
</a>
{:else if componentSettings.item.data.componentInput?.type === 'runnable' && component.componentInput !== undefined}

View File

@@ -7,9 +7,8 @@
import Microsoft from '$lib/components/icons/brands/Microsoft.svelte'
import Okta from '$lib/components/icons/brands/Okta.svelte'
import { onMount } from 'svelte'
import { OauthService, UserService, WorkspaceService } from '$lib/gen'
import { usersWorkspaceStore, workspaceStore, userStore } from '$lib/stores'
import { usersWorkspaceStore, workspaceStore, userStore, enterpriseLicense } from '$lib/stores'
import { classNames, emptyString, parseQueryParams } from '$lib/utils'
import { getUserExt } from '$lib/user'
import { Button, Skeleton } from '$lib/components/common'
@@ -20,6 +19,7 @@
import LoginPageHeader from '$lib/components/LoginPageHeader.svelte'
import DarkModeToggle from '$lib/components/sidebar/DarkModeToggle.svelte'
import { clearStores } from '$lib/storeUtils'
import { setLicense } from '$lib/enterpriseUtils'
let email = $page.url.searchParams.get('email') ?? ''
let password = $page.url.searchParams.get('password') ?? ''
@@ -148,15 +148,18 @@
showPassword = (logins.length == 0 && !saml) || (email != undefined && email.length > 0)
}
onMount(async () => {
try {
loadLogins()
await UserService.getCurrentEmail()
redirectUser()
} catch {
clearStores()
}
})
async function redirectIfNecessary() {
await UserService.getCurrentEmail()
redirectUser()
}
try {
setLicense()
loadLogins()
redirectIfNecessary()
} catch {
clearStores()
}
function handleKeyUp(event: KeyboardEvent) {
const key = event.key
@@ -189,7 +192,9 @@
<LoginPageHeader />
<div class="sm:mx-auto sm:w-full sm:max-w-md">
<div class="mx-auto flex justify-center">
<WindmillIcon height="80px" width="80px" spin="slow" />
{#if !$enterpriseLicense || !$enterpriseLicense?.endsWith('_whitelabel')}
<WindmillIcon height="80px" width="80px" spin="slow" />
{/if}
</div>
<h2 class="mt-6 text-center text-3xl font-bold tracking-tight text-primary">
Log in or sign up

View File

@@ -1,9 +1,9 @@
<script lang="ts">
import { goto } from '$app/navigation'
import { page } from '$app/stores'
import { SettingsService, UserService, WorkspaceService } from '$lib/gen'
import { UserService, WorkspaceService } from '$lib/gen'
import { logoutWithRedirect } from '$lib/logout'
import { enterpriseLicense, userStore, usersWorkspaceStore, workspaceStore } from '$lib/stores'
import { userStore, usersWorkspaceStore, workspaceStore } from '$lib/stores'
import { getUserExt } from '$lib/user'
import { sendUserToast } from '$lib/toast'
import { onDestroy, onMount } from 'svelte'
@@ -12,6 +12,7 @@
// import EditorTheme from '$lib/components/EditorTheme.svelte'
import { computeDrift } from '$lib/forLater'
import ChartHighlightTheme from '$lib/components/ChartHighlightTheme.svelte'
import { setLicense } from '$lib/enterpriseUtils'
const monacoEditorUnhandledErrors = [
'Model not found',
@@ -30,13 +31,6 @@
$usersWorkspaceStore = await WorkspaceService.listUserWorkspaces()
}
async function setLicense() {
const license = await SettingsService.getLicenseId()
if (license) {
$enterpriseLicense = license
}
}
async function loadUser() {
try {
await refreshSuperadmin()

View File

@@ -1,5 +1,5 @@
<script lang="ts">
import { Job, JobService, SettingsService } from '$lib/gen'
import { Job, JobService } from '$lib/gen'
import { page } from '$app/stores'
import Button from '$lib/components/common/button/Button.svelte'
import CenteredModal from '$lib/components/CenteredModal.svelte'
@@ -16,6 +16,7 @@
import { emptyString } from '$lib/utils'
import { Alert } from '$lib/components/common'
import { getUserExt } from '$lib/user'
import { setLicense } from '$lib/enterpriseUtils'
$workspaceStore = $page.params.workspace
let rd = $page.url.href.replace($page.url.origin, '')
@@ -37,15 +38,9 @@
let default_payload: any = {}
let enum_payload: object = {}
async function setLicense() {
const license = await SettingsService.getLicenseId()
if (license) {
$enterpriseLicense = license
}
}
setLicense()
onMount(() => {
setLicense()
getJob()
timeout = setInterval(getJob, 1000)
window.onunhandledrejection = (event: PromiseRejectionEvent) => {

View File

@@ -6,13 +6,14 @@
import { Alert, Skeleton } from '$lib/components/common'
import { WindmillIcon } from '$lib/components/icons'
import { AppService, AppWithLastVersion, SettingsService } from '$lib/gen'
import { userStore, enterpriseLicense } from '$lib/stores'
import { AppService, AppWithLastVersion } from '$lib/gen'
import { userStore } from '$lib/stores'
import { twMerge } from 'tailwind-merge'
import { setContext } from 'svelte'
import github from 'svelte-highlight/styles/github'
import { writable } from 'svelte/store'
import { setLicense } from '$lib/enterpriseUtils'
let app: AppWithLastVersion | undefined = undefined
let notExists = false
@@ -21,7 +22,6 @@
async function loadApp() {
try {
setLicense()
app = await AppService.getPublicAppBySecret({
workspace: $page.params.workspace,
path: $page.params.secret
@@ -32,17 +32,11 @@
}
if (BROWSER) {
setLicense()
loadApp()
}
const breakpoint = writable<EditorBreakpoint>('lg')
async function setLicense() {
const license = await SettingsService.getLicenseId()
if (license) {
$enterpriseLicense = license
}
}
</script>
<svelte:head>