apim-developer-portal2
Version:
API management developer portal
28 lines (22 loc) • 1.03 kB
text/typescript
import { Contract } from "@paperbits/common";
import { IModelBinder } from "@paperbits/common/editing";
import { ProductSubscribeModel } from "./productSubscribeModel";
import { ProductSubscribeContract } from "./productSubscribeContract";
export class ProductSubscribeModelBinder implements IModelBinder<ProductSubscribeModel> {
public canHandleModel(model: any): boolean {
return model instanceof ProductSubscribeModel;
}
public canHandleContract(contract: Contract): boolean {
return contract.type === "product-subscribe"
|| contract.type === "productSubscribe"; // for backward compatibility
}
public async contractToModel(contract: ProductSubscribeContract): Promise<ProductSubscribeModel> {
return new ProductSubscribeModel();
}
public modelToContract(model: ProductSubscribeModel): Contract {
const contract: ProductSubscribeContract = {
type: "product-subscribe"
};
return contract;
}
}