|
@@ -16,29 +16,55 @@ static const uint8_t USER = 9;
|
|
static const uint8_t IS_VIDEO = 10;
|
|
static const uint8_t IS_VIDEO = 10;
|
|
} // namespace TaskIndex
|
|
} // namespace TaskIndex
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * @constructor
|
|
|
|
+ * @param [in] {KFileData} k_file
|
|
|
|
+ */
|
|
InstagramTask::InstagramTask(KFileData k_file) : files({k_file}) {}
|
|
InstagramTask::InstagramTask(KFileData k_file) : files({k_file}) {}
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * @constructor
|
|
|
|
+ * @param [in] {QVector<KFileData>} k_files
|
|
|
|
+ */
|
|
InstagramTask::InstagramTask(QVector<KFileData> k_files) : files(k_files) {}
|
|
InstagramTask::InstagramTask(QVector<KFileData> k_files) : files(k_files) {}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * @brief InstagramTask::defineTaskArguments
|
|
|
|
+ */
|
|
void InstagramTask::defineTaskArguments() {
|
|
void InstagramTask::defineTaskArguments() {
|
|
std::vector<std::unique_ptr<TaskArgumentBase>> args{};
|
|
std::vector<std::unique_ptr<TaskArgumentBase>> args{};
|
|
- args.emplace_back(std::make_unique<TaskArgument<QString>>("header", Type::TEXT, QString{}));
|
|
|
|
- args.emplace_back(std::make_unique<TaskArgument<QString>>("description", Type::TEXT, QString{}));
|
|
|
|
- args.emplace_back(std::make_unique<TaskArgument<QString>>("datetime", Type::DATETIME, QString{}));
|
|
|
|
- args.emplace_back(std::make_unique<TaskArgument<QString>>("promote_share", Type::TEXT, QString{}));
|
|
|
|
- args.emplace_back(std::make_unique<TaskArgument<QString>>("link_in_bio", Type::TEXT, QString{}));
|
|
|
|
- args.emplace_back(std::make_unique<TaskArgument<QString>>("hashtags", Type::TEXT, QString{}));
|
|
|
|
- args.emplace_back(
|
|
|
|
- std::make_unique<TaskArgument<std::vector<QString>>>("requested_by", Type::STRINGVECTOR, std::vector<QString>{}));
|
|
|
|
- args.emplace_back(std::make_unique<TaskArgument<QString>>("requested_by_phrase", Type::TEXT, QString{}));
|
|
|
|
- args.emplace_back(
|
|
|
|
- std::make_unique<TaskArgument<std::vector<KFileData>>>("files", Type::FILEVECTOR, std::vector<KFileData>{})),
|
|
|
|
- args.emplace_back(std::make_unique<TaskArgument<QString>>("user", Type::TEXT, QString{}));
|
|
|
|
- args.emplace_back(std::make_unique<TaskArgument<bool>>("is_video", Type::BOOLEAN, bool{}));
|
|
|
|
|
|
+ args.emplace_back(std::make_unique<
|
|
|
|
+ TaskArgument<QString>>("header", Type::TEXT, QString{}));
|
|
|
|
+ args.emplace_back(std::make_unique<
|
|
|
|
+ TaskArgument<QString>>("description", Type::TEXT, QString{}));
|
|
|
|
+ args.emplace_back(std::make_unique<
|
|
|
|
+ TaskArgument<QString>>("datetime", Type::DATETIME, QString{}));
|
|
|
|
+ args.emplace_back(std::make_unique<
|
|
|
|
+ TaskArgument<QString>>("promote_share", Type::TEXT, QString{}));
|
|
|
|
+ args.emplace_back(std::make_unique<
|
|
|
|
+ TaskArgument<QString>>("link_in_bio", Type::TEXT, QString{}));
|
|
|
|
+ args.emplace_back(std::make_unique<
|
|
|
|
+ TaskArgument<QString>>("hashtags", Type::TEXT, QString{}));
|
|
|
|
+ args.emplace_back(std::make_unique<
|
|
|
|
+ TaskArgument<
|
|
|
|
+ std::vector<QString>>>("requested_by", Type::STRINGVECTOR, std::vector<QString>{}));
|
|
|
|
+ args.emplace_back(std::make_unique<
|
|
|
|
+ TaskArgument<QString>>("requested_by_phrase", Type::TEXT, QString{}));
|
|
|
|
+ args.emplace_back(std::make_unique<
|
|
|
|
+ TaskArgument<
|
|
|
|
+ std::vector<KFileData>>>("files", Type::FILEVECTOR, std::vector<KFileData>{})),
|
|
|
|
+ args.emplace_back(std::make_unique<
|
|
|
|
+ TaskArgument<QString>>("user", Type::TEXT, QString{}));
|
|
|
|
+ args.emplace_back(std::make_unique<
|
|
|
|
+ TaskArgument<bool>>("is_video", Type::BOOLEAN, bool{}));
|
|
m_arguments = args;
|
|
m_arguments = args;
|
|
}
|
|
}
|
|
|
|
|
|
-const TaskArguments InstagramTask::getTaskArguments() { return m_arguments; }
|
|
|
|
-
|
|
|
|
|
|
+/**
|
|
|
|
+ * @brief InstagramTask::setArgument
|
|
|
|
+ * @param name
|
|
|
|
+ * @param value
|
|
|
|
+ */
|
|
void InstagramTask::setArgument(QString name, TypeVariant value) {
|
|
void InstagramTask::setArgument(QString name, TypeVariant value) {
|
|
TaskIterator it =
|
|
TaskIterator it =
|
|
std::find_if(m_arguments.begin(), m_arguments.end(), [name](auto argument) { return argument.text() == name; });
|
|
std::find_if(m_arguments.begin(), m_arguments.end(), [name](auto argument) { return argument.text() == name; });
|
|
@@ -56,6 +82,11 @@ void InstagramTask::setArgument(QString name, TypeVariant value) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * @brief InstagramTask::getTaskArgument
|
|
|
|
+ * @param name
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
TypeVariant InstagramTask::getTaskArgument(QString name) {
|
|
TypeVariant InstagramTask::getTaskArgument(QString name) {
|
|
TaskIterator it =
|
|
TaskIterator it =
|
|
std::find_if(m_arguments.begin(), m_arguments.end(), [name](auto argument) { return argument.text() == name; });
|
|
std::find_if(m_arguments.begin(), m_arguments.end(), [name](auto argument) { return argument.text() == name; });
|
|
@@ -65,6 +96,10 @@ TypeVariant InstagramTask::getTaskArgument(QString name) {
|
|
return ""; // Perhaps we should throw
|
|
return ""; // Perhaps we should throw
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * @brief InstagramTask::getArgumentValues
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
ArgumentValues InstagramTask::getArgumentValues() {
|
|
ArgumentValues InstagramTask::getArgumentValues() {
|
|
ArgumentValues values{static_cast<int>(m_arguments.size())};
|
|
ArgumentValues values{static_cast<int>(m_arguments.size())};
|
|
for (const auto& argument : m_arguments) {
|
|
for (const auto& argument : m_arguments) {
|
|
@@ -75,23 +110,49 @@ ArgumentValues InstagramTask::getArgumentValues() {
|
|
return values;
|
|
return values;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * @brief InstagramTask::getTaskArguments
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+const TaskArguments InstagramTask::getTaskArguments() { return m_arguments; }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * @brief InstagramTask::getFiles
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
const QVector<KFileData> InstagramTask::getFiles() { return files; }
|
|
const QVector<KFileData> InstagramTask::getFiles() { return files; }
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * @brief InstagramTask::setDefaultValues
|
|
|
|
+ */
|
|
void InstagramTask::setDefaultValues() {
|
|
void InstagramTask::setDefaultValues() {
|
|
- m_arguments.at(TaskIndex::HEADER)->setValue("Learn to speak like native Korean speakers 🙆♀️🇰🇷");
|
|
|
|
|
|
+ m_arguments.at(TaskIndex::HEADER)
|
|
|
|
+ ->setValue("Learn to speak like native Korean speakers 🙆♀️🇰🇷");
|
|
m_arguments.at(TaskIndex::PROMOTE_SHARE)
|
|
m_arguments.at(TaskIndex::PROMOTE_SHARE)
|
|
->setValue("Share the post through IG story if you enjoy the phrase 🙋♀️");
|
|
->setValue("Share the post through IG story if you enjoy the phrase 🙋♀️");
|
|
m_arguments.at(TaskIndex::LINK_IN_BIO)
|
|
m_arguments.at(TaskIndex::LINK_IN_BIO)
|
|
->setValue("Subscribe to my YouTube channel (link 🔗in bio) to learn more about Korean language and culture ❤");
|
|
->setValue("Subscribe to my YouTube channel (link 🔗in bio) to learn more about Korean language and culture ❤");
|
|
- m_arguments.at(TaskIndex::REQUESTED_BY_PHRASE)->setValue("The phrase was requested by ");
|
|
|
|
|
|
+ m_arguments.at(TaskIndex::REQUESTED_BY_PHRASE)
|
|
|
|
+ ->setValue("The phrase was requested by ");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * @brief getType
|
|
|
|
+ * @return {Scheduler::TaskType} The type of task
|
|
|
|
+ */
|
|
Scheduler::TaskType getType() { return Scheduler::TaskType::INSTAGRAM; };
|
|
Scheduler::TaskType getType() { return Scheduler::TaskType::INSTAGRAM; };
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * @brief InstagramTask::clear
|
|
|
|
+ */
|
|
void InstagramTask::clear() {
|
|
void InstagramTask::clear() {
|
|
for (const auto& argument : m_arguments) {
|
|
for (const auto& argument : m_arguments) {
|
|
argument->clear();
|
|
argument->clear();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * @destructor
|
|
|
|
+ */
|
|
InstagramTask::~InstagramTask() {}
|
|
InstagramTask::~InstagramTask() {}
|