Browse Source

multiple results response

pull/4/head
Kyle Spearrin 8 years ago
parent
commit
e73a00f4a2
  1. 6
      src/commands/get.command.ts
  2. 9
      src/models/response.ts

6
src/commands/get.command.ts

@ -77,7 +77,7 @@ export class GetCommand { @@ -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 { @@ -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 { @@ -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];

9
src/models/response.ts

@ -20,6 +20,15 @@ export class Response { @@ -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…
Cancel
Save