[polari/wip/fmuellner/nickserv: 14/20] utils: Add helper methods to lookup/store identify passwords
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [polari/wip/fmuellner/nickserv: 14/20] utils: Add helper methods to lookup/store identify passwords
- Date: Tue, 9 Aug 2016 01:30:53 +0000 (UTC)
commit 937adad3a9cf4fc713f04901768342439f9bc471
Author: Florian Müllner <fmuellner gnome org>
Date: Mon Aug 1 20:42:40 2016 +0200
utils: Add helper methods to lookup/store identify passwords
When we offer users to handle NickServ identification for them
we need to lookup and store the password, so add keyring helpers
just like the ones we use for server passwords:
https://bugzilla.gnome.org/show_bug.cgi?id=709982
src/utils.js | 29 +++++++++++++++++++++++++----
1 files changed, 25 insertions(+), 4 deletions(-)
---
diff --git a/src/utils.js b/src/utils.js
index edb9e5d..fc3c1bd 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -31,10 +31,14 @@ const Tp = imports.gi.TelepathyGLib;
const AppNotifications = imports.appNotifications;
const Signals = imports.signals;
-const SECRET_SCHEMA = new Secret.Schema(
+const SECRET_SCHEMA_ACCOUNT = new Secret.Schema(
'org.gnome.Polari.Account', Secret.SchemaFlags.NONE,
{ 'account-id': Secret.SchemaAttributeType.STRING }
);
+const SECRET_SCHEMA_IDENTIFY = new Secret.Schema(
+ 'org.gnome.Polari.Identify', Secret.SchemaFlags.NONE,
+ { 'account-id': Secret.SchemaAttributeType.STRING }
+);
const GPASTE_BASEURL = 'https://paste.gnome.org/';
@@ -117,9 +121,18 @@ function getTpEventTime() {
}
function storeAccountPassword(account, password, callback) {
- let attr = { 'account-id': account.get_path_suffix() };
let label = _("Polari server password for %s").format(account.display_name);
- Secret.password_store(SECRET_SCHEMA, attr, Secret.COLLECTION_DEFAULT,
+ _storePassword(SECRET_SCHEMA_ACCOUNT, label, account, password, callback);
+}
+
+function storeIdentifyPassword(account, password, callback) {
+ let label = _("Polari NickServ password for %s").format(account.display_name);
+ _storePassword(SECRET_SCHEMA_IDENTIFY, label, account, password, callback);
+}
+
+function _storePassword(schema, label, account, password, callback) {
+ let attr = { 'account-id': account.get_path_suffix() };
+ Secret.password_store(schema, attr, Secret.COLLECTION_DEFAULT,
label, password, null,
function(o, res) {
try {
@@ -134,8 +147,16 @@ function storeAccountPassword(account, password, callback) {
}
function lookupAccountPassword(account, callback) {
+ _lookupPassword(SECRET_SCHEMA_ACCOUNT, account, callback);
+}
+
+function lookupIdentifyPassword(account, callback) {
+ _lookupPassword(SECRET_SCHEMA_IDENTIFY, account, callback);
+}
+
+function _lookupPassword(schema, account, callback) {
let attr = { 'account-id': account.get_path_suffix() };
- Secret.password_lookup(SECRET_SCHEMA, attr, null,
+ Secret.password_lookup(schema, attr, null,
function(o, res) {
try {
let password = Secret.password_lookup_finish(res);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]