unlayered / yeite-back

Una app de producción musicañl
0 stars 0 forks source link

API REST - Track's CRUD #3

Open FranciscoBozzo opened 9 months ago

FranciscoBozzo commented 9 months ago

Algunas ideas/pensamientos sobre Tracks:

Es el objeto más extenso que tenemos ( no deberíamos tener problemas con el limite de 16Mb de MongoDb ); mantiene referencias a Users y Audio. Los demás componentes de la estructura no son reutilizables y sólo tienen sentido para el propio Track (No tiene sentido crear registros externos para Sections, Hints o Layers si luego serán consumidos solamente por un Track).

Track {
   users: [ref( User )],
   audio: ref( Audio ),
   metadata: {
      tempo: Number,
      time_signature: Number,
      sections: [
         {
            start: Number,
            end: Number,
            ...,
            layers: [
               {
                  type : "Drums",
                  hints: [ ... ]
               }
            ]
         }
      ]
   }
}