diff options
Diffstat (limited to 'mod')
-rw-r--r-- | mod/ci-common.cxx | 9 | ||||
-rw-r--r-- | mod/ci-common.hxx | 5 |
2 files changed, 7 insertions, 7 deletions
diff --git a/mod/ci-common.cxx b/mod/ci-common.cxx index cc361d2..4b9f9f9 100644 --- a/mod/ci-common.cxx +++ b/mod/ci-common.cxx @@ -988,7 +988,7 @@ namespace brep return s; } - optional<tenant_service> ci_start:: + optional<pair<tenant_service, bool>> ci_start:: find (odb::core::database& db, const string& type, const string& id) const @@ -1007,10 +1007,9 @@ namespace brep tr.commit (); - optional<tenant_service> r; - if (t != nullptr) - r = move (t->service); + if (t == nullptr || !t->service) + return nullopt; - return r; + return pair<tenant_service, bool> (move (*t->service), t->archived); } } diff --git a/mod/ci-common.hxx b/mod/ci-common.hxx index 6d21ba5..36d5f0e 100644 --- a/mod/ci-common.hxx +++ b/mod/ci-common.hxx @@ -236,11 +236,12 @@ namespace brep build_state)> = nullptr) const; // Find the tenant given the tenant service type and id and return the - // associated data or nullopt if there is no such tenant. + // associated data plus the indication of whether the tenant is archived, + // or nullopt if there is no such tenant. // // Note: should be called out of the database transaction. // - optional<tenant_service> + optional<pair<tenant_service, bool /*archived*/>> find (odb::core::database&, const string& type, const string& id) const; |