From 058ba21cd4581427ebbec3dc538fb6de74fa0858 Mon Sep 17 00:00:00 2001
From: Gero Lueckemeyer <gero.lueckemeyer@hft-stuttgart.de>
Date: Fri, 19 Jan 2024 10:02:39 +0100
Subject: [PATCH] individualized backend communication url

---
 dta.zip                 | Bin 30102 -> 30136 bytes
 dta/classes/backend.php |   5 +++--
 dta/locallib.php        |   2 +-
 dta/version.php         |   2 +-
 4 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/dta.zip b/dta.zip
index 02e077fbd7ea59ae611a92947d44c0dc10d6d0b9..01aa7904c3ee85d7f0d91d2f601f81b77e96df83 100644
GIT binary patch
delta 2940
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

delta 2930
zcmY+GXHXM}633I!1VRl;C=yVlS1F+eIU!2#gf0+z?;^zrNC!cJ^azArMFJiONG}3W
zT97711nGnmIEup4_vYQq?at2Z&dz^!_sh<&WgD2a4NN!3Y#ZZHd#~Re8BqfO%Mbv7
z9RL701vyBfy&M7qodYEu9nhZ6K28#TZhj<GxbLJC^JQn@mrCZQO3#7sX+6}=Y?ZQa
ztC{#HD+3^ca-|^+xGcJpy@Fkpvl(qU$^?%I)^B#5ZA-XaK?AI%@qr4Im=m4e&ql`l
zQA*9y!-e4k*(gTmPHT;PUq9{;cKTY(c(KNcL>bd*KMm93_wLp%U4}4bQ0uzCFRwyM
zGd!hvnJ&c+q(`}R*OsXiu^y&Gmj~335h5RvxOzp0tN5i4C*4OQ6kHK&NuX{hF)42x
zP(JXC6zc8>eG4V)6*=H@ml=w{ojMkVRpje?7*|9<3<L87w2H<1Mm8^N32M*}#SF2n
zmVfw!{X~jwppKM#UkFhot?{RmKiGt>3h%%PPq|IkJHNMa)E`Q@yQmyG&jX(87;hUC
zs&xf*PEZAx&!{AFSRpks{5pEN>drqb@5og*6+ZmfR`L*vXy17jhFf8_vjZ0~{5-bD
zOsR4e{z)?iV>)B+)rZ*MuaZupKE4HSI_jpRHicZP;r>fmtg2_@3&6!m{dE(<nLZ`;
ziDU-p)rd<<x&?WtXVf^sA^7g{AMiU4p$50B#j{6T`b<WeXR1W^n=GqBAMTkh>%T`G
z5~X$PYrhL0sF^(5#G7cYfv$dj_~33%0A`8pMW5~~@ckOH<5V2K{>_2$YUv+h>JWbX
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
ZKKEl|qxuEY0KnB>e*FpnfcE}f{Rf-wb(H`B

diff --git a/dta/classes/backend.php b/dta/classes/backend.php
index c6a0a3a..7ca08f4 100644
--- a/dta/classes/backend.php
+++ b/dta/classes/backend.php
@@ -79,17 +79,18 @@ class DtaBackendUtils {
      * Sends submission config or archive to backend to be tested.
      *
      * @param stdClass $assignment assignment for the submission
+     * @param int $submissionid submissionid of the current file
      * @param stdClass $file submission config file or archive with submission
      * @return string json string with testresults or null on error
      */
-    public static function sendsubmissiontobackend($assignment, $file): ?string {
+    public static function sendsubmissiontobackend($assignment, $submissionid, $file): ?string {
         $backendaddress = self::getbackendbaseurl();
         if (empty($backendaddress)) {
             return true;
         }
 
         // Set endpoint for test upload.
-        $url = $backendaddress . "/v1/task";
+        $url = $backendaddress . "/v1/task/" . $submissionid;
 
         // Prepare params.
         $params = [
diff --git a/dta/locallib.php b/dta/locallib.php
index 844d006..cff2b4e 100644
--- a/dta/locallib.php
+++ b/dta/locallib.php
@@ -285,7 +285,7 @@ class assign_submission_dta extends assign_submission_plugin {
         $file = reset($files);
 
         // Send file to backend.
-        $response = DtaBackendUtils::sendsubmissiontobackend($this->assignment, $file);
+        $response = DtaBackendUtils::sendsubmissiontobackend($this->assignment, $submission->id, $file);
 
         // With a null response, return an error.
         if (is_null($response)) {
diff --git a/dta/version.php b/dta/version.php
index 471952b..fd56733 100644
--- a/dta/version.php
+++ b/dta/version.php
@@ -28,4 +28,4 @@ $plugin->version   = 2023123001;
 $plugin->requires  = 2020061525; // Moodle 3.9 LTS. Older unsupported versions from the 3.x branch should also work.
 $plugin->component = 'assignsubmission_dta';
 $plugin->maturity  = MATURITY_STABLE;
-$plugin->release   = "3.0.1";
+$plugin->release   = "3.1.0";
-- 
GitLab