Atomize model classes
This commit is contained in:
12
software/src/data/models/acts/bandApiModel.ts
Normal file
12
software/src/data/models/acts/bandApiModel.ts
Normal 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> = []
|
||||
}
|
||||
@@ -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 = ""
|
||||
}
|
||||
8
software/src/data/models/acts/concertApiModel.ts
Normal file
8
software/src/data/models/acts/concertApiModel.ts
Normal 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()
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
8
software/src/data/models/acts/eventApiModel.ts
Normal file
8
software/src/data/models/acts/eventApiModel.ts
Normal 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()
|
||||
}
|
||||
@@ -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 = ""
|
||||
}
|
||||
6
software/src/data/models/acts/genreApiModel.ts
Normal file
6
software/src/data/models/acts/genreApiModel.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { GenreModel } from "./genreModel";
|
||||
import { BandModel } from "./bandModel"
|
||||
|
||||
export class GenreApiModel extends GenreModel {
|
||||
bands: Array<BandModel>
|
||||
}
|
||||
@@ -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 = ""
|
||||
}
|
||||
4
software/src/data/models/acts/memberModel.ts
Normal file
4
software/src/data/models/acts/memberModel.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export class MemberModel {
|
||||
name: string = ""
|
||||
image: string = ""
|
||||
}
|
||||
@@ -1,7 +1,4 @@
|
||||
import { BandModel } from "./bandModel"
|
||||
|
||||
export class RatingModel {
|
||||
id: number
|
||||
rating: number
|
||||
band: BandModel
|
||||
id: number = -1
|
||||
rating: number = 1
|
||||
}
|
||||
@@ -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>
|
||||
}
|
||||
Reference in New Issue
Block a user