import { Injectable } from '@nestjs/common' import { classToPlain } from 'class-transformer' import { VideoPlaylist } from '../models/video_playlist.model' import { HttpService } from '../services/http' import { BaseRepository } from './base.repository' const INSERT = ` mutation insert($videoPlaylist: video_playlist_insert_input!) { insert_video_playlist_one(object: $videoPlaylist) { id } } ` const DELETE_ALL = ` mutation delete_all_video_playlists { delete_video_playlist(where: {}) { affected_rows } } ` @Injectable() export class VideoPlaylistRepository extends BaseRepository { constructor(protected readonly httpService: HttpService) { super(httpService, 'video_playlist') } async create(videoPlaylist: Partial): Promise { const qv = { videoPlaylist: classToPlain(videoPlaylist) } const { data } = await this.fetchGraphQL({ body: { query: INSERT, variables: qv }, }) return data.insert_video_playlist_one.id } async deleteAll(): Promise { await this.fetchGraphQL({ body: { query: DELETE_ALL }, }) } }