@regulaforensics/face-sdk 6.5.67-beta → 6.5.84-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RNFaceSDK.podspec +2 -2
- package/android/build.gradle +2 -2
- package/android/cordova.gradle +2 -2
- package/examples/capacitor/README.md +4 -4
- package/examples/capacitor/package.json +5 -5
- package/examples/capacitor/scripts/android.sh +9 -0
- package/examples/capacitor/scripts/ios.sh +8 -0
- package/examples/capacitor/scripts/setup.sh +4 -0
- package/examples/cordova/README.md +4 -4
- package/examples/cordova/package.json +6 -11
- package/examples/cordova/scripts/android.sh +8 -0
- package/examples/cordova/scripts/ios.sh +8 -0
- package/examples/cordova/scripts/setup.sh +5 -0
- package/examples/ionic/README.md +4 -4
- package/examples/ionic/package.json +5 -5
- package/examples/ionic/scripts/android.sh +8 -0
- package/examples/ionic/scripts/ios.sh +8 -0
- package/examples/ionic/scripts/setup.sh +5 -0
- package/examples/ionic/src/app/home/home.page.ts +56 -5
- package/examples/react-native/README.md +4 -4
- package/examples/react-native/ios/Podfile.lock +319 -303
- package/examples/react-native/package.json +5 -6
- package/examples/react-native/scripts/android.sh +8 -0
- package/examples/react-native/scripts/ios.sh +8 -0
- package/examples/react-native/scripts/setup.sh +8 -0
- package/package.json +2 -1
- package/plugin.xml +2 -2
- package/www/capacitor/customization/customization.js +66 -0
- package/www/capacitor/customization/customization_colors.js +233 -0
- package/www/capacitor/customization/customization_fonts.js +106 -0
- package/www/capacitor/customization/customization_images.js +129 -0
- package/www/capacitor/customization/font.js +29 -0
- package/www/capacitor/detect_faces/detect_face_result.js +38 -0
- package/www/capacitor/detect_faces/detect_faces_attribute.js +15 -0
- package/www/capacitor/detect_faces/detect_faces_attribute_result.js +20 -0
- package/www/capacitor/detect_faces/detect_faces_backend_exception.js +23 -0
- package/www/capacitor/detect_faces/detect_faces_config.js +14 -0
- package/www/capacitor/detect_faces/detect_faces_exception.js +30 -0
- package/www/capacitor/detect_faces/detect_faces_request.js +67 -0
- package/www/capacitor/detect_faces/detect_faces_response.js +24 -0
- package/www/capacitor/detect_faces/detect_faces_scenario.js +10 -0
- package/www/capacitor/face_capture/face_capture_config.js +28 -0
- package/www/capacitor/face_capture/face_capture_exception.js +25 -0
- package/www/capacitor/face_capture/face_capture_image.js +26 -0
- package/www/capacitor/face_capture/face_capture_response.js +17 -0
- package/www/capacitor/image_params/output_image_crop.js +21 -0
- package/www/capacitor/image_params/output_image_params.js +9 -0
- package/www/capacitor/image_params/point.js +14 -0
- package/www/capacitor/image_params/rect.js +18 -0
- package/www/capacitor/image_params/size.js +9 -0
- package/www/capacitor/image_quality/image_quality_characteristic.js +24 -0
- package/www/capacitor/image_quality/image_quality_characteristic_name.js +58 -0
- package/www/capacitor/image_quality/image_quality_group.js +332 -0
- package/www/capacitor/image_quality/image_quality_range.js +26 -0
- package/www/capacitor/image_quality/image_quality_result.js +40 -0
- package/www/capacitor/index.js +179 -4
- package/www/capacitor/init/face_sdk_version.js +16 -0
- package/www/capacitor/match_faces/compared_face.js +21 -0
- package/www/capacitor/match_faces/compared_faces_pair.js +23 -0
- package/www/capacitor/match_faces/compared_faces_split.js +22 -0
- package/www/capacitor/match_faces/match_faces_backend_exception.js +14 -0
- package/www/capacitor/match_faces/match_faces_config.js +12 -0
- package/www/capacitor/match_faces/match_faces_detection.js +25 -0
- package/www/capacitor/match_faces/match_faces_detection_face.js +28 -0
- package/www/capacitor/match_faces/match_faces_exception.js +30 -0
- package/www/capacitor/match_faces/match_faces_image.js +25 -0
- package/www/capacitor/match_faces/match_faces_request.js +13 -0
- package/www/capacitor/match_faces/match_faces_response.js +28 -0
- package/www/capacitor/person_database/edit_group_persons_request.js +9 -0
- package/www/capacitor/person_database/image_upload.js +16 -0
- package/www/capacitor/person_database/pageable_item_list.js +22 -0
- package/www/capacitor/person_database/person.js +22 -0
- package/www/capacitor/person_database/person_database.js +145 -0
- package/www/capacitor/person_database/person_group.js +18 -0
- package/www/capacitor/person_database/person_image.js +22 -0
- package/www/capacitor/person_database/search_person.js +31 -0
- package/www/capacitor/person_database/search_person_detection.js +22 -0
- package/www/capacitor/person_database/search_person_image.js +26 -0
- package/www/capacitor/person_database/search_person_request.js +17 -0
- package/www/cordova.js +3478 -385
- package/www/react-native/customization/customization.js +66 -0
- package/www/react-native/customization/customization_colors.js +233 -0
- package/www/react-native/customization/customization_fonts.js +106 -0
- package/www/react-native/customization/customization_images.js +129 -0
- package/www/react-native/customization/font.js +29 -0
- package/www/react-native/detect_faces/detect_face_result.js +38 -0
- package/www/react-native/detect_faces/detect_faces_attribute.js +15 -0
- package/www/react-native/detect_faces/detect_faces_attribute_result.js +20 -0
- package/www/react-native/detect_faces/detect_faces_backend_exception.js +23 -0
- package/www/react-native/detect_faces/detect_faces_config.js +14 -0
- package/www/react-native/detect_faces/detect_faces_exception.js +30 -0
- package/www/react-native/detect_faces/detect_faces_request.js +67 -0
- package/www/react-native/detect_faces/detect_faces_response.js +24 -0
- package/www/react-native/detect_faces/detect_faces_scenario.js +10 -0
- package/www/react-native/face_capture/face_capture_config.js +28 -0
- package/www/react-native/face_capture/face_capture_exception.js +25 -0
- package/www/react-native/face_capture/face_capture_image.js +26 -0
- package/www/react-native/face_capture/face_capture_response.js +17 -0
- package/www/react-native/image_params/output_image_crop.js +21 -0
- package/www/react-native/image_params/output_image_params.js +9 -0
- package/www/react-native/image_params/point.js +14 -0
- package/www/react-native/image_params/rect.js +18 -0
- package/www/react-native/image_params/size.js +9 -0
- package/www/react-native/image_quality/image_quality_characteristic.js +24 -0
- package/www/react-native/image_quality/image_quality_characteristic_name.js +58 -0
- package/www/react-native/image_quality/image_quality_group.js +332 -0
- package/www/react-native/image_quality/image_quality_range.js +26 -0
- package/www/react-native/image_quality/image_quality_result.js +40 -0
- package/www/react-native/index.js +179 -4
- package/www/react-native/init/face_sdk_version.js +16 -0
- package/www/react-native/match_faces/compared_face.js +21 -0
- package/www/react-native/match_faces/compared_faces_pair.js +23 -0
- package/www/react-native/match_faces/compared_faces_split.js +22 -0
- package/www/react-native/match_faces/match_faces_backend_exception.js +14 -0
- package/www/react-native/match_faces/match_faces_config.js +12 -0
- package/www/react-native/match_faces/match_faces_detection.js +25 -0
- package/www/react-native/match_faces/match_faces_detection_face.js +28 -0
- package/www/react-native/match_faces/match_faces_exception.js +30 -0
- package/www/react-native/match_faces/match_faces_image.js +25 -0
- package/www/react-native/match_faces/match_faces_request.js +13 -0
- package/www/react-native/match_faces/match_faces_response.js +28 -0
- package/www/react-native/person_database/edit_group_persons_request.js +9 -0
- package/www/react-native/person_database/image_upload.js +16 -0
- package/www/react-native/person_database/pageable_item_list.js +22 -0
- package/www/react-native/person_database/person.js +22 -0
- package/www/react-native/person_database/person_database.js +145 -0
- package/www/react-native/person_database/person_group.js +18 -0
- package/www/react-native/person_database/person_image.js +22 -0
- package/www/react-native/person_database/search_person.js +31 -0
- package/www/react-native/person_database/search_person_detection.js +22 -0
- package/www/react-native/person_database/search_person_image.js +26 -0
- package/www/react-native/person_database/search_person_request.js +17 -0
- package/www/types/customization/customization.d.ts +46 -0
- package/www/types/customization/customization_colors.d.ts +37 -0
- package/www/types/customization/customization_fonts.d.ts +23 -0
- package/www/types/customization/customization_images.d.ts +24 -0
- package/www/types/customization/font.d.ts +41 -0
- package/www/types/detect_faces/detect_face_result.d.ts +16 -0
- package/www/types/detect_faces/detect_faces_attribute.d.ts +15 -0
- package/www/types/detect_faces/detect_faces_attribute_result.d.ts +11 -0
- package/www/types/detect_faces/detect_faces_backend_exception.d.ts +15 -0
- package/www/types/detect_faces/detect_faces_config.d.ts +37 -0
- package/www/types/detect_faces/detect_faces_exception.d.ts +24 -0
- package/www/types/detect_faces/detect_faces_request.d.ts +80 -0
- package/www/types/detect_faces/detect_faces_response.d.ts +12 -0
- package/www/types/detect_faces/detect_faces_scenario.d.ts +10 -0
- package/www/types/face_capture/face_capture_config.d.ts +39 -0
- package/www/types/face_capture/face_capture_exception.d.ts +17 -0
- package/www/types/face_capture/face_capture_image.d.ts +39 -0
- package/www/types/face_capture/face_capture_response.d.ts +9 -0
- package/www/types/image_params/output_image_crop.d.ts +49 -0
- package/www/types/image_params/output_image_params.d.ts +28 -0
- package/www/types/image_params/point.d.ts +9 -0
- package/www/types/image_params/rect.d.ts +8 -0
- package/www/types/image_params/size.d.ts +6 -0
- package/www/types/image_quality/image_quality_characteristic.d.ts +7 -0
- package/www/types/image_quality/image_quality_characteristic_name.d.ts +61 -0
- package/www/types/image_quality/image_quality_group.d.ts +418 -0
- package/www/types/image_quality/image_quality_range.d.ts +8 -0
- package/www/types/image_quality/image_quality_result.d.ts +30 -0
- package/www/types/index.d.ts +140 -4
- package/www/types/init/face_sdk_version.d.ts +16 -0
- package/www/types/match_faces/compared_face.d.ts +29 -0
- package/www/types/match_faces/compared_faces_pair.d.ts +36 -0
- package/www/types/match_faces/compared_faces_split.d.ts +8 -0
- package/www/types/match_faces/match_faces_backend_exception.d.ts +6 -0
- package/www/types/match_faces/match_faces_config.d.ts +14 -0
- package/www/types/match_faces/match_faces_detection.d.ts +30 -0
- package/www/types/match_faces/match_faces_detection_face.d.ts +43 -0
- package/www/types/match_faces/match_faces_exception.d.ts +21 -0
- package/www/types/match_faces/match_faces_image.d.ts +34 -0
- package/www/types/match_faces/match_faces_request.d.ts +34 -0
- package/www/types/match_faces/match_faces_response.d.ts +27 -0
- package/www/types/person_database/edit_group_persons_request.d.ts +8 -0
- package/www/types/person_database/image_upload.d.ts +20 -0
- package/www/types/person_database/pageable_item_list.d.ts +7 -0
- package/www/types/person_database/person.d.ts +33 -0
- package/www/types/person_database/person_database.d.ts +95 -0
- package/www/types/person_database/person_group.d.ts +22 -0
- package/www/types/person_database/person_image.d.ts +10 -0
- package/www/types/person_database/search_person.d.ts +31 -0
- package/www/types/person_database/search_person_detection.d.ts +11 -0
- package/www/types/person_database/search_person_image.d.ts +25 -0
- package/www/types/person_database/search_person_request.d.ts +39 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ComparedFacesPair } from './compared_faces_pair'
|
|
2
|
+
|
|
3
|
+
export class ComparedFacesSplit {
|
|
4
|
+
matchedFaces
|
|
5
|
+
unmatchedFaces
|
|
6
|
+
|
|
7
|
+
static fromJson(jsonObject) {
|
|
8
|
+
if (jsonObject == null) return null
|
|
9
|
+
const result = new ComparedFacesSplit()
|
|
10
|
+
|
|
11
|
+
result.matchedFaces = []
|
|
12
|
+
if (jsonObject["matchedFaces"] != null)
|
|
13
|
+
for (const item of jsonObject["matchedFaces"])
|
|
14
|
+
result.matchedFaces.push(ComparedFacesPair.fromJson(item))
|
|
15
|
+
result.unmatchedFaces = []
|
|
16
|
+
if (jsonObject["unmatchedFaces"] != null)
|
|
17
|
+
for (const item of jsonObject["unmatchedFaces"])
|
|
18
|
+
result.unmatchedFaces.push(ComparedFacesPair.fromJson(item))
|
|
19
|
+
|
|
20
|
+
return result
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export class MatchFacesBackendException {
|
|
2
|
+
code
|
|
3
|
+
message
|
|
4
|
+
|
|
5
|
+
static fromJson(jsonObject) {
|
|
6
|
+
if (jsonObject == null) return null
|
|
7
|
+
const result = new MatchFacesBackendException()
|
|
8
|
+
|
|
9
|
+
result.code = jsonObject["code"]
|
|
10
|
+
result.message = jsonObject["message"] ?? ""
|
|
11
|
+
|
|
12
|
+
return result
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { MatchFacesImage } from './match_faces_image'
|
|
2
|
+
import { MatchFacesDetectionFace } from './match_faces_detection_face'
|
|
3
|
+
import { MatchFacesException } from './match_faces_exception'
|
|
4
|
+
|
|
5
|
+
export class MatchFacesDetection {
|
|
6
|
+
imageIndex
|
|
7
|
+
image
|
|
8
|
+
faces
|
|
9
|
+
error
|
|
10
|
+
|
|
11
|
+
static fromJson(jsonObject) {
|
|
12
|
+
if (jsonObject == null) return null
|
|
13
|
+
const result = new MatchFacesDetection()
|
|
14
|
+
|
|
15
|
+
result.imageIndex = jsonObject["imageIndex"]
|
|
16
|
+
result.image = MatchFacesImage.fromJson(jsonObject["image"])
|
|
17
|
+
result.faces = []
|
|
18
|
+
if (jsonObject["faces"] != null)
|
|
19
|
+
for (const item of jsonObject["faces"])
|
|
20
|
+
result.faces.push(MatchFacesDetectionFace.fromJson(item))
|
|
21
|
+
result.error = MatchFacesException.fromJson(jsonObject["error"])
|
|
22
|
+
|
|
23
|
+
return result
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Point } from '../image_params/point'
|
|
2
|
+
import { Rect } from '../image_params/rect'
|
|
3
|
+
|
|
4
|
+
export class MatchFacesDetectionFace {
|
|
5
|
+
faceIndex
|
|
6
|
+
landmarks
|
|
7
|
+
faceRect
|
|
8
|
+
rotationAngle
|
|
9
|
+
originalRect
|
|
10
|
+
crop
|
|
11
|
+
|
|
12
|
+
static fromJson(jsonObject) {
|
|
13
|
+
if (jsonObject == null) return null
|
|
14
|
+
const result = new MatchFacesDetectionFace()
|
|
15
|
+
|
|
16
|
+
result.faceIndex = jsonObject["faceIndex"]
|
|
17
|
+
result.landmarks = []
|
|
18
|
+
if (jsonObject["landmarks"] != null)
|
|
19
|
+
for (const item of jsonObject["landmarks"])
|
|
20
|
+
result.landmarks.push(Point.fromJson(item))
|
|
21
|
+
result.faceRect = Rect.fromJson(jsonObject["faceRect"])
|
|
22
|
+
result.rotationAngle = jsonObject["rotationAngle"]
|
|
23
|
+
result.originalRect = Rect.fromJson(jsonObject["originalRect"])
|
|
24
|
+
result.crop = jsonObject["crop"]
|
|
25
|
+
|
|
26
|
+
return result
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { MatchFacesBackendException } from './match_faces_backend_exception'
|
|
2
|
+
|
|
3
|
+
export class MatchFacesException {
|
|
4
|
+
code
|
|
5
|
+
message
|
|
6
|
+
underlyingError
|
|
7
|
+
|
|
8
|
+
static fromJson(jsonObject) {
|
|
9
|
+
if (jsonObject == null) return null
|
|
10
|
+
const result = new MatchFacesException()
|
|
11
|
+
|
|
12
|
+
result.code = jsonObject["code"]
|
|
13
|
+
result.message = jsonObject["message"] ?? ""
|
|
14
|
+
result.underlyingError = MatchFacesBackendException.fromJson(jsonObject["underlyingError"])
|
|
15
|
+
|
|
16
|
+
return result
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const MatchFacesErrorCode = {
|
|
21
|
+
IMAGE_EMPTY: 0,
|
|
22
|
+
FACE_NOT_DETECTED: 1,
|
|
23
|
+
LANDMARKS_NOT_DETECTED: 2,
|
|
24
|
+
FACE_ALIGNER_FAILED: 3,
|
|
25
|
+
DESCRIPTOR_EXTRACTOR_ERROR: 4,
|
|
26
|
+
IMAGES_COUNT_LIMIT_EXCEEDED: 5,
|
|
27
|
+
API_CALL_FAILED: 6,
|
|
28
|
+
PROCESSING_FAILED: 7,
|
|
29
|
+
NO_LICENSE: 8,
|
|
30
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export class MatchFacesImage {
|
|
2
|
+
image
|
|
3
|
+
imageType
|
|
4
|
+
detectAll
|
|
5
|
+
identifier
|
|
6
|
+
|
|
7
|
+
constructor(image, imageType, params) {
|
|
8
|
+
this.image = image
|
|
9
|
+
this.imageType = imageType
|
|
10
|
+
this.detectAll = params?.detectAll ?? false
|
|
11
|
+
this.identifier = ""
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
static fromJson(jsonObject) {
|
|
15
|
+
if (jsonObject == null) return null
|
|
16
|
+
const result = new MatchFacesImage()
|
|
17
|
+
|
|
18
|
+
result.image = jsonObject["image"]
|
|
19
|
+
result.imageType = jsonObject["imageType"]
|
|
20
|
+
result.detectAll = jsonObject["detectAll"]
|
|
21
|
+
result.identifier = jsonObject["identifier"]
|
|
22
|
+
|
|
23
|
+
return result
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class MatchFacesRequest {
|
|
2
|
+
images
|
|
3
|
+
outputImageParams
|
|
4
|
+
tag
|
|
5
|
+
metadata
|
|
6
|
+
|
|
7
|
+
constructor(images, params) {
|
|
8
|
+
this.images = images
|
|
9
|
+
this.outputImageParams = params?.outputImageParams
|
|
10
|
+
this.tag = params?.tag
|
|
11
|
+
this.metadata = params?.metadata
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ComparedFacesPair } from './compared_faces_pair'
|
|
2
|
+
import { MatchFacesDetection } from './match_faces_detection'
|
|
3
|
+
import { MatchFacesException } from './match_faces_exception'
|
|
4
|
+
|
|
5
|
+
export class MatchFacesResponse {
|
|
6
|
+
results
|
|
7
|
+
detections
|
|
8
|
+
tag
|
|
9
|
+
error
|
|
10
|
+
|
|
11
|
+
static fromJson(jsonObject) {
|
|
12
|
+
if (jsonObject == null) return null
|
|
13
|
+
const result = new MatchFacesResponse()
|
|
14
|
+
|
|
15
|
+
result.results = []
|
|
16
|
+
if (jsonObject["results"] != null)
|
|
17
|
+
for (const item of jsonObject["results"])
|
|
18
|
+
result.results.push(ComparedFacesPair.fromJson(item))
|
|
19
|
+
result.detections = []
|
|
20
|
+
if (jsonObject["detections"] != null)
|
|
21
|
+
for (const item of jsonObject["detections"])
|
|
22
|
+
result.detections.push(MatchFacesDetection.fromJson(item))
|
|
23
|
+
result.tag = jsonObject["tag"]
|
|
24
|
+
result.error = MatchFacesException.fromJson(jsonObject["error"])
|
|
25
|
+
|
|
26
|
+
return result
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export class ImageUpload {
|
|
2
|
+
imageData
|
|
3
|
+
imageUrl
|
|
4
|
+
|
|
5
|
+
static withImageData(imageData) {
|
|
6
|
+
var result = new ImageUpload()
|
|
7
|
+
result.imageData = imageData
|
|
8
|
+
return result
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
static withImageUrl(imageUrl) {
|
|
12
|
+
var result = new ImageUpload()
|
|
13
|
+
result.imageUrl = imageUrl
|
|
14
|
+
return result
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export class PageableItemList {
|
|
2
|
+
items
|
|
3
|
+
page
|
|
4
|
+
totalPages
|
|
5
|
+
|
|
6
|
+
static fromJson(jsonObject, fromJSON) {
|
|
7
|
+
if (jsonObject == null) return null
|
|
8
|
+
var result = new PageableItemList()
|
|
9
|
+
|
|
10
|
+
if (jsonObject["items"] != null) {
|
|
11
|
+
result.items = []
|
|
12
|
+
for (var item of jsonObject["items"]) {
|
|
13
|
+
var temp = fromJSON(item)
|
|
14
|
+
if (temp != null) result.items.push(temp)
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
result.page = jsonObject["page"]
|
|
18
|
+
result.totalPages = jsonObject["totalPages"]
|
|
19
|
+
|
|
20
|
+
return result
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export class Person {
|
|
2
|
+
name
|
|
3
|
+
updatedAt
|
|
4
|
+
groups
|
|
5
|
+
id
|
|
6
|
+
metadata
|
|
7
|
+
createdAt
|
|
8
|
+
|
|
9
|
+
static fromJson(jsonObject) {
|
|
10
|
+
if (jsonObject == null) return null
|
|
11
|
+
var result = new Person()
|
|
12
|
+
|
|
13
|
+
result.name = jsonObject["name"]
|
|
14
|
+
result.updatedAt = new Date(jsonObject["updatedAt"])
|
|
15
|
+
result.groups = jsonObject["groups"]
|
|
16
|
+
result.id = jsonObject["id"]
|
|
17
|
+
result.metadata = jsonObject["metadata"]
|
|
18
|
+
result.createdAt = new Date(jsonObject["createdAt"])
|
|
19
|
+
|
|
20
|
+
return result
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { exec } from '../internal/bridge'
|
|
2
|
+
import { Person } from './person'
|
|
3
|
+
import { PersonImage } from './person_image'
|
|
4
|
+
import { PageableItemList } from './pageable_item_list'
|
|
5
|
+
import { PersonGroup } from './person_group'
|
|
6
|
+
import { SearchPerson } from './search_person'
|
|
7
|
+
|
|
8
|
+
export class PersonDatabase {
|
|
9
|
+
async createPerson(name, params) {
|
|
10
|
+
var response = await exec("createPerson", [name, params?.groupIds, params?.metadata])
|
|
11
|
+
return this._itemResponseFromJson(response, Person.fromJson)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
async updatePerson(person) {
|
|
15
|
+
var response = await exec("updatePerson", [person])
|
|
16
|
+
return this._successResponseFromJson(response)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
async deletePerson(personId) {
|
|
20
|
+
var response = await exec("deletePerson", [personId])
|
|
21
|
+
return this._successResponseFromJson(response)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
async getPerson(personId) {
|
|
25
|
+
var response = await exec("getPerson", [personId])
|
|
26
|
+
return this._itemResponseFromJson(response, Person.fromJson)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
async addPersonImage(personId, image) {
|
|
30
|
+
var response = await exec("addPersonImage", [personId, image])
|
|
31
|
+
return this._itemResponseFromJson(response, PersonImage.fromJson)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
async deletePersonImage(personId, imageId) {
|
|
35
|
+
var response = await exec("deletePersonImage", [personId, imageId])
|
|
36
|
+
return this._successResponseFromJson(response)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async getPersonImage(personId, imageId) {
|
|
40
|
+
var response = await exec("getPersonImage", [personId, imageId])
|
|
41
|
+
return this._itemResponseFromJson(response, PersonImage.fromJson)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async getPersonImages(personId) {
|
|
45
|
+
var response = await exec("getPersonImages", [personId])
|
|
46
|
+
return this._listResponseFromJson(response, PersonImage.fromJson)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
async getPersonImagesForPage(personId, page, size) {
|
|
50
|
+
var response = await exec("getPersonImagesForPage", [personId, page, size])
|
|
51
|
+
return this._listResponseFromJson(response, PersonImage.fromJson)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
async createGroup(name, params) {
|
|
55
|
+
var response = await exec("createGroup", [name, params?.metadata])
|
|
56
|
+
return this._itemResponseFromJson(response, PersonGroup.fromJson)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
async updateGroup(group) {
|
|
60
|
+
var response = await exec("updateGroup", [group])
|
|
61
|
+
return this._successResponseFromJson(response)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
async editPersonsInGroup(groupId, request) {
|
|
65
|
+
var response = await exec("editPersonsInGroup", [groupId, request])
|
|
66
|
+
return this._successResponseFromJson(response)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
async deleteGroup(groupId) {
|
|
70
|
+
var response = await exec("deleteGroup", [groupId])
|
|
71
|
+
return this._successResponseFromJson(response)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
async getGroup(groupId) {
|
|
75
|
+
var response = await exec("getGroup", [groupId])
|
|
76
|
+
return this._itemResponseFromJson(response, PersonGroup.fromJson)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async getGroups() {
|
|
80
|
+
var response = await exec("getGroups", [])
|
|
81
|
+
return this._listResponseFromJson(response, PersonGroup.fromJson)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
async getGroupsForPage(page, size) {
|
|
85
|
+
var response = await exec("getGroupsForPage", [page, size])
|
|
86
|
+
return this._listResponseFromJson(response, PersonGroup.fromJson)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
async getPersonGroups(personId) {
|
|
90
|
+
var response = await exec("getPersonGroups", [personId])
|
|
91
|
+
return this._listResponseFromJson(response, PersonGroup.fromJson)
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
async getPersonGroupsForPage(personId, page, size) {
|
|
95
|
+
var response = await exec("getPersonGroupsForPage", [personId, page, size])
|
|
96
|
+
return this._listResponseFromJson(response, PersonGroup.fromJson)
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
async getPersonsInGroup(groupId) {
|
|
100
|
+
var response = await exec("getPersonsInGroup", [groupId])
|
|
101
|
+
return this._listResponseFromJson(response, Person.fromJson)
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
async getPersonsInGroupForPage(groupId, page, size) {
|
|
105
|
+
var response = await exec("getPersonsInGroupForPage", [groupId, page, size])
|
|
106
|
+
return this._listResponseFromJson(response, Person.fromJson)
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
async searchPerson(request) {
|
|
110
|
+
var response = await exec("searchPerson", [request])
|
|
111
|
+
|
|
112
|
+
var jsonObject = JSON.parse(response)
|
|
113
|
+
var data = null
|
|
114
|
+
if (jsonObject["data"] != null) {
|
|
115
|
+
data = []
|
|
116
|
+
for (var item of jsonObject["data"])
|
|
117
|
+
data.push(SearchPerson.fromJson(item))
|
|
118
|
+
}
|
|
119
|
+
var error = jsonObject["error"]
|
|
120
|
+
|
|
121
|
+
return [data, error]
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
_successResponseFromJson(jsonString) {
|
|
125
|
+
var jsonObject = JSON.parse(jsonString)
|
|
126
|
+
var data = jsonObject["data"]
|
|
127
|
+
var error = jsonObject["error"]
|
|
128
|
+
var success = data ?? false
|
|
129
|
+
return [success, error]
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
_itemResponseFromJson(jsonString, fromJSON) {
|
|
133
|
+
var jsonObject = JSON.parse(jsonString)
|
|
134
|
+
var data = fromJSON(jsonObject["data"])
|
|
135
|
+
var error = jsonObject["error"]
|
|
136
|
+
return [data, error]
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
_listResponseFromJson(jsonString, fromJSON) {
|
|
140
|
+
var jsonObject = JSON.parse(jsonString)
|
|
141
|
+
var data = PageableItemList.fromJson(jsonObject["data"], fromJSON)
|
|
142
|
+
var error = jsonObject["error"]
|
|
143
|
+
return [data, error]
|
|
144
|
+
}
|
|
145
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export class PersonGroup {
|
|
2
|
+
name
|
|
3
|
+
id
|
|
4
|
+
metadata
|
|
5
|
+
createdAt
|
|
6
|
+
|
|
7
|
+
static fromJson(jsonObject) {
|
|
8
|
+
if (jsonObject == null) return null
|
|
9
|
+
var result = new PersonGroup()
|
|
10
|
+
|
|
11
|
+
result.name = jsonObject["name"]
|
|
12
|
+
result.id = jsonObject["id"]
|
|
13
|
+
result.metadata = jsonObject["metadata"]
|
|
14
|
+
result.createdAt = new Date(jsonObject["createdAt"])
|
|
15
|
+
|
|
16
|
+
return result
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export class PersonImage {
|
|
2
|
+
path
|
|
3
|
+
url
|
|
4
|
+
contentType
|
|
5
|
+
id
|
|
6
|
+
metadata
|
|
7
|
+
createdAt
|
|
8
|
+
|
|
9
|
+
static fromJson(jsonObject) {
|
|
10
|
+
if (jsonObject == null) return null
|
|
11
|
+
var result = new PersonImage()
|
|
12
|
+
|
|
13
|
+
result.path = jsonObject["path"]
|
|
14
|
+
result.url = jsonObject["url"]
|
|
15
|
+
result.contentType = jsonObject["contentType"]
|
|
16
|
+
result.id = jsonObject["id"]
|
|
17
|
+
result.metadata = jsonObject["metadata"]
|
|
18
|
+
result.createdAt = new Date(jsonObject["createdAt"])
|
|
19
|
+
|
|
20
|
+
return result
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SearchPersonImage } from './search_person_image'
|
|
2
|
+
import { SearchPersonDetection } from './search_person_detection'
|
|
3
|
+
|
|
4
|
+
export class SearchPerson {
|
|
5
|
+
images = []
|
|
6
|
+
detection
|
|
7
|
+
name
|
|
8
|
+
updatedAt
|
|
9
|
+
groups
|
|
10
|
+
id
|
|
11
|
+
metadata
|
|
12
|
+
createdAt
|
|
13
|
+
|
|
14
|
+
static fromJson(jsonObject) {
|
|
15
|
+
if (jsonObject == null) return null
|
|
16
|
+
var result = new SearchPerson()
|
|
17
|
+
|
|
18
|
+
if (jsonObject["images"] != null)
|
|
19
|
+
for (var item of jsonObject["images"])
|
|
20
|
+
result.images.push(SearchPersonImage.fromJson(item))
|
|
21
|
+
result.detection = SearchPersonDetection.fromJson(jsonObject["detection"])
|
|
22
|
+
result.name = jsonObject["name"]
|
|
23
|
+
result.updatedAt = new Date(jsonObject["updatedAt"])
|
|
24
|
+
result.groups = jsonObject["groups"]
|
|
25
|
+
result.id = jsonObject["id"]
|
|
26
|
+
result.metadata = jsonObject["metadata"]
|
|
27
|
+
result.createdAt = new Date(jsonObject["createdAt"])
|
|
28
|
+
|
|
29
|
+
return result
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Point } from "../image_params/point"
|
|
2
|
+
import { Rect } from "../image_params/rect"
|
|
3
|
+
|
|
4
|
+
export class SearchPersonDetection {
|
|
5
|
+
landmarks = []
|
|
6
|
+
rect
|
|
7
|
+
crop
|
|
8
|
+
rotationAngle
|
|
9
|
+
|
|
10
|
+
static fromJson(jsonObject) {
|
|
11
|
+
if (jsonObject == null) return null
|
|
12
|
+
var result = new SearchPersonDetection()
|
|
13
|
+
|
|
14
|
+
for (var item of jsonObject["landmarks"])
|
|
15
|
+
result.landmarks.push(Point.fromJson(item))
|
|
16
|
+
result.rect = Rect.fromJson(jsonObject["rect"])
|
|
17
|
+
result.crop = jsonObject["crop"]
|
|
18
|
+
result.rotationAngle = jsonObject["rotationAngle"]
|
|
19
|
+
|
|
20
|
+
return result
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export class SearchPersonImage {
|
|
2
|
+
similarity
|
|
3
|
+
distance
|
|
4
|
+
path
|
|
5
|
+
url
|
|
6
|
+
contentType
|
|
7
|
+
id
|
|
8
|
+
metadata
|
|
9
|
+
createdAt
|
|
10
|
+
|
|
11
|
+
static fromJson(jsonObject) {
|
|
12
|
+
if (jsonObject == null) return null
|
|
13
|
+
var result = new SearchPersonImage()
|
|
14
|
+
|
|
15
|
+
result.similarity = jsonObject["similarity"]
|
|
16
|
+
result.distance = jsonObject["distance"]
|
|
17
|
+
result.path = jsonObject["path"]
|
|
18
|
+
result.url = jsonObject["url"]
|
|
19
|
+
result.contentType = jsonObject["contentType"]
|
|
20
|
+
result.id = jsonObject["id"]
|
|
21
|
+
result.metadata = jsonObject["metadata"]
|
|
22
|
+
result.createdAt = new Date(jsonObject["createdAt"])
|
|
23
|
+
|
|
24
|
+
return result
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export class SearchPersonRequest {
|
|
2
|
+
imageUpload
|
|
3
|
+
groupIdsForSearch
|
|
4
|
+
threshold
|
|
5
|
+
limit
|
|
6
|
+
detectAll
|
|
7
|
+
outputImageParams
|
|
8
|
+
|
|
9
|
+
constructor(image, params) {
|
|
10
|
+
this.imageUpload = image
|
|
11
|
+
this.groupIdsForSearch = params?.groupIdsForSearch
|
|
12
|
+
this.threshold = params?.threshold
|
|
13
|
+
this.limit = params?.limit
|
|
14
|
+
this.detectAll = params?.detectAll ?? false
|
|
15
|
+
this.outputImageParams = params?.outputImageParams
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CustomizationColors } from './customization_colors'
|
|
2
|
+
import { CustomizationFonts } from './customization_fonts'
|
|
3
|
+
import { CustomizationImages } from './customization_images'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Params that relate to the camera view controller customization and etc.
|
|
7
|
+
*/
|
|
8
|
+
export class Customization {
|
|
9
|
+
get colors(): CustomizationColors
|
|
10
|
+
set colors(val: CustomizationColors)
|
|
11
|
+
|
|
12
|
+
get fonts(): CustomizationFonts
|
|
13
|
+
set fonts(val: CustomizationFonts)
|
|
14
|
+
|
|
15
|
+
get images(): CustomizationImages
|
|
16
|
+
set images(val: CustomizationImages)
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Immutable property. Use setter instead of editing.
|
|
20
|
+
*/
|
|
21
|
+
get uiCustomizationLayer(): Record<string, any> | null
|
|
22
|
+
set uiCustomizationLayer(val: Record<string, any> | null)
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Set onClick listener for buttons from {@link uiCustomizationLayer}.
|
|
26
|
+
*/
|
|
27
|
+
set onCustomButtonTapped(completion: CustomButtonTappedCompletion)
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Allows you to deserialize object.
|
|
31
|
+
*/
|
|
32
|
+
static fromJson(jsonObject: Record<string, any>): Customization
|
|
33
|
+
/**
|
|
34
|
+
* Allows you to serialize object.
|
|
35
|
+
*/
|
|
36
|
+
toJson(): Record<string, any>
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Callback for receiving signal, when a custom button,
|
|
42
|
+
* configured in {@link Customization.uiCustomizationLayer}, is pressed.
|
|
43
|
+
*
|
|
44
|
+
* @param tag button id, indication which button was pressed.
|
|
45
|
+
*/
|
|
46
|
+
export type CustomButtonTappedCompletion = (tag: number) => void
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export class CustomizationColors {
|
|
2
|
+
set onboardingScreenStartButtonBackground(val: number)
|
|
3
|
+
set onboardingScreenStartButtonTitle(val: number)
|
|
4
|
+
set onboardingScreenBackground(val: number)
|
|
5
|
+
set onboardingScreenTitleLabelText(val: number)
|
|
6
|
+
set onboardingScreenSubtitleLabelText(val: number)
|
|
7
|
+
set onboardingScreenMessageLabelsText(val: number)
|
|
8
|
+
set cameraScreenStrokeNormal(val: number)
|
|
9
|
+
set cameraScreenStrokeActive(val: number)
|
|
10
|
+
set cameraScreenSectorTarget(val: number)
|
|
11
|
+
set cameraScreenSectorActive(val: number)
|
|
12
|
+
set cameraScreenFrontHintLabelBackground(val: number)
|
|
13
|
+
set cameraScreenFrontHintLabelText(val: number)
|
|
14
|
+
set cameraScreenBackHintLabelBackground(val: number)
|
|
15
|
+
set cameraScreenBackHintLabelText(val: number)
|
|
16
|
+
set cameraScreenLightToolbarTint(val: number)
|
|
17
|
+
set cameraScreenDarkToolbarTint(val: number)
|
|
18
|
+
set retryScreenBackground(val: number)
|
|
19
|
+
set retryScreenRetryButtonBackground(val: number)
|
|
20
|
+
set retryScreenRetryButtonTitle(val: number)
|
|
21
|
+
set retryScreenTitleLabelText(val: number)
|
|
22
|
+
set retryScreenSubtitleLabelText(val: number)
|
|
23
|
+
set retryScreenHintLabelsText(val: number)
|
|
24
|
+
set processingScreenBackground(val: number)
|
|
25
|
+
set processingScreenProgress(val: number)
|
|
26
|
+
set processingScreenTitleLabel(val: number)
|
|
27
|
+
set successScreenBackground(val: number)
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Allows you to deserialize object.
|
|
31
|
+
*/
|
|
32
|
+
static fromJson(jsonObject: Record<string, number>): CustomizationColors
|
|
33
|
+
/**
|
|
34
|
+
* Allows you to serialize object.
|
|
35
|
+
*/
|
|
36
|
+
toJson(): Record<string, number>
|
|
37
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Font} from './font'
|
|
2
|
+
|
|
3
|
+
export class CustomizationFonts {
|
|
4
|
+
set onboardingScreenStartButton(val: Font | null)
|
|
5
|
+
set onboardingScreenTitleLabel(val: Font | null)
|
|
6
|
+
set onboardingScreenSubtitleLabel(val: Font | null)
|
|
7
|
+
set onboardingScreenMessageLabels(val: Font | null)
|
|
8
|
+
set cameraScreenHintLabel(val: Font | null)
|
|
9
|
+
set retryScreenRetryButton(val: Font | null)
|
|
10
|
+
set retryScreenTitleLabel(val: Font | null)
|
|
11
|
+
set retryScreenSubtitleLabel(val: Font | null)
|
|
12
|
+
set retryScreenHintLabels(val: Font | null)
|
|
13
|
+
set processingScreenLabel(val: Font | null)
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Allows you to deserialize object.
|
|
17
|
+
*/
|
|
18
|
+
static fromJson(jsonObject: Record<string, any>): CustomizationFonts
|
|
19
|
+
/**
|
|
20
|
+
* Allows you to serialize object.
|
|
21
|
+
*/
|
|
22
|
+
toJson(): Record<string, any>
|
|
23
|
+
}
|