Skip to content

Instantly share code, notes, and snippets.

@ajiehatajie
Created October 12, 2018 10:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ajiehatajie/abbc38a5003036309aad917e3d4d577c to your computer and use it in GitHub Desktop.
Save ajiehatajie/abbc38a5003036309aad917e3d4d577c to your computer and use it in GitHub Desktop.
controller adonisjs dengan swagger
'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