type UserInfo @model @key(fields: ["companyid", "userid"]) @key(name: "userInfoByFaceId", fields: ["companyid", "faceid"], queryField: "userInfoByFaceId") @key(name: "userInfoByRegStatus", fields: ["companyid", "registrationstatus"], queryField: "userInfoByRegStatus") @auth(rules: [ { allow: private, provider: iam }, { allow: groups, groups: ["admin", "poweruser"] }, { allow: groups, groups: ["viewer"], operations: [read] } ]) { companyid: String! userid: String! firstname: String! lastname: String! dob: AWSDate! registrationstatus: String! faceimage: String faceid: String description: String } type ConfigEntry @model @key(fields: ["configroot", "configid"]) @auth(rules: [ { allow: private, provider: iam }, { allow: groups, groups: ["admin", "poweruser"] } ]) { configroot: String! configid: String! value: String! } type CachedCollectionList @model @key(fields: ["configroot", "collectionid"]) @auth(rules: [ { allow: private, provider: iam }, { allow: groups, groups: ["admin", "poweruser"] } ]) { configroot: String! collectionid: String! arn: String! created: AWSDate! facemodel: String! } type CreateCollectionResponse { CollectionId: String @aws_cognito_user_pools, Arn: String @aws_cognito_user_pools, Success: Boolean @aws_cognito_user_pools, Message: String @aws_cognito_user_pools, } type DeleteCollectionResponse { CollectionId: String @aws_cognito_user_pools, Success: Boolean @aws_cognito_user_pools, Message: String @aws_cognito_user_pools, } type CollectionResponse { CollectionId: String @aws_cognito_user_pools, Arn: String @aws_cognito_user_pools, } type DescribeCollectionResponse { FaceCount: Int @aws_cognito_user_pools, FaceModelVersion: String @aws_cognito_user_pools, CollectionARN: String @aws_cognito_user_pools, CreationTimestamp: AWSDateTime @aws_cognito_user_pools, CollectionId: String @aws_cognito_user_pools, } type RegisterNewUserResponse { Success: Boolean @aws_cognito_user_pools, Message: String @aws_cognito_user_pools, CompanyId: String @aws_cognito_user_pools, UserId: String @aws_cognito_user_pools, RegistrationStatus: String @aws_cognito_user_pools, } type LoginUserResponse { Success: Boolean @aws_cognito_user_pools, Message: String @aws_cognito_user_pools, Confidence: Float @aws_cognito_user_pools, CompanyId: String @aws_cognito_user_pools, UserId: String @aws_cognito_user_pools, FirstName: String @aws_cognito_user_pools, LastName: String @aws_cognito_user_pools, DOB: String @aws_cognito_user_pools, RegistrationStatus: String @aws_cognito_user_pools, FaceId: String @aws_cognito_user_pools, FaceImage: String @aws_cognito_user_pools, } type DeleteUserResponse { Success: Boolean @aws_cognito_user_pools, Message: String @aws_cognito_user_pools, CompanyId: String @aws_cognito_user_pools, UserId: String @aws_cognito_user_pools, FirstName: String @aws_cognito_user_pools, LastName: String @aws_cognito_user_pools, DOB: String @aws_cognito_user_pools, } type UpdateUserPhotoResponse { Success: Boolean @aws_cognito_user_pools, Message: String @aws_cognito_user_pools, CompanyId: String @aws_cognito_user_pools, UserId: String @aws_cognito_user_pools, } type DetectTextResponse { Success: Boolean @aws_cognito_user_pools, Message: String @aws_cognito_user_pools, DetectedText: [String] @aws_cognito_user_pools, } type Query { listcollections(param: String): [CollectionResponse] @function(name: "idvworkflowfn-${env}") @aws_cognito_user_pools(cognito_groups: ["admin"]), describecollection(collectionId: String): DescribeCollectionResponse @function(name: "idvworkflowfn-${env}") @aws_cognito_user_pools(cognito_groups: ["admin"]), loginuser(imageDataBase64: String): LoginUserResponse @function(name: "idvworkflowfn-${env}") @aws_cognito_user_pools, detecttextinidcard(imageDataBase64: String): DetectTextResponse @function(name: "idvworkflowfn-${env}") @aws_cognito_user_pools, } type Mutation { createcollection(collectionId: String): CreateCollectionResponse @function(name: "idvworkflowfn-${env}") @aws_cognito_user_pools(cognito_groups: ["admin"]), deletecollection(collectionId: String): DeleteCollectionResponse @function(name: "idvworkflowfn-${env}") @aws_cognito_user_pools(cognito_groups: ["admin"]), registernewuser(userInfoAsJson: String): RegisterNewUserResponse @function(name: "idvworkflowfn-${env}") @aws_cognito_user_pools, registernewuserwithidcard(userInfoAsJson: String, faceImageDataBase64: String, idImageDataBase64: String): RegisterNewUserResponse @function(name: "idvworkflowfn-${env}") @aws_cognito_user_pools, updateexistinguserphoto(userInfoAsJson: String, faceImageDataBase64: String): UpdateUserPhotoResponse @function(name: "idvworkflowfn-${env}") @aws_cognito_user_pools, deleteuser(userInfoAsJson: String): DeleteUserResponse @function(name: "idvworkflowfn-${env}") @aws_cognito_user_pools(cognito_groups: ["admin"]), }