SecretService 0.13.2d47dfe
SecretService is base back end library for your c++ Qt projects.
record.cpp
Go to the documentation of this file.
1//#
2//# Copyright (C) 2024-2024 QuasarApp.
3//# Distributed under the GPLv3 software license, see the accompanying
4//# Everyone is permitted to copy and distribute verbatim copies
5//# of this license document, but changing it is not allowed.
6//#
7
8#include "record.h"
9
10#include <QCryptographicHash>
11
12namespace DBSecret {
13
15
16
17QH::PKG::DBObject* Record::createDBObject() const {
18 return new Record();
19}
20
21bool Record::fromSqlRecord(const QSqlRecord& q) {
22 _hash = q.value("hash").toByteArray();
23 _data = q.value("data").toByteArray();
24 _alias = q.value("alias").toString();
25
26 return true;
27}
28
29QString Record::table() const {
30 return "Records";
31}
32
33QH::PKG::DBVariantMap Record::variantMap() const {
34 return {
35 {"hash", {_hash, QH::PKG::MemberType::PrimaryKey}},
36 {"alias", {_alias, static_cast<QH::PKG::MemberType>(static_cast<int>(QH::PKG::MemberType::InsertUpdate) |
37 static_cast<int>(QH::PKG::MemberType::Unique))}},
38 {"data", {_data, QH::PKG::MemberType::Insert}}
39
40 };
41}
42
43QString Record::primaryKey() const {
44 if (_hash.size())
45 return "hash";
46
47 return "alias";
48}
49
50QVariant Record::primaryValue() const {
51 if (_hash.size())
52 return _hash;
53
54 return _alias;
55}
56
57const QString &Record::getAlias() const {
58 return _alias;
59}
60
61void Record::setAlias(const QString &alias) {
62 _alias = alias;
63}
64
65const QByteArray &Record::getHash() const {
66 return _hash;
67}
68
69void Record::setHash(const QByteArray &source) {
70 _hash = source;
71}
72
73const QByteArray &Record::getData() const {
74 return _data;
75}
76
77const QByteArray &Record::setData(const QByteArray &newData) {
78 _data = newData;
79 setHash(QCryptographicHash::hash(_data, QCryptographicHash::Sha256).toBase64(QByteArray::Base64UrlEncoding));
80 return getHash();
81}
82
83}
const QByteArray & getHash() const override
getHash return hash of data
Definition record.cpp:65
bool fromSqlRecord(const QSqlRecord &q) override
Definition record.cpp:21
const QByteArray & getData() const override
getData This method returns data of the record.
Definition record.cpp:73
void setAlias(const QString &alias) override
setAlias This method sets new alias for record.
Definition record.cpp:61
QH::PKG::DBObject * createDBObject() const override
Definition record.cpp:17
const QByteArray & setData(const QByteArray &newData) override
setData This method sets new data of record.
Definition record.cpp:77
QH::PKG::DBVariantMap variantMap() const override
Definition record.cpp:33
void setHash(const QByteArray &source) override
setHash This method sets new hash of record.
Definition record.cpp:69
QString primaryKey() const override
Definition record.cpp:43
QVariant primaryValue() const override
Definition record.cpp:50
const QString & getAlias() const override
getAlias returns alias of the record.
Definition record.cpp:57
QString table() const override
Definition record.cpp:29