diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogPostRepository.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogPostRepository.cs index a93683ff46..02085f5dc5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogPostRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogPostRepository.cs @@ -58,6 +58,12 @@ public class EfCoreBlogPostRepository : EfCoreRepository entityIdFilters = null; + if (tagId.HasValue) + { + entityIdFilters = (await _entityTagManager.GetEntityIdsFilteredByTagAsync(tagId.Value, CurrentTenant.Id, cancellationToken)).Select(Guid.Parse).ToList(); + } + var tagFilteredEntityIds = tagId.HasValue ? await _entityTagManager.GetEntityIdsFilteredByTagAsync(tagId.Value, CurrentTenant.Id, cancellationToken) : null; @@ -67,6 +73,7 @@ public class EfCoreBlogPostRepository : EfCoreRepository entityIdFilters.Contains(x.Id)) .WhereIf(tagFilteredEntityIds != null, x => tagFilteredEntityIds.Contains(x.Id.ToString())) .WhereIf(favoriteUserFilteredEntityIds != null, x => favoriteUserFilteredEntityIds.Contains(x.Id.ToString())) .WhereIf(blogId.HasValue, x => x.BlogId == blogId) @@ -95,6 +102,12 @@ public class EfCoreBlogPostRepository : EfCoreRepository(); var usersDbSet = dbContext.Set(); + List entityIdFilters = null; + if (tagId.HasValue) + { + entityIdFilters = (await _entityTagManager.GetEntityIdsFilteredByTagAsync(tagId.Value, CurrentTenant.Id, cancellationToken)).Select(Guid.Parse).ToList(); + } + var tagFilteredEntityIds = tagId.HasValue ? await _entityTagManager.GetEntityIdsFilteredByTagAsync(tagId.Value, CurrentTenant.Id, cancellationToken) : null; @@ -104,6 +117,7 @@ public class EfCoreBlogPostRepository : EfCoreRepository entityIdFilters.Contains(x.Id)) .WhereIf(tagFilteredEntityIds != null, x => tagFilteredEntityIds.Contains(x.Id.ToString())) .WhereIf(favoriteUserFilteredEntityIds != null, x => favoriteUserFilteredEntityIds.Contains(x.Id.ToString())) .WhereIf(blogId.HasValue, x => x.BlogId == blogId) diff --git a/npm/ng-packs/packages/schematics/src/utils/model.ts b/npm/ng-packs/packages/schematics/src/utils/model.ts index a1485858d4..a46eff612d 100644 --- a/npm/ng-packs/packages/schematics/src/utils/model.ts +++ b/npm/ng-packs/packages/schematics/src/utils/model.ts @@ -148,7 +148,12 @@ export function createImportRefToInterfaceReducerCreator(params: ModelGeneratorP typeDef.properties?.forEach(prop => { let name = prop.jsonName || camel(prop.name); name = shouldQuote(name) ? `'${name}'` : name; - const type = simplifyType(prop.type); + + let type = simplifyType(prop.typeSimple); + if (prop.typeSimple.includes('enum')) { + type = simplifyType(prop.type); + } + const refs = parseType(prop.type).reduce( (acc: string[], r) => acc.concat(parseGenerics(r).toGenerics()), [], @@ -182,7 +187,10 @@ export function createRefToImportReducerCreator(params: ModelGeneratorParams) { } function isOptionalProperty(prop: PropertyDef) { - return prop.typeSimple.endsWith('?') || !prop.isRequired; + return ( + prop.typeSimple.endsWith('?') || + ((prop.typeSimple === 'string' || prop.typeSimple.includes('enum')) && !prop.isRequired) + ); } export function parseBaseTypeWithGenericTypes(type: string): string[] {