Selaa lähdekoodia

chore: Remove all other Bitnami image references

David Höck 4 kuukautta sitten
vanhempi
sitoutus
706d79a7d8

+ 13 - 13
docker-compose.yml

@@ -4,38 +4,39 @@
 name: vendure-monorepo
 services:
     mariadb:
-        image: 'bitnami/mariadb:latest'
+        image: 'mariadb:latest'
         container_name: mariadb
         environment:
             MARIADB_DATABASE: vendure-dev
-            MARIADB_ROOT_USER: vendure
+            MARIADB_USER: vendure
+            MARIADB_PASSWORD: password
             MARIADB_ROOT_PASSWORD: password
         volumes:
-            - 'mariadb_data:/bitnami'
+            - 'mariadb_data:/var/lib/mysql'
         ports:
             - '3306:3306'
     mysql_8:
-        image: bitnami/mysql:8.0
+        image: mysql:8.0
         container_name: mysql-8
         environment:
-            MYSQL_AUTHENTICATION_PLUGIN: mysql_native_password
             MYSQL_DATABASE: vendure-dev
-            MYSQL_ROOT_USER: vendure
+            MYSQL_USER: vendure
+            MYSQL_PASSWORD: password
             MYSQL_ROOT_PASSWORD: password
         volumes:
-            - 'mysql_data:/bitnami'
+            - 'mysql_data:/var/lib/mysql'
         ports:
             - '3306:3306'
     mysql_5:
-        image: bitnami/mysql:5.7
+        image: mysql:5.7
         container_name: mysql-5.7
         environment:
-            MYSQL_AUTHENTICATION_PLUGIN: mysql_native_password
             MYSQL_DATABASE: vendure-dev
-            MYSQL_ROOT_USER: vendure
+            MYSQL_USER: vendure
+            MYSQL_PASSWORD: password
             MYSQL_ROOT_PASSWORD: password
         volumes:
-            - 'mysql_data:/bitnami'
+            - 'mysql_data:/var/lib/mysql'
         ports:
             - '3306:3306'
     postgres_12:
@@ -96,8 +97,7 @@ services:
     redis:
         image: redis:7.2-alpine
         hostname: redis
-        environment:
-            - ALLOW_EMPTY_PASSWORD=yes
+        environment: []
         ports:
             - '6379:6379'
 

+ 2 - 4
docs/docs/reference/core-plugins/job-queue-plugin/bull-mqjob-queue-plugin.md

@@ -11,7 +11,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## BullMQJobQueuePlugin
 
