
from .users import RolesResource, UsersResource
from .services import DBUsersService, RolesService, is_admin  # noqa
import superdesk


def init_app(app):
    endpoint_name = 'users'
    service = DBUsersService(endpoint_name, backend=superdesk.get_backend())
    UsersResource(endpoint_name, app=app, service=service)

    endpoint_name = 'roles'
    service = RolesService(endpoint_name, backend=superdesk.get_backend())
    RolesResource(endpoint_name, app=app, service=service)

    superdesk.privilege(name='users', label='User Management', description='User can manage users.')
    superdesk.privilege(name='roles', label='Roles Management', description='User can manage roles.')

    # Registering with intrinsic privileges because: A user should be allowed to update their own profile.
    superdesk.intrinsic_privilege(resource_name='users', method=['PATCH'])


from .users import RolesResource, UsersResource
from .services import UsersService, DBUsersService, RolesService, is_admin  # noqa
import superdesk


def init_app(app):
    endpoint_name = 'users'
    service = DBUsersService(endpoint_name, backend=superdesk.get_backend())
    UsersResource(endpoint_name, app=app, service=service)

    endpoint_name = 'roles'
    service = RolesService(endpoint_name, backend=superdesk.get_backend())
    RolesResource(endpoint_name, app=app, service=service)

    superdesk.privilege(name='users', label='User Management', description='User can manage users.')
    superdesk.privilege(name='roles', label='Roles Management', description='User can manage roles.')

    # Registering with intrinsic privileges because: A user should be allowed to update their own profile.
    superdesk.intrinsic_privilege(resource_name='users', method=['PATCH'])

Make UsersResource reusable for LDAP
Make UsersResource reusable for LDAP

  
  from .users import RolesResource, UsersResource
- from .services import DBUsersService, RolesService, is_admin  # noqa
+ from .services import UsersService, DBUsersService, RolesService, is_admin  # noqa
  import superdesk
  
  
  def init_app(app):
      endpoint_name = 'users'
      service = DBUsersService(endpoint_name, backend=superdesk.get_backend())
      UsersResource(endpoint_name, app=app, service=service)
  
      endpoint_name = 'roles'
      service = RolesService(endpoint_name, backend=superdesk.get_backend())
      RolesResource(endpoint_name, app=app, service=service)
  
      superdesk.privilege(name='users', label='User Management', description='User can manage users.')
      superdesk.privilege(name='roles', label='Roles Management', description='User can manage roles.')
  
      # Registering with intrinsic privileges because: A user should be allowed to update their own profile.
      superdesk.intrinsic_privilege(resource_name='users', method=['PATCH'])
  
Make UsersResource reusable for LDAP
## Code Before:

from .users import RolesResource, UsersResource
from .services import DBUsersService, RolesService, is_admin  # noqa
import superdesk


def init_app(app):
    endpoint_name = 'users'
    service = DBUsersService(endpoint_name, backend=superdesk.get_backend())
    UsersResource(endpoint_name, app=app, service=service)

    endpoint_name = 'roles'
    service = RolesService(endpoint_name, backend=superdesk.get_backend())
    RolesResource(endpoint_name, app=app, service=service)

    superdesk.privilege(name='users', label='User Management', description='User can manage users.')
    superdesk.privilege(name='roles', label='Roles Management', description='User can manage roles.')

    # Registering with intrinsic privileges because: A user should be allowed to update their own profile.
    superdesk.intrinsic_privilege(resource_name='users', method=['PATCH'])

## Instruction:
Make UsersResource reusable for LDAP
## Code After:

from .users import RolesResource, UsersResource
from .services import UsersService, DBUsersService, RolesService, is_admin  # noqa
import superdesk


def init_app(app):
    endpoint_name = 'users'
    service = DBUsersService(endpoint_name, backend=superdesk.get_backend())
    UsersResource(endpoint_name, app=app, service=service)

    endpoint_name = 'roles'
    service = RolesService(endpoint_name, backend=superdesk.get_backend())
    RolesResource(endpoint_name, app=app, service=service)

    superdesk.privilege(name='users', label='User Management', description='User can manage users.')
    superdesk.privilege(name='roles', label='Roles Management', description='User can manage roles.')

    # Registering with intrinsic privileges because: A user should be allowed to update their own profile.
    superdesk.intrinsic_privilege(resource_name='users', method=['PATCH'])
