From 5afcd0ad220e125f57d40039c67d8f8065150558 Mon Sep 17 00:00:00 2001
From: Deluan <deluan@deluan.com>
Date: Fri, 8 May 2020 10:47:06 -0400
Subject: [PATCH] Make field names camelCase

---
 model/playlist.go               | 18 +++++++++---------
 ui/src/playlist/PlaylistList.js | 24 ++++++++++++++++++------
 2 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/model/playlist.go b/model/playlist.go
index cc4ef1569..c82923bfc 100644
--- a/model/playlist.go
+++ b/model/playlist.go
@@ -3,15 +3,15 @@ package model
 import "time"
 
 type Playlist struct {
-	ID        string
-	Name      string
-	Comment   string
-	Duration  float32
-	Owner     string
-	Public    bool
-	Tracks    MediaFiles
-	CreatedAt time.Time
-	UpdatedAt time.Time
+	ID        string     `json:"id"`
+	Name      string     `json:"name"`
+	Comment   string     `json:"comment"`
+	Duration  float32    `json:"duration"`
+	Owner     string     `json:"owner"`
+	Public    bool       `json:"public"`
+	Tracks    MediaFiles `json:"tracks"`
+	CreatedAt time.Time  `json:"createdAt"`
+	UpdatedAt time.Time  `json:"updatedAt"`
 }
 
 type PlaylistRepository interface {
diff --git a/ui/src/playlist/PlaylistList.js b/ui/src/playlist/PlaylistList.js
index 2c8bdf966..f1cee7c96 100644
--- a/ui/src/playlist/PlaylistList.js
+++ b/ui/src/playlist/PlaylistList.js
@@ -1,5 +1,12 @@
 import React from 'react'
-import { List, Datagrid, TextField, BooleanField, DateField } from 'react-admin'
+import {
+  List,
+  Datagrid,
+  TextField,
+  BooleanField,
+  FunctionField,
+  DateField,
+} from 'react-admin'
 import { DurationField, Title } from '../common'
 
 const PlaylistList = (props) => (
@@ -11,11 +18,16 @@ const PlaylistList = (props) => (
     exporter={false}
   >
     <Datagrid rowClick="edit">
-      <TextField source="Name" />
-      <TextField source="Owner" />
-      <BooleanField source="Public" />
-      <DateField source="UpdatedAt" />
-      <DurationField source="Duration" />
+      <TextField source="name" />
+      <TextField source="owner" />
+      <BooleanField source="public" />
+      <FunctionField
+        sortable={false} // TODO Make playlist.songCount sortable
+        source="songCount"
+        render={(r) => r.tracks && r.tracks.length}
+      />
+      <DurationField source="duration" />
+      <DateField source="updatedAt" />
     </Datagrid>
   </List>
 )