Skip to content
This repository was archived by the owner on Jun 7, 2026. It is now read-only.

Commit 5cad155

Browse files
committed
Fix returning coro tasks directly
1 parent b21830e commit 5cad155

11 files changed

Lines changed: 35 additions & 33 deletions

File tree

src/api/v1/projects.cc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,9 +238,7 @@ namespace api::v1 {
238238

239239
Json::Value projectsJson(Json::arrayValue);
240240
for (const auto &project: projects) {
241-
logger.debug("Call projectToJson on {}", project.getValueOfId());
242241
Json::Value json = projectToJson(project, true);
243-
logger.debug("Complete projectToJson");
244242
json["status"] = enumToStr(co_await global::storage->getProjectStatus(project));
245243
projectsJson.append(json);
246244
}

src/service/auth.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ namespace service {
173173
}
174174

175175
Task<TaskResult<>> Auth::unlinkModrinthAccount(const std::string username) const {
176-
return global::database->unlinkUserModrinthAccount(username);
176+
co_return co_await global::database->unlinkUserModrinthAccount(username);
177177
}
178178

179179
Task<TaskResult<User>> Auth::getGitHubTokenUser(const std::string token) const {

src/service/project/cached.cc

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,20 @@ namespace service {
1717
}
1818

1919
Task<std::optional<content::ResolvedGameRecipe>> CachedProject::getRecipe(const std::string id) {
20-
return getOrResolveCached(createCacheKey("recipe", id), std::bind_front(&ProjectBase::getRecipe, wrapped_, id));
20+
co_return co_await getOrResolveCached(createCacheKey("recipe", id), std::bind_front(&ProjectBase::getRecipe, wrapped_, id));
2121
}
2222

2323
Task<std::optional<content::GameRecipeType>> CachedProject::getRecipeType(const ResourceLocation &location) {
24-
return getOrResolveCached(createCacheKey("recipe_type", location),
25-
std::bind_front(&ProjectBase::getRecipeType, wrapped_, location));
24+
co_return co_await getOrResolveCached(createCacheKey("recipe_type", location),
25+
std::bind_front(&ProjectBase::getRecipeType, wrapped_, location));
2626
}
2727

2828
Task<TaskResult<FileTree>> CachedProject::getDirectoryTree() {
29-
return getOrResolveCached(createCacheKey("directory_tree"), std::bind_front(&ProjectBase::getDirectoryTree, wrapped_));
29+
co_return co_await getOrResolveCached(createCacheKey("directory_tree"), std::bind_front(&ProjectBase::getDirectoryTree, wrapped_));
3030
}
3131

3232
Task<TaskResult<FileTree>> CachedProject::getProjectContents() {
33-
return getOrResolveCached(createCacheKey("content_tree"), std::bind_front(&ProjectBase::getProjectContents, wrapped_));
33+
co_return co_await getOrResolveCached(createCacheKey("content_tree"), std::bind_front(&ProjectBase::getProjectContents, wrapped_));
3434
}
3535

3636
// Uncached methods
@@ -39,40 +39,46 @@ namespace service {
3939
const ProjectVersion &CachedProject::getProjectVersion() const { return wrapped_->getProjectVersion(); }
4040
ProjectDatabaseAccess &CachedProject::getProjectDatabase() const { return wrapped_->getProjectDatabase(); }
4141

42-
Task<Json::Value> CachedProject::toJson(bool full) const { return wrapped_->toJson(); }
43-
Task<Json::Value> CachedProject::toJsonVerbose() { return wrapped_->toJsonVerbose(); }
42+
Task<Json::Value> CachedProject::toJson(bool full) const { co_return co_await wrapped_->toJson(); }
43+
Task<Json::Value> CachedProject::toJsonVerbose() { co_return co_await wrapped_->toJsonVerbose(); }
4444
std::string CachedProject::getLocale() const { return wrapped_->getLocale(); }
4545
bool CachedProject::hasLocale(const std::string &locale) const { return wrapped_->hasLocale(locale); }
4646
std::set<std::string> CachedProject::getLocales() const { return wrapped_->getLocales(); }
4747
Task<std::unordered_map<std::string, std::string>> CachedProject::getAvailableVersions() const {
48-
return wrapped_->getAvailableVersions();
48+
co_return co_await wrapped_->getAvailableVersions();
4949
}
50-
Task<bool> CachedProject::hasVersion(const std::string version) const { return wrapped_->hasVersion(version); }
50+
Task<bool> CachedProject::hasVersion(const std::string version) const { co_return co_await wrapped_->hasVersion(version); }
5151
std::optional<std::string> CachedProject::getPagePath(const std::string &path) const { return wrapped_->getPagePath(path); }
5252
std::optional<std::string> CachedProject::getPageTitle(const std::string &path) const { return wrapped_->getPageTitle(path); }
5353
TaskResult<ProjectPage> CachedProject::readPageFile(const std::string path) const { return wrapped_->readPageFile(path); }
54-
Task<TaskResult<ProjectPage>> CachedProject::readContentPage(const std::string id) const { return wrapped_->readContentPage(id); }
54+
Task<TaskResult<ProjectPage>> CachedProject::readContentPage(const std::string id) const {
55+
co_return co_await wrapped_->readContentPage(id);
56+
}
5557
std::optional<Frontmatter> CachedProject::readPageAttributes(const std::string &path) const {
5658
return wrapped_->readPageAttributes(path);
5759
}
5860
Task<PaginatedData<ItemContentPage>> CachedProject::getItemContentPages(const TableQueryParams params) const {
59-
return wrapped_->getItemContentPages(params);
61+
co_return co_await wrapped_->getItemContentPages(params);
62+
}
63+
Task<PaginatedData<FullTagData>> CachedProject::getTags(const TableQueryParams params) const {
64+
co_return co_await wrapped_->getTags(params);
6065
}
61-
Task<PaginatedData<FullTagData>> CachedProject::getTags(const TableQueryParams params) const { return wrapped_->getTags(params); }
6266
Task<PaginatedData<FullItemData>> CachedProject::getTagItems(const std::string tag, const TableQueryParams params) const {
63-
return wrapped_->getTagItems(tag, params);
67+
co_return co_await wrapped_->getTagItems(tag, params);
6468
}
6569
Task<PaginatedData<FullRecipeData>> CachedProject::getRecipes(const TableQueryParams params) const {
66-
return wrapped_->getRecipes(params);
70+
co_return co_await wrapped_->getRecipes(params);
6771
}
6872
Task<PaginatedData<ProjectVersion>> CachedProject::getVersions(const TableQueryParams params) const {
69-
return wrapped_->getVersions(params);
73+
co_return co_await wrapped_->getVersions(params);
74+
}
75+
Task<ItemData> CachedProject::getItemName(const Item item) const { co_return co_await wrapped_->getItemName(item); }
76+
Task<ItemData> CachedProject::getItemName(const std::string loc) const { co_return co_await wrapped_->getItemName(loc); }
77+
Task<nlohmann::json> CachedProject::readItemProperties(const std::string id) const {
78+
co_return co_await wrapped_->readItemProperties(id);
7079
}
71-
Task<ItemData> CachedProject::getItemName(const Item item) const { return wrapped_->getItemName(item); }
72-
Task<ItemData> CachedProject::getItemName(const std::string loc) const { return wrapped_->getItemName(loc); }
73-
Task<nlohmann::json> CachedProject::readItemProperties(const std::string id) const { return wrapped_->readItemProperties(id); }
7480
Task<std::optional<std::string>> CachedProject::readLangKey(const std::string &namespace_, const std::string &key) const {
75-
return wrapped_->readLangKey(namespace_, key);
81+
co_return co_await wrapped_->readLangKey(namespace_, key);
7682
}
7783
std::optional<std::filesystem::path> CachedProject::getAsset(const ResourceLocation &location) const {
7884
return wrapped_->getAsset(location);

src/service/project/content.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ namespace service {
5353
co_return (*json)[key].get<std::string>();
5454
}
5555

56-
Task<ItemData> ResolvedProject::getItemName(const Item item) const { return getItemName(item.getValueOfLoc()); }
56+
Task<ItemData> ResolvedProject::getItemName(const Item item) const { co_return co_await getItemName(item.getValueOfLoc()); }
5757

5858
Task<ItemData> ResolvedProject::getItemName(const std::string loc) const {
5959
const auto projectId = project_.getValueOfId();

src/service/project/pages.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ namespace service {
258258
}
259259

260260
Task<> validatePagesTree(const FileTree &tree, const ResolvedProject &resolved, const std::shared_ptr<ProjectIssueCallback> &issues,
261-
const std::vector<std::string> &requiredAttributes) {
261+
const std::vector<std::string> &requiredAttributes) {
262262
for (const auto &entry: tree) {
263263
if (entry.type == FileType::FILE) {
264264
co_await validatePageFile(entry, resolved, issues, requiredAttributes);

src/service/project/resolved.cc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,7 @@ namespace service {
9898
const auto versions = co_await getAvailableVersions();
9999
const auto locales = getLocales();
100100

101-
logger.debug("toJson: Call projectToJson on {}", project_.getValueOfId());
102101
Json::Value projectJson = projectToJson(project_, full);
103-
logger.debug("toJson: Complete projectToJson");
104102

105103
if (!versions.empty()) {
106104
Json::Value versionsJson(Json::arrayValue);

src/service/project/virtual/virtual.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ namespace service {
6464
co_return {.total = 0, .pages = 0, .size = 0};
6565
}
6666

67-
Task<ItemData> VirtualProject::getItemName(const Item item) const { return getItemName(item.getValueOfLoc()); }
67+
Task<ItemData> VirtualProject::getItemName(const Item item) const { co_return co_await getItemName(item.getValueOfLoc()); }
6868
Task<ItemData> VirtualProject::getItemName(const std::string loc) const {
6969
const auto name = co_await global::lang->getItemName(DEFAULT_LOCALE, loc);
7070
co_return ItemData{name.value_or(""), ""};
@@ -76,7 +76,7 @@ namespace service {
7676

7777
Task<std::optional<std::string>> VirtualProject::readLangKey(const std::string &namespace_, const std::string &key) const {
7878
const ResourceLocation location{namespace_, key};
79-
return global::lang->getItemName(std::nullopt, location);
79+
co_return co_await global::lang->getItemName(std::nullopt, location);
8080
}
8181

8282
std::optional<std::filesystem::path> VirtualProject::getAsset(const ResourceLocation &location) const {

src/service/storage/deployment.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ namespace service {
128128
ProjectVersion defaultVersion;
129129
defaultVersion.setProjectId(project.getValueOfId());
130130
defaultVersion.setBranch(project.getValueOfSourceBranch());
131-
return global::database->createProjectVersion(defaultVersion);
131+
co_return co_await global::database->createProjectVersion(defaultVersion);
132132
}
133133

134134
Task<TaskResult<>> setActiveDeployment(const std::string projectId, Deployment &deployment) {
@@ -143,7 +143,7 @@ namespace service {
143143
}
144144

145145
Task<TaskResult<ProjectVersion>> Storage::getDefaultVersion(const Project &project) const {
146-
return global::database->getDefaultProjectVersion(project.getValueOfId());
146+
co_return co_await global::database->getDefaultProjectVersion(project.getValueOfId());
147147
}
148148

149149
Task<ProjectError> Storage::deployProject(const Project &project, Deployment &deployment, const fs::path clonePath) const {

src/service/storage/storage.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ namespace service {
188188
}
189189

190190
Task<TaskResult<ResolvedProject>> Storage::maybeGetProject(const Project &project) const {
191-
return findProject(project, std::nullopt, std::nullopt);
191+
co_return co_await findProject(project, std::nullopt, std::nullopt);
192192
}
193193

194194
Error Storage::removeDeployment(const Deployment &deployment) const {

src/service/system/access_keys.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ namespace service {
4949
}
5050

5151
Task<TaskResult<>> AccessKeys::deleteAccessKey(const int64_t id) const {
52-
return global::database->deleteByPrimaryKey<AccessKey>(id);
52+
co_return co_await global::database->deleteByPrimaryKey<AccessKey>(id);
5353
}
5454

5555
bool AccessKeys::isValidKey(const AccessKey &key) const {

0 commit comments

Comments
 (0)