createCollection: async function()

in amplify/backend/function/idvworkflowfn/src/idvfunctions.js [69:105]


    createCollection: async function (collectionId) {
        var params = {
            CollectionId: collectionId
        };

        var response = {
            CollectionId: collectionId,
            Arn: '',
            Success: false,
            Message: ''
        };

        const rek = new Rekognition();
        try {
            // create collection using Rek API
            const createCollResponse = await rek.createCollection(params).promise();
            response.Arn = createCollResponse.CollectionArn;

            // call describe collection so we can cache additional attributes
            const describeCollResponse = await this.describeCollection(collectionId);

            // update cached collections list (in Dynamo, via GraphQL API)
            const createCachedCollResponse = await graphqlhelpers.createCachedCollection(describeCollResponse);
            if(createCachedCollResponse.Success) {
                response.Success = true;
            } else {
                response.Success = false;
                response.Message = "Unable to create cached collection";
            }
        }
        catch (e) {
            response.Success = false;
            response.Message = JSON.stringify(e);
        }

        return response;
    },