DEV: Document `/u/{username}.json` API endpoint

DEV: Document /u/{username}.json API endpoint

Added some more specs that will be used to auto generate the api docs.

diff --git a/spec/requests/api/topics_spec.rb b/spec/requests/api/topics_spec.rb
index a5bcf14..6dac194 100644
--- a/spec/requests/api/topics_spec.rb
+++ b/spec/requests/api/topics_spec.rb
@@ -760,7 +760,7 @@ describe 'posts' do
         description: 'Enum: `all`, `yearly`, `quarterly`, `monthly`, `weekly`, `daily`')
 
       produces 'application/json'
-      response '200', 'topic updated' do
+      response '200', 'response' do
         schema type: :object, properties: {
           users: {
             type: :array,
diff --git a/spec/requests/api/users_spec.rb b/spec/requests/api/users_spec.rb
index 925f3be..692c3e3 100644
--- a/spec/requests/api/users_spec.rb
+++ b/spec/requests/api/users_spec.rb
@@ -52,4 +52,418 @@ describe 'users' do
     end
 
   end
+
+  path '/users/{username}.json' do
+
+    get 'Get a single user by username' do
+      tags 'Users'
+      consumes 'application/json'
+      parameter name: 'Api-Key', in: :header, type: :string, required: true
+      parameter name: 'Api-Username', in: :header, type: :string, required: true
+      parameter name: :username, in: :path, type: :string, required: true
+
+      produces 'application/json'
+      response '200', 'user response' do
+        schema type: :object, properties: {
+          user_badges: {
+            type: :array,
+            items: {
+              type: :object,
+              properties: {
+                id: { type: :integer },
+                granted_at: { type: :string },
+                created_at: { type: :string },
+                count: { type: :integer },
+                badge_id: { type: :integer },
+                user_id: { type: :integer },
+                granted_by_id: { type: :integer },
+              }
+            },
+          },
+          badges: {
+            type: :array,
+            items: {
+              type: :object,
+              properties: {
+                id: { type: :integer },
+                name: { type: :string },
+                description: { type: :string },
+                grant_count: { type: :integer },
+                allow_title: { type: :boolean },
+                multiple_grant: { type: :boolean },
+                icon: { type: :string },
+                image: { type: :string, nullable: true },
+                listable: { type: :boolean },
+                enabled: { type: :boolean },
+                badge_grouping_id: { type: :integer },
+                system: { type: :boolean },
+                slug: { type: :string },
+                manually_grantable: { type: :boolean },
+                badge_type_id: { type: :integer },
+              }
+            },
+          },
+          badge_types: {
+            type: :array,
+            items: {
+              type: :object,
+              properties: {
+                id: { type: :integer },
+                name: { type: :string },
+                sort_order: { type: :integer },
+              }
+            },
+          },
+          users: {
+            type: :array,
+            items: {
+              type: :object,
+              properties: {
+                id: { type: :integer },
+                username: { type: :string },
+                name: { type: :string, nullable: true },
+                avatar_template: { type: :string },
+                moderator: { type: :boolean },
+                admin: { type: :boolean },
+              }
+            },
+          },
+          user: {
+            type: :object,
+            properties: {
+              id: { type: :integer },
+              username: { type: :string },
+              name: { type: :string, nullable: true },
+              avatar_template: { type: :string },
+              email: { type: :string },
+              secondary_emails: {
+                type: :array,
+                items: {
+                },
+              },
+              unconfirmed_emails: {
+                type: :array,
+                items: {
+                },
+              },
+              last_posted_at: { type: :string, nullable: true },
+              last_seen_at: { type: :string, nullable: true },
+              created_at: { type: :string },
+              ignored: { type: :boolean },
+              muted: { type: :boolean },
+              can_ignore_user: { type: :boolean },
+              can_mute_user: { type: :boolean },
+              can_send_private_messages: { type: :boolean },
+              can_send_private_message_to_user: { type: :boolean },
+              trust_level: { type: :integer },
+              moderator: { type: :boolean },
+              admin: { type: :boolean },
+              title: { type: :string, nullable: true },
+              badge_count: { type: :integer },
+              custom_fields: {
+                type: :object,
+                properties: {
+                }
+              },
+              time_read: { type: :integer },
+              recent_time_read: { type: :integer },
+              primary_group_id: { type: :string, nullable: true },
+              primary_group_name: { type: :string, nullable: true },
+              primary_group_flair_url: { type: :string, nullable: true },
+              primary_group_flair_bg_color: { type: :string, nullable: true },
+              primary_group_flair_color: { type: :string, nullable: true },
+              featured_topic: { type: :string, nullable: true },
+              staged: { type: :boolean },
+              can_edit: { type: :boolean },
+              can_edit_username: { type: :boolean },
+              can_edit_email: { type: :boolean },
+              can_edit_name: { type: :boolean },
+              uploaded_avatar_id: { type: :integer, nullable: true },
+              has_title_badges: { type: :boolean },
+              pending_count: { type: :integer },
+              profile_view_count: { type: :integer },
+              second_factor_enabled: { type: :boolean },
+              second_factor_backup_enabled: { type: :boolean },
+              associated_accounts: {
+                type: :array,
+                items: {
+                },
+              },
+              can_upload_profile_header: { type: :boolean },
+              can_upload_user_card_background: { type: :boolean },
+              post_count: { type: :integer },
+              can_be_deleted: { type: :boolean },
+              can_delete_all_posts: { type: :boolean },
+              locale: { type: :string, nullable: true },
+              muted_category_ids: {
+                tpe: :array,
+                items: {
+                },
+              },
+              regular_category_ids: {
+                type: :array,
+                items: {
+                },
+              },
+              watched_tags: {
+                type: :array,
+                items: {
+                },
+              },
+              watching_first_post_tags: {
+                type: :array,
+                items: {
+                },
+              },
+              tracked_tags: {
+                type: :array,
+                items: {
+                },
+              },
+              muted_tags: {
+                type: :array,
+                items: {
+                },
+              },
+              tracked_category_ids: {
+                type: :array,
+                items: {
+                },
+              },
+              watched_category_ids: {
+                type: :array,
+                items: {
+                },
+              },
+              watched_first_post_category_ids: {
+                type: :array,
+                items: {
+                },
+              },
+              system_avatar_upload_id: { type: :string, nullable: true },
+              system_avatar_template: { type: :string },
+              gravatar_avatar_upload_id: { type: :integer },
+              gravatar_avatar_template: { type: :string },
+              muted_usernames: {

[... diff too long, it was truncated ...]

GitHub sha: a14c9078