GraphiQL の操作方法 - himanushi/music-server GitHub Wiki

アーティストを追加または更新したい

mutation upsertArtist {
  upsertArtist(input: {
    name: "植松伸夫",
    appleMusicId: "id",
    spotifyId: "id"
  }){
    artists{
      name
      appleMusicArtists {
        name
      }
      spotifyArtists {
        name
      }
      albums {
        name
      }
    }
  }
}

アルバムを追加または更新したい

mutation upsertAlbum {
  upsertAlbum(input: {
    albumId: "id",
    appleMusicId: "id",
    spotifyId: "id"
  }) {
    albums {
      id
      releaseDate
      appleMusicAlbum {
        id
        name
      }
      itunesAlbum {
        id
        name
      }
      spotifyAlbum {
        id
        name
      }
    }
    error
  }
}

ステータスを変更したい(Artist, Album, Track のみ)

mutation changeStatus {
  changeStatus(input: {
    artistId: "id",
    albumId: "id",
    trackId: "id",
    status: pending
  }){
    model {
      __typename
      ... on Artist {
        name
        status
      }
      ... on Album {
        name
        status
      }
      ... on Track {
        name
        status
      }
    }
  }
}

複数アルバムを単一アルバムへ統合する(vol.1, vol.2 などのアルバム)

albumIdsForSpotify または albumIdsForAppleMusic のどちらかに入力する

mutation compactAlbum {
  compactAlbum(input: {
    name: "オリジナル・サウンドトラック 風の伝説ザナドゥ",
    albumIdsForSpotify: ["abm171ce33efd7d4", "abm171ce340ea0af", "abm171ce342b32b9"],
    albumIdsForAppleMusic: ["abm171ce33efd7d4", "abm171ce340ea0af", "abm171ce342b32b9"],
  }) {
    album {
      id
      releaseDate
      appleMusicAlbum {
        id
        name
      }
      itunesAlbum {
        id
        name
      }
      spotifyAlbum {
        id
        name
      }
    }
    error
  }
}

統合されたアルバムを解除する

mutation uncompactAlbum {
  uncompactAlbum(input: {
    albumIdForAppleMusic:"id",
    albumIdForSpotify:"id",
  }) {
    albums {
      id
      releaseDate
      appleMusicAlbum {
        id
        name
      }
      itunesAlbum {
        id
        name
      }
      spotifyAlbum {
        id
        name
      }
    }
    error
  }
}

別アルバムを同一アルバムとして混合したい

収録曲数によって別アルバムとして認識されている場合に使用する

mutation mixAlbum {
  mixAlbum(input: {
    albumIds: ["abm171cbefd77f75", "abm171cbf37ea54d"]
  }) {
    album {
      id
      releaseDate
      appleMusicAlbum {
        id
        name
      }
      itunesAlbum {
        id
        name
      }
      spotifyAlbum {
        id
        name
      }
    }
    error
  }
}

混合アルバムを解除したい

mutation unmixAlbum {
  unmixAlbum(input: {
    albumId: "id"
  }) {
    albums {
      id
      releaseDate
      appleMusicAlbum {
        id
        name
      }
      itunesAlbum {
        id
        name
      }
      spotifyAlbum {
        id
        name
      }
    }
    error
  }
}