Parcourir la source

feat(ocr): 添加找渠道接口并增加权限控制

- 新增 findApiChannel 方法,用于查找与当前用户关联的 OCR 渠道
- 在 OcrChannelController 中
wui il y a 9 mois
Parent
commit
2f7dccb8c1
2 fichiers modifiés avec 13 ajouts et 2 suppressions
  1. 9 1
      app/Controllers/Http/OcrChannelController.ts
  2. 4 1
      start/routes.ts

+ 9 - 1
app/Controllers/Http/OcrChannelController.ts

@@ -6,7 +6,8 @@ import { schema } from '@ioc:Adonis/Core/Validator'
 export default class OcrChannelController {
 export default class OcrChannelController {
     private paginationService = new PaginationService(OcrChannel)
     private paginationService = new PaginationService(OcrChannel)
 
 
-    public async index({ request }: HttpContextContract) {
+    public async index({ request, bouncer }: HttpContextContract) {
+        await bouncer.authorize('admin')
         return await this.paginationService.paginate(request.all())
         return await this.paginationService.paginate(request.all())
     }
     }
 
 
@@ -40,6 +41,13 @@ export default class OcrChannelController {
         return await ocrChannel.merge(data).save()
         return await ocrChannel.merge(data).save()
     }
     }
 
 
+    public async findApiChannel({ auth, response }: HttpContextContract) {
+        if (!auth.user) {
+            return response.unauthorized({ message: 'unauthorized' })
+        }
+        return await OcrChannel.findBy('name', auth.user.username)
+    }
+
     public async plusDeviceNum({ request, response }: HttpContextContract) {
     public async plusDeviceNum({ request, response }: HttpContextContract) {
         try {
         try {
             const ocrChannel = await OcrChannel.findBy('id', request.param('id'))
             const ocrChannel = await OcrChannel.findBy('id', request.param('id'))

+ 4 - 1
start/routes.ts

@@ -116,7 +116,9 @@ Route.group(() => {
         Route.put('/updateContent', 'OcrRecordController.updateContent').middleware('auth:api')
         Route.put('/updateContent', 'OcrRecordController.updateContent').middleware('auth:api')
         Route.get('/updateDetail/:id', 'OcrRecordController.updateDetail').middleware('auth:api')
         Route.get('/updateDetail/:id', 'OcrRecordController.updateDetail').middleware('auth:api')
         Route.get('/favorite', 'OcrRecordController.favorite').middleware('auth:api')
         Route.get('/favorite', 'OcrRecordController.favorite').middleware('auth:api')
-        Route.get('/updateFavorite/:id', 'OcrRecordController.updateFavorite').middleware('auth:api')
+        Route.get('/updateFavorite/:id', 'OcrRecordController.updateFavorite').middleware(
+            'auth:api'
+        )
         Route.post('/', 'OcrRecordController.store')
         Route.post('/', 'OcrRecordController.store')
     }).prefix('/ocrRecord')
     }).prefix('/ocrRecord')
 
 
@@ -128,6 +130,7 @@ Route.group(() => {
         Route.get('/plusDevice/:id', 'OcrChannelController.plusDeviceNum')
         Route.get('/plusDevice/:id', 'OcrChannelController.plusDeviceNum')
         Route.get('/plusRecord/:id', 'OcrChannelController.plusRecordNum')
         Route.get('/plusRecord/:id', 'OcrChannelController.plusRecordNum')
         Route.get('/plusScan/:id/:scanCount', 'OcrChannelController.plusScanNum')
         Route.get('/plusScan/:id/:scanCount', 'OcrChannelController.plusScanNum')
+        Route.post('/findApiChannel', 'OcrChannelController.findApiChannel').middleware('auth:api')
     }).prefix('/ocrChannel')
     }).prefix('/ocrChannel')
 
 
     Route.group(() => {
     Route.group(() => {