ipsos-components
Version:
Material Design components for Angular
23 lines (19 loc) • 800 B
text/typescript
import * as firebaseAdmin from 'firebase-admin';
import {verifySecureToken} from './jwt-util';
import {isCreateEvent} from './util/util';
/**
* Verifies that a screenshot report is valid (trusted via JWT) and, if so, copies it from the
* temporary, unauthenticated location to the more permanent, trusted location.
*/
export function verifyJwtAndTransferResultToTrustedLocation(event: any, path: string) {
// Only edit data when it is first created. Exit when the data is deleted.
if (!isCreateEvent(event)) {
return;
}
let prNumber = event.params.prNumber;
let data = event.data.val();
return verifySecureToken(event).then(() => {
return firebaseAdmin.database().ref().child('screenshot/reports')
.child(prNumber).child(path).set(data);
});
}