forked from MountainTownTechnology/aural_isle
updates MODELS and SCHEMA
This commit is contained in:
51
MODELS.md
51
MODELS.md
@ -48,9 +48,10 @@ enum PersonCredentialProviderType {
|
||||
struct PersonCredentialProviderId {
|
||||
id: String,
|
||||
}
|
||||
enum PersonCredentialProvider {
|
||||
struct PersonCredentialProvider {
|
||||
id: PersonCredentialProviderId,
|
||||
name: String,
|
||||
type: PersonCredentialProviderType,
|
||||
config: String,
|
||||
}
|
||||
struct PersonCredential {
|
||||
@ -99,12 +100,41 @@ struct Label {
|
||||
name: String,
|
||||
description: String,
|
||||
website: String,
|
||||
is_enabled: bool,
|
||||
created_by: PersonId,
|
||||
created_at: chrono::DateTime,
|
||||
modified_by: PersonId,
|
||||
modified_at: chrono::DateTime,
|
||||
deleted_by: Option<PersonId>,
|
||||
deleted_at: Option<chrono::DateTime>,
|
||||
artists: HashMap<Artist>,
|
||||
tags: Option<Vec<Tag>>,
|
||||
comments: Option<Vec<Comment>>,
|
||||
}
|
||||
```
|
||||
|
||||
# LabelContact
|
||||
|
||||
A LabelContact represents a method for contacting a representative of a Label.
|
||||
|
||||
``` rust
|
||||
struct LabelContactId {
|
||||
id: String,
|
||||
}
|
||||
struct LabelContact {
|
||||
id: LabelContactId,
|
||||
method: String,
|
||||
address: String,
|
||||
created_by: PersonId,
|
||||
created_at: chrono::DateTime,
|
||||
modified_by: PersonId,
|
||||
modified_at: chrono::DateTime,
|
||||
deleted_by: Option<PersonId>,
|
||||
deleted_at: Option<chrono::DateTime>,
|
||||
sort_order: usize,
|
||||
}
|
||||
```
|
||||
|
||||
# Artist
|
||||
|
||||
An Artist represents a musical artist.
|
||||
@ -118,8 +148,19 @@ struct Artist {
|
||||
name: String,
|
||||
bio: String,
|
||||
website: String,
|
||||
created_by: PersonId,
|
||||
created_at: chrono::DateTime,
|
||||
modified_by: PersonId,
|
||||
modified_at: chrono::DateTime,
|
||||
deleted_by: Option<PersonId>,
|
||||
deleted_at: Option<chrono::DateTime>,
|
||||
is_enabled: bool,
|
||||
is_public: bool,
|
||||
labels: Option<Vec<LabelId>>,
|
||||
tags: Option<Vec<Tag>>,
|
||||
comments: Option<Vec<Comment>>,
|
||||
cover: Option<String>,
|
||||
images: Option<Vec<String>>,
|
||||
}
|
||||
```
|
||||
|
||||
@ -134,9 +175,9 @@ struct TrackId {
|
||||
struct Track {
|
||||
id: TrackId,
|
||||
title: String,
|
||||
description: String,
|
||||
description: Option<String>,
|
||||
duration: chrono::Duration,
|
||||
artists: HashMap<Artist>,
|
||||
artists: Vec<Artist>,
|
||||
is_public: bool,
|
||||
is_available: bool,
|
||||
preview_source: Option<String>,
|
||||
@ -168,8 +209,8 @@ struct Album {
|
||||
id: AlbumId,
|
||||
title: String,
|
||||
description: String,
|
||||
artists: HashMap<Artist>,
|
||||
tracks: HashMap<Track>,
|
||||
artists: Vec<Artist>,
|
||||
tracks: Vec<Track>,
|
||||
is_public: bool,
|
||||
is_available: bool,
|
||||
preview_source: Option<String>,
|
||||
|
Reference in New Issue
Block a user