Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ActiveResource #14

Open
BerkantC opened this issue Jun 22, 2017 · 10 comments
Open

ActiveResource #14

BerkantC opened this issue Jun 22, 2017 · 10 comments
Assignees

Comments

@BerkantC
Copy link
Contributor

Propongo el uso de un Active Resource de modo que en el archivo version se declaren todos los 'Resources' Padres, y en cada uno de los padres se declaren los recursos anidados.

@Faryshta
Copy link
Member

da un ejemplo de como se comportaría este active resource.

@BerkantC
Copy link
Contributor Author

Puede ser de tipo
ResourceParent

$childResources = [
'Resource1' => [ 'class' => class1::class(), 'rule' => rule ],
'Resource2' => [ 'class' => class2::class(), 'rule' => rule ]
];

@Faryshta
Copy link
Member

¿Cómo se diferenciaría entre coleciones y singleton?

Ejemplo: usuario/1/avatar te trae el avatar del usuario con id 1. perfil/avatar te trae el avatar del usuario autentificado.

@BerkantC
Copy link
Contributor Author

que tal algo como esto?

$childResources = [
'usuario/id:\d+/avatar' => [...], //Perfil de usuario
'usuario/avatar' => [...], //MI perfil
];

@Faryshta
Copy link
Member

ok suena razonable. por último ¿cómo se manejaría el slug? ya no sería un behavior en el modelo ya que ahora cambiaría el orden de revisión. ¿que podría ser? ¿cómo se hace lo de slug links de cada modelo?

@BerkantC
Copy link
Contributor Author

BerkantC commented Jun 30, 2017 via email

@Faryshta
Copy link
Member

#13 ya fue resuelto ¿cómo afecta este issue?

@Faryshta
Copy link
Member

Faryshta commented Sep 1, 2018

Con el uso de modulos y filtros de accion se puede crear una nueva clase digamos ActiveModuleResource la cual extienda de yii\base\Module y declare un recurso por defecto el cual se encargue de una unica ruta y que permita declarar modulos anidados para encargarse de subrutas.

/**
 * Handles route /shop
 */
class ShopModuleResource extends \tecnocen\roa\modules\ActiveModuleResource
{
    public $resourceController = [
        'modelClass' => Shop::class,
        'searchClass' => ShopSearch::class,
   ];

   public $modules => [
        'department' => DepartmentModuleResource::class, // route /shop/<shop_id>/department
        'employee' => EmployeeModuleResource::class, // route /shop/<shop_id>/employee
   ];
}

@neverabe
Copy link
Member

@Faryshta, plz make a real example here, something like /shop/<shop_id>/department or /shop/<shop_id>/employee

https://github.com/tecnocen-com/yii2-roa/blob/master/tests/_app/api/modules/Version.php

@Faryshta
Copy link
Member

Making a demo would take me the same as making the entire thing by definition. above I wrote how it could be used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants