protected override void OnServiceModelCreating(IServiceModelBuilder serviceModelBuilder) { var messageConfiguration = serviceModelBuilder.Resource <MessageRecord>(); // .. Hypermedia messageConfiguration.Hypermedia() .SetApiCollectionPathSegment("messages"); // .. ResourceIdentity messageConfiguration.ResourceIdentity(x => x.Id) .SetApiType("messages"); // .. Attributes messageConfiguration.Attribute(x => x.Message) .SetApiPropertyName("message"); messageConfiguration.Attribute(x => x.CreatedAt) .SetApiPropertyName("created_at"); messageConfiguration.ToOneRelationship <User>(rel: "creator"); var userConfiguration = serviceModelBuilder.Resource <User>(); // .. Hypermedia userConfiguration.Hypermedia() .SetApiCollectionPathSegment("users"); // .. ResourceIdentity userConfiguration.ResourceIdentity(x => x.Id) .SetApiType("users"); // .. Attributes userConfiguration.Attribute(x => x.UserName) .SetApiPropertyName("username"); var sessionConfiguration = serviceModelBuilder.Resource <Session>(); // .. Hypermedia sessionConfiguration.Hypermedia() .SetApiCollectionPathSegment("sessions"); sessionConfiguration.Attribute(x => x.CreatedAt) .SetApiPropertyName("created_at"); // .. ResourceIdentity sessionConfiguration.ResourceIdentity(x => x.Id) .SetApiType("sessions"); sessionConfiguration.ToOneRelationship <User>(rel: "creator"); }
protected override void OnServiceModelCreating(IServiceModelBuilder serviceModelBuilder) { // Home ///////////////////////////////////////////////////////// var homeDocumentConfiguration = serviceModelBuilder.Resource <HomeDocument>(); // .. Hypermedia homeDocumentConfiguration.Hypermedia() .SetApiCollectionPathSegment(String.Empty); // .. ResourceIdentity homeDocumentConfiguration.ResourceIdentity() .SetApiType("home"); serviceModelBuilder.HomeResource <HomeDocument>(); // Author ///////////////////////////////////////////////////////// var authorConfig = serviceModelBuilder.Resource <Author>(); // .. Hypermedia authorConfig.Hypermedia() .SetApiCollectionPathSegment("author"); authorConfig.ResourceIdentity(x => x.Id) .SetApiType("author"); authorConfig.Attribute(x => x.Name) .SetApiPropertyName("name"); authorConfig.Attribute(x => x.Courses) .SetApiPropertyName("courses"); authorConfig.ToManyRelationship <Course>(rel: "courses"); }
protected internal virtual void OnServiceModelCreating(IServiceModelBuilder serviceModelBuilder) { }
protected override void OnServiceModelCreating(IServiceModelBuilder serviceModelBuilder) { // Home ///////////////////////////////////////////////////////// var homeDocumentConfiguration = serviceModelBuilder.Resource <HomeDocument>(); // .. Hypermedia homeDocumentConfiguration.Hypermedia() .SetApiCollectionPathSegment(String.Empty); // .. ResourceIdentity homeDocumentConfiguration.ResourceIdentity() .SetApiType("home"); serviceModelBuilder.HomeResource <HomeDocument>(); // World //////////////////////////////////////////////////////// var worldConfiguration = serviceModelBuilder.Resource <World>(); // .. Hypermedia worldConfiguration.Hypermedia() .SetApiCollectionPathSegment("worlds"); // .. ResourceIdentity worldConfiguration.ResourceIdentity(x => x.Id) .SetApiType("worlds"); // .. Attributes worldConfiguration.Attribute(x => x.Name) .SetApiPropertyName("name"); worldConfiguration.Attribute(x => x.SurfaceArea) .SetApiPropertyName("surface-area"); worldConfiguration.Attribute(x => x.SupportLife) .SetApiPropertyName("support-life"); worldConfiguration.Attribute(x => x.HasWater) .SetApiPropertyName("has-water"); // .. Relationships worldConfiguration.ToOneRelationship <SolarSystem>(rel: "solar-system"); worldConfiguration.ToManyRelationship <Moon>(rel: "moons"); // Solar System ///////////////////////////////////////////////// var solarSystemConfiguration = serviceModelBuilder.Resource <SolarSystem>(); // .. Hypermedia solarSystemConfiguration.Hypermedia() .SetApiCollectionPathSegment("solar-systems"); // .. ResourceIdentity solarSystemConfiguration.ResourceIdentity(x => x.Id) .SetApiType("solar-systems"); // .. Attributes solarSystemConfiguration.Attribute(x => x.Name) .SetApiPropertyName("name"); // Moon ///////////////////////////////////////////////////////// var moonConfiguration = serviceModelBuilder.Resource <Moon>(); // .. Hypermedia moonConfiguration.Hypermedia() .SetApiCollectionPathSegment("moons"); // .. ResourceIdentity moonConfiguration.ResourceIdentity(x => x.Id) .SetApiType("moons"); // .. Attributes moonConfiguration.Attribute(x => x.Name) .SetApiPropertyName("name"); }
public ServicesApiController(IServiceModelBuilder serviceModelBuilder, IServiceModelHandler serviceModelHandler) { this.serviceModelBuilder = serviceModelBuilder; this.serviceModelHandler = serviceModelHandler; }