Compare commits
4 Commits
11e8c46e44
...
9cc15f9beb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9cc15f9beb | ||
|
|
d323244157 | ||
|
|
56d35c65bb | ||
|
|
15eabfc834 |
@@ -24,6 +24,6 @@ namespace EnvelopeGenerator.Application.Contracts
|
|||||||
|
|
||||||
Task<DataResult<bool>> IsExisting(string envelopeReceiverId);
|
Task<DataResult<bool>> IsExisting(string envelopeReceiverId);
|
||||||
|
|
||||||
Task<DataResult<IEnumerable<EnvelopeReceiverDto>>> ReadByUsernameAsync(string username);
|
Task<DataResult<IEnumerable<EnvelopeReceiverDto>>> ReadByUsernameAsync(string username, int? min_status = null, int? max_status = null, params int[] ignore_statuses);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -116,9 +116,9 @@ namespace EnvelopeGenerator.Application.Services
|
|||||||
: Result.Success(code);
|
: Result.Success(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<DataResult<IEnumerable<EnvelopeReceiverDto>>> ReadByUsernameAsync(string username)
|
public async Task<DataResult<IEnumerable<EnvelopeReceiverDto>>> ReadByUsernameAsync(string username, int? min_status = null, int? max_status = null, params int[] ignore_statuses)
|
||||||
{
|
{
|
||||||
var er_list = await _repository.ReadByUsernameAsync(username: username);
|
var er_list = await _repository.ReadByUsernameAsync(username: username, min_status: min_status, max_status: max_status, ignore_statuses: ignore_statuses);
|
||||||
var dto_list = _mapper.MapOrThrow<IEnumerable<EnvelopeReceiverDto>>(er_list);
|
var dto_list = _mapper.MapOrThrow<IEnumerable<EnvelopeReceiverDto>>(er_list);
|
||||||
return Result.Success(dto_list);
|
return Result.Success(dto_list);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
export enum Status {
|
||||||
|
Invalid = 0,
|
||||||
|
EnvelopeCreated = 1001,
|
||||||
|
EnvelopeSaved = 1002,
|
||||||
|
EnvelopeQueued = 1003,
|
||||||
|
EnvelopeSent = 1004,
|
||||||
|
EnvelopePartlySigned = 1005,
|
||||||
|
EnvelopeCompletelySigned = 1006,
|
||||||
|
EnvelopeReportCreated = 1007,
|
||||||
|
EnvelopeArchived = 1008,
|
||||||
|
EnvelopeDeleted = 1009,
|
||||||
|
AccessCodeRequested = 2001,
|
||||||
|
AccessCodeCorrect = 2002,
|
||||||
|
AccessCodeIncorrect = 2003,
|
||||||
|
DocumentOpened = 2004,
|
||||||
|
DocumentSigned = 2005,
|
||||||
|
SignatureConfirmed = 2006,
|
||||||
|
MessageInvitationSent = 3001,
|
||||||
|
MessageAccessCodeSent = 3002,
|
||||||
|
MessageConfirmationSent = 3003,
|
||||||
|
MessageDeletionSent = 3004,
|
||||||
|
MessageCompletionSent = 3005
|
||||||
|
}
|
||||||
@@ -20,7 +20,7 @@ namespace EnvelopeGenerator.GeneratorAPI.Controllers
|
|||||||
|
|
||||||
[Authorize]
|
[Authorize]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<IActionResult> GetEnvelopeReceiver()
|
public async Task<IActionResult> GetEnvelopeReceiver([FromQuery] int? min_status = null, [FromQuery] int? max_status = null, [FromQuery] int[]? ignore_status = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -33,7 +33,9 @@ namespace EnvelopeGenerator.GeneratorAPI.Controllers
|
|||||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||||
}
|
}
|
||||||
|
|
||||||
return await _erService.ReadByUsernameAsync(username).ThenAsync(
|
ignore_status ??= Array.Empty<int>();
|
||||||
|
|
||||||
|
return await _erService.ReadByUsernameAsync(username: username, min_status: min_status, max_status: max_status, ignore_statuses: ignore_status).ThenAsync(
|
||||||
Success: Ok,
|
Success: Ok,
|
||||||
Fail: IActionResult (msg, ntc) =>
|
Fail: IActionResult (msg, ntc) =>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -19,6 +19,6 @@ namespace EnvelopeGenerator.Infrastructure.Contracts
|
|||||||
|
|
||||||
Task<string?> ReadAccessCodeByIdAsync(int envelopeId, int receiverId);
|
Task<string?> ReadAccessCodeByIdAsync(int envelopeId, int receiverId);
|
||||||
|
|
||||||
Task<IEnumerable<EnvelopeReceiver>> ReadByUsernameAsync(string username);
|
Task<IEnumerable<EnvelopeReceiver>> ReadByUsernameAsync(string username, int? min_status = null, int? max_status = null, params int[] ignore_statuses);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -49,7 +49,7 @@ namespace EnvelopeGenerator.Infrastructure.Repositories
|
|||||||
|
|
||||||
public async Task<int> CountAsync(string uuid, string signature) => await ReadWhere(uuid: uuid, signature: signature).CountAsync();
|
public async Task<int> CountAsync(string uuid, string signature) => await ReadWhere(uuid: uuid, signature: signature).CountAsync();
|
||||||
|
|
||||||
public IQueryable<EnvelopeReceiver> ReadById(int envelopeId, int receiverId) => _dbSet
|
public IQueryable<EnvelopeReceiver> ReadById(int envelopeId, int receiverId) => _dbSet.AsNoTracking()
|
||||||
.Where(er => er.EnvelopeId == envelopeId && er.ReceiverId == receiverId);
|
.Where(er => er.EnvelopeId == envelopeId && er.ReceiverId == receiverId);
|
||||||
|
|
||||||
public async Task<EnvelopeReceiver?> ReadByIdAsync(int envelopeId, int receiverId)
|
public async Task<EnvelopeReceiver?> ReadByIdAsync(int envelopeId, int receiverId)
|
||||||
@@ -61,11 +61,20 @@ namespace EnvelopeGenerator.Infrastructure.Repositories
|
|||||||
.Select(er => er.AccessCode)
|
.Select(er => er.AccessCode)
|
||||||
.FirstOrDefaultAsync();
|
.FirstOrDefaultAsync();
|
||||||
|
|
||||||
public async Task<IEnumerable<EnvelopeReceiver>> ReadByUsernameAsync(string username) => await _dbSet
|
public async Task<IEnumerable<EnvelopeReceiver>> ReadByUsernameAsync(string username, int? min_status = null, int? max_status = null, params int[] ignore_statuses)
|
||||||
.AsNoTracking()
|
{
|
||||||
.Where(er => er.Envelope!.User!.Username == username)
|
var query = _dbSet.AsNoTracking().Where(er => er.Envelope!.User!.Username == username);
|
||||||
.Include(er => er.Envelope)
|
|
||||||
.Include(er => er.Receiver)
|
if (min_status is not null)
|
||||||
.ToListAsync();
|
query = query.Where(er => er.Envelope!.Status >= min_status);
|
||||||
|
|
||||||
|
if (max_status is not null)
|
||||||
|
query = query.Where(er => er.Envelope!.Status <= max_status);
|
||||||
|
|
||||||
|
foreach (var ignore_status in ignore_statuses)
|
||||||
|
query = query.Where(er => er.Envelope!.Status != ignore_status);
|
||||||
|
|
||||||
|
return await query.Include(er => er.Envelope).Include(er => er.Receiver).ToListAsync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user