From 67a01dcd759509261180d01cc938e71021971a8d Mon Sep 17 00:00:00 2001 From: Egor Didenko Date: Wed, 15 Nov 2023 15:56:57 +0300 Subject: [PATCH] feat(rest-client): add AWS Rekognition Moderation addon --- packages/rest-client/src/types/AddonName.ts | 1 + packages/rest-client/src/types/AddonParams.ts | 3 ++ packages/rest-client/src/types/AppData.ts | 34 ++++++++++++------- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/packages/rest-client/src/types/AddonName.ts b/packages/rest-client/src/types/AddonName.ts index 59bbf6aea..52330770d 100644 --- a/packages/rest-client/src/types/AddonName.ts +++ b/packages/rest-client/src/types/AddonName.ts @@ -1,5 +1,6 @@ export enum AddonName { UC_CLAMAV_VIRUS_SCAN = 'uc_clamav_virus_scan', AWS_REKOGNITION_DETECT_LABELS = 'aws_rekognition_detect_labels', + AWS_REKOGNITION_DETECT_MODERATION_LABELS = 'aws_rekognition_detect_moderation_labels', REMOVE_BG = 'remove_bg' } diff --git a/packages/rest-client/src/types/AddonParams.ts b/packages/rest-client/src/types/AddonParams.ts index 6604a6e34..4c08740c5 100644 --- a/packages/rest-client/src/types/AddonParams.ts +++ b/packages/rest-client/src/types/AddonParams.ts @@ -6,6 +6,8 @@ export type AddonUcClamavVirusScanParams = { export type AddonAwsRekognitionDetectLabelsParams = undefined +export type AddonAwsRekognitionModerationLabelsParams = undefined + export type AddonRemoveBgParams = { crop?: boolean crop_margin?: string @@ -22,5 +24,6 @@ export type AddonRemoveBgParams = { export type AddonParams = { [AddonName.UC_CLAMAV_VIRUS_SCAN]: AddonUcClamavVirusScanParams [AddonName.AWS_REKOGNITION_DETECT_LABELS]: AddonAwsRekognitionDetectLabelsParams + [AddonName.AWS_REKOGNITION_DETECT_MODERATION_LABELS]: AddonAwsRekognitionModerationLabelsParams [AddonName.REMOVE_BG]: AddonRemoveBgParams } diff --git a/packages/rest-client/src/types/AppData.ts b/packages/rest-client/src/types/AppData.ts index 657fef4b8..24048e203 100644 --- a/packages/rest-client/src/types/AppData.ts +++ b/packages/rest-client/src/types/AppData.ts @@ -1,14 +1,17 @@ import { AddonName } from './AddonName' +export type TechFieldsAppData = { + version: string + datetime_created: string + datetime_updated: string +} + export type ClamavVirusScan = { data: { infected: boolean infected_with: string } - version: string - datetime_created: string - datetime_updated: string -} +} & TechFieldsAppData export type AwsRekognitionDetectLabelParent = { Name: string @@ -36,22 +39,29 @@ export type AwsRekognitionDetectLabels = { LabelModelVersion: string Labels: AwsRekognitionDetectLabel[] } - version: string - datetime_created: string - datetime_updated: string -} +} & TechFieldsAppData + +export type AwsRekognitionDetectModerationLabel = Pick< + AwsRekognitionDetectLabel, + 'Confidence' | 'Name' +> & { ParentName: string } + +export type AwsRekognitionDetectModerationLabels = { + data: { + ModerationModelVersion: string + ModerationLabels: AwsRekognitionDetectModerationLabel[] + } +} & TechFieldsAppData export type RemoveBg = { data: { foreground_type: string } - version: string - datetime_created: string - datetime_updated: string -} +} & TechFieldsAppData export type AppData = { [AddonName.UC_CLAMAV_VIRUS_SCAN]?: ClamavVirusScan [AddonName.AWS_REKOGNITION_DETECT_LABELS]?: AwsRekognitionDetectLabels + [AddonName.AWS_REKOGNITION_DETECT_MODERATION_LABELS]: AwsRekognitionDetectModerationLabels [AddonName.REMOVE_BG]?: RemoveBg }