name: "User"

desc:
  ja: "ユーザー。"
  en: "A user."

props:
  id:
    type: "id"
    optional: false
    desc:
      ja: "ユーザーID"
      en: "The ID of this user"

  createdAt:
    type: "date"
    optional: false
    desc:
      ja: "アカウント作成日時"
      en: "The registered date of this user"

  username:
    type: "string"
    optional: false
    desc:
      ja: "ユーザー名"
      en: "The username of this user"

  description:
    type: "string"
    optional: false
    desc:
      ja: "アカウントの説明(自己紹介)"
      en: "The description of this user"

  avatarId:
    type: "id(DriveFile)"
    optional: true
    desc:
      ja: "アバターのID"
      en: "The ID of the avatar of this user"

  avatarUrl:
    type: "string"
    optional: false
    desc:
      ja: "アバターのURL"
      en: "The URL of the avatar of this user"

  bannerId:
    type: "id(DriveFile)"
    optional: true
    desc:
      ja: "バナーのID"
      en: "The ID of the banner of this user"

  bannerUrl:
    type: "string"
    optional: false
    desc:
      ja: "バナーのURL"
      en: "The URL of the banner of this user"

  followersCount:
    type: "number"
    optional: false
    desc:
      ja: "フォロワーの数"
      en: "The number of the followers for this user"

  followingCount:
    type: "number"
    optional: false
    desc:
      ja: "フォローしているユーザーの数"
      en: "The number of the following users for this user"

  isFollowing:
    type: "boolean"
    optional: true
    desc:
      ja: "自分がこのユーザーをフォローしているか"

  isFollowed:
    type: "boolean"
    optional: true
    desc:
      ja: "自分がこのユーザーにフォローされているか"

  isMuted:
    type: "boolean"
    optional: true
    desc:
      ja: "自分がこのユーザーをミュートしているか"
      en: "Whether you muted this user"

  notesCount:
    type: "number"
    optional: false
    desc:
      ja: "投稿の数"
      en: "The number of the notes of this user"

  pinnedNote:
    type: "entity(Note)"
    optional: true
    desc:
      ja: "ピン留めされた投稿"
      en: "The pinned note of this user"

  pinnedNoteId:
    type: "id(Note)"
    optional: true
    desc:
      ja: "ピン留めされた投稿のID"
      en: "The ID of the pinned note of this user"

  host:
    type: "string | null"
    optional: false
    desc:
      ja: "ホスト (例: example.com:3000)"
      en: "Host (e.g. example.com:3000)"

  twitter:
    type: "object"
    optional: true
    desc:
      ja: "連携されているTwitterアカウント情報"
      en: "The info of the connected twitter account of this user"

    props:
      userId:
        type: "string"
        optional: false
        desc:
          ja: "ユーザーID"
          en: "The user ID"

      screenName:
        type: "string"
        optional: false
        desc:
          ja: "ユーザー名"
          en: "The screen name of this user"

  isBot:
    type: "boolean"
    optional: true
    desc:
      ja: "botか否か(自己申告であることに留意)"
      en: "Whether is bot or not"

  profile:
    type: "object"
    optional: false
    desc:
      ja: "プロフィール"
      en: "The profile of this user"

    props:
      location:
        type: "string"
        optional: true
        desc:
          ja: "場所"
          en: "The location of this user"

      birthday:
        type: "string"
        optional: true
        desc:
          ja: "誕生日 (YYYY-MM-DD)"
          en: "The birthday of this user (YYYY-MM-DD)"
