36 lines
		
	
	
		
			919 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			919 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace kernel\modules\post\service;
 | 
						|
 | 
						|
use kernel\helpers\Debug;
 | 
						|
use kernel\helpers\Slug;
 | 
						|
use kernel\modules\post\models\Post;
 | 
						|
use kernel\FormModel;
 | 
						|
 | 
						|
class PostService
 | 
						|
{
 | 
						|
    public function create(FormModel $form_model): false|Post
 | 
						|
    {
 | 
						|
        $model = new Post();
 | 
						|
        $model->content = $form_model->getItem('content');
 | 
						|
        $model->user_id = $form_model->getItem('user_id');
 | 
						|
        $model->title = $form_model->getItem('title');
 | 
						|
        $model->slug = Slug::createSlug($form_model->getItem('title'), Post::class);
 | 
						|
        if ($model->save()){
 | 
						|
            return $model;
 | 
						|
        }
 | 
						|
 | 
						|
        return false;
 | 
						|
    }
 | 
						|
 | 
						|
    public function update(FormModel $form_model, Post $post): false|Post
 | 
						|
    {
 | 
						|
        $post->content = $form_model->getItem('content');
 | 
						|
        $post->user_id = $form_model->getItem('user_id');
 | 
						|
        if ($post->save()){
 | 
						|
            return $post;
 | 
						|
        }
 | 
						|
 | 
						|
        return false;
 | 
						|
    }
 | 
						|
} |