multiple results response
This commit is contained in:
parent
0490c6ba3f
commit
e73a00f4a2
|
@ -77,7 +77,7 @@ export class GetCommand {
|
|||
let ciphers = await this.cipherService.getAllDecrypted();
|
||||
ciphers = CliUtils.searchCiphers(ciphers, id);
|
||||
if (ciphers.length > 1) {
|
||||
return Response.error('More than one result was found.');
|
||||
return Response.multipleResults(ciphers.map((c) => c.id));
|
||||
}
|
||||
if (ciphers.length > 0) {
|
||||
decCipher = ciphers[0];
|
||||
|
@ -126,7 +126,7 @@ export class GetCommand {
|
|||
let folders = await this.folderService.getAllDecrypted();
|
||||
folders = CliUtils.searchFolders(folders, id);
|
||||
if (folders.length > 1) {
|
||||
return Response.error('More than one result was found.');
|
||||
return Response.multipleResults(folders.map((f) => f.id));
|
||||
}
|
||||
if (folders.length > 0) {
|
||||
decFolder = folders[0];
|
||||
|
@ -151,7 +151,7 @@ export class GetCommand {
|
|||
let collections = await this.collectionService.getAllDecrypted();
|
||||
collections = CliUtils.searchCollections(collections, id);
|
||||
if (collections.length > 1) {
|
||||
return Response.error('More than one result was found.');
|
||||
return Response.multipleResults(collections.map((c) => c.id));
|
||||
}
|
||||
if (collections.length > 0) {
|
||||
decCollection = collections[0];
|
||||
|
|
|
@ -20,6 +20,15 @@ export class Response {
|
|||
return Response.error(message);
|
||||
}
|
||||
|
||||
static multipleResults(ids: string[]): Response {
|
||||
let msg = 'More than one result was found. Try getting a specific object by `id` instead. ' +
|
||||
'The following objects were found:';
|
||||
ids.forEach((id) => {
|
||||
msg += '\n' + id;
|
||||
});
|
||||
return Response.error(msg);
|
||||
}
|
||||
|
||||
static success(data?: BaseResponse): Response {
|
||||
const res = new Response();
|
||||
res.success = true;
|
||||
|
|
Loading…
Reference in New Issue