|
|
@@ -1,5 +1,5 @@
|
|
|
-// import request from "@/util/request";
|
|
|
-// import { CODE_HOMEWORK_MODULE } from "./_prefix";
|
|
|
+import request from "@/util/request";
|
|
|
+import { CODE_HOMEWORK_MODULE } from "./_prefix";
|
|
|
|
|
|
/**
|
|
|
* 获得学生的 代码作业 列表
|
|
|
@@ -15,33 +15,105 @@ export const getCodeHomeworkList = courseId => {
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
- * 获得一项代码作业的 项目 列表
|
|
|
+ * 获得某个 Homework 的 Project 列表(应该只有一个)
|
|
|
+ * @param {string|number} homeworkId
|
|
|
+ * @return {Promise<{data:{projectId:string,name:string}[]}>}
|
|
|
*/
|
|
|
export const getProjectList = homeworkId => {
|
|
|
+ //TODO:delete this before deploy
|
|
|
console.log(homeworkId);
|
|
|
- return {
|
|
|
- data: [{ projectId: "project1", projectName: "xxx" }]
|
|
|
- };
|
|
|
+ return request(`${CODE_HOMEWORK_MODULE}/projects`, {
|
|
|
+ method: "POST",
|
|
|
+ body: {
|
|
|
+ homeworkId
|
|
|
+ }
|
|
|
+ });
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
- * 获得项目的详细信息
|
|
|
+ * TODO:请确认 homeworkId 是否有用
|
|
|
+ * 获得 Project 的详细信息
|
|
|
+ * @param homeworkId
|
|
|
+ * @param {string|number} projectId
|
|
|
+ * @return {Promise<{id:string,data:ProjectSerializerType}>}
|
|
|
*/
|
|
|
export const getProjectDetail = ({ homeworkId, projectId }) => {
|
|
|
+ //TODO:delete this before deploy
|
|
|
console.log(homeworkId, projectId);
|
|
|
+ return request(`${CODE_HOMEWORK_MODULE}/project/${projectId}`);
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
+ * 获得一次构建的详细信息
|
|
|
+ * @param {string|number} buildId
|
|
|
+ * @return {Promise<{id:string,data:BuildSerializerType}>}
|
|
|
+ */
|
|
|
+export const getBuildDetail = buildId => {
|
|
|
+ return request(`${CODE_HOMEWORK_MODULE}/build/${buildId}`);
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
+ * 获得一次部署的详细信息
|
|
|
+ * @param {string|number} deployId
|
|
|
+ * @return {Promise<{id:string,data:DeploySerializerType}>}
|
|
|
+ */
|
|
|
+export const getDeployDetail = deployId => {
|
|
|
+ return request(`${CODE_HOMEWORK_MODULE}/deploy/${deployId}`);
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
+ * 获得一次单元测试的详细信息
|
|
|
+ * @param {string|number} unitId
|
|
|
+ * @return {Promise<{id:string,data:UnitTestSerializerType}>}
|
|
|
+ */
|
|
|
+export const getUnitTestDetail = unitId => {
|
|
|
+ return request(`${CODE_HOMEWORK_MODULE}/unit/${unitId}`);
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
+ * 获得一次页面功能测试的详细信息
|
|
|
+ * @param {string|number} functionalId
|
|
|
+ * @return {Promise<{id:string,data:FunctionalTestSerializerType}>}
|
|
|
+ */
|
|
|
+export const getFunctionalDetail = functionalId => {
|
|
|
+ return request(`${CODE_HOMEWORK_MODULE}/functional/${functionalId}`);
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 获得可用的镜像列表
|
|
|
+ * @param {string|number} homeworkId
|
|
|
+ * @param {string|number} projectId
|
|
|
+ * @return {Promise<{data:MirrorSerializerType[]}>}
|
|
|
*/
|
|
|
-export const getAvailableMirrorList = () => {};
|
|
|
+export const getAvailableMirrorList = ({ homeworkId, projectId }) => {
|
|
|
+ return request(`${CODE_HOMEWORK_MODULE}/mirrors/${homeworkId}/${projectId}`);
|
|
|
+};
|
|
|
|
|
|
/**
|
|
|
+ * TODO: arguments 不被允许
|
|
|
* 触发一次部署
|
|
|
+ * @param {string|number} homeworkId
|
|
|
+ * @param {string|number} projectId
|
|
|
+ * @param {string|number} mirrorId
|
|
|
+ * @return {Promise<{data:{success:boolean}}>}
|
|
|
*/
|
|
|
-export const makeDeploy = () => {};
|
|
|
+export const makeDeploy = ({ homeworkId, projectId, mirrorId }) => {
|
|
|
+ return request(`${CODE_HOMEWORK_MODULE}/deploy`, {
|
|
|
+ method: "POST",
|
|
|
+ body: { homeworkId, projectId, mirrorId }
|
|
|
+ });
|
|
|
+};
|
|
|
|
|
|
/**
|
|
|
* 触发页面功能测试
|
|
|
+ * @param {string|number} homeworkId
|
|
|
+ * @param {string|number} projectId
|
|
|
+ * @param {string|number} deployId
|
|
|
+ * @return {Promise<{data:{success:boolean}}>}
|
|
|
*/
|
|
|
-export const makeFunctionalTest = () => {};
|
|
|
+export const makeFunctionalTest = ({ homeworkId, projectId, deployId }) => {
|
|
|
+ return request(`${CODE_HOMEWORK_MODULE}/functional`, {
|
|
|
+ method: "POST",
|
|
|
+ body: { homeworkId, projectId, deployId }
|
|
|
+ });
|
|
|
+};
|