name: "User"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  pinnedNotes:
    type: "entity(Note)[]"
    optional: true
    desc:
      ja-JP: "ピン留めされた投稿"
      en-US: "The pinned note of this user"

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

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

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

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

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

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

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

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

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