-<GenerationInfo sourceFile="packages/job-queue-plugin/src/bullmq/plugin.ts" sourceLine="192" packageName="@vendure/job-queue-plugin" />
+<GenerationInfo sourceFile="packages/job-queue-plugin/src/bullmq/plugin.ts" sourceLine="190" packageName="@vendure/job-queue-plugin" />
 
 This plugin is a drop-in replacement of the DefaultJobQueuePlugin, which implements a push-based
 job queue strategy built on top of the popular [BullMQ](https://github.com/taskforcesh/bullmq) library.
@@ -68,11 +68,9 @@ which is a web-based UI for interacting with Redis:
 version: "3"
 services:
   redis:
-    image: bitnami/redis:6.2
+    image: redis:7.4
     hostname: redis
     container_name: redis
-    environment:
-      - ALLOW_EMPTY_PASSWORD=yes
     ports:
       - "6379:6379"
   redis-commander:

+ 1 - 1
docs/docs/reference/dashboard/form-components/rich-text-input.md

@@ -11,7 +11,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## RichTextInput
 
-<GenerationInfo sourceFile="packages/dashboard/src/lib/components/data-input/rich-text-input.tsx" sourceLine="32" packageName="@vendure/dashboard" />
+<GenerationInfo sourceFile="packages/dashboard/src/lib/components/data-input/rich-text-input.tsx" sourceLine="12" packageName="@vendure/dashboard" />
 
 A component for displaying a rich text editor. Internally uses ProseMirror (rich text editor) under the hood.
 

+ 1 - 1
docs/docs/reference/typescript-api/scheduled-tasks/default-scheduler-plugin.md

@@ -11,7 +11,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## DefaultSchedulerPlugin
 
-<GenerationInfo sourceFile="packages/core/src/plugin/default-scheduler-plugin/default-scheduler.plugin.ts" sourceLine="39" packageName="@vendure/core" since="3.3.0" />
+<GenerationInfo sourceFile="packages/core/src/plugin/default-scheduler-plugin/default-scheduler.plugin.ts" sourceLine="40" packageName="@vendure/core" since="3.3.0" />
 
 This plugin configures a default scheduling strategy that executes scheduled
 tasks using the database to ensure that each task is executed exactly once

+ 1 - 1
docs/docs/reference/typescript-api/scheduled-tasks/default-scheduler-strategy.md

@@ -11,7 +11,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## DefaultSchedulerStrategy
 
-<GenerationInfo sourceFile="packages/core/src/plugin/default-scheduler-plugin/default-scheduler-strategy.ts" sourceLine="27" packageName="@vendure/core" since="3.3.0" />
+<GenerationInfo sourceFile="packages/core/src/plugin/default-scheduler-plugin/default-scheduler-strategy.ts" sourceLine="28" packageName="@vendure/core" since="3.3.0" />
 
 The default <a href='/reference/typescript-api/scheduled-tasks/scheduler-strategy#schedulerstrategy'>SchedulerStrategy</a> implementation that uses the database to
 execute scheduled tasks. This strategy is configured when you use the

+ 67 - 4
docs/docs/reference/typescript-api/services/settings-store-service.md

@@ -40,14 +40,24 @@ class SettingsStoreService implements OnModuleInit {
     constructor(connection: TransactionalConnection, moduleRef: ModuleRef, configService: ConfigService)
     onModuleInit() => ;
     register(registration: SettingsStoreRegistration) => void;
+    get(ctx: RequestContext, key: string) => Promise<T | undefined>;
     get(key: string, ctx: RequestContext) => Promise<T | undefined>;
+    get(keyOrCtx: string | RequestContext, ctxOrKey: RequestContext | string) => Promise<T | undefined>;
+    getMany(ctx: RequestContext, keys: string[]) => Promise<Record<string, JsonCompatible<any>>>;
     getMany(keys: string[], ctx: RequestContext) => Promise<Record<string, JsonCompatible<any>>>;
+    getMany(keysOrCtx: string[] | RequestContext, ctxOrKeys: RequestContext | string[]) => Promise<Record<string, JsonCompatible<any>>>;
+    set(ctx: RequestContext, key: string, value: T) => Promise<SetSettingsStoreValueResult>;
     set(key: string, value: T, ctx: RequestContext) => Promise<SetSettingsStoreValueResult>;
+    set(keyOrCtx: string | RequestContext, keyOrValue: string | T, ctxOrValue: RequestContext | T) => Promise<SetSettingsStoreValueResult>;
+    setMany(ctx: RequestContext, values: Record<string, JsonCompatible<any>>) => Promise<SetSettingsStoreValueResult[]>;
     setMany(values: Record<string, JsonCompatible<any>>, ctx: RequestContext) => Promise<SetSettingsStoreValueResult[]>;
+    setMany(valuesOrCtx: Record<string, JsonCompatible<any>> | RequestContext, ctxOrValues: RequestContext | Record<string, JsonCompatible<any>>) => Promise<SetSettingsStoreValueResult[]>;
     getFieldDefinition(key: string) => SettingsStoreFieldConfig | undefined;
     validateValue(key: string, value: any, ctx: RequestContext) => Promise<string | void>;
     findOrphanedEntries(options: CleanupOrphanedSettingsStoreEntriesOptions = {}) => Promise<OrphanedSettingsStoreEntry[]>;
     cleanupOrphanedEntries(options: CleanupOrphanedSettingsStoreEntriesOptions = {}) => Promise<CleanupOrphanedSettingsStoreEntriesResult>;
+    hasPermission(ctx: RequestContext, key: string) => boolean;
+    isReadonly(key: string) => boolean;
 }
 ```
 * Implements: <code>OnModuleInit</code>
@@ -74,30 +84,70 @@ Register settings store fields. This is typically called during application
 bootstrap when processing the VendureConfig.
 ### get
 
-<MemberInfo kind="method" type={`(key: string, ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>) => Promise&#60;T | undefined&#62;`}   />
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, key: string) => Promise&#60;T | undefined&#62;`}   />
 
 Get a value for the specified key. The value is automatically scoped
 according to the field's scope configuration.
+### get
+
+<MemberInfo kind="method" type={`(key: string, ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>) => Promise&#60;T | undefined&#62;`}   />
+
+
+### get
+
+<MemberInfo kind="method" type={`(keyOrCtx: string | <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, ctxOrKey: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a> | string) => Promise&#60;T | undefined&#62;`}   />
+
+
 ### getMany
 
-<MemberInfo kind="method" type={`(keys: string[], ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>) => Promise&#60;Record&#60;string, <a href='/reference/typescript-api/common/json-compatible#jsoncompatible'>JsonCompatible</a>&#60;any&#62;&#62;&#62;`}   />
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, keys: string[]) => Promise&#60;Record&#60;string, <a href='/reference/typescript-api/common/json-compatible#jsoncompatible'>JsonCompatible</a>&#60;any&#62;&#62;&#62;`}   />
 
 Get multiple values efficiently. Each key is scoped according to
 its individual field configuration.
+### getMany
+
+<MemberInfo kind="method" type={`(keys: string[], ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>) => Promise&#60;Record&#60;string, <a href='/reference/typescript-api/common/json-compatible#jsoncompatible'>JsonCompatible</a>&#60;any&#62;&#62;&#62;`}   />
+
+
+### getMany
+
+<MemberInfo kind="method" type={`(keysOrCtx: string[] | <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, ctxOrKeys: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a> | string[]) => Promise&#60;Record&#60;string, <a href='/reference/typescript-api/common/json-compatible#jsoncompatible'>JsonCompatible</a>&#60;any&#62;&#62;&#62;`}   />
+
+
 ### set
 
