Просмотр исходного кода

Merge branch 'master' into minor

Michael Bromley 2 лет назад
Родитель
Сommit
10034bd97e

+ 4 - 4
docs/content/plugins/extending-the-admin-ui/creating-detail-views/index.md

@@ -18,7 +18,7 @@ Let's say you have a plugin which adds a new entity to the database called `Prod
 The detail component itself is an Angular component which extends the [BaseDetailComponent]({{< relref "base-detail-component" >}}) or [TypedBaseDetailComponent]({{< relref "typed-base-detail-component" >}}) class.
 
 ```TypeScript
-import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { ChangeDetectionStrategy, Component, OnInit, OnDestroy } from '@angular/core';
 import { FormBuilder } from '@angular/forms';
 import { TypedBaseDetailComponent, LanguageCode } from '@vendure/admin-ui/core';
 import { gql } from 'apollo-angular';
@@ -47,7 +47,7 @@ export const GET_REVIEW_DETAIL = gql`
   styleUrls: ['./review-detail.component.scss'],
   changeDetection: ChangeDetectionStrategy.OnPush,
 })
-export class ReviewDetailComponent extends TypedBaseDetailComponent<typeof GetReviewDetailDocument> implements OnInit, OnDestroy {
+export class ReviewDetailComponent extends TypedBaseDetailComponent<typeof GetReviewDetailDocument, 'review'> implements OnInit, OnDestroy {
   detailForm = this.formBuilder.group({
     title: [''],
     rating: [1],
@@ -207,7 +207,7 @@ import { GetReviewDocument, GetReviewDetailQuery } from './generated-types';
             const review$ = inject(DataService)
               .query(GetReviewDocument, { id: route.paramMap.get('id') })
               .mapStream(data => data.review);
-            return of({ detail: { entity: review$ } });
+            return of({ entity: review$ });
           },
         },
         data: {
@@ -220,7 +220,7 @@ import { GetReviewDocument, GetReviewDetailQuery } from './generated-types';
                 link: ['/extensions', 'reviews'],
               },
               {
-                label: `${entity.title}`,
+                label: `${entity?.title ?? 'New Review'}`,
                 link: [],
               },
             ]),

+ 1 - 0
packages/core/src/common/index.ts

@@ -1,6 +1,7 @@
 export * from './finite-state-machine/finite-state-machine';
 export * from './finite-state-machine/types';
 export * from './async-queue';
+export * from './calculated-decorator';
 export * from './error/errors';
 export * from './error/error-result';
 export * from './error/generated-graphql-admin-errors';

+ 2 - 1
packages/core/src/config/session-cache/session-cache-strategy.ts

@@ -69,6 +69,7 @@ export type CachedSession = {
  * }
  * const loggerCtx = 'RedisSessionCacheStrategy';
  * const DEFAULT_NAMESPACE = 'vendure-session-cache';
+ * const DEFAULT_TTL = 86400;
  *
  * export class RedisSessionCacheStrategy implements SessionCacheStrategy {
  *   private client: Redis;
@@ -100,7 +101,7 @@ export type CachedSession = {
  *
  *   async set(session: CachedSession) {
  *     try {
- *       await this.client.set(this.namespace(session.token), JSON.stringify(session));
+ *       await this.client.set(this.namespace(session.token), JSON.stringify(session), 'EX', DEFAULT_TTL);
  *     } catch (e: any) {
  *       Logger.error(`Could not set cached session: ${e.message}`, loggerCtx);
  *     }

+ 1 - 0
packages/core/src/entity/index.ts

@@ -42,6 +42,7 @@ export * from './product/product.entity';
 export * from './promotion/promotion.entity';
 export * from './refund/refund.entity';
 export * from './role/role.entity';
+export * from './seller/seller.entity';
 export * from './session/anonymous-session.entity';
 export * from './session/authenticated-session.entity';
 export * from './session/session.entity';