1
0
mirror of https://github.com/bitwarden/desktop.git synced 2024-11-02 08:30:14 +01:00

move from login to cipher apis

This commit is contained in:
Kyle Spearrin 2017-09-20 17:13:38 -04:00
parent b48c86a572
commit 8a1e8678f8
5 changed files with 54 additions and 153 deletions

View File

@ -1,13 +1,18 @@
var LoginRequest = function (login) {
this.folderId = login.folderId;
this.organizationId = login.organizationId;
this.name = login.name ? login.name.encryptedString : null;
this.uri = login.uri ? login.uri.encryptedString : null;
this.username = login.username ? login.username.encryptedString : null;
this.password = login.password ? login.password.encryptedString : null;
this.notes = login.notes ? login.notes.encryptedString : null;
this.totp = login.totp ? login.totp.encryptedString : null;
this.favorite = login.favorite;
var CipherRequest = function (cipher, type) {
this.type = type;
this.folderId = cipher.folderId;
this.organizationId = cipher.organizationId;
this.name = cipher.name ? cipher.name.encryptedString : null;
this.favorite = cipher.favorite;
if (type === 1) {
// login
this.uri = cipher.uri ? cipher.uri.encryptedString : null;
this.username = cipher.username ? cipher.username.encryptedString : null;
this.password = cipher.password ? cipher.password.encryptedString : null;
this.totp = cipher.totp ? cipher.totp.encryptedString : null;
this.notes = cipher.notes ? cipher.notes.encryptedString : null;
}
};
var FolderRequest = function (folder) {

View File

@ -23,33 +23,6 @@ var FolderResponse = function (response) {
this.revisionDate = response.RevisionDate;
};
var LoginResponse = function (response) {
this.id = response.Id;
this.organizationId = response.OrganizationId;
this.folderId = response.FolderId;
this.edit = response.Edit;
this.name = response.Name;
this.uri = response.Uri;
this.username = response.Username;
this.password = response.Password;
this.notes = response.Notes;
this.totp = response.Totp;
this.favorite = response.Favorite;
this.revisionDate = response.RevisionDate;
this.organizationUseTotp = response.OrganizationUseTotp;
if (response.Folder) {
this.folder = new FolderResponse(response.Folder);
}
if (response.Attachments) {
this.attachments = [];
for (var i = 0; i < response.Attachments.length; i++) {
this.attachments.push(new AttachmentResponse(response.Attachments[i]));
}
}
};
var ProfileResponse = function (response) {
this.id = response.Id;
this.name = response.Name;

View File

@ -22,27 +22,12 @@ var LoginData = function (response, userId) {
this.userId = userId;
this.edit = response.edit;
this.organizationUseTotp = response.organizationUseTotp;
if (response instanceof LoginResponse) {
this.name = response.name;
this.uri = response.uri;
this.username = response.username;
this.password = response.password;
this.notes = response.notes;
this.totp = response.totp;
}
else if (response instanceof CipherResponse) {
this.name = response.data.Name;
this.uri = response.data.Uri;
this.username = response.data.Username;
this.password = response.data.Password;
this.notes = response.notes = response.data.Notes;
this.totp = response.notes = response.data.Totp;
}
else {
throw 'unsupported instance';
}
this.name = response.data.Name;
this.uri = response.data.Uri;
this.username = response.data.Username;
this.password = response.data.Password;
this.notes = response.notes = response.data.Notes;
this.totp = response.notes = response.data.Totp;
this.favorite = response.favorite;
this.revisionDate = response.revisionDate;

View File

@ -30,8 +30,8 @@ function initApiService() {
}
// Desktop
self.baseUrl = 'http://localhost:4000';
self.identityBaseUrl = 'http://localhost:33656';
//self.baseUrl = 'http://localhost:4000';
//self.identityBaseUrl = 'http://localhost:33656';
// Desktop HTTPS
//self.baseUrl = 'https://localhost:44377';
@ -46,8 +46,8 @@ function initApiService() {
//self.identityBaseUrl = 'https://preview-identity.bitwarden.com';
// Production
//self.baseUrl = 'https://api.bitwarden.com';
//self.identityBaseUrl = 'https://identity.bitwarden.com';
self.baseUrl = 'https://api.bitwarden.com';
self.identityBaseUrl = 'https://identity.bitwarden.com';
};
// Auth APIs
@ -189,94 +189,8 @@ function initApiService() {
});
};
// Login APIs
ApiService.prototype.getLogin = function (id, success, error) {
var self = this;
handleTokenState(self).then(function (tokenHeader) {
$.ajax({
type: 'GET',
url: self.baseUrl + '/logins/' + id,
dataType: 'json',
headers: tokenHeader,
success: function (response) {
success(new LoginResponse(response));
},
error: function (jqXHR, textStatus, errorThrown) {
handleError(error, jqXHR, false, self);
}
});
}, function (jqXHR) {
handleError(error, jqXHR, true, self);
});
};
ApiService.prototype.postLogin = function (loginRequest, success, error) {
var self = this;
handleTokenState(self).then(function (tokenHeader) {
$.ajax({
type: 'POST',
url: self.baseUrl + '/logins',
data: JSON.stringify(loginRequest),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
headers: tokenHeader,
success: function (response) {
success(new LoginResponse(response));
},
error: function (jqXHR, textStatus, errorThrown) {
handleError(error, jqXHR, false, self);
}
});
}, function (jqXHR) {
handleError(error, jqXHR, true, self);
});
};
ApiService.prototype.putLogin = function (id, loginRequest, success, error) {
var self = this;
handleTokenState(self).then(function (tokenHeader) {
$.ajax({
type: 'PUT',
url: self.baseUrl + '/logins/' + id,
data: JSON.stringify(loginRequest),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
headers: tokenHeader,
success: function (response) {
success(new LoginResponse(response));
},
error: function (jqXHR, textStatus, errorThrown) {
handleError(error, jqXHR, false, self);
}
});
}, function (jqXHR) {
handleError(error, jqXHR, true, self);
});
};
// Folder APIs
ApiService.prototype.getFolder = function (id, success, error) {
var self = this;
handleTokenState(self).then(function (tokenHeader) {
$.ajax({
type: 'GET',
url: self.baseUrl + '/folders/' + id,
dataType: 'json',
headers: tokenHeader,
success: function (response) {
success(new FolderResponse(response));
},
error: function (jqXHR, textStatus, errorThrown) {
handleError(error, jqXHR, false, self);
}
});
}, function (jqXHR) {
handleError(error, jqXHR, true, self);
});
};
ApiService.prototype.postFolder = function (folderRequest, success, error) {
var self = this;
handleTokenState(self).then(function (tokenHeader) {
@ -343,12 +257,36 @@ function initApiService() {
// Cipher APIs
ApiService.prototype.getCipher = function (id, success, error) {
ApiService.prototype.postCipher = function (cipherRequest, success, error) {
var self = this;
handleTokenState(self).then(function (tokenHeader) {
$.ajax({
type: 'GET',
type: 'POST',
url: self.baseUrl + '/ciphers',
data: JSON.stringify(cipherRequest),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
headers: tokenHeader,
success: function (response) {
success(new CipherResponse(response));
},
error: function (jqXHR, textStatus, errorThrown) {
handleError(error, jqXHR, false, self);
}
});
}, function (jqXHR) {
handleError(error, jqXHR, true, self);
});
};
ApiService.prototype.putCipher = function (id, cipherRequest, success, error) {
var self = this;
handleTokenState(self).then(function (tokenHeader) {
$.ajax({
type: 'PUT',
url: self.baseUrl + '/ciphers/' + id,
data: JSON.stringify(cipherRequest),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
headers: tokenHeader,
success: function (response) {

View File

@ -212,15 +212,15 @@ function initLoginService() {
var deferred = Q.defer();
var self = this,
request = new LoginRequest(login);
request = new CipherRequest(login, 1); // 1 = Login
if (!login.id) {
self.apiService.postLogin(request, apiSuccess, function (response) {
self.apiService.postCipher(request, apiSuccess, function (response) {
handleError(response, deferred);
});
}
else {
self.apiService.putLogin(login.id, request, apiSuccess, function (response) {
self.apiService.putCipher(login.id, request, apiSuccess, function (response) {
handleError(response, deferred);
});
}