Created
October 12, 2018 10:38
-
-
Save ajiehatajie/abbc38a5003036309aad917e3d4d577c to your computer and use it in GitHub Desktop.
controller adonisjs dengan swagger
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict' | |
const Ktp = use('App/Models/Ktp') | |
const Database = use('Database') | |
const { validate } = use('Validator') | |
class KtpController { | |
/** | |
* @swagger | |
* /api/v2/ktp: | |
* get: | |
* tags: | |
* - Test | |
* summary: Show Data All Ektp In Datatabse with paging 20 | |
* | |
* responses: | |
* 200: | |
* description: Get Data Ktp Paging 1-20 | |
* example: | |
* ktpelmu: { | |
* code: 200, | |
* status: "success", | |
* data: { | |
* ktp: { | |
* total: 6100, | |
* perPage: 20, | |
* page: 1, | |
* lastPage: 305, | |
* data: [ | |
* { | |
* id: 6100, | |
* kecamatan_id: 1, | |
* user_id: 17, | |
* update_by: 17, | |
* total: 100, | |
* total_update: 100, | |
* notes_create: "The API users a bearer token to authenticate, and requests and accepts raw json. To test, I accessed the API using Postman, and everything worked wonderfully.", | |
* notes_update: "The API users a bearer token to authenticate, and requests and accepts raw json. To test, I accessed the API using Postman, and everything worked wonderfully.", | |
* date_submission: "2018-01-29T17:00:00.000Z", | |
* status: 1, | |
* created_at: "2018-01-30T16:14:10.000Z", | |
* updated_at: "2018-01-30T16:14:10.000Z" | |
* } | |
* ] | |
* } | |
* }, | |
* message: "data di temukan" | |
* | |
* } | |
*/ | |
async index({response}) { | |
const data = await Database.table('ktps').orderBy('id','desc').paginate(1,20) | |
const respon = { | |
code:200, | |
status :"success", | |
data:{ktp:data}, | |
message:'data di temukan' | |
} | |
return response.send({ktpelmu:respon}) | |
} | |
/** | |
* @swagger | |
* /api/v2/ktp/cetak: | |
* get: | |
* tags: | |
* - Test | |
* summary: Mencari Data Ektp yang sudah tercetak di Kecamatan | |
* parameters: | |
* - name: kecamatan | |
* description: masukan id kecamatan yang akan di cari misal cibinong id kecamatan nya 3 | |
* in: query | |
* required: true | |
* type: integer | |
* - name: tgl | |
* description: tgl foto contoh format tanggal 2016-03-05 | |
* in: query | |
* required: true | |
* type: string | |
* responses: | |
* 200: | |
* description: Mencari Data Ektp yang sudah tercetak di Kecamatan | |
* example: | |
* ktpelmu: { | |
* code: 200, | |
* status: "success", | |
* data: { | |
* kecamatan: { | |
* id: 3, | |
* name: "Cibinong", | |
* created_at: "2017-09-22 04:50:05", | |
* updated_at: "2017-09-22 04:50:05" | |
* }, | |
* user: { | |
* id: 2, | |
* email: "ommpimpaa@gmail.com", | |
* name: "Arul", | |
* kecamatan_id: 3, | |
* status: 1, | |
* roles: "user", | |
* created_at: "2017-09-23 02:09:05", | |
* updated_at: "2017-09-23 02:09:05" | |
* }, | |
* ktp: { | |
* id: 1469, | |
* kecamatan_id: 3, | |
* user_id: 2, | |
* update_by: 2, | |
* total: 100, | |
* total_update: 100, | |
* notes_create: "Informasi pengambilan KTP Elektronik anda dapat di cek Desa/Kelurahan pemohon. Terimakasih", | |
* notes_update: "Informasi pengambilan KTP Elektronik anda dapat di cek Desa/Kelurahan pemohon. Terimakasih", | |
* date_submission: "2016-03-04T17:00:00.000Z", | |
* status: 1, | |
* created_at: "2017-11-24 23:56:01", | |
* updated_at: "2017-11-24 23:56:01" | |
* } | |
* }, | |
* message: "data di temukan" | |
* | |
* } | |
* 404: | |
* description: Jika Ektp Belum Tercetak | |
* example: | |
* ktpelmu: { | |
* code: 404, | |
* status: "error", | |
* data: { | |
* kecamatan: { | |
* id: 3, | |
* name: "Cibinong", | |
* created_at: "2017-09-22 04:50:05", | |
* updated_at: "2017-09-22 04:50:05" | |
* }, | |
* user: { | |
* id: 2, | |
* email: "ommpimpaa@gmail.com", | |
* name: "Arul", | |
* kecamatan_id: 3, | |
* status: 1, | |
* roles: "user", | |
* created_at: "2017-09-23 02:09:05", | |
* updated_at: "2017-09-23 02:09:05" | |
* }, | |
* ktp: { | |
* id: 6098, | |
* kecamatan_id: 3, | |
* user_id: 2, | |
* update_by: 2, | |
* total: 100, | |
* total_update: 100, | |
* notes_create: "Pengajuan KTP el tanggal 30 September 2016 sudah tercetak khusus pengajuan atau perekam baru dan dapat diambil di kecamatan cibinong UNTUK PENGAJUAN KTP EL KARENA HILANG, RUSAK, ATAU PERGANTIAN (ALAMAT, RAKAM MASSAL DLL) BELUM TERCETAK", | |
* notes_update: "Pengajuan KTP el tanggal 30 September 2016 sudah tercetak khusus pengajuan atau perekam baru dan dapat diambil di kecamatan cibinong UNTUK PENGAJUAN KTP EL KARENA HILANG, RUSAK, ATAU PERGANTIAN (ALAMAT, RAKAM MASSAL DLL) BELUM TERCETAK", | |
* date_submission: "2016-09-29T17:00:00.000Z", | |
* status: 1, | |
* created_at: "2018-01-16 15:22:01", | |
* updated_at: "2018-01-16 15:22:01" | |
* } | |
* }, | |
* message: "data tidak di temukan" | |
* } | |
*/ | |
async Tercetak({ request, view, response, params}){ | |
const req = request.all() | |
let tgl = req.tgl | |
let kecamatan = req.kecamatan | |
const rules = { | |
tgl: 'required', | |
kecamatan: 'required' | |
} | |
const validation = await validate(request.all(), rules) | |
if (validation.fails()) { | |
respon = { | |
code:401, | |
status :"error", | |
data:[], | |
message:'kecamatan dan tanggal tidak boleh kosong' | |
} | |
return response.send(respon) | |
} | |
console.log(req) | |
var respon = [] | |
try { | |
const ktp = await Ktp.query().where('kecamatan_id',kecamatan ).where('date_submission',tgl ).first() | |
//const ktp = await Ktp.find(1) | |
const data = await ktp.kecamatan().fetch() | |
const user = await ktp.user().fetch() | |
respon = { | |
code:200, | |
status :"success", | |
data:{kecamatan:data,user,ktp}, | |
message:'data di temukan' | |
} | |
} catch (error) { | |
const ktp = await Ktp.query().where('kecamatan_id', kecamatan).orderBy('date_submission','desc').first() | |
if(ktp == null ){ | |
console.log('is null bro',ktp) | |
respon = { | |
code:404, | |
status :"error", | |
data:[], | |
message:'data tidak di temukan' | |
} | |
} else { | |
console.log('is not null bro',ktp) | |
const data = await ktp.kecamatan().fetch() | |
const user = await ktp.user().fetch() | |
respon = { | |
code:404, | |
status :"error", | |
data:{kecamatan:data,user,ktp}, | |
message:'data tidak di temukan' | |
} | |
} | |
} | |
//return ktp; | |
return response.status(200).send({ktpelmu:respon}) | |
} | |
async kecamatan({ request, view, response, auth ,params}){ | |
var respon = [] | |
let kecamatan = params.kecamatan | |
const rules = { | |
kecamatan: 'required' | |
} | |
const validation = await validate(kecamatan, rules) | |
if (validation.fails()) { | |
respon = { | |
code:401, | |
status :"error", | |
data:[], | |
message:'kecamatan tidak boleh kosong' | |
} | |
return response.send(respon) | |
} | |
try { | |
const data = await Ktp.query().where('kecamatan_id', kecamatan).orderBy('updated_at','desc').first() | |
if(data == null ){ | |
respon = { | |
code:404, | |
status :"error", | |
data:[], | |
message:'data tidak di temukan' | |
} | |
} else { | |
respon = { | |
code:200, | |
status :"success", | |
data:data, | |
message:'data di temukan' | |
} | |
} | |
} catch (error) { | |
respon = { | |
code:404, | |
status :"error", | |
data:[], | |
message:'data tidak di temukan' | |
} | |
} | |
return response.status(200).send({ktpelmu:respon}) | |
} | |
} | |
module.exports = KtpController |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment