diff --git a/src/adonisjs/app/Controllers/Http/v1/CaseController.js b/src/adonisjs/app/Controllers/Http/v1/CaseController.js index d94448b..665f646 100644 --- a/src/adonisjs/app/Controllers/Http/v1/CaseController.js +++ b/src/adonisjs/app/Controllers/Http/v1/CaseController.js @@ -40,7 +40,10 @@ class CaseController { let c = await Case.find( params.id ) if (c != null){ - let versions = await CaseVersion.query().where('case_id', '=', params.id ).orderBy('created_at', 'asc').fetch() + let versions = await CaseVersion.query() + .where('case_id', '=', params.id ) + .orderBy('created_at', 'asc') + .fetch() c.source = versions.last().source c.versions = versions @@ -54,34 +57,32 @@ class CaseController { /** * Create/save a new case.*/ async store({ request, auth, response }) { try { - console.log(1) - let c = await Case.findBy('title', request.input('title')) - - if (c == null) { - c = new Case() - c.id = await uuidv4() - c.title = request.input('title') - c.description = request.input('description') - c.language = request.input('language') - c.domain = request.input('domain') - c.specialty = request.input('specialty') - c.keywords = request.input('keywords') - - - let cv = new CaseVersion() - cv.id = await uuidv4() - cv.source = request.input('source') - - await c.versions().save(cv) - await c.users().attach(auth.user.id, (row) => { - row.role = 0 - }) - - c.versions = await c.versions().fetch() - c.users = await c.users().fetch() - return response.json(c) - - } else return response.status(500).json('title already exists') + // let c = await Case.findBy('title', request.input('title')) + + // if (c == null) { + let c = new Case() + c.id = await uuidv4() + c.title = request.input('title') + c.description = request.input('description') + c.language = request.input('language') + c.domain = request.input('domain') + c.specialty = request.input('specialty') + c.keywords = request.input('keywords') + c.original_date = request.input('original_date') + + let cv = new CaseVersion() + cv.id = await uuidv4() + cv.source = request.input('source') + + await c.versions().save(cv) + await c.users().attach(auth.user.id, (row) => { + row.role = 0 + }) + + c.versions = await c.versions().fetch() + c.users = await c.users().fetch() + return response.json(c) + // } else return response.status(500).json('title already exists') } catch (e) { console.log(e) @@ -101,7 +102,8 @@ class CaseController { c.domain = request.input('domain') c.specialty = request.input('specialty') c.keywords = request.input('keywords') - + c.original_date = request.input('original_date') + let cv = new CaseVersion() cv.source = request.input('source') cv.id = await uuidv4() diff --git a/src/adonisjs/database/migrations/1594320749374_case_schema.js b/src/adonisjs/database/migrations/1594320749374_case_schema.js index 8ab829a..6933a66 100644 --- a/src/adonisjs/database/migrations/1594320749374_case_schema.js +++ b/src/adonisjs/database/migrations/1594320749374_case_schema.js @@ -10,12 +10,13 @@ class CaseSchema extends Schema { table.uuid('id') table.primary('id') - table.string('title').notNullable().unique() + table.string('title').notNullable() table.string('description') table.string('language', 5) table.string('domain', 50) table.string('specialty', 50) table.string('keywords', 512) + table.string('original_date', 10) // table.uuid('user_id').references('id').inTable('users').index('user_id'); diff --git a/src/adonisjs/database/seeds/InitialSeeder.js b/src/adonisjs/database/seeds/InitialSeeder.js index bbc849f..870c7e3 100644 --- a/src/adonisjs/database/seeds/InitialSeeder.js +++ b/src/adonisjs/database/seeds/InitialSeeder.js @@ -17,6 +17,7 @@ const CaseVersion = use('App/Models/v1/CaseVersion'); const Case = use('App/Models/v1/Case'); const User = use('App/Models/v1/User'); const Quest = use('App/Models/v1/Quest'); +const Artifact = use('App/Models/v1/Artifact'); const Role = use('App/Models/v1/Role'); const Permission = use('App/Models/v1/Permission'); @@ -117,7 +118,14 @@ class UserSeeder { cv.source = fs.readFileSync(RESOURCE_DIR + 'case.md', 'utf8') cv.id = await uuidv4() - + let artifact = new Artifact() +// RESOURCE_DIR + 'hospital-background.png' + // let fs_path = Helpers.publicPath('/resources/artifacts/') + // let case_relative_path = this.relativePath + // fs_path += 'cases/' + case_id + '/' + // case_relative_path += 'cases/' + case_id + '/' + + await c.artifacts().save(cv, trx) await c.versions().save(cv, trx) diff --git a/src/adonisjs/resources/hospital-background.png b/src/adonisjs/resources/hospital-background.png new file mode 100644 index 0000000..7f64e05 Binary files /dev/null and b/src/adonisjs/resources/hospital-background.png differ