Skip to content

feat: use camelCase as default #618

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Nov 7, 2019
2 changes: 1 addition & 1 deletion benchmarks/Serialization/JsonApiDeserializer_Benchmarks.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public JsonApideserializer_Benchmarks() {
public object DeserializeSimpleObject() => _jsonApideserializer.Deserialize<SimpleType>(Content);

private class SimpleType : Identifiable {
[Attr("name")]
[Attr]
public string Name { get; set; }
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@

namespace JsonApiDotNetCoreExample.Controllers
{
public class CamelCasedModelsController : JsonApiController<CamelCasedModel>
public class KebabCasedModelsController : JsonApiController<KebabCasedModel>
{
public CamelCasedModelsController(
public KebabCasedModelsController(
IJsonApiOptions jsonApiOptions,
IResourceService<CamelCasedModel> resourceService,
IResourceService<KebabCasedModel> resourceService,
ILoggerFactory loggerFactory)
: base(jsonApiOptions, resourceService, loggerFactory)
{ }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

namespace JsonApiDotNetCoreExample.Controllers
{
[DisableRoutingConvention, Route("custom/route/todo-items")]
[DisableRoutingConvention, Route("custom/route/todoItems")]
public class TodoItemsCustomController : CustomJsonApiController<TodoItem>
{
public TodoItemsCustomController(
Expand Down
26 changes: 13 additions & 13 deletions src/Examples/JsonApiDotNetCoreExample/Data/AppDbContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public class AppDbContext : DbContext
public DbSet<Passport> Passports { get; set; }
public DbSet<Person> People { get; set; }
public DbSet<TodoItemCollection> TodoItemCollections { get; set; }
public DbSet<CamelCasedModel> CamelCasedModels { get; set; }
public DbSet<KebabCasedModel> KebabCasedModels { get; set; }
public DbSet<Article> Articles { get; set; }
public DbSet<Author> AuthorDifferentDbContextName { get; set; }
public DbSet<NonJsonApiResource> NonJsonApiResources { get; set; }
Expand Down Expand Up @@ -46,18 +46,18 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasKey(bc => new { bc.ArticleId, bc.TagId });

modelBuilder.Entity<Person>()
.HasOne(t => t.StakeHolderTodo)
.HasOne(t => t.StakeHolderTodoItem)
.WithMany(t => t.StakeHolders)
.HasForeignKey(t => t.StakeHolderTodoId)
.HasForeignKey(t => t.StakeHolderTodoItemId)
.OnDelete(DeleteBehavior.Cascade);

modelBuilder.Entity<TodoItem>()
.HasOne(t => t.DependentTodoItem);
.HasOne(t => t.DependentOnTodo);

modelBuilder.Entity<TodoItem>()
.HasMany(t => t.ChildrenTodoItems)
.WithOne(t => t.ParentTodoItem)
.HasForeignKey(t => t.ParentTodoItemId);
.HasMany(t => t.ChildrenTodos)
.WithOne(t => t.ParentTodo)
.HasForeignKey(t => t.ParentTodoId);

modelBuilder.Entity<Passport>()
.HasOne(p => p.Person)
Expand All @@ -66,14 +66,14 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.OnDelete(DeleteBehavior.SetNull);

modelBuilder.Entity<TodoItem>()
.HasOne(p => p.ToOnePerson)
.WithOne(p => p.ToOneTodoItem)
.HasForeignKey<TodoItem>(p => p.ToOnePersonId);
.HasOne(p => p.OneToOnePerson)
.WithOne(p => p.OneToOneTodoItem)
.HasForeignKey<TodoItem>(p => p.OneToOnePersonId);

modelBuilder.Entity<Person>()
.HasOne(p => p.ToOneTodoItem)
.WithOne(p => p.ToOnePerson)
.HasForeignKey<TodoItem>(p => p.ToOnePersonId);
.HasOne(p => p.OneToOneTodoItem)
.WithOne(p => p.OneToOnePerson)
.HasForeignKey<TodoItem>(p => p.OneToOnePersonId);
}
}
}
4 changes: 2 additions & 2 deletions src/Examples/JsonApiDotNetCoreExample/Models/Article.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ namespace JsonApiDotNetCoreExample.Models
{
public class Article : Identifiable
{
[Attr("name")]
[Attr]
public string Name { get; set; }

[HasOne("author")]
[HasOne]
public Author Author { get; set; }
public int AuthorId { get; set; }

Expand Down
4 changes: 2 additions & 2 deletions src/Examples/JsonApiDotNetCoreExample/Models/ArticleTag.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ public class ArticleTag
public class IdentifiableArticleTag : Identifiable
{
public int ArticleId { get; set; }
[HasOne("article")]
[HasOne]
public Article Article { get; set; }

public int TagId { get; set; }
[HasOne("Tag")]
[HasOne]
public Tag Tag { get; set; }

public string SomeMetaData { get; set; }
Expand Down
4 changes: 2 additions & 2 deletions src/Examples/JsonApiDotNetCoreExample/Models/Author.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ namespace JsonApiDotNetCoreExample.Models
{
public class Author : Identifiable
{
[Attr("name")]
[Attr]
public string Name { get; set; }

[HasMany("articles")]
[HasMany]
public List<Article> Articles { get; set; }
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@

namespace JsonApiDotNetCoreExample.Models
{
[Resource("camelCasedModels")]
public class CamelCasedModel : Identifiable
public class KebabCasedModel : Identifiable
{
[Attr("compoundAttr")]
[Attr]
public string CompoundAttr { get; set; }
}
}
4 changes: 2 additions & 2 deletions src/Examples/JsonApiDotNetCoreExample/Models/Passport.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ namespace JsonApiDotNetCoreExample.Models
public class Passport : Identifiable
{
public virtual int? SocialSecurityNumber { get; set; }
public virtual bool IsLocked { get; set; }
public virtual bool IsLocked { get; set; }

[HasOne("person")]
[HasOne]
public virtual Person Person { get; set; }
}
}
37 changes: 17 additions & 20 deletions src/Examples/JsonApiDotNetCoreExample/Models/Person.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,51 +6,48 @@ namespace JsonApiDotNetCoreExample.Models
{
public class PersonRole : Identifiable
{
[HasOne("person")]
[HasOne]
public Person Person { get; set; }
}

public class Person : Identifiable, IIsLockable
{
public bool IsLocked { get; set; }

[Attr("first-name")]
[Attr]
public string FirstName { get; set; }

[Attr("last-name")]
[Attr]
public string LastName { get; set; }

[Attr("age")]
[Attr]
public int Age { get; set; }

[HasMany("todo-items")]
[HasMany]
public virtual List<TodoItem> TodoItems { get; set; }

[HasMany("assigned-todo-items")]
[HasMany]
public virtual List<TodoItem> AssignedTodoItems { get; set; }

[HasMany("todo-collections")]
public virtual List<TodoItemCollection> TodoItemCollections { get; set; }
[HasMany]
public virtual List<TodoItemCollection> todoCollections { get; set; }

[HasOne("role")]
[HasOne]
public virtual PersonRole Role { get; set; }
public int? PersonRoleId { get; set; }

[HasOne("one-to-one-todo-item")]
public virtual TodoItem ToOneTodoItem { get; set; }
[HasOne]
public virtual TodoItem OneToOneTodoItem { get; set; }

[HasOne]
public virtual TodoItem StakeHolderTodoItem { get; set; }
public virtual int? StakeHolderTodoItemId { get; set; }

[HasOne("stake-holder-todo-item")]
public virtual TodoItem StakeHolderTodo { get; set; }
public virtual int? StakeHolderTodoId { get; set; }

[HasOne("unincludeable-item", links: Link.All, canInclude: false)]
[HasOne(links: Link.All, canInclude: false)]
public virtual TodoItem UnIncludeableItem { get; set; }

public int? PassportId { get; set; }

[HasOne("passport")]
[HasOne]
public virtual Passport Passport { get; set; }

public int? PassportId { get; set; }
}
}
54 changes: 24 additions & 30 deletions src/Examples/JsonApiDotNetCoreExample/Models/TodoItem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,66 +13,60 @@ public TodoItem()

public bool IsLocked { get; set; }

[Attr("description")]
[Attr]
public string Description { get; set; }

[Attr("ordinal")]
[Attr]
public long Ordinal { get; set; }

[Attr("guid-property")]
[Attr]
public Guid GuidProperty { get; set; }

[Attr("created-date")]
[Attr]
public DateTime CreatedDate { get; set; }

[Attr("achieved-date", isFilterable: false, isSortable: false)]
[Attr(isFilterable: false, isSortable: false)]
public DateTime? AchievedDate { get; set; }

[Attr("updated-date")]
[Attr]
public DateTime? UpdatedDate { get; set; }

[Attr("calculated-value", isImmutable: true)]
public string CalculatedValue
{
get => "joe";
}
[Attr(isImmutable: true)]
public string CalculatedValue { get => "calculated"; }

[Attr("offset-date")]
[Attr]
public DateTimeOffset? OffsetDate { get; set; }

public int? OwnerId { get; set; }
public int? AssigneeId { get; set; }
public Guid? CollectionId { get; set; }

[HasOne("owner")]
[HasOne]
public virtual Person Owner { get; set; }

[HasOne("assignee")]
[HasOne]
public virtual Person Assignee { get; set; }

[HasOne("one-to-one-person")]
public virtual Person ToOnePerson { get; set; }
public virtual int? ToOnePersonId { get; set; }

[HasOne]
public virtual Person OneToOnePerson { get; set; }
public virtual int? OneToOnePersonId { get; set; }

[HasMany("stake-holders")]
[HasMany]
public virtual List<Person> StakeHolders { get; set; }

[HasOne("collection")]
[HasOne]
public virtual TodoItemCollection Collection { get; set; }


// cyclical to-one structure
public virtual int? DependentTodoItemId { get; set; }
[HasOne("dependent-on-todo")]
public virtual TodoItem DependentTodoItem { get; set; }

public virtual int? DependentOnTodoId { get; set; }
[HasOne]
public virtual TodoItem DependentOnTodo { get; set; }

// cyclical to-many structure
public virtual int? ParentTodoItemId {get; set;}
[HasOne("parent-todo")]
public virtual TodoItem ParentTodoItem { get; set; }
[HasMany("children-todos")]
public virtual List<TodoItem> ChildrenTodoItems { get; set; }
public virtual int? ParentTodoId {get; set;}
[HasOne]
public virtual TodoItem ParentTodo { get; set; }
[HasMany]
public virtual List<TodoItem> ChildrenTodos { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@

namespace JsonApiDotNetCoreExample.Models
{
[Resource("todo-collections")]
[Resource("todoCollections")]
public class TodoItemCollection : Identifiable<Guid>
{
[Attr("name")]
[Attr]
public string Name { get; set; }

[HasMany("todo-items")]
[HasMany]
public virtual List<TodoItem> TodoItems { get; set; }

[HasOne("owner")]
[HasOne]
public virtual Person Owner { get; set; }

public int? OwnerId { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public override QueryFilters GetQueryFilters()
{
return new QueryFilters
{
{ "first-character", (users, queryFilter) => FirstCharacterFilter(users, queryFilter) }
{ "firstCharacter", (users, queryFilter) => FirstCharacterFilter(users, queryFilter) }
};
}

Expand Down

This file was deleted.

Loading