-<MemberInfo kind="method" type={`(key: string, value: T, ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>) => Promise&#60;<a href='/reference/typescript-api/settings-store/set-settings-store-value-result#setsettingsstorevalueresult'>SetSettingsStoreValueResult</a>&#62;`}   />
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, key: string, value: T) => Promise&#60;<a href='/reference/typescript-api/settings-store/set-settings-store-value-result#setsettingsstorevalueresult'>SetSettingsStoreValueResult</a>&#62;`}   />
 
 Set a value for the specified key with structured result feedback.
 This version returns detailed information about the success or failure
 of the operation instead of throwing errors.
+### set
+
+<MemberInfo kind="method" type={`(key: string, value: T, ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>) => Promise&#60;<a href='/reference/typescript-api/settings-store/set-settings-store-value-result#setsettingsstorevalueresult'>SetSettingsStoreValueResult</a>&#62;`}   />
+
+
+### set
+
+<MemberInfo kind="method" type={`(keyOrCtx: string | <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, keyOrValue: string | T, ctxOrValue: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a> | T) => Promise&#60;<a href='/reference/typescript-api/settings-store/set-settings-store-value-result#setsettingsstorevalueresult'>SetSettingsStoreValueResult</a>&#62;`}   />
+
+
 ### setMany
 
-<MemberInfo kind="method" type={`(values: Record&#60;string, <a href='/reference/typescript-api/common/json-compatible#jsoncompatible'>JsonCompatible</a>&#60;any&#62;&#62;, ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>) => Promise&#60;<a href='/reference/typescript-api/settings-store/set-settings-store-value-result#setsettingsstorevalueresult'>SetSettingsStoreValueResult</a>[]&#62;`}   />
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, values: Record&#60;string, <a href='/reference/typescript-api/common/json-compatible#jsoncompatible'>JsonCompatible</a>&#60;any&#62;&#62;) => Promise&#60;<a href='/reference/typescript-api/settings-store/set-settings-store-value-result#setsettingsstorevalueresult'>SetSettingsStoreValueResult</a>[]&#62;`}   />
 
 Set multiple values with structured result feedback for each operation.
 This method will not throw errors but will return
 detailed results for each key-value pair.
+### setMany
+
+<MemberInfo kind="method" type={`(values: Record&#60;string, <a href='/reference/typescript-api/common/json-compatible#jsoncompatible'>JsonCompatible</a>&#60;any&#62;&#62;, ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>) => Promise&#60;<a href='/reference/typescript-api/settings-store/set-settings-store-value-result#setsettingsstorevalueresult'>SetSettingsStoreValueResult</a>[]&#62;`}   />
+
+
+### setMany
+
+<MemberInfo kind="method" type={`(valuesOrCtx: Record&#60;string, <a href='/reference/typescript-api/common/json-compatible#jsoncompatible'>JsonCompatible</a>&#60;any&#62;&#62; | <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, ctxOrValues: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a> | Record&#60;string, <a href='/reference/typescript-api/common/json-compatible#jsoncompatible'>JsonCompatible</a>&#60;any&#62;&#62;) => Promise&#60;<a href='/reference/typescript-api/settings-store/set-settings-store-value-result#setsettingsstorevalueresult'>SetSettingsStoreValueResult</a>[]&#62;`}   />
+
+
 ### getFieldDefinition
 
 <MemberInfo kind="method" type={`(key: string) => <a href='/reference/typescript-api/settings-store/settings-store-field-config#settingsstorefieldconfig'>SettingsStoreFieldConfig</a> | undefined`}   />
@@ -118,6 +168,19 @@ Find orphaned settings store entries that no longer have corresponding field def
 <MemberInfo kind="method" type={`(options: <a href='/reference/typescript-api/settings-store/cleanup-orphaned-settings-store-entries-options#cleanuporphanedsettingsstoreentriesoptions'>CleanupOrphanedSettingsStoreEntriesOptions</a> = {}) => Promise&#60;<a href='/reference/typescript-api/settings-store/cleanup-orphaned-settings-store-entries-result#cleanuporphanedsettingsstoreentriesresult'>CleanupOrphanedSettingsStoreEntriesResult</a>&#62;`}   />
 
 Clean up orphaned settings store entries from the database.
+### hasPermission
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, key: string) => boolean`}   />
+
+Check if the current user has permission to access a field.
+This is not called internally in the get and set methods, so should
+be used by any methods which are exposing these methods via the GraphQL
+APIs.
+### isReadonly
+
+<MemberInfo kind="method" type={`(key: string) => boolean`}   />
+
+Returns true if the settings field has the `readonly: true` configuration.
 
 
 </div>

+ 1 - 3
packages/job-queue-plugin/src/bullmq/plugin.ts

@@ -65,11 +65,9 @@ import { BullMQPluginOptions } from './types';
  * version: "3"
  * services:
  *   redis:
- *     image: bitnami/redis:6.2
+ *     image: redis:7.4
  *     hostname: redis
  *     container_name: redis
- *     environment:
- *       - ALLOW_EMPTY_PASSWORD=yes
  *     ports:
  *       - "6379:6379"
  *   redis-commander: