New API calls for user and board.

このコミットが含まれているのは:
テクニカル諏訪子 2018-02-16 23:09:35 +09:00
コミット ba8fc4831a
4個のファイルの変更164行の追加80行の削除

ファイルの表示

@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Support\Facades\Log;
class BoardController extends Controller {
@ -43,6 +44,26 @@ class BoardController extends Controller {
->get();
}
public function getForumIdFromTopic($id) { // /api/rpc/board/topic/getforumidfromtopic/id
return DB::table('for_threads')
->select('for_id')
->where('id', $id)
->first()->for_id;
}
public function getTopicIdFromPost($id) { // /api/rpc/board/post/gettopicidfrompost/id
return DB::table('for_posts')
->select('top_id')
->where('id', $id)
->first()->top_id;
}
public function getForumIdFromPost($id) { // /api/rpc/board/post/getforumidfrompost/id
$top_id = $this->getTopicIdFromPost($id);
return $this->getForumIdFromTopic($top_id);
}
public function getForumName($id) { // /api/rpc/board/forum/getforumname/id
return DB::table('for_forums')
->select('cat_id', 'title')
@ -51,6 +72,20 @@ class BoardController extends Controller {
->get();
}
public function getPostCountFreeze($id) { // /api/rpc/board/forum/getpostcountfreeze/id
return DB::table('for_forums')
->select('post_count_freeze')
->where('id', $id)
->first()->post_count_freeze;
}
public function getReadOnly($id) { // /api/rpc/board/forum/getreadonly/id
return DB::table('for_forums')
->select('readonly')
->where('id', $id)
->first()->readonly;
}
public function getForumsInCategory($cat_id) { // /api/rpc/board/forum/getforumsincategory/cat_id
return DB::table('for_forums')
->select('*')
@ -142,13 +177,6 @@ class BoardController extends Controller {
->get();
}
public function getTopicId($post_id) { // /api/rpc/board/topic/gettopicid/post_id
return DB::table('for_posts')
->select('top_id')
->where('id', $post_id)
->get();
}
public function getCurrentPostCount($user_id) { // /api/rpc/board/post/getcurrentpostcount/user_id
return DB::table('for_posts')->where('user_id', $user_id)->max('postcount');
}
@ -171,28 +199,28 @@ class BoardController extends Controller {
->limit($to)
->orderBy('for_posts.post_date', 'asc')
->get(array(
"for_posts.id",
"top_id",
"for_posts.user_id",
"post_date",
"message",
"delete",
"lastedit",
"ipaddress",
"delreason",
"nolayout",
"postcount",
"username",
"perm_id",
"total_posts",
"header",
"footer",
"member_title",
"gender",
"avatar",
"name_style",
"display_name",
"country"
'for_posts.id',
'top_id',
'for_posts.user_id',
'post_date',
'message',
'delete',
'lastedit',
'ipaddress',
'delreason',
'nolayout',
'postcount',
'username',
'perm_id',
'total_posts',
'header',
'footer',
'member_title',
'gender',
'avatar',
'name_style',
'display_name',
'country'
));
}
@ -205,42 +233,51 @@ class BoardController extends Controller {
->where('for_posts.id', $id)
->orderBy('for_posts.post_date', 'asc')
->get(array(
"for_posts.id",
"top_id",
"for_posts.user_id",
"post_date",
"message",
"delete",
"lastedit",
"ipaddress",
"delreason",
"nolayout",
"postcount",
"username",
"perm_id",
"total_posts",
"header",
"footer",
"member_title",
"gender",
"avatar",
"name_style",
"display_name",
"country"
'for_posts.id',
'top_id',
'for_posts.user_id',
'post_date',
'message',
'delete',
'lastedit',
'ipaddress',
'delreason',
'nolayout',
'postcount',
'username',
'perm_id',
'total_posts',
'header',
'footer',
'member_title',
'gender',
'avatar',
'name_style',
'display_name',
'country'
));
}
public function addPost(Request $request) { // /api/rpc/board/post/addpost
return DB::table('for_posts')
$add = DB::table('for_posts')
->insert([
'top_id' => $request->top_id,
'user_id' => $request->user_id,
'post_date' => $request->post_date,
'message' => $request->message,
'delete' => 0,
'lastedit' => 0,
'ipaddress' => $request->ipaddress,
'delreason' => '',
'nolayout' => $request->nolayout,
'postcount' => $request->postcount
'postcount' => $request->postcount,
// Deprecated: remove like and read stuff after full release!
'likes' => 0,
'likers' => '',
'read' => ''
]);
return \Response::json($add);
}
public function editPost(Request $request) { // /api/rpc/board/post/editpost

ファイルの表示

@ -118,19 +118,19 @@ class UserController extends Controller {
->join('usr_perm_id', 'usr_perm_id.user_id', '=', 'str_owners.user_id')
->where('file_id', $file_id)
->get(array(
"users.id",
"title",
"version",
"views",
"downloads",
"submit_date",
"last_date",
"username",
"avatar",
"perm_id",
"gender",
"display_name",
"name_style",
'users.id',
'title',
'version',
'views',
'downloads',
'submit_date',
'last_date',
'username',
'avatar',
'perm_id',
'gender',
'display_name',
'name_style',
));
}
@ -150,19 +150,58 @@ class UserController extends Controller {
->join('usr_perm_id', 'usr_perm_id.user_id', '=', 'str_owners.user_id')
->where('user_id', $user_id)
->get(array(
"users.id",
"title",
"version",
"views",
"downloads",
"submit_date",
"last_date",
"username",
"avatar",
"perm_id",
"gender",
"display_name",
"name_style",
'users.id',
'title',
'version',
'views',
'downloads',
'submit_date',
'last_date',
'username',
'avatar',
'perm_id',
'gender',
'display_name',
'name_style',
));
}
public function getTotalPostCount($id) { // /api/rpc/user/user/gettotalpostcount/id
return DB::table('usr_details')
->select('total_posts')
->where('user_id', $id)
->first()->total_posts;
}
public function getTotalTopicCount($id) { // /api/rpc/user/user/gettotaltopiccount/id
return DB::table('usr_details')
->select('total_threads')
->where('user_id', $id)
->first()->total_threads;
}
public function updateTotalPostCount(Request $request) { // /api/rpc/user/user/updatetotalpostcount
$getPC = $this->getTotalPostCount($request->user_id);
$getPC++;
return DB::table('usr_details')
->where('user_id', $request->user_id)
->update([
'total_posts' => $getPC
]);
}
public function updateTotalTopicCount(Request $request) { // /api/rpc/user/user/updatetotaltopiccount
$getPC = $this->getTotalPostCount($request->user_id);
$getTC = $this->getTotalTopicCount($request->user_id);
$getPC++;
$getTC++;
return DB::table('usr_details')
->where('user_id', $request->user_id)
->update([
'total_posts' => $getPC,
'total_threads' => $getTC
]);
}
}

ファイルの表示

@ -19,6 +19,8 @@ Route::get('/api/rpc/board/forum/getforumsincategory/{cat_id}', 'BoardController
Route::get('/api/rpc/board/forum/getforums', 'BoardController@getForums');
Route::get('/api/rpc/board/forum/getforum/{id}', 'BoardController@getForum');
Route::get('/api/rpc/board/forum/getforumname/{id}', 'BoardController@getForumName');
Route::get('/api/rpc/board/forum/getpostcountfreeze/{id}', 'BoardController@getPostCountFreeze');
Route::get('/api/rpc/board/forum/getreadonly/{id}', 'BoardController@getReadOnly');
// Topic
Route::get('/api/rpc/board/topic/gettopics/{cat}/{from}/{to}', 'BoardController@getTopics');
@ -27,13 +29,15 @@ Route::get('/api/rpc/board/topic/gettopicspinned/{cat}', 'BoardController@getTop
Route::get('/api/rpc/board/topic/countunpinnedtopicsinforum/{for_id}', 'BoardController@countUnpinnedTopicsInForum');
Route::get('/api/rpc/board/topic/gettopic/{cat}/{from}/{to}', 'BoardController@getTopic');
Route::get('/api/rpc/board/topic/gettopiclock/{id}', 'BoardController@getTopicLock');
Route::get('/api/rpc/board/topic/gettopicid/{top_id}', 'BoardController@getTopicId');
Route::get('/api/rpc/board/topic/getforumidfromtopic/{top_id}', 'BoardController@getForumIdFromTopic');
Route::get('/api/rpc/board/topic/gettopicname/{id}', 'BoardController@getTopicName');
// Post
Route::get('/api/rpc/board/post/getpostsintopic/{top}/{from}/{to}', 'BoardController@getPostsInTopic');
Route::get('/api/rpc/board/post/countpostsintopic/{top}', 'BoardController@countPostsInTopic');
Route::get('/api/rpc/board/post/getpost/{id}', 'BoardController@getPost');
Route::get('/api/rpc/board/post/getforumidfrompost/{id}', 'BoardController@getForumIdFromPost');
Route::get('/api/rpc/board/post/gettopicidfrompost/{id}', 'BoardController@getTopicIdFromPost');
Route::get('/api/rpc/board/post/getcurrentpostcount/{user_id}', 'BoardController@getCurrentPostCount');
Route::get('/api/rpc/board/post/getnextpostcount/{user_id}', 'BoardController@getNextPostCount');
Route::get('/api/rpc/board/post/getuserposts/{top}/{from}/{to}', 'BoardController@getuserPosts');

ファイルの表示

@ -22,3 +22,7 @@ Route::get('/api/rpc/user/user/getexist/{username}/{email}', 'UserController@get
Route::get('/api/rpc/user/user/getpoststyle/{id}', 'UserController@getPostStyle');
Route::get('/api/rpc/user/user/getgroupname/{id}', 'UserController@getGroupName');
Route::get('/api/rpc/user/user/getgroupcolours', 'UserController@getGroupColours');
Route::get('/api/rpc/user/user/gettotalpostcount/{id}', 'UserController@getTotalPostCount');
Route::get('/api/rpc/user/user/gettotaltopiccount/{id}', 'UserController@getTotalTopicCount');
Route::post('/api/rpc/user/user/updatetotalpostcount', 'UserController@updateTotalPostCount');
Route::post('/api/rpc/user/user/updatetotaltopiccount', 'UserController@updateTotalTopicCount');