using Microsoft.AspNetCore.Mvc; namespace zero.Api.Endpoints.Users; public class UsersController : ZeroApiController { readonly IUserService Users; public UsersController(IUserService users) { Users = users; } [HttpGet("empty")] [ZeroAuthorize(UserPermissions.Create)] public virtual async Task> Empty(string flavor = null) { return new ZeroUser(); } [HttpGet("{id}")] [ZeroAuthorize(UserPermissions.Read)] public virtual async Task> Get(string id) { ZeroUser model = await Users.GetUserById(id); if (model == null) { return NotFound(); } //HttpContext.Items[ApiConstants.ChangeToken] = Store.GetChangeToken(model); return model; } [HttpGet("")] [ZeroAuthorize(UserPermissions.Read)] public virtual async Task> Get([FromQuery] ListQuery query) { query.OrderQuery ??= q => q.OrderByDescending(x => x.CreatedDate); query.SearchSelector ??= x => x.Name; Paged result = await Users.GetAll(query.Page, query.PageSize); return Mapper.Map(result); } //[HttpPost("")] //[ZeroAuthorize(UserPermissions.Create)] //public virtual Task> Create(ZeroUser saveModel) => CreateModel(saveModel); //[HttpPut("{id}")] //[ZeroAuthorize(UserPermissions.Update)] //public virtual Task> Update(string id, ZeroUser updateModel, [FromQuery] string changeToken = null) => UpdateModel(id, updateModel, changeToken); //[HttpDelete("{id}")] //[ZeroAuthorize(UserPermissions.Delete)] //public virtual Task> Delete(string id) => DeleteModel(id); }