Skip to content

Commit

Permalink
Merge pull request #376 from mixcore/develop
Browse files Browse the repository at this point in the history
Merge latest Develop branch to release Mixcore v1.0.1
  • Loading branch information
Smilefounder authored Feb 24, 2021
2 parents aa1d39b + aca036d commit 725980a
Show file tree
Hide file tree
Showing 327 changed files with 30,353 additions and 16,979 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -273,3 +273,4 @@ src/Mix.Cms.Web/wwwroot/css/app-vendor-scss.min.css
src/Mix.Cms.Web/MixContent/mix-cms.db-wal

src/Mix.Cms.Web/MixContent/mix-cms.db-shm
/src/Mix.Cms.Web/wwwroot/mix-content/exports
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
// See the LICENSE file in the project root for more information.

using Microsoft.AspNetCore.Mvc;
using Mix.Cms.Lib.Constants;
using Mix.Cms.Lib.Controllers;
using Mix.Cms.Lib.Enums;
using Mix.Cms.Lib.Models.Cms;
Expand All @@ -19,14 +20,14 @@ namespace Mix.Cms.Api.RestFul.Controllers.v1
public class ApiConfigurationPortalController :
BaseAuthorizedRestApiController<MixCmsContext, MixConfiguration, UpdateViewModel, ReadMvcViewModel, UpdateViewModel>
{
// GET: api/s

[HttpGet]
public override async Task<ActionResult<PaginationModel<ReadMvcViewModel>>> Get()
{
bool isStatus = Enum.TryParse(Request.Query["status"], out MixContentStatus status);
bool isFromDate = DateTime.TryParse(Request.Query["fromDate"], out DateTime fromDate);
bool isToDate = DateTime.TryParse(Request.Query["toDate"], out DateTime toDate);
string keyword = Request.Query["keyword"];
bool isStatus = Enum.TryParse(Request.Query[MixRequestQueryKeywords.Status], out MixContentStatus status);
bool isFromDate = DateTime.TryParse(Request.Query[MixRequestQueryKeywords.FromDate], out DateTime fromDate);
bool isToDate = DateTime.TryParse(Request.Query[MixRequestQueryKeywords.ToDate], out DateTime toDate);
string keyword = Request.Query[MixRequestQueryKeywords.Keyword];
string category = Request.Query["category"];
Expression<Func<MixConfiguration, bool>> predicate = model =>
model.Specificulture == _lang
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
// See the LICENSE file in the project root for more information.

using Microsoft.AspNetCore.Mvc;
using Mix.Cms.Lib.Constants;
using Mix.Cms.Lib.Controllers;
using Mix.Cms.Lib.Enums;
using Mix.Cms.Lib.Models.Cms;
Expand All @@ -19,14 +20,14 @@ namespace Mix.Cms.Api.RestFul.Controllers.v1
public class ApiLanguageController :
BaseAuthorizedRestApiController<MixCmsContext, MixLanguage, UpdateViewModel, ReadMvcViewModel, UpdateViewModel>
{
// GET: api/s

[HttpGet]
public override async Task<ActionResult<PaginationModel<ReadMvcViewModel>>> Get()
{
bool isStatus = Enum.TryParse(Request.Query["status"], out MixContentStatus status);
bool isFromDate = DateTime.TryParse(Request.Query["fromDate"], out DateTime fromDate);
bool isToDate = DateTime.TryParse(Request.Query["toDate"], out DateTime toDate);
string keyword = Request.Query["keyword"];
bool isStatus = Enum.TryParse(Request.Query[MixRequestQueryKeywords.Status], out MixContentStatus status);
bool isFromDate = DateTime.TryParse(Request.Query[MixRequestQueryKeywords.FromDate], out DateTime fromDate);
bool isToDate = DateTime.TryParse(Request.Query[MixRequestQueryKeywords.ToDate], out DateTime toDate);
string keyword = Request.Query[MixRequestQueryKeywords.Keyword];
Expression<Func<MixLanguage, bool>> predicate = model =>
model.Specificulture == _lang
&& (!isStatus || model.Status == status)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@
// See the LICENSE file in the project root for more information.

using Microsoft.AspNetCore.Mvc;
using Mix.Cms.Lib.Constants;
using Mix.Cms.Lib.Controllers;
using Mix.Cms.Lib.Enums;
using Mix.Cms.Lib.Models.Cms;
using Mix.Cms.Lib.ViewModels.MixAttributeFields;
using Mix.Cms.Lib.ViewModels.MixDatabaseColumns;
using Mix.Domain.Core.ViewModels;
using System;
using System.Linq.Expressions;
Expand All @@ -15,24 +16,24 @@
namespace Mix.Cms.Api.RestFul.Controllers.v1
{
[Produces("application/json")]
[Route("api/v1/rest/attribute-field/portal")]
public class ApiAttributeFieldController :
BaseAuthorizedRestApiController<MixCmsContext, MixAttributeField, UpdateViewModel, ReadViewModel, DeleteViewModel>
[Route("api/v1/rest/mix-database-column/portal")]
public class ApiMixDatabaseColumnController :
BaseAuthorizedRestApiController<MixCmsContext, MixDatabaseColumn, UpdateViewModel, ReadViewModel, DeleteViewModel>
{
// GET: api/v1/rest/en-us/attribute-field/client
// GET: api/v1/rest/en-us/mix-database-column/client
[HttpGet]
public override async Task<ActionResult<PaginationModel<ReadViewModel>>> Get()
{
bool isStatus = Enum.TryParse(Request.Query["status"], out MixContentStatus status);
bool isFromDate = DateTime.TryParse(Request.Query["fromDate"], out DateTime fromDate);
bool isToDate = DateTime.TryParse(Request.Query["toDate"], out DateTime toDate);
string keyword = Request.Query["keyword"];
Expression<Func<MixAttributeField, bool>> predicate = model =>
bool isStatus = Enum.TryParse(Request.Query[MixRequestQueryKeywords.Status], out MixContentStatus status);
bool isFromDate = DateTime.TryParse(Request.Query[MixRequestQueryKeywords.FromDate], out DateTime fromDate);
bool isToDate = DateTime.TryParse(Request.Query[MixRequestQueryKeywords.ToDate], out DateTime toDate);
string keyword = Request.Query[MixRequestQueryKeywords.Keyword];
Expression<Func<MixDatabaseColumn, bool>> predicate = model =>
(!isStatus || model.Status == status)
&& (!isFromDate || model.CreatedDateTime >= fromDate)
&& (!isToDate || model.CreatedDateTime <= toDate)
&& (string.IsNullOrEmpty(keyword)
|| model.AttributeSetName.Contains(keyword)
|| model.MixDatabaseName.Contains(keyword)
|| model.Name.Contains(keyword)
|| model.DefaultValue.Contains(keyword)
);
Expand All @@ -47,12 +48,12 @@ public override async Task<ActionResult<PaginationModel<ReadViewModel>>> Get()
}
}

// GET: api/v1/rest/en-us/attribute-field/client
[HttpGet("init/{attributeSet}")]
public async Task<ActionResult<PaginationModel<UpdateViewModel>>> Init(string attributeSet)
// GET: api/v1/rest/en-us/mix-database-column/client
[HttpGet("init/{mixDatabase}")]
public async Task<ActionResult<PaginationModel<UpdateViewModel>>> Init(string mixDatabase)
{
int.TryParse(attributeSet, out int attributeSetId);
var getData = await UpdateViewModel.Repository.GetModelListByAsync(f => f.AttributeSetName == attributeSet || f.AttributeSetId == attributeSetId
int.TryParse(mixDatabase, out int mixDatabaseId);
var getData = await UpdateViewModel.Repository.GetModelListByAsync(f => f.MixDatabaseName == mixDatabase || f.MixDatabaseId == mixDatabaseId
, _context, _transaction);

if (getData.IsSucceed)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
using Mix.Cms.Lib.Controllers;
using Mix.Cms.Lib.Enums;
using Mix.Cms.Lib.Models.Cms;
using Mix.Cms.Lib.ViewModels.MixRelatedAttributeDatas;
using Mix.Cms.Lib.ViewModels.MixDatabaseDataAssociations;
using Mix.Domain.Core.ViewModels;
using System;
using System.Linq.Expressions;
Expand All @@ -15,27 +15,27 @@
namespace Mix.Cms.Api.RestFul.Controllers.v1
{
[Produces("application/json")]
[Route("api/v1/rest/{culture}/related-attribute-data/portal")]
public class ApiRelatedAttributeDataPortalController :
BaseAuthorizedRestApiController<MixCmsContext, MixRelatedAttributeData, FormViewModel, FormViewModel, DeleteViewModel>
[Route("api/v1/rest/{culture}/mix-database-data-association/portal")]
public class ApiMixDatabaseDataAssociationPortalController :
BaseAuthorizedRestApiController<MixCmsContext, MixDatabaseDataAssociation, FormViewModel, FormViewModel, DeleteViewModel>
{
// GET: api/v1/rest/{culture}/related-attribute-data
// GET: api/v1/rest/{culture}/mix-database-data-association
[HttpGet]
public override async Task<ActionResult<PaginationModel<FormViewModel>>> Get()
{
bool isStatus = Enum.TryParse(Request.Query["status"], out MixContentStatus status);
bool isAttributeId = int.TryParse(Request.Query["attributeSetId"], out int attributeSetId);
bool isAttributeId = int.TryParse(Request.Query["mixDatabaseId"], out int mixDatabaseId);
bool isFromDate = DateTime.TryParse(Request.Query["fromDate"], out DateTime fromDate);
bool isToDate = DateTime.TryParse(Request.Query["toDate"], out DateTime toDate);
bool isParentType = Enum.TryParse(Request.Query["parentType"], out MixDatabaseParentType parentType);
string parentId = Request.Query["parentId"];
string attributeSetName = Request.Query["attributeSetName"];
Expression<Func<MixRelatedAttributeData, bool>> predicate = model =>
string mixDatabaseName = Request.Query["mixDatabaseName"];
Expression<Func<MixDatabaseDataAssociation, bool>> predicate = model =>
model.Specificulture == _lang
&& (!isStatus || model.Status == status)
&& (!isFromDate || model.CreatedDateTime >= fromDate)
&& (!isToDate || model.CreatedDateTime <= toDate)
&& ((isAttributeId && model.AttributeSetId == attributeSetId) || model.AttributeSetName == attributeSetName)
&& ((isAttributeId && model.MixDatabaseId == mixDatabaseId) || model.MixDatabaseName == mixDatabaseName)
&& (string.IsNullOrEmpty(parentId)
|| (model.ParentId == parentId && model.ParentType == parentType)
);
Expand All @@ -55,8 +55,8 @@ public override async Task<ActionResult<PaginationModel<FormViewModel>>> Get()
//[Route("navigation/{name}")]
//public async Task<ActionResult<Navigation>> GetNavigation(string name)
//{
// var navs = await Lib.ViewModels.MixAttributeSetDatas.Helper.FilterByKeywordAsync<Lib.ViewModels.MixAttributeSetDatas.NavigationViewModel>(
// _lang, MixConstants.AttributeSetName.NAVIGATION, "equal", "name", name);
// var navs = await Lib.ViewModels.MixDatabaseDatas.Helper.FilterByKeywordAsync<Lib.ViewModels.MixDatabaseDatas.NavigationViewModel>(
// _lang, MixConstants.MixDatabaseName.NAVIGATION, "equal", "name", name);
// return Ok(navs.Data.FirstOrDefault()?.Nav);
//}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@
// See the LICENSE file in the project root for more information.

using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Mix.Cms.Lib.Controllers;
using Mix.Cms.Lib.Enums;
using Mix.Cms.Lib.Models.Cms;
using Mix.Cms.Lib.ViewModels.MixAttributeSetValues;
using Mix.Cms.Lib.ViewModels.MixDatabaseDataValues;
using Mix.Domain.Core.ViewModels;
using System;
using System.Linq.Expressions;
Expand All @@ -15,27 +16,27 @@
namespace Mix.Cms.Api.RestFul.Controllers.v1
{
[Produces("application/json")]
[Route("api/v1/rest/{culture}/attribute-set-value/portal")]
public class ApiAttributeSetValueController :
BaseAuthorizedApiController<MixCmsContext, MixAttributeSetValue, UpdateViewModel, ReadViewModel>
[Route("api/v1/rest/{culture}/mix-database-data-value/portal")]
public class ApiMixDatabaseDataValueController :
BaseAuthorizedRestApiController<MixCmsContext, MixDatabaseDataValue, UpdateViewModel, ReadViewModel, DeleteViewModel>
{
// GET: api/v1/rest/en-us/attribute-field/client
// GET: api/v1/rest/en-us/mix-database-column/client
[HttpGet]
public override async Task<ActionResult<PaginationModel<ReadViewModel>>> Get()
{
bool isStatus = Enum.TryParse(Request.Query["status"], out MixContentStatus status);
bool isFromDate = DateTime.TryParse(Request.Query["fromDate"], out DateTime fromDate);
bool isToDate = DateTime.TryParse(Request.Query["toDate"], out DateTime toDate);
string keyword = Request.Query["keyword"];
Expression<Func<MixAttributeSetValue, bool>> predicate = model =>
Expression<Func<MixDatabaseDataValue, bool>> predicate = model =>
(!isStatus || model.Status == status)
&& (!isFromDate || model.CreatedDateTime >= fromDate)
&& (!isToDate || model.CreatedDateTime <= toDate)
&& (string.IsNullOrEmpty(keyword)
|| model.AttributeSetName.Contains(keyword)
|| model.StringValue.Contains(keyword)
|| model.MixDatabaseName.Contains(keyword)
|| EF.Functions.Like(model.StringValue, $"%{keyword}%")
);
var getData = await base.GetListAsync(predicate);
var getData = await base.GetListAsync<ReadViewModel>(predicate);
if (getData.IsSucceed)
{
return Ok(getData.Data);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@
using Mix.Cms.Lib.Enums;
using Mix.Cms.Lib.Models.Cms;
using Mix.Cms.Lib.Services;
using Mix.Cms.Lib.ViewModels.MixAttributeSetDatas;
using Mix.Cms.Lib.ViewModels.MixDatabaseDatas;
using Mix.Domain.Core.ViewModels;
using System.Threading.Tasks;

namespace Mix.Cms.Api.RestFul.Controllers.v1
{
[Produces("application/json")]
[Route("api/v1/rest/{culture}/attribute-set-data/client")]
public class ApiAttributeSetDataController :
BaseRestApiController<MixCmsContext, MixAttributeSetData, FormViewModel>
[Route("api/v1/rest/{culture}/mix-database-data/client")]
public class ApiMixDatabaseDataController :
BaseRestApiController<MixCmsContext, MixDatabaseData, FormViewModel>
{
// GET: api/v1/rest/{culture}/attribute-set-data/client/search
// GET: api/v1/rest/{culture}/mix-database-data/client/search
[HttpGet]
public override async Task<ActionResult<PaginationModel<FormViewModel>>> Get()
{
Expand All @@ -34,18 +34,18 @@ public override async Task<ActionResult<PaginationModel<FormViewModel>>> Get()
}
}

// GET: api/v1/rest/{culture}/attribute-set-data
[HttpGet("init/{attributeSetName}")]
public async Task<ActionResult<UpdateViewModel>> Init(string attributeSetName)
// GET: api/v1/rest/{culture}/mix-database-data
[HttpGet("init/{mixDatabaseName}")]
public async Task<ActionResult<UpdateViewModel>> Init(string mixDatabaseName)
{
var getAttrSet = await Lib.ViewModels.MixAttributeSets.ReadViewModel.Repository.GetSingleModelAsync(m => m.Name == attributeSetName);
var getAttrSet = await Lib.ViewModels.MixDatabases.ReadViewModel.Repository.GetSingleModelAsync(m => m.Name == mixDatabaseName);
if (getAttrSet.IsSucceed)
{
FormViewModel result = new FormViewModel()
{
Specificulture = _lang,
AttributeSetId = getAttrSet.Data.Id,
AttributeSetName = getAttrSet.Data.Name,
MixDatabaseId = getAttrSet.Data.Id,
MixDatabaseName = getAttrSet.Data.Name,
Status = MixService.GetEnumConfig<MixContentStatus>(MixAppSettingKeywords.DefaultContentStatus),
};
result.ExpandView();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@
using Microsoft.AspNetCore.Mvc;
using Mix.Cms.Lib.Controllers;
using Mix.Cms.Lib.Models.Cms;
using Mix.Cms.Lib.ViewModels.MixAttributeSetDatas;
using Mix.Cms.Lib.ViewModels.MixDatabaseDatas;
using Mix.Domain.Core.ViewModels;
using System.Threading.Tasks;

namespace Mix.Cms.Api.RestFul.Controllers.v1
{
[Route("api/v1/rest/{culture}/attribute-set-data/mvc")]
public class AttributeSetDataMvcController :
BaseReadOnlyApiController<MixCmsContext, MixAttributeSetData, ReadMvcViewModel>
[Route("api/v1/rest/{culture}/mix-database-data/mvc")]
public class MixDatabaseDataMvcController :
BaseReadOnlyApiController<MixCmsContext, MixDatabaseData, ReadMvcViewModel>
{
// GET: api/v1/rest/{culture}/attribute-set-data
// GET: api/v1/rest/{culture}/mix-database-data
[HttpGet]
public override async Task<ActionResult<PaginationModel<ReadMvcViewModel>>> Get()
{
Expand Down
Loading

0 comments on commit 725980a

Please sign in to comment.