trader-server
Version:
OData server for testing strategies, simulating and real trading.
86 lines (73 loc) • 2.29 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: "GeneratorProduct" })
export class GeneratorProduct {
.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(() => GeneratorCategory))
.Partner("GeneratorProduct")
GeneratorCategory: GeneratorCategory
.Boolean
Discontinued: boolean
.String
.Annotate(
{ term: "UI.DisplayName", string: "GeneratorProduct title" },
{ term: "UI.ControlHint", string: "ShortText" }
)
Name: string
.String
.Annotate(
{ term: "UI.DisplayName", string: "GeneratorProduct English name" },
{ term: "UI.ControlHint", string: "ShortText" }
)
QuantityPerUnit: string
.Decimal
.Annotate(
{ term: "UI.DisplayName", string: "Unit price of GeneratorProduct" },
{ term: "UI.ControlHint", string: "Decimal" }
)
UnitPrice: number
}
.OpenType
.Annotate({ term: "UI.DisplayName", string: "GeneratorCategory" })
export class GeneratorCategory {
.Key
.Computed
.String
.Convert(toObjectID)
.Annotate(
{ term: "UI.DisplayName", string: "GeneratorCategory identifier" },
{ term: "UI.ControlHint", string: "ReadOnly" }
)
_id: ObjectID
.String
Description: string
.String
.Annotate(
{ term: "UI.DisplayName", string: "GeneratorCategory name" },
{ term: "UI.ControlHint", string: "ShortText" }
)
Name: string
.ForeignKey("CategoryId")
.Collection(Edm.EntityType(GeneratorProduct))
.Partner("GeneratorCategory")
GeneratorProducts: GeneratorProduct[]
.Collection(Edm.String)
.Function
echo() {
return ["echotest"];
}
}