types.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. export interface IVideoResponse {
  2. data: IData
  3. }
  4. export interface IData {
  5. videosConnection: IVideoConnection
  6. }
  7. export interface IVideoConnection {
  8. edges: IVideo[]
  9. }
  10. export interface IVideo {
  11. node: INode
  12. }
  13. export interface INode {
  14. title: string,
  15. description: string,
  16. duration: number,
  17. id: string,
  18. thumbnailPhoto: IThumb,
  19. channel: IChannel,
  20. category: ICategory,
  21. language: ILanguage,
  22. license: ILicense,
  23. media: IMediaDataObject,
  24. createdAt: string
  25. }
  26. export interface IMediaDataObject {
  27. size: number
  28. }
  29. export interface ILicense {
  30. code: string
  31. }
  32. export interface IThumb {
  33. id: number
  34. }
  35. export interface ILiaison {
  36. metadata: string
  37. }
  38. export interface IChannel {
  39. title: string,
  40. id: string,
  41. ownerMember: IOwnerMember,
  42. avatarPhoto: IThumb,
  43. createdById: string;
  44. }
  45. export interface IOwnerMember {
  46. controllerAccount: string;
  47. }
  48. export interface ICategory {
  49. name: string;
  50. }
  51. export interface ILanguage {
  52. iso: string;
  53. }
  54. export interface LooseObject {
  55. [key: string]: any
  56. }