diff --git a/docker-compose.yml b/docker-compose.yml index 883b4ac..dbdf7eb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,8 +22,6 @@ services: - DB_USER=jacinto - DB_PASSWORD=jacinto - HASH_DRIVER=bcrypt - env_file: - - web-variables.env depends_on: - harena-manager-database restart: always diff --git a/src/adonisjs/app/Controllers/Http/v1/CaseController.js b/src/adonisjs/app/Controllers/Http/v1/CaseController.js index 1ab673a..d94448b 100644 --- a/src/adonisjs/app/Controllers/Http/v1/CaseController.js +++ b/src/adonisjs/app/Controllers/Http/v1/CaseController.js @@ -134,6 +134,7 @@ class CaseController { await c.versions().delete() await c.users().detach() await c.quests().detach() + await c.artifacts().delete() await c.delete(trx) diff --git a/src/adonisjs/app/Models/v1/Case.js b/src/adonisjs/app/Models/v1/Case.js index 3ff987d..8eceb3b 100644 --- a/src/adonisjs/app/Models/v1/Case.js +++ b/src/adonisjs/app/Models/v1/Case.js @@ -12,6 +12,10 @@ class Case extends Model { return this.hasMany('App/Models/v1/CaseVersion') } + artifacts() { + return this.hasMany('App/Models/v1/Artifact') + } + users(){ return this.belongsToMany('App/Models/v1/User') .pivotTable('users_cases') diff --git a/src/adonisjs/public/imgs/class_diagram.drawio b/src/adonisjs/public/imgs/class_diagram.drawio new file mode 100644 index 0000000..3be14e1 --- /dev/null +++ b/src/adonisjs/public/imgs/class_diagram.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/src/adonisjs/public/imgs/class_diagram.png b/src/adonisjs/public/imgs/class_diagram.png new file mode 100644 index 0000000..98e166f Binary files /dev/null and b/src/adonisjs/public/imgs/class_diagram.png differ diff --git a/src/adonisjs/public/imgs/login_by_access_code.png b/src/adonisjs/public/imgs/login_by_access_code.png deleted file mode 100644 index 4532c61..0000000 Binary files a/src/adonisjs/public/imgs/login_by_access_code.png and /dev/null differ diff --git a/src/adonisjs/public/imgs/login_by_password.png b/src/adonisjs/public/imgs/login_by_password.png deleted file mode 100644 index da94f04..0000000 Binary files a/src/adonisjs/public/imgs/login_by_password.png and /dev/null differ diff --git a/src/adonisjs/public/imgs/login_sequence_flow.drawio b/src/adonisjs/public/imgs/login_sequence_flow.drawio deleted file mode 100644 index 929afe6..0000000 --- a/src/adonisjs/public/imgs/login_sequence_flow.drawio +++ /dev/null @@ -1 +0,0 @@ -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 \ No newline at end of file