trader-server
Version:
OData server for testing strategies, simulating and real trading.
112 lines (99 loc) • 2.37 kB
text/typescript
import { ObjectID } from "mongodb";
import { Edm } from "../../lib/index";
const toObjectID = _id => _id && !(_id instanceof ObjectID) ? ObjectID.createFromHexString(_id) : _id;
.Annotate({
term: "UI.DisplayName",
string: "ProductPromise"
})
export class ProductPromise {
.Key
.Computed
.String
.Convert(toObjectID)
.Annotate({
term: "UI.DisplayName",
string: "ProductPromise identifier"
}, {
term: "UI.ControlHint",
string: "ReadOnly"
})
_id:ObjectID
.String
.Required
.Convert(toObjectID)
CategoryId:ObjectID
.ForeignKey("CategoryId")
.EntityType(Edm.ForwardRef(() => CategoryPromise))
.Partner("ProductPromise")
CategoryPromise:CategoryPromise
.Boolean
Discontinued:boolean
.String
.Annotate({
term: "UI.DisplayName",
string: "ProductPromise title"
}, {
term: "UI.ControlHint",
string: "ShortText"
})
Name:string
.String
.Annotate({
term: "UI.DisplayName",
string: "ProductPromise English name"
}, {
term: "UI.ControlHint",
string: "ShortText"
})
QuantityPerUnit:string
.Decimal
.Annotate({
term: "UI.DisplayName",
string: "Unit price of ProductPromise"
}, {
term: "UI.ControlHint",
string: "Decimal"
})
UnitPrice:number
}
.OpenType
.Annotate({
term: "UI.DisplayName",
string: "CategoryPromise"
})
export class CategoryPromise {
.Key
.Computed
.String
.Convert(toObjectID)
.Annotate({
term: "UI.DisplayName",
string: "CategoryPromise identifier"
},
{
term: "UI.ControlHint",
string: "ReadOnly"
})
_id:ObjectID
.String
Description:string
.String
.Annotate({
term: "UI.DisplayName",
string: "CategoryPromise name"
},
{
term: "UI.ControlHint",
string: "ShortText"
})
Name:string
.ForeignKey("CategoryId")
.Collection(Edm.EntityType(ProductPromise))
.Partner("CategoryPromise")
ProductPromises:ProductPromise[]
.Collection(Edm.String)
.Function
echo(){
return ["echotest"];
}
}