// Path: services/synchronize/api/src/main/java/eu/hlavki/identity/services/sync/AccountSyncService.java
// public interface AccountSyncService {
// 
//     void synchronizeUserGroups(UserInfo userInfo);
// 
// 
//     void synchronizeGroup(String groupEmail) throws ResourceNotFoundException;
// 
// 
//     void removeGroup(String groupEmail);
// 
// 
//     void synchronizeAllGroups();
// 
// 
//     void synchronizeGSuiteUser(String email);
// 
// 
//     void synchronizeGSuiteUsers();
// 
// 
//     void removeUserByEmail(String email);
// 
// 
//     void cleanExternalUsers();
// }


import eu.hlavki.identity.services.sync.AccountSyncService;
import org.apache.karaf.shell.api.action.Action;
import org.apache.karaf.shell.api.action.Command;
import org.apache.karaf.shell.api.action.lifecycle.Reference;
import org.apache.karaf.shell.api.action.lifecycle.Service;
package eu.hlavki.identity.services.sync.client;


@Service
@Command(scope = "identity", name = "synchronize-users-attr", description = "Synchronize G Suite user attributes")
public class SyncUserAttributesCommand implements Action {

    @Reference
// Path: services/synchronize/api/src/main/java/eu/hlavki/identity/services/sync/AccountSyncService.java
// public interface AccountSyncService {
// 
//     void synchronizeUserGroups(UserInfo userInfo);
// 
// 
//     void synchronizeGroup(String groupEmail) throws ResourceNotFoundException;
// 
// 
//     void removeGroup(String groupEmail);
// 
// 
//     void synchronizeAllGroups();
// 
// 
//     void synchronizeGSuiteUser(String email);
// 
// 
//     void synchronizeGSuiteUsers();
// 
// 
//     void removeUserByEmail(String email);
// 
// 
//     void cleanExternalUsers();
// }


// Path: services/synchronize/client/src/main/java/eu/hlavki/identity/services/sync/client/SyncUserAttributesCommand.java
import eu.hlavki.identity.services.sync.AccountSyncService;
import org.apache.karaf.shell.api.action.Action;
import org.apache.karaf.shell.api.action.Command;
import org.apache.karaf.shell.api.action.lifecycle.Reference;
import org.apache.karaf.shell.api.action.lifecycle.Service;

package eu.hlavki.identity.services.sync.client;


@Service
@Command(scope = "identity", name = "synchronize-users-attr", description = "Synchronize G Suite user attributes")
public class SyncUserAttributesCommand implements Action {

    @Reference
    AccountSyncService syncService;