@finos/legend-server-depot
Version:
Legend Depot server client
46 lines • 2.28 kB
JavaScript
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { StoreProjectData } from './models/StoreProjectData.js';
import { LATEST_VERSION_ALIAS } from './DepotVersionAliases.js';
import { VersionedProjectData } from './models/VersionedProjectData.js';
export const retrieveProjectEntitiesWithDependencies = async (project, versionId, depotServerClient) => {
const [entities, dependencyEntitiesIndex] = await Promise.all([
depotServerClient.getEntities(project, versionId),
depotServerClient.getIndexedDependencyEntities(project, versionId),
]);
return Array.from(dependencyEntitiesIndex.values())
.map((e) => e.entities)
.flat()
.concat(entities);
};
export const retrieveProjectEntitiesWithClassifier = async (project, versionId, classifier, depotServerClient) => {
const [entities, dependencyEntities] = await Promise.all([
depotServerClient.getEntities(project, versionId, classifier),
depotServerClient.getDependencyEntities(project.groupId, project.artifactId, versionId, false, false, classifier),
]);
return [
entities,
dependencyEntities.map((e) => e.entities).flat(),
];
};
export const projectIdHandlerFunc = async (groupId, artifactId, _versionId, depotServerClient, projectHandler) => {
const project = StoreProjectData.serialization.fromJson(await depotServerClient.getProject(groupId, artifactId));
const versionId = _versionId === LATEST_VERSION_ALIAS
? VersionedProjectData.serialization.fromJson(await depotServerClient.getLatestVersion(groupId, artifactId)).versionId
: _versionId;
projectHandler(project.projectId, versionId);
};
//# sourceMappingURL=DepotEntityHelper.js.map