Plugin Directory

Changeset 2962811


Ignore:
Timestamp:
09/05/2023 06:46:52 AM (3 years ago)
Author:
appfulapp
Message:

Implemented new role management system

Location:
appful-app
Files:
28 added
3 deleted
27 edited
79 copied

Legend:

Unmodified
Added
Removed
  • appful-app/tags/3.1.9/appful-app.php

    r2954441 r2962811  
    1212 * Plugin URI:        https://appful.io
    1313 * Description:       Appful® is the number 1 plugin for turning your WordPress Content into a native, beautiful app on iOS & Android in under 5 minutes.
    14  * Version:           3.1.8
     14 * Version:           3.1.9
    1515 * Requires at least: 5.8
    1616 * Requires PHP:      7.4
  • appful-app/tags/3.1.9/includes/api/Endpoints.php

    r2920184 r2962811  
    1313    public static string $SYNC_COMMENTS = "sync-comment";
    1414    public static string $SYNC_TAGS = "sync-tag";
     15    public static string $SYNC_ROLES = "sync-role";
    1516    public static string $SYNC_USERS = "sync-user";
    1617    public static string $SYNC_ATTACHMENTS = "sync-attachment";
     
    2526    public static string $GET_USERS = "get-user";
    2627    public static string $GET_TAGS = "get-tag";
     28    public static string $GET_ROLES = "get-role";
    2729
    2830    public static string $ASSET_LINKS = "android-asset-links";
  • appful-app/tags/3.1.9/includes/api/ReqHandler.php

    r2954441 r2962811  
    1616use AppfulPlugin\Api\Handlers\GetPostContentsRequestHandler;
    1717use AppfulPlugin\Api\Handlers\GetPostsRequestHandler;
     18use AppfulPlugin\Api\Handlers\GetRolesRequestHandler;
    1819use AppfulPlugin\Api\Handlers\GetTagsRequestHandler;
    1920use AppfulPlugin\Api\Handlers\GetUsersRequestHandler;
     
    2324use AppfulPlugin\Api\Handlers\PullLocalPostContentRequestHandler;
    2425use AppfulPlugin\Api\Handlers\RequestHandler;
     26use AppfulPlugin\Api\Handlers\RoleSyncRequestHandler;
    2527use AppfulPlugin\Api\Handlers\SyncRequestHandler;
    2628use AppfulPlugin\Api\Handlers\TagSyncRequestHandler;
     
    5759            new AuthenticateUserRequestHandler( $use_case_manager->get_authenticate_user_use_case() ),
    5860            new PullLocalPostContentRequestHandler( $use_case_manager->get_get_local_post_content_by_id_use_case() ),
    59             new CreateCommentRequestHandler( $use_case_manager->create_comment_use_case() ),
     61            new CreateCommentRequestHandler( $use_case_manager->create_comment_use_case() ),
     62            new GetRolesRequestHandler( $use_case_manager->get_roles_by_id_use_case() ),
     63            new RoleSyncRequestHandler( $use_case_manager->sync_roles_use_case() ),
    6064        ];
    6165    }
  • appful-app/tags/3.1.9/includes/api/dtos/PostDto.php

    r2907312 r2962811  
    2222    public bool $sticky = false;
    2323    public bool $send_push = false;
     24    /** @var RoleDto[] */
     25    public array $roles = [];
    2426
    2527    /**
     
    2729     * @param TagDto[] $tags
    2830     * @param AttachmentDto[] $attachments
     31     * @param RoleDto[] $roles
    2932     */
    3033    public function __construct(
     
    4346        string $comment_status,
    4447        bool $sticky,
    45         bool $send_push
     48        bool $send_push,
     49        array $roles
    4650    ) {
    4751        $this->id             = $id;
     
    6064        $this->sticky         = $sticky;
    6165        $this->send_push      = $send_push;
     66        $this->roles        = $roles;
    6267    }
    6368}
  • appful-app/tags/3.1.9/includes/api/dtos/UserDto.php

    r2907312 r2962811  
    99    public string $avatar = "";
    1010    public string $display_name = "";
     11    /** @var UserRoleDto[] */
     12    public array $roles = [];
    1113
    12     public function __construct( int $id, string $firstname, string $lastname, string $avatar, string $display_name ) {
     14    /**
     15     * @param UserRoleDto[] $roles
     16     */
     17    public function __construct( int $id, string $firstname, string $lastname, string $avatar, string $display_name, array $roles ) {
    1318        $this->id           = $id;
    1419        $this->firstname    = $firstname;
     
    1621        $this->avatar       = $avatar;
    1722        $this->display_name = $display_name;
     23        $this->roles        = $roles;
    1824    }
    1925}
  • appful-app/tags/3.1.9/includes/api/mapper/PostMapper.php

    r2907312 r2962811  
    77use AppfulPlugin\Domain\Category;
    88use AppfulPlugin\Domain\Post;
     9use AppfulPlugin\Domain\Role;
    910use AppfulPlugin\Domain\Tag;
    1011use AppfulPlugin\Helper\DateParser;
     
    5859            $post->get_comment_status(),
    5960            $post->get_sticky(),
    60             $post->get_send_push()
     61            $post->get_send_push(),
     62            array_map(
     63                function ( Role $role ) {
     64                    return RoleMapper::to_dto( $role );
     65                },
     66                $post->get_roles()
     67            ),
    6168        );
    6269    }
  • appful-app/tags/3.1.9/includes/api/mapper/UserMapper.php

    r2907312 r2962811  
    55use AppfulPlugin\Api\Dtos\UserDto;
    66use AppfulPlugin\Domain\User;
     7use AppfulPlugin\Domain\UserRole;
    78
    89class UserMapper {
     
    1314            $author->get_lastname(),
    1415            $author->get_avatar(),
    15             $author->get_display_name()
     16            $author->get_display_name(),
     17            array_map(
     18                function ( UserRole $role ) {
     19                    return UserRoleMapper::to_dto( $role );
     20                },
     21                $author->get_roles()
     22            ),
    1623        );
    1724    }
  • appful-app/tags/3.1.9/includes/domain/Post.php

    r2907312 r2962811  
    2424    private bool $sticky = false;
    2525    private bool $send_push = true;
     26    /** @var Role[] */
     27    private array $roles = [];
    2628
    2729    public function __construct() {
     
    3436     * @param Tag[] $tags
    3537     * @param Attachment[] $attachments
     38     * @param Role[] $roles
    3639     */
    3740    public static function post(
     
    5053        string $comment_status = "",
    5154        bool $sticky = false,
    52         bool $send_push = true
     55        bool $send_push = true,
     56        array $roles = []
    5357    ): Post {
    5458        return ( new Post() )
     
    6771            ->comment_status( $comment_status )
    6872            ->sticky( $sticky )
    69             ->send_push( $send_push );
     73            ->send_push( $send_push )
     74            ->roles( $roles );
    7075    }
    7176
     
    119124
    120125    /**
     126     * @param Role[] $roles
     127     */
     128    public function roles( array $roles ): Post {
     129        $this->roles = $roles;
     130
     131        return $this;
     132    }
     133
     134    /**
    121135     * @param Category[] $categories
    122136     */
     
    167181
    168182        return $this;
     183    }
     184
     185    /**
     186     * @return  Role[]
     187     */
     188    public function get_roles(): array {
     189        return $this->roles;
    169190    }
    170191
  • appful-app/tags/3.1.9/includes/domain/User.php

    r2907312 r2962811  
    99    private string $display_name = "";
    1010    private string $avatar = "";
     11    /** @var UserRole[] */
     12    private array $roles = [];
    1113
     14    /**
     15     * @param UserRole[] $roles
     16     */
    1217    public static function user(
    1318        int $id = - 1,
     
    1520        string $lastname = "",
    1621        string $avatar = "",
    17         string $display_name = ""
     22        string $display_name = "",
     23        array $roles = []
    1824    ): User {
    19         return ( new User() )->id( $id )->firstname( $firstname )->lastname( $lastname )->avatar( $avatar )->display_name( $display_name );
     25        return ( new User() )
     26            ->id( $id )
     27            ->firstname( $firstname )
     28            ->lastname( $lastname )
     29            ->avatar( $avatar )
     30            ->display_name( $display_name )
     31            ->roles( $roles );
    2032    }
    2133
     
    5062    }
    5163
     64    /**
     65     * @param UserRole[] $roles
     66     */
     67    public function roles( array $roles ): User {
     68        $this->roles = $roles;
     69
     70        return $this;
     71    }
     72
    5273    public function get_firstname(): string {
    5374        return $this->firstname;
     
    6990        return $this->avatar;
    7091    }
     92
     93    /**
     94     * @return  UserRole[]
     95     */
     96    public function get_roles(): array {
     97        return $this->roles;
     98    }
    7199}
  • appful-app/tags/3.1.9/includes/helper/Constants.php

    r2936340 r2962811  
    3333    public static string $ATTACHMENT_PATH = "/attachments";
    3434    public static string $TAXONOMY_PATH = "/taxonomies";
     35    public static string $ROLE_PATH = "/roles";
    3536
    3637    public static string $API_VERSION_1 = "/v1";
     
    4243    public static int $CATEGORY_SYNC_CHUNK_SIZE = 50;
    4344    public static int $TAG_SYNC_CHUNK_SIZE = 50;
     45    public static int $ROLE_SYNC_CHUNK_SIZE = 50;
    4446}
  • appful-app/tags/3.1.9/includes/menu/Menu.php

    r2936340 r2962811  
    8484                    "active" => $this->has_plugin( "appful-wpml/appful-wpml.php" ),
    8585                    "link"   => "https://appful.io"
     86                ],
     87                [
     88                    "name"   => "Woocomerce",
     89                    "active" => $this->has_plugin( "appful-woocomerce/appful-woocomerce.php" ),
     90                    "link"   => "https://appful.io"
    8691                ]
    8792            ]
  • appful-app/tags/3.1.9/includes/use_cases/UseCaseManager.php

    r2954441 r2962811  
    5757    private PullLocalPostContentUseCase $pull_local_post_content_use_case;
    5858    private GetLocalPostContentByIdUseCase $get_local_post_content_by_id_use_case;
    59     private CreateCommentUseCase $create_comment_use_case;
     59    private CreateCommentUseCase $create_comment_use_case;
     60    private GetRolesByIdUseCase $get_roles_by_id_use_case;
     61    private SyncRolesUseCase $sync_roles_use_case;
     62    private GetRoleSyncDataUseCase $get_role_sync_data_use_case;
     63    private SendRoleChunkSyncUseCase $send_role_chunk_sync_use_case;
    6064
    6165    public function __construct( BackendClient $backend_client, SelfClient $self_client ) {
     
    110114        $this->get_local_post_content_by_id_use_case   = new GetLocalPostContentByIdUseCase();
    111115        $this->get_post_contents_by_id_use_case        = new GetPostContentsByIdUseCase( $this->pull_local_post_content_use_case );
    112         $this->create_comment_use_case                 = new CreateCommentUseCase();
     116        $this->create_comment_use_case                 = new CreateCommentUseCase();
     117        $this->get_roles_by_id_use_case                = new GetRolesByIdUseCase();
     118        $this->get_role_sync_data_use_case             = new GetRoleSyncDataUseCase();
     119        $this->send_role_chunk_sync_use_case           = new SendRoleChunkSyncUseCase( $backend_client );
     120        $this->sync_roles_use_case                     = new SyncRolesUseCase( $this->get_role_sync_data_use_case, $this->send_role_chunk_sync_use_case );
    113121    }
    114122
     
    313321    }
    314322
    315     public function create_comment_use_case(): CreateCommentUseCase {
    316         return $this->create_comment_use_case;
    317     }
     323    public function create_comment_use_case(): CreateCommentUseCase {
     324        return $this->create_comment_use_case;
     325    }
     326
     327    public function get_roles_by_id_use_case(): GetRolesByIdUseCase {
     328        return $this->get_roles_by_id_use_case;
     329    }
     330
     331    public function get_role_sync_data_use_case(): GetRoleSyncDataUseCase {
     332        return $this->get_role_sync_data_use_case;
     333    }
     334
     335    public function send_role_chunk_sync_use_case(): SendRoleChunkSyncUseCase {
     336        return $this->send_role_chunk_sync_use_case;
     337    }
     338
     339    public function sync_roles_use_case(): SyncRolesUseCase {
     340        return $this->sync_roles_use_case;
     341    }
    318342}
  • appful-app/tags/3.1.9/includes/wp/WPPostManager.php

    r2920184 r2962811  
    55use AppfulPlugin\Domain\Post;
    66use AppfulPlugin\Domain\PostContent;
     7use AppfulPlugin\Domain\Role;
     8use AppfulPlugin\Domain\UserRole;
    79use AppfulPlugin\Helper\Constants;
    810use AppfulPlugin\Wp\Mapper\PostMapper;
    911use AppfulPlugin\Wp\Plugins\LanguageHelper;
     12use AppfulPlugin\Wp\Plugins\RoleHelper;
    1013use WP_Post;
    1114
  • appful-app/tags/3.1.9/includes/wp/WPUserManager.php

    r2920030 r2962811  
    44
    55use AppfulPlugin\Domain\User;
     6use AppfulPlugin\Domain\UserRole;
    67use AppfulPlugin\Wp\Mapper\UserMapper;
     8use AppfulPlugin\Wp\Plugins\RoleHelper;
    79use WP_User;
    810
     
    1618
    1719        return $avatar_url;
     20    }
     21
     22    /** @return UserRole[] */
     23    public static function get_user_roles( int $user_id ): array {
     24        return RoleHelper::get_user_roles( $user_id );
    1825    }
    1926
  • appful-app/tags/3.1.9/includes/wp/mapper/PostMapper.php

    r2907312 r2962811  
    66use AppfulPlugin\Helper\DateParser;
    77use AppfulPlugin\Wp\WPAttachmentManager;
    8 use AppfulPlugin\Wp\WPAuthorManager;
    98use AppfulPlugin\Wp\WPCategoryManager;
    109use AppfulPlugin\Wp\WPPostManager;
     10use AppfulPlugin\Wp\WPRoleManager;
    1111use AppfulPlugin\Wp\WPTagManager;
    1212use AppfulPlugin\Wp\WPUserManager;
     
    3232                   ->comment_status( $post->comment_status )
    3333                   ->sticky( WPPostManager::is_post_sticky( $post->ID ) )
    34                    ->send_push( WPPostManager::should_send_push( $post->ID ) );
     34                   ->send_push( WPPostManager::should_send_push( $post->ID ) )
     35                   ->roles( WPRoleManager::get_roles_for_post_id( $post->ID ) );
    3536    }
    3637}
  • appful-app/tags/3.1.9/includes/wp/mapper/UserMapper.php

    r2927004 r2962811  
    3030                   ->lastname( $last_name )
    3131                   ->display_name( $display_name )
    32                    ->avatar( WPUserManager::get_user_avatar( $user->ID ) );
     32                   ->avatar( WPUserManager::get_user_avatar( $user->ID ) )
     33                   ->roles( WPUserManager::get_user_roles( $user->ID ) );
    3334    }
    3435}
  • appful-app/tags/3.1.9/lib/vendor/composer/autoload_classmap.php

    r2954441 r2962811  
    1818    'AppfulPlugin\\Api\\Dtos\\PostContentDto' => $baseDir . '/../includes/api/dtos/PostContentDto.php',
    1919    'AppfulPlugin\\Api\\Dtos\\PostDto' => $baseDir . '/../includes/api/dtos/PostDto.php',
     20    'AppfulPlugin\\Api\\Dtos\\RoleDto' => $baseDir . '/../includes/api/dtos/RoleDto.php',
    2021    'AppfulPlugin\\Api\\Dtos\\SyncChunkDto' => $baseDir . '/../includes/api/dtos/SyncChunkDto.php',
    2122    'AppfulPlugin\\Api\\Dtos\\SyncItemDto' => $baseDir . '/../includes/api/dtos/SyncItemDto.php',
    2223    'AppfulPlugin\\Api\\Dtos\\TagDto' => $baseDir . '/../includes/api/dtos/TagDto.php',
    2324    'AppfulPlugin\\Api\\Dtos\\UserDto' => $baseDir . '/../includes/api/dtos/UserDto.php',
     25    'AppfulPlugin\\Api\\Dtos\\UserRoleDto' => $baseDir . '/../includes/api/dtos/UserRoleDto.php',
    2426    'AppfulPlugin\\Api\\Endpoints' => $baseDir . '/../includes/api/Endpoints.php',
    2527    'AppfulPlugin\\Api\\Handlers\\AndroidAssetLinkRequestHandler' => $baseDir . '/../includes/api/handlers/AndroidAssetLinkRequestHandler.php',
     
    3638    'AppfulPlugin\\Api\\Handlers\\GetPostContentsRequestHandler' => $baseDir . '/../includes/api/handlers/GetPostContentsRequestHandler.php',
    3739    'AppfulPlugin\\Api\\Handlers\\GetPostsRequestHandler' => $baseDir . '/../includes/api/handlers/GetPostsRequestHandler.php',
     40    'AppfulPlugin\\Api\\Handlers\\GetRolesRequestHandler' => $baseDir . '/../includes/api/handlers/GetRolesRequestHandler.php',
    3841    'AppfulPlugin\\Api\\Handlers\\GetTagsRequestHandler' => $baseDir . '/../includes/api/handlers/GetTagsRequestHandler.php',
    3942    'AppfulPlugin\\Api\\Handlers\\GetUsersRequestHandler' => $baseDir . '/../includes/api/handlers/GetUsersRequestHandler.php',
     
    4346    'AppfulPlugin\\Api\\Handlers\\PullLocalPostContentRequestHandler' => $baseDir . '/../includes/api/handlers/PullLocalPostContentRequestHandler.php',
    4447    'AppfulPlugin\\Api\\Handlers\\RequestHandler' => $baseDir . '/../includes/api/handlers/RequestHandler.php',
     48    'AppfulPlugin\\Api\\Handlers\\RoleSyncRequestHandler' => $baseDir . '/../includes/api/handlers/RoleSyncRequestHandler.php',
    4549    'AppfulPlugin\\Api\\Handlers\\SyncRequestHandler' => $baseDir . '/../includes/api/handlers/SyncRequestHandler.php',
    4650    'AppfulPlugin\\Api\\Handlers\\TagSyncRequestHandler' => $baseDir . '/../includes/api/handlers/TagSyncRequestHandler.php',
     
    5357    'AppfulPlugin\\Api\\Mapper\\PostContentMapper' => $baseDir . '/../includes/api/mapper/PostContentMapper.php',
    5458    'AppfulPlugin\\Api\\Mapper\\PostMapper' => $baseDir . '/../includes/api/mapper/PostMapper.php',
     59    'AppfulPlugin\\Api\\Mapper\\RoleMapper' => $baseDir . '/../includes/api/mapper/RoleMapper.php',
    5560    'AppfulPlugin\\Api\\Mapper\\SyncChunkMapper' => $baseDir . '/../includes/api/mapper/SyncChunkMapper.php',
    5661    'AppfulPlugin\\Api\\Mapper\\SyncItemMapper' => $baseDir . '/../includes/api/mapper/SyncItemMapper.php',
     
    7479    'AppfulPlugin\\Domain\\Post' => $baseDir . '/../includes/domain/Post.php',
    7580    'AppfulPlugin\\Domain\\PostContent' => $baseDir . '/../includes/domain/PostContent.php',
     81    'AppfulPlugin\\Domain\\Role' => $baseDir . '/../includes/domain/Role.php',
    7682    'AppfulPlugin\\Domain\\SyncChunk' => $baseDir . '/../includes/domain/SyncChunk.php',
    7783    'AppfulPlugin\\Domain\\SyncItem' => $baseDir . '/../includes/domain/SyncItem.php',
    7884    'AppfulPlugin\\Domain\\Tag' => $baseDir . '/../includes/domain/Tag.php',
    7985    'AppfulPlugin\\Domain\\User' => $baseDir . '/../includes/domain/User.php',
     86    'AppfulPlugin\\Domain\\UserRole' => $baseDir . '/../includes/domain/UserRole.php',
    8087    'AppfulPlugin\\Helper\\AssetLoader' => $baseDir . '/../includes/helper/AssetLoader.php',
    8188    'AppfulPlugin\\Helper\\ClientTokenManager' => $baseDir . '/../includes/helper/ClientTokenManager.php',
     
    121128    'AppfulPlugin\\UseCases\\GetPostSyncDataUseCase' => $baseDir . '/../includes/use_cases/GetPostSyncDataUseCase.php',
    122129    'AppfulPlugin\\UseCases\\GetPostsByIdUseCase' => $baseDir . '/../includes/use_cases/GetPostsByIdUseCase.php',
     130    'AppfulPlugin\\UseCases\\GetRoleSyncDataUseCase' => $baseDir . '/../includes/use_cases/GetRoleSyncDataUseCase.php',
     131    'AppfulPlugin\\UseCases\\GetRolesByIdUseCase' => $baseDir . '/../includes/use_cases/GetRolesByIdUseCase.php',
    123132    'AppfulPlugin\\UseCases\\GetTagSyncDataUseCase' => $baseDir . '/../includes/use_cases/GetTagSyncDataUseCase.php',
    124133    'AppfulPlugin\\UseCases\\GetTagsByIdUseCase' => $baseDir . '/../includes/use_cases/GetTagsByIdUseCase.php',
     
    135144    'AppfulPlugin\\UseCases\\SendCommentChunkSyncUseCase' => $baseDir . '/../includes/use_cases/SendCommentChunkSyncUseCase.php',
    136145    'AppfulPlugin\\UseCases\\SendPostChunkSyncUseCase' => $baseDir . '/../includes/use_cases/SendPostChunkSyncUseCase.php',
     146    'AppfulPlugin\\UseCases\\SendRoleChunkSyncUseCase' => $baseDir . '/../includes/use_cases/SendRoleChunkSyncUseCase.php',
    137147    'AppfulPlugin\\UseCases\\SendTagChunkSyncUseCase' => $baseDir . '/../includes/use_cases/SendTagChunkSyncUseCase.php',
    138148    'AppfulPlugin\\UseCases\\SendUserChunkSyncUseCase' => $baseDir . '/../includes/use_cases/SendUserChunkSyncUseCase.php',
     
    142152    'AppfulPlugin\\UseCases\\SyncCommentsUseCase' => $baseDir . '/../includes/use_cases/SyncCommentsUseCase.php',
    143153    'AppfulPlugin\\UseCases\\SyncPostsUseCase' => $baseDir . '/../includes/use_cases/SyncPostsUseCase.php',
     154    'AppfulPlugin\\UseCases\\SyncRolesUseCase' => $baseDir . '/../includes/use_cases/SyncRolesUseCase.php',
    144155    'AppfulPlugin\\UseCases\\SyncTagsUseCase' => $baseDir . '/../includes/use_cases/SyncTagsUseCase.php',
    145156    'AppfulPlugin\\UseCases\\SyncUsersUseCase' => $baseDir . '/../includes/use_cases/SyncUsersUseCase.php',
     
    156167    'AppfulPlugin\\Wp\\Mapper\\UserMapper' => $baseDir . '/../includes/wp/mapper/UserMapper.php',
    157168    'AppfulPlugin\\Wp\\Plugins\\LanguageHelper' => $baseDir . '/../includes/wp/plugins/LanguageHelper.php',
     169    'AppfulPlugin\\Wp\\Plugins\\RoleHelper' => $baseDir . '/../includes/wp/plugins/RoleHelper.php',
    158170    'AppfulPlugin\\Wp\\WPAttachmentManager' => $baseDir . '/../includes/wp/WPAttachmentManager.php',
    159171    'AppfulPlugin\\Wp\\WPBlogManager' => $baseDir . '/../includes/wp/WPBlogManager.php',
     
    162174    'AppfulPlugin\\Wp\\WPOptionsManager' => $baseDir . '/../includes/wp/WPOptionsManager.php',
    163175    'AppfulPlugin\\Wp\\WPPostManager' => $baseDir . '/../includes/wp/WPPostManager.php',
     176    'AppfulPlugin\\Wp\\WPRoleManager' => $baseDir . '/../includes/wp/WPRoleManager.php',
    164177    'AppfulPlugin\\Wp\\WPTagManager' => $baseDir . '/../includes/wp/WPTagManager.php',
    165178    'AppfulPlugin\\Wp\\WPUserManager' => $baseDir . '/../includes/wp/WPUserManager.php',
  • appful-app/tags/3.1.9/lib/vendor/composer/autoload_static.php

    r2954441 r2962811  
    185185        'AppfulPlugin\\Api\\Dtos\\PostContentDto' => __DIR__ . '/../..' . '/../includes/api/dtos/PostContentDto.php',
    186186        'AppfulPlugin\\Api\\Dtos\\PostDto' => __DIR__ . '/../..' . '/../includes/api/dtos/PostDto.php',
     187        'AppfulPlugin\\Api\\Dtos\\RoleDto' => __DIR__ . '/../..' . '/../includes/api/dtos/RoleDto.php',
    187188        'AppfulPlugin\\Api\\Dtos\\SyncChunkDto' => __DIR__ . '/../..' . '/../includes/api/dtos/SyncChunkDto.php',
    188189        'AppfulPlugin\\Api\\Dtos\\SyncItemDto' => __DIR__ . '/../..' . '/../includes/api/dtos/SyncItemDto.php',
    189190        'AppfulPlugin\\Api\\Dtos\\TagDto' => __DIR__ . '/../..' . '/../includes/api/dtos/TagDto.php',
    190191        'AppfulPlugin\\Api\\Dtos\\UserDto' => __DIR__ . '/../..' . '/../includes/api/dtos/UserDto.php',
     192        'AppfulPlugin\\Api\\Dtos\\UserRoleDto' => __DIR__ . '/../..' . '/../includes/api/dtos/UserRoleDto.php',
    191193        'AppfulPlugin\\Api\\Endpoints' => __DIR__ . '/../..' . '/../includes/api/Endpoints.php',
    192194        'AppfulPlugin\\Api\\Handlers\\AndroidAssetLinkRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/AndroidAssetLinkRequestHandler.php',
     
    203205        'AppfulPlugin\\Api\\Handlers\\GetPostContentsRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/GetPostContentsRequestHandler.php',
    204206        'AppfulPlugin\\Api\\Handlers\\GetPostsRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/GetPostsRequestHandler.php',
     207        'AppfulPlugin\\Api\\Handlers\\GetRolesRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/GetRolesRequestHandler.php',
    205208        'AppfulPlugin\\Api\\Handlers\\GetTagsRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/GetTagsRequestHandler.php',
    206209        'AppfulPlugin\\Api\\Handlers\\GetUsersRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/GetUsersRequestHandler.php',
     
    210213        'AppfulPlugin\\Api\\Handlers\\PullLocalPostContentRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/PullLocalPostContentRequestHandler.php',
    211214        'AppfulPlugin\\Api\\Handlers\\RequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/RequestHandler.php',
     215        'AppfulPlugin\\Api\\Handlers\\RoleSyncRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/RoleSyncRequestHandler.php',
    212216        'AppfulPlugin\\Api\\Handlers\\SyncRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/SyncRequestHandler.php',
    213217        'AppfulPlugin\\Api\\Handlers\\TagSyncRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/TagSyncRequestHandler.php',
     
    220224        'AppfulPlugin\\Api\\Mapper\\PostContentMapper' => __DIR__ . '/../..' . '/../includes/api/mapper/PostContentMapper.php',
    221225        'AppfulPlugin\\Api\\Mapper\\PostMapper' => __DIR__ . '/../..' . '/../includes/api/mapper/PostMapper.php',
     226        'AppfulPlugin\\Api\\Mapper\\RoleMapper' => __DIR__ . '/../..' . '/../includes/api/mapper/RoleMapper.php',
    222227        'AppfulPlugin\\Api\\Mapper\\SyncChunkMapper' => __DIR__ . '/../..' . '/../includes/api/mapper/SyncChunkMapper.php',
    223228        'AppfulPlugin\\Api\\Mapper\\SyncItemMapper' => __DIR__ . '/../..' . '/../includes/api/mapper/SyncItemMapper.php',
     
    241246        'AppfulPlugin\\Domain\\Post' => __DIR__ . '/../..' . '/../includes/domain/Post.php',
    242247        'AppfulPlugin\\Domain\\PostContent' => __DIR__ . '/../..' . '/../includes/domain/PostContent.php',
     248        'AppfulPlugin\\Domain\\Role' => __DIR__ . '/../..' . '/../includes/domain/Role.php',
    243249        'AppfulPlugin\\Domain\\SyncChunk' => __DIR__ . '/../..' . '/../includes/domain/SyncChunk.php',
    244250        'AppfulPlugin\\Domain\\SyncItem' => __DIR__ . '/../..' . '/../includes/domain/SyncItem.php',
    245251        'AppfulPlugin\\Domain\\Tag' => __DIR__ . '/../..' . '/../includes/domain/Tag.php',
    246252        'AppfulPlugin\\Domain\\User' => __DIR__ . '/../..' . '/../includes/domain/User.php',
     253        'AppfulPlugin\\Domain\\UserRole' => __DIR__ . '/../..' . '/../includes/domain/UserRole.php',
    247254        'AppfulPlugin\\Helper\\AssetLoader' => __DIR__ . '/../..' . '/../includes/helper/AssetLoader.php',
    248255        'AppfulPlugin\\Helper\\ClientTokenManager' => __DIR__ . '/../..' . '/../includes/helper/ClientTokenManager.php',
     
    288295        'AppfulPlugin\\UseCases\\GetPostSyncDataUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/GetPostSyncDataUseCase.php',
    289296        'AppfulPlugin\\UseCases\\GetPostsByIdUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/GetPostsByIdUseCase.php',
     297        'AppfulPlugin\\UseCases\\GetRoleSyncDataUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/GetRoleSyncDataUseCase.php',
     298        'AppfulPlugin\\UseCases\\GetRolesByIdUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/GetRolesByIdUseCase.php',
    290299        'AppfulPlugin\\UseCases\\GetTagSyncDataUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/GetTagSyncDataUseCase.php',
    291300        'AppfulPlugin\\UseCases\\GetTagsByIdUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/GetTagsByIdUseCase.php',
     
    302311        'AppfulPlugin\\UseCases\\SendCommentChunkSyncUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SendCommentChunkSyncUseCase.php',
    303312        'AppfulPlugin\\UseCases\\SendPostChunkSyncUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SendPostChunkSyncUseCase.php',
     313        'AppfulPlugin\\UseCases\\SendRoleChunkSyncUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SendRoleChunkSyncUseCase.php',
    304314        'AppfulPlugin\\UseCases\\SendTagChunkSyncUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SendTagChunkSyncUseCase.php',
    305315        'AppfulPlugin\\UseCases\\SendUserChunkSyncUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SendUserChunkSyncUseCase.php',
     
    309319        'AppfulPlugin\\UseCases\\SyncCommentsUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SyncCommentsUseCase.php',
    310320        'AppfulPlugin\\UseCases\\SyncPostsUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SyncPostsUseCase.php',
     321        'AppfulPlugin\\UseCases\\SyncRolesUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SyncRolesUseCase.php',
    311322        'AppfulPlugin\\UseCases\\SyncTagsUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SyncTagsUseCase.php',
    312323        'AppfulPlugin\\UseCases\\SyncUsersUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SyncUsersUseCase.php',
     
    323334        'AppfulPlugin\\Wp\\Mapper\\UserMapper' => __DIR__ . '/../..' . '/../includes/wp/mapper/UserMapper.php',
    324335        'AppfulPlugin\\Wp\\Plugins\\LanguageHelper' => __DIR__ . '/../..' . '/../includes/wp/plugins/LanguageHelper.php',
     336        'AppfulPlugin\\Wp\\Plugins\\RoleHelper' => __DIR__ . '/../..' . '/../includes/wp/plugins/RoleHelper.php',
    325337        'AppfulPlugin\\Wp\\WPAttachmentManager' => __DIR__ . '/../..' . '/../includes/wp/WPAttachmentManager.php',
    326338        'AppfulPlugin\\Wp\\WPBlogManager' => __DIR__ . '/../..' . '/../includes/wp/WPBlogManager.php',
     
    329341        'AppfulPlugin\\Wp\\WPOptionsManager' => __DIR__ . '/../..' . '/../includes/wp/WPOptionsManager.php',
    330342        'AppfulPlugin\\Wp\\WPPostManager' => __DIR__ . '/../..' . '/../includes/wp/WPPostManager.php',
     343        'AppfulPlugin\\Wp\\WPRoleManager' => __DIR__ . '/../..' . '/../includes/wp/WPRoleManager.php',
    331344        'AppfulPlugin\\Wp\\WPTagManager' => __DIR__ . '/../..' . '/../includes/wp/WPTagManager.php',
    332345        'AppfulPlugin\\Wp\\WPUserManager' => __DIR__ . '/../..' . '/../includes/wp/WPUserManager.php',
  • appful-app/tags/3.1.9/lib/vendor/composer/installed.php

    r2954441 r2962811  
    22    'root' => array(
    33        'name' => '__root__',
    4         'pretty_version' => 'dev-main',
    5         'version' => 'dev-main',
    6         'reference' => '4d8e7b6e341ee0d4e0bee5c8146a5f473c37c66b',
     4        'pretty_version' => '1.0.0+no-version-set',
     5        'version' => '1.0.0.0',
     6        'reference' => NULL,
    77        'type' => 'library',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        '__root__' => array(
    14             'pretty_version' => 'dev-main',
    15             'version' => 'dev-main',
    16             'reference' => '4d8e7b6e341ee0d4e0bee5c8146a5f473c37c66b',
     14            'pretty_version' => '1.0.0+no-version-set',
     15            'version' => '1.0.0.0',
     16            'reference' => NULL,
    1717            'type' => 'library',
    1818            'install_path' => __DIR__ . '/../../',
  • appful-app/tags/3.1.9/readme.txt

    r2954441 r2962811  
    66Tested up to: 6.2
    77Requires PHP: 7.4
    8 Stable tag: 3.1.8
     8Stable tag: 3.1.9
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
  • appful-app/trunk/appful-app.php

    r2954441 r2962811  
    1212 * Plugin URI:        https://appful.io
    1313 * Description:       Appful® is the number 1 plugin for turning your WordPress Content into a native, beautiful app on iOS & Android in under 5 minutes.
    14  * Version:           3.1.8
     14 * Version:           3.1.9
    1515 * Requires at least: 5.8
    1616 * Requires PHP:      7.4
  • appful-app/trunk/includes/api/Endpoints.php

    r2920184 r2962811  
    1313    public static string $SYNC_COMMENTS = "sync-comment";
    1414    public static string $SYNC_TAGS = "sync-tag";
     15    public static string $SYNC_ROLES = "sync-role";
    1516    public static string $SYNC_USERS = "sync-user";
    1617    public static string $SYNC_ATTACHMENTS = "sync-attachment";
     
    2526    public static string $GET_USERS = "get-user";
    2627    public static string $GET_TAGS = "get-tag";
     28    public static string $GET_ROLES = "get-role";
    2729
    2830    public static string $ASSET_LINKS = "android-asset-links";
  • appful-app/trunk/includes/api/ReqHandler.php

    r2954441 r2962811  
    1616use AppfulPlugin\Api\Handlers\GetPostContentsRequestHandler;
    1717use AppfulPlugin\Api\Handlers\GetPostsRequestHandler;
     18use AppfulPlugin\Api\Handlers\GetRolesRequestHandler;
    1819use AppfulPlugin\Api\Handlers\GetTagsRequestHandler;
    1920use AppfulPlugin\Api\Handlers\GetUsersRequestHandler;
     
    2324use AppfulPlugin\Api\Handlers\PullLocalPostContentRequestHandler;
    2425use AppfulPlugin\Api\Handlers\RequestHandler;
     26use AppfulPlugin\Api\Handlers\RoleSyncRequestHandler;
    2527use AppfulPlugin\Api\Handlers\SyncRequestHandler;
    2628use AppfulPlugin\Api\Handlers\TagSyncRequestHandler;
     
    5759            new AuthenticateUserRequestHandler( $use_case_manager->get_authenticate_user_use_case() ),
    5860            new PullLocalPostContentRequestHandler( $use_case_manager->get_get_local_post_content_by_id_use_case() ),
    59             new CreateCommentRequestHandler( $use_case_manager->create_comment_use_case() ),
     61            new CreateCommentRequestHandler( $use_case_manager->create_comment_use_case() ),
     62            new GetRolesRequestHandler( $use_case_manager->get_roles_by_id_use_case() ),
     63            new RoleSyncRequestHandler( $use_case_manager->sync_roles_use_case() ),
    6064        ];
    6165    }
  • appful-app/trunk/includes/api/dtos/PostDto.php

    r2907312 r2962811  
    2222    public bool $sticky = false;
    2323    public bool $send_push = false;
     24    /** @var RoleDto[] */
     25    public array $roles = [];
    2426
    2527    /**
     
    2729     * @param TagDto[] $tags
    2830     * @param AttachmentDto[] $attachments
     31     * @param RoleDto[] $roles
    2932     */
    3033    public function __construct(
     
    4346        string $comment_status,
    4447        bool $sticky,
    45         bool $send_push
     48        bool $send_push,
     49        array $roles
    4650    ) {
    4751        $this->id             = $id;
     
    6064        $this->sticky         = $sticky;
    6165        $this->send_push      = $send_push;
     66        $this->roles        = $roles;
    6267    }
    6368}
  • appful-app/trunk/includes/api/dtos/UserDto.php

    r2907312 r2962811  
    99    public string $avatar = "";
    1010    public string $display_name = "";
     11    /** @var UserRoleDto[] */
     12    public array $roles = [];
    1113
    12     public function __construct( int $id, string $firstname, string $lastname, string $avatar, string $display_name ) {
     14    /**
     15     * @param UserRoleDto[] $roles
     16     */
     17    public function __construct( int $id, string $firstname, string $lastname, string $avatar, string $display_name, array $roles ) {
    1318        $this->id           = $id;
    1419        $this->firstname    = $firstname;
     
    1621        $this->avatar       = $avatar;
    1722        $this->display_name = $display_name;
     23        $this->roles        = $roles;
    1824    }
    1925}
  • appful-app/trunk/includes/api/mapper/PostMapper.php

    r2907312 r2962811  
    77use AppfulPlugin\Domain\Category;
    88use AppfulPlugin\Domain\Post;
     9use AppfulPlugin\Domain\Role;
    910use AppfulPlugin\Domain\Tag;
    1011use AppfulPlugin\Helper\DateParser;
     
    5859            $post->get_comment_status(),
    5960            $post->get_sticky(),
    60             $post->get_send_push()
     61            $post->get_send_push(),
     62            array_map(
     63                function ( Role $role ) {
     64                    return RoleMapper::to_dto( $role );
     65                },
     66                $post->get_roles()
     67            ),
    6168        );
    6269    }
  • appful-app/trunk/includes/api/mapper/UserMapper.php

    r2907312 r2962811  
    55use AppfulPlugin\Api\Dtos\UserDto;
    66use AppfulPlugin\Domain\User;
     7use AppfulPlugin\Domain\UserRole;
    78
    89class UserMapper {
     
    1314            $author->get_lastname(),
    1415            $author->get_avatar(),
    15             $author->get_display_name()
     16            $author->get_display_name(),
     17            array_map(
     18                function ( UserRole $role ) {
     19                    return UserRoleMapper::to_dto( $role );
     20                },
     21                $author->get_roles()
     22            ),
    1623        );
    1724    }
  • appful-app/trunk/includes/domain/Post.php

    r2907312 r2962811  
    2424    private bool $sticky = false;
    2525    private bool $send_push = true;
     26    /** @var Role[] */
     27    private array $roles = [];
    2628
    2729    public function __construct() {
     
    3436     * @param Tag[] $tags
    3537     * @param Attachment[] $attachments
     38     * @param Role[] $roles
    3639     */
    3740    public static function post(
     
    5053        string $comment_status = "",
    5154        bool $sticky = false,
    52         bool $send_push = true
     55        bool $send_push = true,
     56        array $roles = []
    5357    ): Post {
    5458        return ( new Post() )
     
    6771            ->comment_status( $comment_status )
    6872            ->sticky( $sticky )
    69             ->send_push( $send_push );
     73            ->send_push( $send_push )
     74            ->roles( $roles );
    7075    }
    7176
     
    119124
    120125    /**
     126     * @param Role[] $roles
     127     */
     128    public function roles( array $roles ): Post {
     129        $this->roles = $roles;
     130
     131        return $this;
     132    }
     133
     134    /**
    121135     * @param Category[] $categories
    122136     */
     
    167181
    168182        return $this;
     183    }
     184
     185    /**
     186     * @return  Role[]
     187     */
     188    public function get_roles(): array {
     189        return $this->roles;
    169190    }
    170191
  • appful-app/trunk/includes/domain/User.php

    r2907312 r2962811  
    99    private string $display_name = "";
    1010    private string $avatar = "";
     11    /** @var UserRole[] */
     12    private array $roles = [];
    1113
     14    /**
     15     * @param UserRole[] $roles
     16     */
    1217    public static function user(
    1318        int $id = - 1,
     
    1520        string $lastname = "",
    1621        string $avatar = "",
    17         string $display_name = ""
     22        string $display_name = "",
     23        array $roles = []
    1824    ): User {
    19         return ( new User() )->id( $id )->firstname( $firstname )->lastname( $lastname )->avatar( $avatar )->display_name( $display_name );
     25        return ( new User() )
     26            ->id( $id )
     27            ->firstname( $firstname )
     28            ->lastname( $lastname )
     29            ->avatar( $avatar )
     30            ->display_name( $display_name )
     31            ->roles( $roles );
    2032    }
    2133
     
    5062    }
    5163
     64    /**
     65     * @param UserRole[] $roles
     66     */
     67    public function roles( array $roles ): User {
     68        $this->roles = $roles;
     69
     70        return $this;
     71    }
     72
    5273    public function get_firstname(): string {
    5374        return $this->firstname;
     
    6990        return $this->avatar;
    7091    }
     92
     93    /**
     94     * @return  UserRole[]
     95     */
     96    public function get_roles(): array {
     97        return $this->roles;
     98    }
    7199}
  • appful-app/trunk/includes/helper/Constants.php

    r2936340 r2962811  
    3333    public static string $ATTACHMENT_PATH = "/attachments";
    3434    public static string $TAXONOMY_PATH = "/taxonomies";
     35    public static string $ROLE_PATH = "/roles";
    3536
    3637    public static string $API_VERSION_1 = "/v1";
     
    4243    public static int $CATEGORY_SYNC_CHUNK_SIZE = 50;
    4344    public static int $TAG_SYNC_CHUNK_SIZE = 50;
     45    public static int $ROLE_SYNC_CHUNK_SIZE = 50;
    4446}
  • appful-app/trunk/includes/menu/Menu.php

    r2936340 r2962811  
    8484                    "active" => $this->has_plugin( "appful-wpml/appful-wpml.php" ),
    8585                    "link"   => "https://appful.io"
     86                ],
     87                [
     88                    "name"   => "Woocomerce",
     89                    "active" => $this->has_plugin( "appful-woocomerce/appful-woocomerce.php" ),
     90                    "link"   => "https://appful.io"
    8691                ]
    8792            ]
  • appful-app/trunk/includes/use_cases/UseCaseManager.php

    r2954441 r2962811  
    5757    private PullLocalPostContentUseCase $pull_local_post_content_use_case;
    5858    private GetLocalPostContentByIdUseCase $get_local_post_content_by_id_use_case;
    59     private CreateCommentUseCase $create_comment_use_case;
     59    private CreateCommentUseCase $create_comment_use_case;
     60    private GetRolesByIdUseCase $get_roles_by_id_use_case;
     61    private SyncRolesUseCase $sync_roles_use_case;
     62    private GetRoleSyncDataUseCase $get_role_sync_data_use_case;
     63    private SendRoleChunkSyncUseCase $send_role_chunk_sync_use_case;
    6064
    6165    public function __construct( BackendClient $backend_client, SelfClient $self_client ) {
     
    110114        $this->get_local_post_content_by_id_use_case   = new GetLocalPostContentByIdUseCase();
    111115        $this->get_post_contents_by_id_use_case        = new GetPostContentsByIdUseCase( $this->pull_local_post_content_use_case );
    112         $this->create_comment_use_case                 = new CreateCommentUseCase();
     116        $this->create_comment_use_case                 = new CreateCommentUseCase();
     117        $this->get_roles_by_id_use_case                = new GetRolesByIdUseCase();
     118        $this->get_role_sync_data_use_case             = new GetRoleSyncDataUseCase();
     119        $this->send_role_chunk_sync_use_case           = new SendRoleChunkSyncUseCase( $backend_client );
     120        $this->sync_roles_use_case                     = new SyncRolesUseCase( $this->get_role_sync_data_use_case, $this->send_role_chunk_sync_use_case );
    113121    }
    114122
     
    313321    }
    314322
    315     public function create_comment_use_case(): CreateCommentUseCase {
    316         return $this->create_comment_use_case;
    317     }
     323    public function create_comment_use_case(): CreateCommentUseCase {
     324        return $this->create_comment_use_case;
     325    }
     326
     327    public function get_roles_by_id_use_case(): GetRolesByIdUseCase {
     328        return $this->get_roles_by_id_use_case;
     329    }
     330
     331    public function get_role_sync_data_use_case(): GetRoleSyncDataUseCase {
     332        return $this->get_role_sync_data_use_case;
     333    }
     334
     335    public function send_role_chunk_sync_use_case(): SendRoleChunkSyncUseCase {
     336        return $this->send_role_chunk_sync_use_case;
     337    }
     338
     339    public function sync_roles_use_case(): SyncRolesUseCase {
     340        return $this->sync_roles_use_case;
     341    }
    318342}
  • appful-app/trunk/includes/wp/WPPostManager.php

    r2920184 r2962811  
    55use AppfulPlugin\Domain\Post;
    66use AppfulPlugin\Domain\PostContent;
     7use AppfulPlugin\Domain\Role;
     8use AppfulPlugin\Domain\UserRole;
    79use AppfulPlugin\Helper\Constants;
    810use AppfulPlugin\Wp\Mapper\PostMapper;
    911use AppfulPlugin\Wp\Plugins\LanguageHelper;
     12use AppfulPlugin\Wp\Plugins\RoleHelper;
    1013use WP_Post;
    1114
  • appful-app/trunk/includes/wp/WPUserManager.php

    r2920030 r2962811  
    44
    55use AppfulPlugin\Domain\User;
     6use AppfulPlugin\Domain\UserRole;
    67use AppfulPlugin\Wp\Mapper\UserMapper;
     8use AppfulPlugin\Wp\Plugins\RoleHelper;
    79use WP_User;
    810
     
    1618
    1719        return $avatar_url;
     20    }
     21
     22    /** @return UserRole[] */
     23    public static function get_user_roles( int $user_id ): array {
     24        return RoleHelper::get_user_roles( $user_id );
    1825    }
    1926
  • appful-app/trunk/includes/wp/mapper/PostMapper.php

    r2907312 r2962811  
    66use AppfulPlugin\Helper\DateParser;
    77use AppfulPlugin\Wp\WPAttachmentManager;
    8 use AppfulPlugin\Wp\WPAuthorManager;
    98use AppfulPlugin\Wp\WPCategoryManager;
    109use AppfulPlugin\Wp\WPPostManager;
     10use AppfulPlugin\Wp\WPRoleManager;
    1111use AppfulPlugin\Wp\WPTagManager;
    1212use AppfulPlugin\Wp\WPUserManager;
     
    3232                   ->comment_status( $post->comment_status )
    3333                   ->sticky( WPPostManager::is_post_sticky( $post->ID ) )
    34                    ->send_push( WPPostManager::should_send_push( $post->ID ) );
     34                   ->send_push( WPPostManager::should_send_push( $post->ID ) )
     35                   ->roles( WPRoleManager::get_roles_for_post_id( $post->ID ) );
    3536    }
    3637}
  • appful-app/trunk/includes/wp/mapper/UserMapper.php

    r2927004 r2962811  
    3030                   ->lastname( $last_name )
    3131                   ->display_name( $display_name )
    32                    ->avatar( WPUserManager::get_user_avatar( $user->ID ) );
     32                   ->avatar( WPUserManager::get_user_avatar( $user->ID ) )
     33                   ->roles( WPUserManager::get_user_roles( $user->ID ) );
    3334    }
    3435}
  • appful-app/trunk/lib/vendor/composer/autoload_classmap.php

    r2954441 r2962811  
    1818    'AppfulPlugin\\Api\\Dtos\\PostContentDto' => $baseDir . '/../includes/api/dtos/PostContentDto.php',
    1919    'AppfulPlugin\\Api\\Dtos\\PostDto' => $baseDir . '/../includes/api/dtos/PostDto.php',
     20    'AppfulPlugin\\Api\\Dtos\\RoleDto' => $baseDir . '/../includes/api/dtos/RoleDto.php',
    2021    'AppfulPlugin\\Api\\Dtos\\SyncChunkDto' => $baseDir . '/../includes/api/dtos/SyncChunkDto.php',
    2122    'AppfulPlugin\\Api\\Dtos\\SyncItemDto' => $baseDir . '/../includes/api/dtos/SyncItemDto.php',
    2223    'AppfulPlugin\\Api\\Dtos\\TagDto' => $baseDir . '/../includes/api/dtos/TagDto.php',
    2324    'AppfulPlugin\\Api\\Dtos\\UserDto' => $baseDir . '/../includes/api/dtos/UserDto.php',
     25    'AppfulPlugin\\Api\\Dtos\\UserRoleDto' => $baseDir . '/../includes/api/dtos/UserRoleDto.php',
    2426    'AppfulPlugin\\Api\\Endpoints' => $baseDir . '/../includes/api/Endpoints.php',
    2527    'AppfulPlugin\\Api\\Handlers\\AndroidAssetLinkRequestHandler' => $baseDir . '/../includes/api/handlers/AndroidAssetLinkRequestHandler.php',
     
    3638    'AppfulPlugin\\Api\\Handlers\\GetPostContentsRequestHandler' => $baseDir . '/../includes/api/handlers/GetPostContentsRequestHandler.php',
    3739    'AppfulPlugin\\Api\\Handlers\\GetPostsRequestHandler' => $baseDir . '/../includes/api/handlers/GetPostsRequestHandler.php',
     40    'AppfulPlugin\\Api\\Handlers\\GetRolesRequestHandler' => $baseDir . '/../includes/api/handlers/GetRolesRequestHandler.php',
    3841    'AppfulPlugin\\Api\\Handlers\\GetTagsRequestHandler' => $baseDir . '/../includes/api/handlers/GetTagsRequestHandler.php',
    3942    'AppfulPlugin\\Api\\Handlers\\GetUsersRequestHandler' => $baseDir . '/../includes/api/handlers/GetUsersRequestHandler.php',
     
    4346    'AppfulPlugin\\Api\\Handlers\\PullLocalPostContentRequestHandler' => $baseDir . '/../includes/api/handlers/PullLocalPostContentRequestHandler.php',
    4447    'AppfulPlugin\\Api\\Handlers\\RequestHandler' => $baseDir . '/../includes/api/handlers/RequestHandler.php',
     48    'AppfulPlugin\\Api\\Handlers\\RoleSyncRequestHandler' => $baseDir . '/../includes/api/handlers/RoleSyncRequestHandler.php',
    4549    'AppfulPlugin\\Api\\Handlers\\SyncRequestHandler' => $baseDir . '/../includes/api/handlers/SyncRequestHandler.php',
    4650    'AppfulPlugin\\Api\\Handlers\\TagSyncRequestHandler' => $baseDir . '/../includes/api/handlers/TagSyncRequestHandler.php',
     
    5357    'AppfulPlugin\\Api\\Mapper\\PostContentMapper' => $baseDir . '/../includes/api/mapper/PostContentMapper.php',
    5458    'AppfulPlugin\\Api\\Mapper\\PostMapper' => $baseDir . '/../includes/api/mapper/PostMapper.php',
     59    'AppfulPlugin\\Api\\Mapper\\RoleMapper' => $baseDir . '/../includes/api/mapper/RoleMapper.php',
    5560    'AppfulPlugin\\Api\\Mapper\\SyncChunkMapper' => $baseDir . '/../includes/api/mapper/SyncChunkMapper.php',
    5661    'AppfulPlugin\\Api\\Mapper\\SyncItemMapper' => $baseDir . '/../includes/api/mapper/SyncItemMapper.php',
     
    7479    'AppfulPlugin\\Domain\\Post' => $baseDir . '/../includes/domain/Post.php',
    7580    'AppfulPlugin\\Domain\\PostContent' => $baseDir . '/../includes/domain/PostContent.php',
     81    'AppfulPlugin\\Domain\\Role' => $baseDir . '/../includes/domain/Role.php',
    7682    'AppfulPlugin\\Domain\\SyncChunk' => $baseDir . '/../includes/domain/SyncChunk.php',
    7783    'AppfulPlugin\\Domain\\SyncItem' => $baseDir . '/../includes/domain/SyncItem.php',
    7884    'AppfulPlugin\\Domain\\Tag' => $baseDir . '/../includes/domain/Tag.php',
    7985    'AppfulPlugin\\Domain\\User' => $baseDir . '/../includes/domain/User.php',
     86    'AppfulPlugin\\Domain\\UserRole' => $baseDir . '/../includes/domain/UserRole.php',
    8087    'AppfulPlugin\\Helper\\AssetLoader' => $baseDir . '/../includes/helper/AssetLoader.php',
    8188    'AppfulPlugin\\Helper\\ClientTokenManager' => $baseDir . '/../includes/helper/ClientTokenManager.php',
     
    121128    'AppfulPlugin\\UseCases\\GetPostSyncDataUseCase' => $baseDir . '/../includes/use_cases/GetPostSyncDataUseCase.php',
    122129    'AppfulPlugin\\UseCases\\GetPostsByIdUseCase' => $baseDir . '/../includes/use_cases/GetPostsByIdUseCase.php',
     130    'AppfulPlugin\\UseCases\\GetRoleSyncDataUseCase' => $baseDir . '/../includes/use_cases/GetRoleSyncDataUseCase.php',
     131    'AppfulPlugin\\UseCases\\GetRolesByIdUseCase' => $baseDir . '/../includes/use_cases/GetRolesByIdUseCase.php',
    123132    'AppfulPlugin\\UseCases\\GetTagSyncDataUseCase' => $baseDir . '/../includes/use_cases/GetTagSyncDataUseCase.php',
    124133    'AppfulPlugin\\UseCases\\GetTagsByIdUseCase' => $baseDir . '/../includes/use_cases/GetTagsByIdUseCase.php',
     
    135144    'AppfulPlugin\\UseCases\\SendCommentChunkSyncUseCase' => $baseDir . '/../includes/use_cases/SendCommentChunkSyncUseCase.php',
    136145    'AppfulPlugin\\UseCases\\SendPostChunkSyncUseCase' => $baseDir . '/../includes/use_cases/SendPostChunkSyncUseCase.php',
     146    'AppfulPlugin\\UseCases\\SendRoleChunkSyncUseCase' => $baseDir . '/../includes/use_cases/SendRoleChunkSyncUseCase.php',
    137147    'AppfulPlugin\\UseCases\\SendTagChunkSyncUseCase' => $baseDir . '/../includes/use_cases/SendTagChunkSyncUseCase.php',
    138148    'AppfulPlugin\\UseCases\\SendUserChunkSyncUseCase' => $baseDir . '/../includes/use_cases/SendUserChunkSyncUseCase.php',
     
    142152    'AppfulPlugin\\UseCases\\SyncCommentsUseCase' => $baseDir . '/../includes/use_cases/SyncCommentsUseCase.php',
    143153    'AppfulPlugin\\UseCases\\SyncPostsUseCase' => $baseDir . '/../includes/use_cases/SyncPostsUseCase.php',
     154    'AppfulPlugin\\UseCases\\SyncRolesUseCase' => $baseDir . '/../includes/use_cases/SyncRolesUseCase.php',
    144155    'AppfulPlugin\\UseCases\\SyncTagsUseCase' => $baseDir . '/../includes/use_cases/SyncTagsUseCase.php',
    145156    'AppfulPlugin\\UseCases\\SyncUsersUseCase' => $baseDir . '/../includes/use_cases/SyncUsersUseCase.php',
     
    156167    'AppfulPlugin\\Wp\\Mapper\\UserMapper' => $baseDir . '/../includes/wp/mapper/UserMapper.php',
    157168    'AppfulPlugin\\Wp\\Plugins\\LanguageHelper' => $baseDir . '/../includes/wp/plugins/LanguageHelper.php',
     169    'AppfulPlugin\\Wp\\Plugins\\RoleHelper' => $baseDir . '/../includes/wp/plugins/RoleHelper.php',
    158170    'AppfulPlugin\\Wp\\WPAttachmentManager' => $baseDir . '/../includes/wp/WPAttachmentManager.php',
    159171    'AppfulPlugin\\Wp\\WPBlogManager' => $baseDir . '/../includes/wp/WPBlogManager.php',
     
    162174    'AppfulPlugin\\Wp\\WPOptionsManager' => $baseDir . '/../includes/wp/WPOptionsManager.php',
    163175    'AppfulPlugin\\Wp\\WPPostManager' => $baseDir . '/../includes/wp/WPPostManager.php',
     176    'AppfulPlugin\\Wp\\WPRoleManager' => $baseDir . '/../includes/wp/WPRoleManager.php',
    164177    'AppfulPlugin\\Wp\\WPTagManager' => $baseDir . '/../includes/wp/WPTagManager.php',
    165178    'AppfulPlugin\\Wp\\WPUserManager' => $baseDir . '/../includes/wp/WPUserManager.php',
  • appful-app/trunk/lib/vendor/composer/autoload_static.php

    r2954441 r2962811  
    185185        'AppfulPlugin\\Api\\Dtos\\PostContentDto' => __DIR__ . '/../..' . '/../includes/api/dtos/PostContentDto.php',
    186186        'AppfulPlugin\\Api\\Dtos\\PostDto' => __DIR__ . '/../..' . '/../includes/api/dtos/PostDto.php',
     187        'AppfulPlugin\\Api\\Dtos\\RoleDto' => __DIR__ . '/../..' . '/../includes/api/dtos/RoleDto.php',
    187188        'AppfulPlugin\\Api\\Dtos\\SyncChunkDto' => __DIR__ . '/../..' . '/../includes/api/dtos/SyncChunkDto.php',
    188189        'AppfulPlugin\\Api\\Dtos\\SyncItemDto' => __DIR__ . '/../..' . '/../includes/api/dtos/SyncItemDto.php',
    189190        'AppfulPlugin\\Api\\Dtos\\TagDto' => __DIR__ . '/../..' . '/../includes/api/dtos/TagDto.php',
    190191        'AppfulPlugin\\Api\\Dtos\\UserDto' => __DIR__ . '/../..' . '/../includes/api/dtos/UserDto.php',
     192        'AppfulPlugin\\Api\\Dtos\\UserRoleDto' => __DIR__ . '/../..' . '/../includes/api/dtos/UserRoleDto.php',
    191193        'AppfulPlugin\\Api\\Endpoints' => __DIR__ . '/../..' . '/../includes/api/Endpoints.php',
    192194        'AppfulPlugin\\Api\\Handlers\\AndroidAssetLinkRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/AndroidAssetLinkRequestHandler.php',
     
    203205        'AppfulPlugin\\Api\\Handlers\\GetPostContentsRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/GetPostContentsRequestHandler.php',
    204206        'AppfulPlugin\\Api\\Handlers\\GetPostsRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/GetPostsRequestHandler.php',
     207        'AppfulPlugin\\Api\\Handlers\\GetRolesRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/GetRolesRequestHandler.php',
    205208        'AppfulPlugin\\Api\\Handlers\\GetTagsRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/GetTagsRequestHandler.php',
    206209        'AppfulPlugin\\Api\\Handlers\\GetUsersRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/GetUsersRequestHandler.php',
     
    210213        'AppfulPlugin\\Api\\Handlers\\PullLocalPostContentRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/PullLocalPostContentRequestHandler.php',
    211214        'AppfulPlugin\\Api\\Handlers\\RequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/RequestHandler.php',
     215        'AppfulPlugin\\Api\\Handlers\\RoleSyncRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/RoleSyncRequestHandler.php',
    212216        'AppfulPlugin\\Api\\Handlers\\SyncRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/SyncRequestHandler.php',
    213217        'AppfulPlugin\\Api\\Handlers\\TagSyncRequestHandler' => __DIR__ . '/../..' . '/../includes/api/handlers/TagSyncRequestHandler.php',
     
    220224        'AppfulPlugin\\Api\\Mapper\\PostContentMapper' => __DIR__ . '/../..' . '/../includes/api/mapper/PostContentMapper.php',
    221225        'AppfulPlugin\\Api\\Mapper\\PostMapper' => __DIR__ . '/../..' . '/../includes/api/mapper/PostMapper.php',
     226        'AppfulPlugin\\Api\\Mapper\\RoleMapper' => __DIR__ . '/../..' . '/../includes/api/mapper/RoleMapper.php',
    222227        'AppfulPlugin\\Api\\Mapper\\SyncChunkMapper' => __DIR__ . '/../..' . '/../includes/api/mapper/SyncChunkMapper.php',
    223228        'AppfulPlugin\\Api\\Mapper\\SyncItemMapper' => __DIR__ . '/../..' . '/../includes/api/mapper/SyncItemMapper.php',
     
    241246        'AppfulPlugin\\Domain\\Post' => __DIR__ . '/../..' . '/../includes/domain/Post.php',
    242247        'AppfulPlugin\\Domain\\PostContent' => __DIR__ . '/../..' . '/../includes/domain/PostContent.php',
     248        'AppfulPlugin\\Domain\\Role' => __DIR__ . '/../..' . '/../includes/domain/Role.php',
    243249        'AppfulPlugin\\Domain\\SyncChunk' => __DIR__ . '/../..' . '/../includes/domain/SyncChunk.php',
    244250        'AppfulPlugin\\Domain\\SyncItem' => __DIR__ . '/../..' . '/../includes/domain/SyncItem.php',
    245251        'AppfulPlugin\\Domain\\Tag' => __DIR__ . '/../..' . '/../includes/domain/Tag.php',
    246252        'AppfulPlugin\\Domain\\User' => __DIR__ . '/../..' . '/../includes/domain/User.php',
     253        'AppfulPlugin\\Domain\\UserRole' => __DIR__ . '/../..' . '/../includes/domain/UserRole.php',
    247254        'AppfulPlugin\\Helper\\AssetLoader' => __DIR__ . '/../..' . '/../includes/helper/AssetLoader.php',
    248255        'AppfulPlugin\\Helper\\ClientTokenManager' => __DIR__ . '/../..' . '/../includes/helper/ClientTokenManager.php',
     
    288295        'AppfulPlugin\\UseCases\\GetPostSyncDataUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/GetPostSyncDataUseCase.php',
    289296        'AppfulPlugin\\UseCases\\GetPostsByIdUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/GetPostsByIdUseCase.php',
     297        'AppfulPlugin\\UseCases\\GetRoleSyncDataUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/GetRoleSyncDataUseCase.php',
     298        'AppfulPlugin\\UseCases\\GetRolesByIdUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/GetRolesByIdUseCase.php',
    290299        'AppfulPlugin\\UseCases\\GetTagSyncDataUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/GetTagSyncDataUseCase.php',
    291300        'AppfulPlugin\\UseCases\\GetTagsByIdUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/GetTagsByIdUseCase.php',
     
    302311        'AppfulPlugin\\UseCases\\SendCommentChunkSyncUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SendCommentChunkSyncUseCase.php',
    303312        'AppfulPlugin\\UseCases\\SendPostChunkSyncUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SendPostChunkSyncUseCase.php',
     313        'AppfulPlugin\\UseCases\\SendRoleChunkSyncUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SendRoleChunkSyncUseCase.php',
    304314        'AppfulPlugin\\UseCases\\SendTagChunkSyncUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SendTagChunkSyncUseCase.php',
    305315        'AppfulPlugin\\UseCases\\SendUserChunkSyncUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SendUserChunkSyncUseCase.php',
     
    309319        'AppfulPlugin\\UseCases\\SyncCommentsUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SyncCommentsUseCase.php',
    310320        'AppfulPlugin\\UseCases\\SyncPostsUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SyncPostsUseCase.php',
     321        'AppfulPlugin\\UseCases\\SyncRolesUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SyncRolesUseCase.php',
    311322        'AppfulPlugin\\UseCases\\SyncTagsUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SyncTagsUseCase.php',
    312323        'AppfulPlugin\\UseCases\\SyncUsersUseCase' => __DIR__ . '/../..' . '/../includes/use_cases/SyncUsersUseCase.php',
     
    323334        'AppfulPlugin\\Wp\\Mapper\\UserMapper' => __DIR__ . '/../..' . '/../includes/wp/mapper/UserMapper.php',
    324335        'AppfulPlugin\\Wp\\Plugins\\LanguageHelper' => __DIR__ . '/../..' . '/../includes/wp/plugins/LanguageHelper.php',
     336        'AppfulPlugin\\Wp\\Plugins\\RoleHelper' => __DIR__ . '/../..' . '/../includes/wp/plugins/RoleHelper.php',
    325337        'AppfulPlugin\\Wp\\WPAttachmentManager' => __DIR__ . '/../..' . '/../includes/wp/WPAttachmentManager.php',
    326338        'AppfulPlugin\\Wp\\WPBlogManager' => __DIR__ . '/../..' . '/../includes/wp/WPBlogManager.php',
     
    329341        'AppfulPlugin\\Wp\\WPOptionsManager' => __DIR__ . '/../..' . '/../includes/wp/WPOptionsManager.php',
    330342        'AppfulPlugin\\Wp\\WPPostManager' => __DIR__ . '/../..' . '/../includes/wp/WPPostManager.php',
     343        'AppfulPlugin\\Wp\\WPRoleManager' => __DIR__ . '/../..' . '/../includes/wp/WPRoleManager.php',
    331344        'AppfulPlugin\\Wp\\WPTagManager' => __DIR__ . '/../..' . '/../includes/wp/WPTagManager.php',
    332345        'AppfulPlugin\\Wp\\WPUserManager' => __DIR__ . '/../..' . '/../includes/wp/WPUserManager.php',
  • appful-app/trunk/lib/vendor/composer/installed.php

    r2954441 r2962811  
    22    'root' => array(
    33        'name' => '__root__',
    4         'pretty_version' => 'dev-main',
    5         'version' => 'dev-main',
    6         'reference' => '4d8e7b6e341ee0d4e0bee5c8146a5f473c37c66b',
     4        'pretty_version' => '1.0.0+no-version-set',
     5        'version' => '1.0.0.0',
     6        'reference' => NULL,
    77        'type' => 'library',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        '__root__' => array(
    14             'pretty_version' => 'dev-main',
    15             'version' => 'dev-main',
    16             'reference' => '4d8e7b6e341ee0d4e0bee5c8146a5f473c37c66b',
     14            'pretty_version' => '1.0.0+no-version-set',
     15            'version' => '1.0.0.0',
     16            'reference' => NULL,
    1717            'type' => 'library',
    1818            'install_path' => __DIR__ . '/../../',
  • appful-app/trunk/readme.txt

    r2954441 r2962811  
    66Tested up to: 6.2
    77Requires PHP: 7.4
    8 Stable tag: 3.1.8
     8Stable tag: 3.1.9
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
Note: See TracChangeset for help on using the changeset viewer.