updateMedia: async()

in apps/community-website/amplify/backend/function/resourcesManager/src/MediaManager.js [77:115]


    updateMedia: async ({ input }) => {
        const mediaData = await executeQuery('UpdateMedia', {
            input: { ...input, sections: undefined },
        })
        if (input.sections) {
            const mediasSectionsData = await executeQuery(
                'ListMediasSections',
                {
                    filter: { mediaID: { eq: input.id } },
                }
            )
            if (
                mediasSectionsData &&
                mediasSectionsData.data &&
                mediasSectionsData.data.listMediasSections &&
                mediasSectionsData.data.listMediasSections.items
            ) {
                for (const mediasSection of mediasSectionsData.data
                    .listMediasSections.items) {
                    if (!mediasSection) continue
                    await executeQuery('DeleteMediasSections', {
                        input: { id: mediasSection.id },
                    })
                }
            }
            for (const section of input.sections) {
                await executeQuery('CreateMediasSections', {
                    input: {
                        sectionID: section,
                        mediaID: input.id,
                    },
                })
            }
        }
        return {
            statusCode: 200,
            body: { ...mediaData, sections: undefined },
        }
    },