NAME
Kernel::System::Service – service lib
DESCRIPTION
All service functions.
PUBLIC INTERFACE
new()
create an object
my $ServiceObject = $Kernel::OM->Get('Kernel::System::Service');
ServiceList()
return a hash list of services
my %ServiceList = $ServiceObject->ServiceList(
Valid => 0, # (optional) default 1 (0|1)
UserID => 1,
);
ServiceListGet()
return a list of services with the complete list of attributes for each service
my $ServiceList = $ServiceObject->ServiceListGet(
Valid => 0, # (optional) default 1 (0|1)
UserID => 1,
);
returns
$ServiceList = [
{
ServiceID => 1,
ParentID => 0,
Name => 'MyService',
NameShort => 'MyService',
ValidID => 1,
Comment => 'Some Comment'
CreateTime => '2011-02-08 15:08:00',
ChangeTime => '2011-06-11 17:22:00',
CreateBy => 1,
ChangeBy => 1,
},
{
ServiceID => 2,
ParentID => 1,
Name => 'MyService::MySubService',
NameShort => 'MySubService',
ValidID => 1,
Comment => 'Some Comment'
CreateTime => '2011-02-08 15:08:00',
ChangeTime => '2011-06-11 17:22:00',
CreateBy => 1,
ChangeBy => 1,
},
# ...
];
ServiceGet()
return a service as hash
Return $ServiceData{ServiceID} $ServiceData{ParentID} $ServiceData{Name} $ServiceData{NameShort} $ServiceData{ValidID} $ServiceData{Comment} $ServiceData{CreateTime} $ServiceData{CreateBy} $ServiceData{ChangeTime} $ServiceData{ChangeBy}
my %ServiceData = $ServiceObject->ServiceGet(
ServiceID => 123,
UserID => 1,
IncludePreferences => '0|1' # optional, default '1'
);
my %ServiceData = $ServiceObject->ServiceGet(
Name => 'Service::SubService',
UserID => 1,
);
ServiceLookup()
return a service name and id
my $ServiceName = $ServiceObject->ServiceLookup(
ServiceID => 123,
);
or
my $ServiceID = $ServiceObject->ServiceLookup(
Name => 'Service::SubService',
);
ServiceAdd()
add a service
my $ServiceID = $ServiceObject->ServiceAdd(
Name => 'Service Name',
ParentID => 1, # (optional)
ValidID => 1,
Comment => 'Comment', # (optional)
UserID => 1,
);
ServiceUpdate()
update an existing service
my $True = $ServiceObject->ServiceUpdate(
ServiceID => 123,
ParentID => 1, # (optional)
Name => 'Service Name',
ValidID => 1,
Comment => 'Comment', # (optional)
UserID => 1,
);
ServiceSearch()
return service ids as an array
my @ServiceList = $ServiceObject->ServiceSearch(
Name => 'Service Name', # (optional)
Limit => 122, # (optional) default 1000
UserID => 1,
);
CustomerUserServiceMemberList()
returns a list of customeruser/service members
ServiceID: service id
CustomerUserLogin: customer user login
DefaultServices: activate or deactivate default services
Result: HASH -> returns a hash of key => service id, value => service name
Name -> returns an array of user names
ID -> returns an array of user ids
Example (get services of customer user):
$ServiceObject->CustomerUserServiceMemberList(
CustomerUserLogin => 'Test',
Result => 'HASH',
DefaultServices => 0,
);
Example (get customer user of service):
$ServiceObject->CustomerUserServiceMemberList(
ServiceID => $ID,
Result => 'HASH',
);
CustomerUserServiceMemberAdd()
to add a member to a service
if 'Active' is 0, the customer is removed from the service
$ServiceObject->CustomerUserServiceMemberAdd(
CustomerUserLogin => 'Test1',
ServiceID => 6,
Active => 1,
UserID => 123,
);
ServicePreferencesSet()
set service preferences
$ServiceObject->ServicePreferencesSet(
ServiceID => 123,
Key => 'UserComment',
Value => 'some comment',
UserID => 123,
);
ServicePreferencesGet()
get service preferences
my %Preferences = $ServiceObject->ServicePreferencesGet(
ServiceID => 123,
UserID => 123,
);
ServicePreferencesDelete()
Delete service preferences
my $Success = $ServiceObject->ServicePreferencesDelete(
ServiceID => 123,
);
ServiceDelete()
Delete a Service
my $Success = $ServiceObject->ServiceDelete(
ServiceID => 123,
UserID => 123,
);
ServiceParentsGet()
return an ordered list all parent service IDs for the given service from the root parent to the current service parent
my $ServiceParentsList = $ServiceObject->ServiceParentsGet(
ServiceID => 123,
UserID => 1,
);
returns
$ServiceParentsList = [ 1, 2, ...];
GetAllCustomServices()
get all custom services of one user
my @Services = $ServiceObject->GetAllCustomServices( UserID => 123 );
CustomerUserServiceMemberDelete()
Deletes all relations between the service id given and its customer users and vice versa.
$ServiceObject->CustomerUserServiceMemberDelete(
CustomerUserLogin => 789,
);
$ServiceObject->CustomerUserServiceMemberDelete(
ServiceID => 123,
);