8000 Merge latest Develop branch to release Mixcore v1.0.1 by Smilefounder · Pull Request #376 · mixcore/mix.core · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Merge latest Develop branch to release Mixcore v1.0.1 #376

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 46 commits into from
Feb 24, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
285d510
clean up rest apis
nhathoang989 Feb 15, 2021
80d3ac6
Merge remote-tracking branch 'origin/develop' into develop
nhathoang989 Feb 15, 2021
55c0510
fix error page
nhathoang989 Feb 14, 2021
36b9627
Fix error page
nhathoang989 Feb 14, 2021
4a70d73
Rename entities
nhathoang989 Feb 14, 2021
e62b4b4
restructure databases
nhathoang989 Feb 14, 2021
8887314
update database
nhathoang989 Feb 16, 2021
b5d96b1
fix migration, import data
Feb 17, 2021
4e01a7b
update postgres migration
Feb 17, 2021
3fc96fc
fix debug
Feb 17, 2021
0424aa3
Fix update database
Feb 17, 2021
d180d84
update ux
Feb 17, 2021
de1417b
Merge pull request #342 from mixcore/features/rename-database
nhathoang989 Feb 17, 2021
bbd3ee4
fix upload field
Feb 18, 2021
eaa25ad
fix check mixcore version
Feb 18, 2021
a583e8a
fix filter data by field value #353
Feb 18, 2021
70b6c65
clean up rename database
Feb 18, 2021
c4defc6
fix rename db 1.0.1
Feb 18, 2021
ea60181
fix preview post
Feb 18, 2021
cb6812d
fix default setting
Feb 18, 2021
03a31f7
fix rename database migrations
Feb 18, 2021
6652176
add restore db
Feb 19, 2021
cbeedcd
fix bug migration db 1.0.1
Feb 20, 2021
7d98a0e
fix edit configuration
Feb 20, 2021
2e1fc2c
update keyword routing
Feb 20, 2021
711d51b
fix bugs
Feb 20, 2021
6ccb538
fix users
Feb 21, 2021
9b5d296
cleanup portal app
Feb 21, 2021
4c4a681
fix crop image
Feb 21, 2021
8dfefca
cleanup portal app
Feb 21, 2021
a623c05
Optimize cache
Feb 21, 2021
7d4ab22
optimize portal post list
Feb 21, 2021
6723bbe
fix db versioning
Feb 21, 2021
fa3cd78
Enable store
Feb 21, 2021
ee14b66
Fix default module template
Feb 22, 2021
4de0b7b
fix post tag
Feb 22, 2021
250fbf7
fix bugs
Feb 23, 2021
97dcc9b
hide store for release v1.0.1
Smilefounder Feb 23, 2021
76b3b28
fix bug
Feb 23, 2021
a8fb6c3
fix init sql server
Feb 23, 2021
32bb8fe
Merge remote-tracking branch 'origin/develop' into develop
Feb 23, 2021
019cb5f
remove draft data in databases
Feb 23, 2021
082f56f
fix mssql bug compare ntext
Feb 24, 2021
98b5ea9
fix default theme
Feb 24, 2021
4a8dc8c
fix reference url
Feb 24, 2021
aca036d
update pro name
Smilefounder Feb 24, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
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