| All Verbs | /api/contactrolegroups/{LicenseeId} |
|---|
import 'package:servicestack/servicestack.dart';
enum SortOrder
{
Ascending,
Descending,
}
class PagedModel implements IConvertible
{
/**
* Page Number to retrieve
*/
// @ApiMember(DataType="int", Description="Page Number to retrieve", Name="PageNumber")
int? PageNumber;
/**
* Number of records to retrieve
*/
// @ApiMember(DataType="int", Description="Number of records to retrieve", Name="PageSize")
int? PageSize;
/**
* Index of field to sort results by
*/
// @ApiMember(DataType="int", Description="Index of field to sort results by", Name="SortIndex")
int? SortIndex;
/**
* Sort Order - Ascending or Descending
*/
// @ApiMember(DataType="int", Description="Sort Order - Ascending or Descending", Name="SortOrder")
SortOrder? SortOrder;
PagedModel({this.PageNumber,this.PageSize,this.SortIndex,this.SortOrder});
PagedModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PageNumber = json['PageNumber'];
PageSize = json['PageSize'];
SortIndex = json['SortIndex'];
SortOrder = JsonConverters.fromJson(json['SortOrder'],'SortOrder',context!);
return this;
}
Map<String, dynamic> toJson() => {
'PageNumber': PageNumber,
'PageSize': PageSize,
'SortIndex': SortIndex,
'SortOrder': JsonConverters.toJson(SortOrder,'SortOrder',context!)
};
getTypeName() => "PagedModel";
TypeContext? context = _ctx;
}
class RoleGroupRolesModel implements IConvertible
{
/**
* Role Id
*/
// @ApiMember(DataType="Guid", Description="Role Id", Name="RoleId")
String? RoleId;
/**
* Role Name
*/
// @ApiMember(DataType="string", Description="Role Name", Name="RoleName")
String? RoleName;
/**
* Role Group Id
*/
// @ApiMember(DataType="Guid", Description="Role Group Id", Name="RoleGroupId")
String? RoleGroupId;
/**
* Role Group Name
*/
// @ApiMember(DataType="string", Description="Role Group Name", Name="RoleGroupName")
String? RoleGroupName;
/**
* Role Group Role Id
*/
// @ApiMember(DataType="Guid", Description="Role Group Role Id", Name="RoleGroupRoleId")
String? RoleGroupRoleId;
/**
* 'A' (Active), 'I' (Inactive)
*/
// @ApiMember(DataType="string", Description="'A' (Active), 'I' (Inactive)", Name="RecordStatus")
String? RecordStatus;
/**
* Owner Contact Id
*/
// @ApiMember(DataType="Guid", Description="Owner Contact Id", Name="OwnerContactId")
String? OwnerContactId;
RoleGroupRolesModel({this.RoleId,this.RoleName,this.RoleGroupId,this.RoleGroupName,this.RoleGroupRoleId,this.RecordStatus,this.OwnerContactId});
RoleGroupRolesModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
RoleId = json['RoleId'];
RoleName = json['RoleName'];
RoleGroupId = json['RoleGroupId'];
RoleGroupName = json['RoleGroupName'];
RoleGroupRoleId = json['RoleGroupRoleId'];
RecordStatus = json['RecordStatus'];
OwnerContactId = json['OwnerContactId'];
return this;
}
Map<String, dynamic> toJson() => {
'RoleId': RoleId,
'RoleName': RoleName,
'RoleGroupId': RoleGroupId,
'RoleGroupName': RoleGroupName,
'RoleGroupRoleId': RoleGroupRoleId,
'RecordStatus': RecordStatus,
'OwnerContactId': OwnerContactId
};
getTypeName() => "RoleGroupRolesModel";
TypeContext? context = _ctx;
}
class RoleGroupModel implements IConvertible
{
/**
* Role Group Id
*/
// @ApiMember(DataType="Guid", Description="Role Group Id", Name="RoleGroupId")
String? RoleGroupId;
/**
* Role Group Name
*/
// @ApiMember(DataType="string", Description="Role Group Name", Name="Name")
String? Name;
/**
* Owner Contact Id
*/
// @ApiMember(DataType="Guid", Description="Owner Contact Id", Name="OwnerContactId")
String? OwnerContactId;
/**
* Number of Roles
*/
// @ApiMember(DataType="int", Description="Number of Roles", Name="NumberOfRoles")
int? NumberOfRoles;
/**
* Roles belonging to the Role Group
*/
// @ApiMember(DataType="List", Description="Roles belonging to the Role Group", Name="Roles")
List<RoleGroupRolesModel>? Roles;
/**
* 'A' (Active), 'I' (Inactive)
*/
// @ApiMember(DataType="string", Description="'A' (Active), 'I' (Inactive)", Name="RecordStatus")
String? RecordStatus;
/**
* True if Licensee-owned, allowing editing, deleting, archiving
*/
// @ApiMember(DataType="bool", Description="True if Licensee-owned, allowing editing, deleting, archiving", Name="AllowEdit", ParameterType="query")
bool? AllowEdit;
RoleGroupModel({this.RoleGroupId,this.Name,this.OwnerContactId,this.NumberOfRoles,this.Roles,this.RecordStatus,this.AllowEdit});
RoleGroupModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
RoleGroupId = json['RoleGroupId'];
Name = json['Name'];
OwnerContactId = json['OwnerContactId'];
NumberOfRoles = json['NumberOfRoles'];
Roles = JsonConverters.fromJson(json['Roles'],'List<RoleGroupRolesModel>',context!);
RecordStatus = json['RecordStatus'];
AllowEdit = json['AllowEdit'];
return this;
}
Map<String, dynamic> toJson() => {
'RoleGroupId': RoleGroupId,
'Name': Name,
'OwnerContactId': OwnerContactId,
'NumberOfRoles': NumberOfRoles,
'Roles': JsonConverters.toJson(Roles,'List<RoleGroupRolesModel>',context!),
'RecordStatus': RecordStatus,
'AllowEdit': AllowEdit
};
getTypeName() => "RoleGroupModel";
TypeContext? context = _ctx;
}
// @ApiResponse(Description="List of role groups")
class GetContactRoleGroupsResponse implements IConvertible
{
List<RoleGroupModel>? RoleGroups;
int? TotalRoleGroups;
ResponseStatus? ResponseStatus;
GetContactRoleGroupsResponse({this.RoleGroups,this.TotalRoleGroups,this.ResponseStatus});
GetContactRoleGroupsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
RoleGroups = JsonConverters.fromJson(json['RoleGroups'],'List<RoleGroupModel>',context!);
TotalRoleGroups = json['TotalRoleGroups'];
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'RoleGroups': JsonConverters.toJson(RoleGroups,'List<RoleGroupModel>',context!),
'TotalRoleGroups': TotalRoleGroups,
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "GetContactRoleGroupsResponse";
TypeContext? context = _ctx;
}
/**
* Get role groups for the given criteria
*/
// @Api(Description="Get role groups for the given criteria")
class GetContactRoleGroups extends PagedModel implements IConvertible
{
/**
* Get contact role groups for the specified licensee
*/
// @ApiMember(DataType="Guid", Description="Get contact role groups for the specified licensee", IsRequired=true, Name="LicenseeId", ParameterType="query")
String? LicenseeId;
/**
* Role Group Name
*/
// @ApiMember(DataType="string", Description="Role Group Name", Name="Name", ParameterType="query")
String? Name;
/**
* Active/Archived filter
*/
// @ApiMember(DataType="string", Description="Active/Archived filter", Name="RecordStatus", ParameterType="query")
String? RecordStatus;
GetContactRoleGroups({this.LicenseeId,this.Name,this.RecordStatus});
GetContactRoleGroups.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
LicenseeId = json['LicenseeId'];
Name = json['Name'];
RecordStatus = json['RecordStatus'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'LicenseeId': LicenseeId,
'Name': Name,
'RecordStatus': RecordStatus
});
getTypeName() => "GetContactRoleGroups";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: <String, TypeInfo> {
'SortOrder': TypeInfo(TypeOf.Enum, enumValues:SortOrder.values),
'PagedModel': TypeInfo(TypeOf.Class, create:() => PagedModel()),
'RoleGroupRolesModel': TypeInfo(TypeOf.Class, create:() => RoleGroupRolesModel()),
'RoleGroupModel': TypeInfo(TypeOf.Class, create:() => RoleGroupModel()),
'List<RoleGroupRolesModel>': TypeInfo(TypeOf.Class, create:() => <RoleGroupRolesModel>[]),
'GetContactRoleGroupsResponse': TypeInfo(TypeOf.Class, create:() => GetContactRoleGroupsResponse()),
'List<RoleGroupModel>': TypeInfo(TypeOf.Class, create:() => <RoleGroupModel>[]),
'GetContactRoleGroups': TypeInfo(TypeOf.Class, create:() => GetContactRoleGroups()),
});
Dart GetContactRoleGroups DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/contactrolegroups/{LicenseeId} HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: application/json
Content-Type: application/json
Content-Length: length
{"LicenseeId":"00000000-0000-0000-0000-000000000000","Name":"String","RecordStatus":"String","PageNumber":0,"PageSize":0,"SortIndex":0,"SortOrder":"Ascending"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"RoleGroups":[{"RoleGroupId":"00000000-0000-0000-0000-000000000000","Name":"String","OwnerContactId":"00000000-0000-0000-0000-000000000000","NumberOfRoles":0,"Roles":[{"RoleId":"00000000-0000-0000-0000-000000000000","RoleName":"String","RoleGroupId":"00000000-0000-0000-0000-000000000000","RoleGroupName":"String","RoleGroupRoleId":"00000000-0000-0000-0000-000000000000","RecordStatus":"String","OwnerContactId":"00000000-0000-0000-0000-000000000000"}],"RecordStatus":"String","AllowEdit":false}],"TotalRoleGroups":0,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}