66 lines
1.0 KiB
PHP
66 lines
1.0 KiB
PHP
<?php
|
|
/**
|
|
* Interface for Repository
|
|
*
|
|
* @package PUM
|
|
* @copyright Copyright (c) 2023, Code Atlantic LLC
|
|
*/
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
/**
|
|
* Interface PUM_Interface_Repository
|
|
*
|
|
* Interface between WP_Query and our data needs. Essentially a query factory.
|
|
*
|
|
* @package ForumWP\Interfaces
|
|
*/
|
|
interface PUM_Interface_Repository {
|
|
|
|
/**
|
|
* @param int $id
|
|
*
|
|
* @return WP_Post|PUM_Abstract_Model_Post
|
|
*/
|
|
public function get_item( $id );
|
|
|
|
/**
|
|
* @param int $id
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function has_item( $id );
|
|
|
|
/**
|
|
* @param array $args
|
|
*
|
|
* @return WP_Post[||PUM_Abstract_Model_Post[]
|
|
*/
|
|
public function get_items( $args = [] );
|
|
|
|
/**
|
|
* @param array $data
|
|
*
|
|
* @return WP_Post|PUM_Abstract_Model_Post
|
|
*/
|
|
public function create_item( $data );
|
|
|
|
/**
|
|
* @param int $id
|
|
* @param array $data
|
|
*
|
|
* @return WP_Post|PUM_Abstract_Model_Post
|
|
*/
|
|
public function update_item( $id, $data );
|
|
|
|
/**
|
|
* @param int $id
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function delete_item( $id );
|
|
|
|
}
|