aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMarvin Borner2018-08-24 16:19:39 +0200
committerMarvin Borner2018-08-24 16:19:39 +0200
commitadf07b310bddf751584db0717b8f501b8acda32a (patch)
treec0938cb059337e62c69a5a727dee4808e16cd2bc
parent1362cdab92ffd8b8f375f42886e34a6674f2b5af (diff)
Added models for post types
-rw-r--r--api/Posts/Models/MediaPost.php (renamed from api/Posts/Models/PostText.php)11
-rw-r--r--api/Posts/Models/Post.php41
-rw-r--r--api/Posts/Models/PostType.php19
-rw-r--r--api/Posts/Models/TextPost.php (renamed from api/Posts/Models/PostImage.php)11
-rw-r--r--api/Posts/routes.php2
-rw-r--r--api/Users/Models/User.php5
6 files changed, 84 insertions, 5 deletions
diff --git a/api/Posts/Models/PostText.php b/api/Posts/Models/MediaPost.php
index 2e4a4bb..e6f1629 100644
--- a/api/Posts/Models/PostText.php
+++ b/api/Posts/Models/MediaPost.php
@@ -6,9 +6,11 @@ use Laravel\Passport\HasApiTokens;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Model;
-class PostText extends Model
+class MediaPost extends Model
{
use HasApiTokens, Notifiable;
+
+ protected $table = "media_posts";
/**
* The attributes that are mass assignable.
@@ -16,6 +18,11 @@ class PostText extends Model
* @var array
*/
protected $fillable = [
- 'user_id', 'text'
+ 'description', 'media_path'
];
+
+ public function post()
+ {
+ return $this->belongsTo('Api\Posts\Models\Post');
+ }
}
diff --git a/api/Posts/Models/Post.php b/api/Posts/Models/Post.php
new file mode 100644
index 0000000..321c38c
--- /dev/null
+++ b/api/Posts/Models/Post.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace Api\Posts\Models;
+
+use Laravel\Passport\HasApiTokens;
+use Illuminate\Notifications\Notifiable;
+use Illuminate\Database\Eloquent\Model;
+
+class Post extends Model
+{
+ use HasApiTokens, Notifiable;
+
+ /**
+ * The attributes that are mass assignable.
+ *
+ * @var array
+ */
+ protected $fillable = [
+ 'post_types_id', 'user_id'
+ ];
+
+ public function user()
+ {
+ return $this->belongsTo('Api\Users\Models\User');
+ }
+
+ public function post_type()
+ {
+ return $this->belongsTo('Api\Posts\Models\Post');
+ }
+
+ public function media_post()
+ {
+ return $this->hasOne('Api\Posts\Models\MediaPost');
+ }
+
+ public function text_post()
+ {
+ return $this->hasOne('Api\Posts\Models\TextPost');
+ }
+}
diff --git a/api/Posts/Models/PostType.php b/api/Posts/Models/PostType.php
new file mode 100644
index 0000000..455dd9e
--- /dev/null
+++ b/api/Posts/Models/PostType.php
@@ -0,0 +1,19 @@
+<?php
+
+namespace Api\Posts\Models;
+
+use Laravel\Passport\HasApiTokens;
+use Illuminate\Notifications\Notifiable;
+use Illuminate\Database\Eloquent\Model;
+
+class TextPost extends Model
+{
+ use HasApiTokens, Notifiable;
+
+ protected $table = "post_types";
+
+ public function posts()
+ {
+ return $this->hasMany('Api\Posts\Models\Post');
+ }
+}
diff --git a/api/Posts/Models/PostImage.php b/api/Posts/Models/TextPost.php
index 637d1ec..30593a1 100644
--- a/api/Posts/Models/PostImage.php
+++ b/api/Posts/Models/TextPost.php
@@ -6,9 +6,11 @@ use Laravel\Passport\HasApiTokens;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Model;
-class PostImage extends Model
+class TextPost extends Model
{
use HasApiTokens, Notifiable;
+
+ protected $table = "text_posts";
/**
* The attributes that are mass assignable.
@@ -16,6 +18,11 @@ class PostImage extends Model
* @var array
*/
protected $fillable = [
- 'user_id', 'description', 'image_path',
+ 'description', 'text'
];
+
+ public function post()
+ {
+ return $this->belongsTo('Api\Posts\Models\Post');
+ }
}
diff --git a/api/Posts/routes.php b/api/Posts/routes.php
index c34c120..c3b90e4 100644
--- a/api/Posts/routes.php
+++ b/api/Posts/routes.php
@@ -1,5 +1,5 @@
<?php
-
+// type [text, media] as get parameter (/posts?type=media,text)
$router->get('/posts', 'PostController@getAll');
$router->get('/posts/{id}', 'PostController@getById');
$router->post('/posts', 'PostController@create');
diff --git a/api/Users/Models/User.php b/api/Users/Models/User.php
index 9e5b0b7..e568608 100644
--- a/api/Users/Models/User.php
+++ b/api/Users/Models/User.php
@@ -27,4 +27,9 @@ class User extends Authenticatable
protected $hidden = [
'password', 'remember_token',
];
+
+ public function posts()
+ {
+ return $this->hasMany('Api\Posts\Models\Post');
+ }
}