Atomize model classes

This commit is contained in:
2024-10-11 17:42:21 +02:00
parent cfb8fb9d7d
commit 0ec11aacf7
59 changed files with 432 additions and 356 deletions

View File

@@ -0,0 +1,12 @@
import { BandModel } from "./bandModel";
import { EventApiModel } from "./eventApiModel";
import { GenreModel } from "./genreModel"
import { MemberModel } from "./memberModel"
import { RatingModel } from "./ratingModel"
export class BandApiModel extends BandModel {
ratings: Array<RatingModel> = []
members: Array<MemberModel> = []
genres: Array<GenreModel> = []
events: Array<EventApiModel> = []
}

View File

@@ -1,22 +1,10 @@
import { EventModel } from "./eventModel"
import { RatingModel } from "./ratingModel"
export class BandModel {
id: number
name: string
foundingYear: number
descriptionEn: string
descriptionDe: string
images: Array<string>
imageMembers: string
logo: string
ratings: Array<RatingModel> = []
members: Array<{
name: string,
image: string
}>
genres: Array<{
name: string
}> = []
events: Array<EventModel>
id: number = -1
name: string = ""
foundingYear: number = 1900
descriptionEn: string = ""
descriptionDe: string = ""
images: Array<string> = []
imageMembers: string = ""
logo: string = ""
}

View File

@@ -0,0 +1,8 @@
import { LocationApiModel } from "../locations/locationApiModel"
import { ConcertModel } from "./concertModel"
import { EventApiModel } from "./eventApiModel"
export class ConcertApiModel extends ConcertModel {
location: LocationApiModel = new LocationApiModel()
event: EventApiModel = new EventApiModel()
}

View File

@@ -1,24 +1,6 @@
import { LocationModel } from "./../locations/locationModel"
import { BandModel } from "./bandModel"
import { EventModel } from "./eventModel"
export class ConcertModel {
id: number = 0
id: number = -1
inStock: number = 0
date: string = ""
price: number = 0
location: LocationModel = new LocationModel()
event: {
id: number
name: string
offered: boolean
image: string
band: BandModel
} = {
id: 0,
name: "",
offered: true,
image: "",
band: new BandModel()
}
}

View File

@@ -0,0 +1,8 @@
import { EventModel } from "./eventModel";
import { BandModel } from "./bandModel"
import { ConcertApiModel } from "./concertApiModel";
export class EventApiModel extends EventModel {
concerts: Array<ConcertApiModel> = []
band: BandModel = new BandModel()
}

View File

@@ -1,11 +1,6 @@
import { BandModel } from "./bandModel"
import { ConcertModel } from "./concertModel"
export class EventModel {
id: number
name: string
offered: boolean
image: string
band: BandModel = new BandModel()
concerts: Array<ConcertModel> = [ new ConcertModel() ]
id: number = -1
name: string = ""
offered: boolean = true
image: string = ""
}

View File

@@ -0,0 +1,6 @@
import { GenreModel } from "./genreModel";
import { BandModel } from "./bandModel"
export class GenreApiModel extends GenreModel {
bands: Array<BandModel>
}

View File

@@ -1,14 +1,4 @@
import { RatingModel } from "./ratingModel"
export class GenreModel {
id: number
name: string
bands: Array<
{
name: string
images: Array<string>
logo: string
ratings: Array<RatingModel>
}
>
id: number = -1
name: string = ""
}

View File

@@ -0,0 +1,4 @@
export class MemberModel {
name: string = ""
image: string = ""
}

View File

@@ -1,7 +1,4 @@
import { BandModel } from "./bandModel"
export class RatingModel {
id: number
rating: number
band: BandModel
id: number = -1
rating: number = 1
}

View File

@@ -1,14 +0,0 @@
import { BandModel } from "./bandModel"
import { ConcertModel } from "./concertModel"
/**
* @deprecated Use EventModel!
*/
export class TourModel {
id: number
name: string
offered: boolean
band: BandModel
image: string
concerts: Array<ConcertModel>
}