static constructBuildRequestsFromData()

in resources/perf.webkit.org/public/v3/models/build-request.js [181:212]


    static constructBuildRequestsFromData(data)
    {
        for (let rawData of data['commits']) {
            rawData.repository = Repository.findById(rawData.repository);
            CommitLog.ensureSingleton(rawData.id, rawData);
        }

        for (let uploadedFile of data['uploadedFiles'])
            UploadedFile.ensureSingleton(uploadedFile.id, uploadedFile);

        const commitSets = data['commitSets'].map((rawData) => {
            for (const item of rawData.revisionItems) {
                item.commit = CommitLog.findById(item.commit);
                item.patch = item.patch ? UploadedFile.findById(item.patch) : null;
                item.rootFile = item.rootFile ? UploadedFile.findById(item.rootFile) : null;
                item.commitOwner = item.commitOwner ? CommitLog.findById(item.commitOwner) : null;
            }
            rawData.customRoots = rawData.customRoots.map((fileId) => UploadedFile.findById(fileId));
            return CommitSet.ensureSingleton(rawData.id, rawData);
        });

        return data['buildRequests'].map(function (rawData) {
            rawData.triggerable = Triggerable.findById(rawData.triggerable);
            rawData.repositoryGroup = TriggerableRepositoryGroup.findById(rawData.repositoryGroup);
            rawData.platform = Platform.findById(rawData.platform);
            rawData.test = Test.findById(rawData.test);
            rawData.testGroupId = rawData.testGroup;
            rawData.testGroup = TestGroup.findById(rawData.testGroup);
            rawData.commitSet = CommitSet.findById(rawData.commitSet);
            return BuildRequest.ensureSingleton(rawData.id, rawData);
        });
    }