regis

<back to all web services

PersonSearchRequest

Requires Authentication
Required permission:SearchPerson
The following routes are available for this service:
POST/person/search/page/{Page}
POST/person/search
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class PersonSimpleResponse implements IConvertible
{
    ResponseStatus? responseStatus;
    int? regent_id;
    int? ubc_id;
    String? uuid;
    String? regent_login;
    String? first_name;
    String? preferred_name;
    String? middle_name;
    String? last_name;
    String? email;
    String? phone_home;
    String? phone_cell;
    String? phone_bus;
    String? addr1;
    String? addr2;
    String? city;
    String? state;
    String? country;
    String? code;
    String? citizenship;
    String? citizenship_other;
    String? permanent_resident;
    DateTime? dob;
    bool? is_student;
    bool? is_faculty;
    bool? is_vendor;

    PersonSimpleResponse({this.responseStatus,this.regent_id,this.ubc_id,this.uuid,this.regent_login,this.first_name,this.preferred_name,this.middle_name,this.last_name,this.email,this.phone_home,this.phone_cell,this.phone_bus,this.addr1,this.addr2,this.city,this.state,this.country,this.code,this.citizenship,this.citizenship_other,this.permanent_resident,this.dob,this.is_student,this.is_faculty,this.is_vendor});
    PersonSimpleResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        regent_id = json['regent_id'];
        ubc_id = json['ubc_id'];
        uuid = json['uuid'];
        regent_login = json['regent_login'];
        first_name = json['first_name'];
        preferred_name = json['preferred_name'];
        middle_name = json['middle_name'];
        last_name = json['last_name'];
        email = json['email'];
        phone_home = json['phone_home'];
        phone_cell = json['phone_cell'];
        phone_bus = json['phone_bus'];
        addr1 = json['addr1'];
        addr2 = json['addr2'];
        city = json['city'];
        state = json['state'];
        country = json['country'];
        code = json['code'];
        citizenship = json['citizenship'];
        citizenship_other = json['citizenship_other'];
        permanent_resident = json['permanent_resident'];
        dob = JsonConverters.fromJson(json['dob'],'DateTime',context!);
        is_student = json['is_student'];
        is_faculty = json['is_faculty'];
        is_vendor = json['is_vendor'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!),
        'regent_id': regent_id,
        'ubc_id': ubc_id,
        'uuid': uuid,
        'regent_login': regent_login,
        'first_name': first_name,
        'preferred_name': preferred_name,
        'middle_name': middle_name,
        'last_name': last_name,
        'email': email,
        'phone_home': phone_home,
        'phone_cell': phone_cell,
        'phone_bus': phone_bus,
        'addr1': addr1,
        'addr2': addr2,
        'city': city,
        'state': state,
        'country': country,
        'code': code,
        'citizenship': citizenship,
        'citizenship_other': citizenship_other,
        'permanent_resident': permanent_resident,
        'dob': JsonConverters.toJson(dob,'DateTime',context!),
        'is_student': is_student,
        'is_faculty': is_faculty,
        'is_vendor': is_vendor
    };

    getTypeName() => "PersonSimpleResponse";
    TypeContext? context = _ctx;
}

class PersonSearchResponse implements IConvertible
{
    ResponseStatus? responseStatus;
    List<PersonSimpleResponse>? persons;

    PersonSearchResponse({this.responseStatus,this.persons});
    PersonSearchResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        persons = JsonConverters.fromJson(json['persons'],'List<PersonSimpleResponse>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!),
        'persons': JsonConverters.toJson(persons,'List<PersonSimpleResponse>',context!)
    };

    getTypeName() => "PersonSearchResponse";
    TypeContext? context = _ctx;
}

class PersonSearchRequest implements IConvertible
{
    int? page;
    int? regent_id;
    String? regent_login;
    String? name;
    String? last_name;
    String? email;
    String? phone;
    DateTime? dob;

    PersonSearchRequest({this.page,this.regent_id,this.regent_login,this.name,this.last_name,this.email,this.phone,this.dob});
    PersonSearchRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        page = json['page'];
        regent_id = json['regent_id'];
        regent_login = json['regent_login'];
        name = json['name'];
        last_name = json['last_name'];
        email = json['email'];
        phone = json['phone'];
        dob = JsonConverters.fromJson(json['dob'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'page': page,
        'regent_id': regent_id,
        'regent_login': regent_login,
        'name': name,
        'last_name': last_name,
        'email': email,
        'phone': phone,
        'dob': JsonConverters.toJson(dob,'DateTime',context!)
    };

    getTypeName() => "PersonSearchRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'data.regent_college.edu', types: <String, TypeInfo> {
    'PersonSimpleResponse': TypeInfo(TypeOf.Class, create:() => PersonSimpleResponse()),
    'PersonSearchResponse': TypeInfo(TypeOf.Class, create:() => PersonSearchResponse()),
    'List<PersonSimpleResponse>': TypeInfo(TypeOf.Class, create:() => <PersonSimpleResponse>[]),
    'PersonSearchRequest': TypeInfo(TypeOf.Class, create:() => PersonSearchRequest()),
});

Dart PersonSearchRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /person/search/page/{Page} HTTP/1.1 
Host: data.regent-college.edu 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	page: 0,
	regent_id: 0,
	regent_login: String,
	name: String,
	last_name: String,
	email: String,
	phone: String,
	dob: 0001-01-01
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	},
	persons: 
	[
		{
			responseStatus: 
			{
				errorCode: String,
				message: String,
				stackTrace: String,
				errors: 
				[
					{
						errorCode: String,
						fieldName: String,
						message: String,
						meta: 
						{
							String: String
						}
					}
				],
				meta: 
				{
					String: String
				}
			},
			regent_id: 0,
			ubc_id: 0,
			uuid: String,
			regent_login: String,
			first_name: String,
			preferred_name: String,
			middle_name: String,
			last_name: String,
			email: String,
			phone_home: String,
			phone_cell: String,
			phone_bus: String,
			addr1: String,
			addr2: String,
			city: String,
			state: String,
			country: String,
			code: String,
			citizenship: String,
			citizenship_other: String,
			permanent_resident: String,
			dob: 0001-01-01,
			is_student: False,
			is_faculty: False,
			is_vendor: False
		}
	]
}