From c4692d2bcd4087838b15afca3d4371a5d9dc6bc3 Mon Sep 17 00:00:00 2001
From: Toby Zerner <toby.zerner@gmail.com>
Date: Mon, 17 Sep 2018 04:20:31 +0930
Subject: [PATCH] Database changes (#11)

* Update core references

* Update remaining core references
---
 extensions/sticky/js/src/forum/addStickyExcerpt.js     | 10 +++++-----
 extensions/sticky/src/Listener/AddApiAttributes.php    |  6 +++---
 .../src/Listener/PinStickiedDiscussionsToTop.php       |  6 +++---
 extensions/sticky/src/Post/DiscussionStickiedPost.php  |  2 +-
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/extensions/sticky/js/src/forum/addStickyExcerpt.js b/extensions/sticky/js/src/forum/addStickyExcerpt.js
index 1302a0618..a50b0f24e 100644
--- a/extensions/sticky/js/src/forum/addStickyExcerpt.js
+++ b/extensions/sticky/js/src/forum/addStickyExcerpt.js
@@ -5,17 +5,17 @@ import { truncate } from 'flarum/utils/string';
 
 export default function addStickyControl() {
   extend(DiscussionList.prototype, 'requestParams', function(params) {
-    params.include.push('startPost');
+    params.include.push('firstPost');
   });
 
   extend(DiscussionListItem.prototype, 'infoItems', function(items) {
     const discussion = this.props.discussion;
 
-    if (discussion.isSticky() && !this.props.params.q && !discussion.readNumber()) {
-      const startPost = discussion.startPost();
+    if (discussion.isSticky() && !this.props.params.q && !discussion.lastReadPostNumber()) {
+      const firstPost = discussion.firstPost();
 
-      if (startPost) {
-        const excerpt = truncate(startPost.contentPlain(), 175);
+      if (firstPost) {
+        const excerpt = truncate(firstPost.contentPlain(), 175);
 
         items.add('excerpt', excerpt, -100);
       }
diff --git a/extensions/sticky/src/Listener/AddApiAttributes.php b/extensions/sticky/src/Listener/AddApiAttributes.php
index 76c1b26b0..b40f803fe 100755
--- a/extensions/sticky/src/Listener/AddApiAttributes.php
+++ b/extensions/sticky/src/Listener/AddApiAttributes.php
@@ -25,7 +25,7 @@ class AddApiAttributes
     public function subscribe(Dispatcher $events)
     {
         $events->listen(Serializing::class, [$this, 'prepareApiAttributes']);
-        $events->listen(WillGetData::class, [$this, 'includeStartPost']);
+        $events->listen(WillGetData::class, [$this, 'includeFirstPost']);
     }
 
     /**
@@ -42,10 +42,10 @@ class AddApiAttributes
     /**
      * @param WillGetData $event
      */
-    public function includeStartPost(WillGetData $event)
+    public function includeFirstPost(WillGetData $event)
     {
         if ($event->isController(ListDiscussionsController::class)) {
-            $event->addInclude('startPost');
+            $event->addInclude('firstPost');
         }
     }
 }
diff --git a/extensions/sticky/src/Listener/PinStickiedDiscussionsToTop.php b/extensions/sticky/src/Listener/PinStickiedDiscussionsToTop.php
index 3ae36df6b..646fe9cd3 100755
--- a/extensions/sticky/src/Listener/PinStickiedDiscussionsToTop.php
+++ b/extensions/sticky/src/Listener/PinStickiedDiscussionsToTop.php
@@ -74,15 +74,15 @@ class PinStickiedDiscussionsToTop
 
             $read = $query->newQuery()
                 ->selectRaw(1)
-                ->from('users_discussions as sticky')
+                ->from('discussion_user as sticky')
                 ->whereColumn('sticky.discussion_id', 'id')
                 ->where('sticky.user_id', '=', $search->getActor()->id)
-                ->whereColumn('sticky.read_number', '>=', 'last_post_number');
+                ->whereColumn('sticky.last_read_post_number', '>=', 'last_post_number');
 
             // Add the bindings manually (rather than as the second
             // argument in orderByRaw) for now due to a bug in Laravel which
             // would add the bindings in the wrong order.
-            $query->orderByRaw('is_sticky and not exists ('.$read->toSql().') and last_time > ? desc')
+            $query->orderByRaw('is_sticky and not exists ('.$read->toSql().') and last_posted_at > ? desc')
                 ->addBinding(array_merge($read->getBindings(), [$search->getActor()->read_time ?: 0]), 'union');
 
             $query->unionOrders = array_merge($query->unionOrders, $query->orders);
diff --git a/extensions/sticky/src/Post/DiscussionStickiedPost.php b/extensions/sticky/src/Post/DiscussionStickiedPost.php
index db937fd89..6e3792989 100755
--- a/extensions/sticky/src/Post/DiscussionStickiedPost.php
+++ b/extensions/sticky/src/Post/DiscussionStickiedPost.php
@@ -61,7 +61,7 @@ class DiscussionStickiedPost extends AbstractEventPost implements MergeableInter
         $post = new static;
 
         $post->content = static::buildContent($isSticky);
-        $post->time = time();
+        $post->created_at = time();
         $post->discussion_id = $discussionId;
         $post->user_id = $userId;