@finos/legend-server-marketplace
Version:
Legend Marketplace server client
70 lines • 2.42 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 { SerializationFactory } from '@finos/legend-shared';
import { createModelSchema, optional, primitive } from 'serializr';
export var ProductType;
(function (ProductType) {
ProductType["ALL"] = "ALL";
ProductType["VENDOR_PROFILE"] = "VENDOR_PROFILE";
ProductType["SERVICE_PRICING"] = "SERVICE_PRICING";
})(ProductType || (ProductType = {}));
export var TerminalItemType;
(function (TerminalItemType) {
TerminalItemType["TERMINAL"] = "Terminal";
TerminalItemType["ADD_ON"] = "Add-On";
})(TerminalItemType || (TerminalItemType = {}));
export var RecommendationSource;
(function (RecommendationSource) {
RecommendationSource["CART"] = "cart";
RecommendationSource["INVENTORY"] = "inventory";
RecommendationSource["MARKETPLACE"] = "marketplace";
})(RecommendationSource || (RecommendationSource = {}));
export class TerminalResult {
id;
category;
providerName;
productName;
description;
price;
phystr;
model;
isMandatory;
skipWorkflow;
isOwned;
vendorProfileId;
source;
static serialization = new SerializationFactory(createModelSchema(TerminalResult, {
id: primitive(),
category: primitive(),
providerName: primitive(),
productName: primitive(),
description: primitive(),
price: primitive(),
phystr: primitive(),
model: primitive(),
isMandatory: optional(primitive()),
skipWorkflow: optional(primitive()),
isOwned: primitive(),
vendorProfileId: primitive(),
source: optional(primitive()),
}));
get terminalItemType() {
return this.category.toLowerCase() === 'vendor profile'
? TerminalItemType.TERMINAL
: TerminalItemType.ADD_ON;
}
}
//# sourceMappingURL=Provider.js.map