fix (ControllerMethodsDescription) , fix(SlugExtension)
parent
be6f462708
commit
2e8501190e
|
@ -11,7 +11,7 @@ public class BlogCategoryController : ICarterModule
|
|||
.MapGroup($"api/blog/category");
|
||||
|
||||
group.MapGet("", GetAllAsync)
|
||||
.WithDisplayName("GetAllCategories")
|
||||
.WithDisplayName("Get BlogCategories")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("{id}", GetAsync)
|
||||
|
@ -20,14 +20,17 @@ public class BlogCategoryController : ICarterModule
|
|||
|
||||
group.MapPost("", Post)
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission,ApplicationPermission.ManageBlogs))
|
||||
.WithDisplayName("Create BlogCategory")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPut("", Put)
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageBlogs))
|
||||
.WithDisplayName("Update BlogCategory")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapDelete("{id}", Delete)
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageBlogs))
|
||||
.WithDisplayName("Delete BlogCategory")
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ public class BlogController : ICarterModule
|
|||
.MapGroup($"api/blog");
|
||||
|
||||
group.MapGet("", GetAllAsync)
|
||||
.WithDisplayName("GetAllBlogs")
|
||||
.WithDisplayName("Get Blogs")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("{id}", GetAsync)
|
||||
|
@ -24,18 +24,21 @@ public class BlogController : ICarterModule
|
|||
.RequireAuthorization(builder =>
|
||||
builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser()
|
||||
.RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageBlogs))
|
||||
.WithDisplayName("Create Blog")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPut("", Put)
|
||||
.RequireAuthorization(builder =>
|
||||
builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser()
|
||||
.RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageBlogs))
|
||||
.WithDisplayName("Update Blog")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapDelete("{id}", Delete)
|
||||
.RequireAuthorization(builder =>
|
||||
builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser()
|
||||
.RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageBlogs))
|
||||
.WithDisplayName("Delete Blog")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("/newlink", GetBlogNewLinkAsync)
|
||||
|
|
|
@ -11,23 +11,26 @@ public class BrandController : ICarterModule
|
|||
.MapGroup($"api/brand");
|
||||
|
||||
group.MapGet("", GetAllAsync)
|
||||
.WithDisplayName("GetAllBrands")
|
||||
.WithDisplayName("Get Brands")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("{id}", GetAsync)
|
||||
.WithDisplayName("GetBlogBrand")
|
||||
.WithDisplayName("Get Brand")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("", Post)
|
||||
.HasApiVersion(1.0)
|
||||
.WithDisplayName("Create Brand")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageBrands));
|
||||
|
||||
group.MapPut("", Put)
|
||||
.HasApiVersion(1.0)
|
||||
.WithDisplayName("Update Brand")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageBrands));
|
||||
|
||||
group.MapDelete("{id}", Delete)
|
||||
.HasApiVersion(1.0)
|
||||
.WithDisplayName("Delete Brand")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageBrands));
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ public class DiscountController : ICarterModule
|
|||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser());
|
||||
|
||||
group.MapGet("", GetAllAsync)
|
||||
.WithDisplayName("GetAllDiscounts")
|
||||
.WithDisplayName("Get Discounts")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageDiscounts, ApplicationPermission.ViewDiscounts))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
|
@ -20,14 +20,17 @@ public class DiscountController : ICarterModule
|
|||
|
||||
group.MapPost("", Post)
|
||||
.HasApiVersion(1.0)
|
||||
.WithDisplayName("Create Discount")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageDiscounts));
|
||||
|
||||
group.MapPut("", Put)
|
||||
.HasApiVersion(1.0)
|
||||
.WithDisplayName("Update Discount")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageDiscounts));
|
||||
|
||||
group.MapDelete("{id}", Delete)
|
||||
.HasApiVersion(1.0)
|
||||
.WithDisplayName("Delete Discount")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageDiscounts));
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ public class DistrictController : ICarterModule
|
|||
.WithDisplayName("Get Cities")
|
||||
.HasApiVersion(1.0);
|
||||
group.MapGet("province", GetProvincesAsync)
|
||||
.WithDisplayName("Get Cities")
|
||||
.WithDisplayName("Get Provinces")
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ public class FaqController : ICarterModule
|
|||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPut("", UpdateFaqAsync)
|
||||
.WithDisplayName("Update FaqAsync")
|
||||
.WithDisplayName("Update Faq")
|
||||
.WithDescription("Update Faq , you can create new faq or create update your faq ")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer")
|
||||
.RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageFaq))
|
||||
|
|
|
@ -11,12 +11,12 @@ public class FileController : ICarterModule
|
|||
.MapGroup("api/file");
|
||||
|
||||
group.MapGet("", GetFilesAsync)
|
||||
.WithDisplayName("GetFilesAsync")
|
||||
.WithDisplayName("Get Files")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageFiles, ApplicationPermission.ViewFiles))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("", UploadFileAsync)
|
||||
.WithDisplayName("UploadFileAsync")
|
||||
.WithDisplayName("Upload File")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("/ckeditor", UploadCkEditorFileAsync)
|
||||
|
|
|
@ -11,9 +11,6 @@ public class HealthController : ICarterModule
|
|||
group.MapGet("", GetHealth)
|
||||
.WithDisplayName("Get Health")
|
||||
.HasApiVersion(1.0);
|
||||
group.MapGet("/error/test", () => { throw new Exception("Error test message");})
|
||||
.WithDisplayName("GetHealth")
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
||||
public async Task<IResult> GetHealth([FromServices]ISiteMapService siteMapService)
|
||||
|
|
|
@ -11,12 +11,12 @@ public class MarketerController : ICarterModule
|
|||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser());
|
||||
|
||||
group.MapGet("", GetMarketersAsync)
|
||||
.WithDisplayName("GetAllMarketers")
|
||||
.WithDisplayName("Get Marketers")
|
||||
.RequireAuthorization(builder=>builder.RequireClaim(CustomClaimType.Permission,ApplicationPermission.ManageUsers , ApplicationPermission.ViewUsers))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("profile", GetMarketerProfileAsync)
|
||||
.WithDisplayName("GetAllMarketers")
|
||||
.WithDisplayName("Get Marketer Profile")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("signup", SignUpMarketerAsync)
|
||||
|
@ -24,7 +24,7 @@ public class MarketerController : ICarterModule
|
|||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("signup/contract", GetSignUpMarketerContractAsync)
|
||||
.WithDisplayName("SignUpMarketerContract")
|
||||
.WithDisplayName("Get Marketer Contract")
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ public class NewsletterMemberController : ICarterModule
|
|||
var group = app.NewVersionedApi("Newsletter Members").MapGroup("api/newsletter/member");
|
||||
|
||||
group.MapGet("", GetAllMembersAsync)
|
||||
.WithDisplayName("Get All Members")
|
||||
.WithDisplayName("Get Members")
|
||||
.HasApiVersion(1.0)
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ViewNewsletterMembers));
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ public class OrderBagController : ICarterModule
|
|||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("add", AddProductToBagAsync)
|
||||
.WithDisplayName("AddProductToBag")
|
||||
.WithDisplayName("Add Product To OrderBag")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapDelete("remove", RemoveFromOrderBagAsync)
|
||||
|
@ -33,7 +33,7 @@ public class OrderBagController : ICarterModule
|
|||
|
||||
|
||||
group.MapPost("discount/{orderId}", DiscountActionOrderBagAsync)
|
||||
.WithDisplayName("DiscountActionOrderBag")
|
||||
.WithDisplayName("Add Discount To OrderBag")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
|
||||
|
|
|
@ -10,12 +10,12 @@ public class OrderController : ICarterModule
|
|||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser());
|
||||
|
||||
group.MapGet("", GetAllAsync)
|
||||
.WithDisplayName("GetAllOrders")
|
||||
.WithDisplayName("Get Orders")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ViewAllOrders , ApplicationPermission.ManageOrders))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("{id}", GetAsync)
|
||||
.WithDisplayName("GetOneOrder")
|
||||
.WithDisplayName("Get Order")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ViewAllOrders, ApplicationPermission.ManageOrders))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
|
@ -25,12 +25,12 @@ public class OrderController : ICarterModule
|
|||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("{id}/cancel", CancelOrderStepAsync)
|
||||
.WithDisplayName("ConfirmOrderStep")
|
||||
.WithDisplayName("Cancel Order")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageOrders))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapDelete("{id}", DeleteAsync)
|
||||
.WithDisplayName("DeleteOneOrder")
|
||||
.WithDisplayName("Delete Order")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageOrders))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
|
|
|
@ -12,6 +12,13 @@ public class PageController : ICarterModule
|
|||
.HasApiVersion(1.0)
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ViewPages, ApplicationPermission.ManagePages));
|
||||
|
||||
group.MapGet("redirect/check", CheckRedirectedOldLinkAsync)
|
||||
.WithDisplayName("Check Redirect OldLink")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("deleted/check", CheckDeletedLinkAsync)
|
||||
.WithDisplayName("Check Deleted Link")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("{id}", GetPageByIdAsync)
|
||||
.WithDisplayName("Get Page")
|
||||
|
@ -31,7 +38,6 @@ public class PageController : ICarterModule
|
|||
.HasApiVersion(1.0)
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManagePages));
|
||||
|
||||
|
||||
group.MapDelete("{id}", DeletePageByIdAsync)
|
||||
.WithDisplayName("Delete Page")
|
||||
.HasApiVersion(1.0)
|
||||
|
@ -39,6 +45,12 @@ public class PageController : ICarterModule
|
|||
|
||||
}
|
||||
|
||||
private async Task<IResult> CheckDeletedLinkAsync([FromQuery] string link, [FromServices] IPageService pageService, CancellationToken cancellationToken)
|
||||
=> TypedResults.Ok(await pageService.CheckDeletedAsync(link, cancellationToken));
|
||||
|
||||
private async Task<IResult> CheckRedirectedOldLinkAsync([FromQuery] string oldUrl, [FromServices] IPageService pageService, CancellationToken cancellationToken)
|
||||
=> TypedResults.Content(await pageService.CheckRedirectAsync(oldUrl, cancellationToken));
|
||||
|
||||
private async Task<IResult> DeletePageByIdAsync([FromRoute]Guid id,[FromServices]IPageService pageService,CancellationToken cancellationToken)
|
||||
=> TypedResults.Ok(await pageService.DeletePageAsync(id, cancellationToken));
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ public class PaymentController : ICarterModule
|
|||
// .HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("verify", VerifyPaymentAsync)
|
||||
.WithDisplayName("Verify Payment")
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
||||
|
|
|
@ -9,22 +9,25 @@ public class ProductCategoryController : ICarterModule
|
|||
.MapGroup($"api/product/category");
|
||||
|
||||
group.MapGet("", GetAllAsync)
|
||||
.WithDisplayName("GetAllCategories")
|
||||
.WithDisplayName("Get ProductCategories")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("{id}", GetAsync)
|
||||
.WithDisplayName("GetCategory")
|
||||
.WithDisplayName("Get ProductCategory")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("", Post)
|
||||
.WithDisplayName("Create ProductCategory")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission,ApplicationPermission.ManageProducts))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPut("", Put)
|
||||
.WithDisplayName("Update ProductCategory")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageProducts))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapDelete("{id}", Delete)
|
||||
.WithDisplayName("Delete ProductCategory")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageProducts))
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
|
|
@ -11,30 +11,35 @@ public class ProductController : ICarterModule
|
|||
.MapGroup($"api/product");
|
||||
|
||||
group.MapGet("", GetAllAsync)
|
||||
.WithDisplayName("GetAllProducts")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("{id}", GetAsync)
|
||||
.WithDisplayName("Get Products")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("{id}", GetAsync)
|
||||
.WithDisplayName("Get Product")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("", Post)
|
||||
.WithDisplayName("Create Product")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageProducts))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPut("", Put)
|
||||
.WithDisplayName("Update Product")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageProducts))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPut("{productId}/displayed", ChangeDisplayedAsync)
|
||||
.WithDisplayName("Change Product Display")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageProducts))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPut("{productId}/cost", ChangeCostAsync)
|
||||
.WithDisplayName("Change Product Cost")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageProducts))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapDelete("{id}", Delete)
|
||||
.WithDisplayName("Delete Product")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageProducts))
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
|
|
@ -8,27 +8,27 @@ public class ProductReviewController : ICarterModule
|
|||
.MapGroup("product/review");
|
||||
|
||||
group.MapGet("{id}", GetAsync)
|
||||
.WithDisplayName("GetOneAsync")
|
||||
.WithDisplayName("Get ProductReview")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ViewAllReviews,ApplicationPermission.ManageReview))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("", GetAllAsync)
|
||||
.WithDisplayName("GetAllAsync")
|
||||
.WithDisplayName("Get ProductReview")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ViewAllReviews, ApplicationPermission.ManageReview))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("", PostAsync)
|
||||
.WithDisplayName("PostReview")
|
||||
.WithDisplayName("Create ProductReview")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageReview, ApplicationPermission.AddReview))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPut("confirm/{id}", ConfirmAsync)
|
||||
.WithDisplayName("ConfirmAsync")
|
||||
.WithDisplayName("Confirm ProductReview")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ConfirmReview, ApplicationPermission.ManageReview))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapDelete("{id}", DeleteAsync)
|
||||
.WithDisplayName("DeleteAsync")
|
||||
.WithDisplayName("Delete ProductReview")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageReview))
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
|
|
@ -11,12 +11,12 @@ public class RoleController : ICarterModule
|
|||
.MapGroup($"api/user/role");
|
||||
|
||||
group.MapGet("", GetAllAsync)
|
||||
.WithDisplayName("GetAllRoles")
|
||||
.WithDisplayName("Get Roles")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ViewRoles, ApplicationPermission.ManageRoles))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("permission", GetAllPermissions)
|
||||
.WithDisplayName("GetAllPermissions")
|
||||
.WithDisplayName("Get Permissions")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ViewRoles, ApplicationPermission.ManageRoles))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
|
@ -26,14 +26,17 @@ public class RoleController : ICarterModule
|
|||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("", Post)
|
||||
.WithDisplayName("Create Role")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageRoles))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPut("", Put)
|
||||
.WithDisplayName("Update Role")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageRoles))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapDelete("{id}", Delete)
|
||||
.WithDisplayName("Delete Role")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageRoles))
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ public class ScraperController : ICarterModule
|
|||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("digi/{productId}", AddProductToShopAsync)
|
||||
.WithDisplayName("AddProductToShop")
|
||||
.WithDisplayName("Add DigiProduct To Shop")
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
||||
|
|
|
@ -10,19 +10,19 @@ public class SearchController : ICarterModule
|
|||
|
||||
|
||||
group.MapGet("/thumb", SearchThumbAsync)
|
||||
.WithDisplayName("Thumb Search Async")
|
||||
.WithDisplayName("Thumb Search")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("zarehbin", ZarehbinAsync)
|
||||
.WithDisplayName("Search Async")
|
||||
.WithDisplayName("Get Zarehbin Product")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("torob", TorobAsync)
|
||||
.WithDisplayName("Get Torob Product Async")
|
||||
.WithDisplayName("Get Torob Product")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("emalls", EmallsAsync)
|
||||
.WithDisplayName("Get Emalls Product Async")
|
||||
.WithDisplayName("Get Emalls Product")
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ public class SettingController : ICarterModule
|
|||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("{settingName}", PostSettingAsync)
|
||||
.WithDisplayName("PostSettingAsync")
|
||||
.WithDisplayName("Create Setting")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageSettings))
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ public class ShippingController : ICarterModule
|
|||
.MapGroup($"api/warehouse/shipping");
|
||||
|
||||
group.MapGet("", GetAllAsync)
|
||||
.WithDisplayName("GetAllShipping")
|
||||
.WithDisplayName("Get Shipping")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("{id}", GetAsync)
|
||||
|
@ -18,14 +18,17 @@ public class ShippingController : ICarterModule
|
|||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("", Post)
|
||||
.WithDisplayName("Create Shipping")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageShipping))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPut("", Put)
|
||||
.WithDisplayName("Update Shipping")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageShipping))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapDelete("{id}", Delete)
|
||||
.WithDisplayName("Delete Shipping")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageShipping))
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ public class UserAddressController : ICarterModule
|
|||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("", PostAddressesAsync)
|
||||
.WithDisplayName("Post Addresses")
|
||||
.WithDisplayName("Create Addresses")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser())
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ public class UserController : ICarterModule
|
|||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("", GetAllAsync)
|
||||
.WithDisplayName("GetAllUsers")
|
||||
.WithDisplayName("Get Users")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ViewUsers, ApplicationPermission.ManageUsers))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
|
@ -27,7 +27,7 @@ public class UserController : ICarterModule
|
|||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("/order", GetUserOrdersAsync)
|
||||
.WithDisplayName("GetUserOrders")
|
||||
.WithDisplayName("Get UserOrders By JWT")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ViewMineOrders))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
|
@ -42,14 +42,17 @@ public class UserController : ICarterModule
|
|||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("", Post)
|
||||
.WithDisplayName("Create User")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageUsers))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPut("", Put)
|
||||
.WithDisplayName("Update User")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageUsers))
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapDelete("{id}", Delete)
|
||||
.WithDisplayName("Delete User")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ManageUsers))
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System.Web;
|
||||
using System.Net;
|
||||
using System.Web;
|
||||
|
||||
namespace Netina.Common.Extensions
|
||||
{
|
||||
|
@ -9,7 +10,12 @@ namespace Netina.Common.Extensions
|
|||
|
||||
public static string GetSlug(string title)
|
||||
{
|
||||
return HttpUtility.UrlEncode(title.Replace(' ', '-'));
|
||||
var splits = title.Split("/");
|
||||
string outPut = string.Empty;
|
||||
foreach (var split in splits)
|
||||
outPut = outPut.IsNullOrEmpty() ? split : string.Concat(outPut, "/", WebUtility.UrlEncode( split.Replace(' ', '-')));
|
||||
|
||||
return outPut;
|
||||
}
|
||||
public static string ToPriceWhitPriceType(this long price, string priceType)
|
||||
{
|
||||
|
|
|
@ -6,4 +6,7 @@ public interface IPageService : IScopedDependency
|
|||
Task<List<BasePageSDto>> GetPagesAsync(CancellationToken cancellationToken = default);
|
||||
Task<bool> CreatePageAsync(PageActionRequestDto entity, CancellationToken cancellationToken = default);
|
||||
Task<bool> DeletePageAsync(Guid id, CancellationToken cancellationToken = default);
|
||||
|
||||
Task<string> CheckRedirectAsync(string oldUrl, CancellationToken cancellationToken);
|
||||
Task<bool> CheckDeletedAsync(string url, CancellationToken cancellationToken);
|
||||
}
|
|
@ -1,10 +1,12 @@
|
|||
using Netina.Domain.MartenEntities.Pages;
|
||||
using Netina.Core.BaseServices.Abstracts;
|
||||
using Netina.Domain.MartenEntities.Pages;
|
||||
|
||||
namespace Netina.Core.BaseServices;
|
||||
|
||||
public class PageService(
|
||||
IMartenRepositoryWrapper martenRepositoryWrapperWrapper,
|
||||
ICurrentUserService currentUserService)
|
||||
ICurrentUserService currentUserService,
|
||||
ISettingService settingService)
|
||||
: IPageService
|
||||
{
|
||||
public async Task<BasePageSDto> GetPageAsync(Guid? id = null, string? pageName = null, string? pageSlug = null, string? type = null, CancellationToken cancellationToken = default)
|
||||
|
@ -93,4 +95,30 @@ public class PageService(
|
|||
await martenRepositoryWrapperWrapper.SetRepository<BasePage>().RemoveEntityAsync(page, cancellationToken);
|
||||
return true;
|
||||
}
|
||||
|
||||
public async Task<string> CheckRedirectAsync(string oldUrl, CancellationToken cancellationToken)
|
||||
{
|
||||
var setting = await settingService.GetSettingAsync(nameof(PageSetting), cancellationToken);
|
||||
var oldEncode = StringExtensions.GetSlug(oldUrl);
|
||||
if (setting is PageSetting pageSetting)
|
||||
{
|
||||
var newLink = pageSetting.RedirectItems.FirstOrDefault(f => f.OldUrl.ToLower().Trim() == oldEncode.ToLower().Trim());
|
||||
if (newLink != null)
|
||||
return newLink.NewUrl;
|
||||
else
|
||||
throw new BaseApiException(ApiResultStatusCode.NotFound, "Url not found");
|
||||
}
|
||||
throw new BaseApiException(ApiResultStatusCode.NotFound, "PageSetting not found");
|
||||
}
|
||||
|
||||
public async Task<bool> CheckDeletedAsync(string url, CancellationToken cancellationToken)
|
||||
{
|
||||
var setting = await settingService.GetSettingAsync(nameof(PageSetting), cancellationToken);
|
||||
if (setting is PageSetting pageSetting)
|
||||
{
|
||||
var newLink = pageSetting.DeletedPages.FirstOrDefault(f => f.Url.ToLower().Trim() == url.ToLower().Trim());
|
||||
return newLink != null;
|
||||
}
|
||||
throw new BaseApiException(ApiResultStatusCode.NotFound, "PageSetting not found");
|
||||
}
|
||||
}
|
|
@ -3,8 +3,7 @@ using Quartz;
|
|||
|
||||
namespace Netina.Core.QuartzServices;
|
||||
|
||||
public class SiteMapScheduledJob(ILogger<SiteMapScheduledJob> logger, ISiteMapService siteMapService)
|
||||
: IJob
|
||||
public class SiteMapScheduledJob(ILogger<SiteMapScheduledJob> logger, ISiteMapService siteMapService) : IJob
|
||||
{
|
||||
public async Task Execute(IJobExecutionContext context)
|
||||
{
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
namespace Netina.Domain.MartenEntities.Settings;
|
||||
|
||||
public class PageSetting
|
||||
{
|
||||
public List<RedirectItem> RedirectItems { get; set; } = new();
|
||||
public List<DeletedPageItem> DeletedPages { get; set; } = new();
|
||||
}
|
||||
public class DeletedPageItem
|
||||
{
|
||||
public string Url { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class RedirectItem
|
||||
{
|
||||
public string OldUrl { get; set; } = string.Empty;
|
||||
public string NewUrl { get; set; } = string.Empty;
|
||||
}
|
Loading…
Reference in New Issue