apim-developer-portal1
Version:
API management developer portal
27 lines (21 loc) • 981 B
text/typescript
import { Contract } from "@paperbits/common";
import { IModelBinder } from "@paperbits/common/editing";
import { ProductSubscriptionsModel } from "./productSubscriptionsModel";
import { ProductSubscriptionsContract } from "./productSubscriptionsContract";
export class ProductSubscriptionsModelBinder implements IModelBinder<ProductSubscriptionsModel> {
public canHandleContract(contract: Contract): boolean {
return contract.type === "product-subscriptions";
}
public canHandleModel(model: Object): boolean {
return model instanceof ProductSubscriptionsModel;
}
public async contractToModel(contract: ProductSubscriptionsContract): Promise<ProductSubscriptionsModel> {
return new ProductSubscriptionsModel();
}
public modelToContract(model: ProductSubscriptionsModel): Contract {
const contract: ProductSubscriptionsContract = {
type: "product-subscriptions"
};
return contract;
}
}