odata expand for files

This commit is contained in:
Benjamin Ifland
2019-03-26 22:00:43 +01:00
parent 42e9936b6c
commit 2377c0a722
6 changed files with 23 additions and 4 deletions

View File

@@ -56,7 +56,8 @@ export class EditSongService {
SongType: null,
Key: null,
Comments: null,
Final: false
Final: false,
Files: []
};
return song;

View File

@@ -1,5 +1,5 @@
import { Song } from 'src/app/models/song.model';
import { ODataService, ODataQuery } from 'odata-v4-ng';
import { ODataService, ODataQuery, Expand } from 'odata-v4-ng';
import { Observable } from 'rxjs';
import { map, tap } from 'rxjs/operators';
import { base } from './urls';
@@ -21,11 +21,13 @@ export class OdataService {
public get$<TResponse>(
id: number,
properties: string[]
properties: string[],
expands: string[]
): Observable<TResponse> {
const query = new ODataQuery(this.odataService, this.url)
.entitySet(this.entity)
.entityKey(id)
.expand(expands.map(_ => new Expand(_)))
.select(properties);
const get = query.get().pipe(map(_ => _.toEntity<TResponse>()));

View File

@@ -45,9 +45,10 @@ export class SongsService extends OdataService {
return;
}
this.get$<Song>(id, ['Text', 'Comments']).subscribe(_ => {
this.get$<Song>(id, ['Text', 'Comments'], ['Files']).subscribe(_ => {
song.Text = _.Text;
song.Comments = _.Comments;
song.Files = _.Files;
this.selectedSong.next(song);
});
}

View File

@@ -0,0 +1,6 @@
import { FileType } from './files-types.model.ts';
export interface File {
ID: number;
Name: string;
FileType: FileType;
}

View File

@@ -0,0 +1,6 @@
export enum FileType {
None = 'None',
Sheet = 'Sheet',
Chords = 'Chords',
MuseScore = 'MuseScore'
}

View File

@@ -1,3 +1,5 @@
import { File } from './file.model';
export interface Song {
ID: number;
Number: number;
@@ -8,4 +10,5 @@ export interface Song {
Tempo: number;
SongType: string;
Final: boolean;
Files: File[];
}