File indexing completed on 2024-05-05 04:39:54
0001 /* 0002 SPDX-FileCopyrightText: 2012-2013 Miquel Sabaté <mikisabate@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include <ghaccount.h> 0008 0009 #include <ghresource.h> 0010 #include <ghproviderplugin.h> 0011 0012 #include <KSharedConfig> 0013 0014 namespace gh 0015 { 0016 0017 Account::Account(Resource *resource) 0018 { 0019 m_group = KConfigGroup(KSharedConfig::openConfig(), "ghprovider"); 0020 m_resource = resource; 0021 } 0022 0023 void Account::invalidate(const QString &password) 0024 { 0025 const QString &id = m_group.readEntry("id", QString()); 0026 if (!id.isEmpty()) 0027 m_resource->revokeAccess(id, name(), password); 0028 m_group.writeEntry("name", ""); 0029 m_group.writeEntry("id", ""); 0030 m_group.writeEntry("token", ""); 0031 m_group.writeEntry("created_at", ""); 0032 m_group.writeEntry("orgs", ""); 0033 } 0034 0035 bool Account::validAccount() const 0036 { 0037 return !m_group.readEntry("id", QString()).isEmpty(); 0038 } 0039 0040 void Account::setName(const QString &name) 0041 { 0042 m_group.writeEntry("name", name); 0043 } 0044 0045 const QString Account::name() const 0046 { 0047 return m_group.readEntry("name", QString()); 0048 } 0049 0050 void Account::setOrgs(const QStringList &orgs) 0051 { 0052 m_group.writeEntry("orgs", orgs); 0053 } 0054 0055 const QStringList Account::orgs() const 0056 { 0057 const QString orgs = m_group.readEntry("orgs", QString()); 0058 if (orgs.isEmpty()) 0059 return QStringList(); 0060 return orgs.split(QLatin1Char(',')); 0061 } 0062 0063 void Account::saveToken(const QByteArray &id, const QByteArray &token) 0064 { 0065 m_group.writeEntry("id", id); 0066 m_group.writeEntry("token", token); 0067 } 0068 0069 const QString Account::token() const 0070 { 0071 return m_group.readEntry("token", QString()); 0072 } 0073 0074 } // End of namespace gh