@ringer-tel/ivy
Version:
TypeScript SDK for Ringer APIs
126 lines (114 loc) • 3.99 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* Ringer Business API
* This API provides comprehensive endpoints for the Ringer Business system. It includes functionality for managing customer accounts, addresses, sites, phone numbers, payments, users, and other business resources. Operations typically require authentication and appropriate permissions.
*
* The version of the OpenAPI document: 1.0.5
* Contact: support@ringer.tel
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { mapValues } from '../runtime';
import type { UserResponse } from './UserResponse';
import {
UserResponseFromJSON,
UserResponseFromJSONTyped,
UserResponseToJSON,
UserResponseToJSONTyped,
} from './UserResponse';
import type { SchemasLink } from './SchemasLink';
import {
SchemasLinkFromJSON,
SchemasLinkFromJSONTyped,
SchemasLinkToJSON,
SchemasLinkToJSONTyped,
} from './SchemasLink';
/**
* A paginated list of users.
* @export
* @interface UserListResponse
*/
export interface UserListResponse {
/**
*
* @type {Array<UserResponse>}
* @memberof UserListResponse
*/
users: Array<UserResponse>;
/**
* Total number of users matching the query.
* @type {number}
* @memberof UserListResponse
*/
totalItems: number;
/**
* Total number of pages based on `per_page`.
* @type {number}
* @memberof UserListResponse
*/
totalPages: number;
/**
* The current page number being displayed.
* @type {number}
* @memberof UserListResponse
*/
currentPage: number;
/**
* The number of items per page.
* @type {number}
* @memberof UserListResponse
*/
perPage: number;
/**
* HATEOAS links for pagination and related resources.
* @type {Array<SchemasLink>}
* @memberof UserListResponse
*/
links?: Array<SchemasLink> | null;
}
/**
* Check if a given object implements the UserListResponse interface.
*/
export function instanceOfUserListResponse(value: object): value is UserListResponse {
if (!('users' in value) || value['users'] === undefined) return false;
if (!('totalItems' in value) || value['totalItems'] === undefined) return false;
if (!('totalPages' in value) || value['totalPages'] === undefined) return false;
if (!('currentPage' in value) || value['currentPage'] === undefined) return false;
if (!('perPage' in value) || value['perPage'] === undefined) return false;
return true;
}
export function UserListResponseFromJSON(json: any): UserListResponse {
return UserListResponseFromJSONTyped(json, false);
}
export function UserListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserListResponse {
if (json == null) {
return json;
}
return {
'users': ((json['users'] as Array<any>).map(UserResponseFromJSON)),
'totalItems': json['total_items'],
'totalPages': json['total_pages'],
'currentPage': json['current_page'],
'perPage': json['per_page'],
'links': json['links'] == null ? undefined : ((json['links'] as Array<any>).map(SchemasLinkFromJSON)),
};
}
export function UserListResponseToJSON(json: any): UserListResponse {
return UserListResponseToJSONTyped(json, false);
}
export function UserListResponseToJSONTyped(value?: UserListResponse | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'users': ((value['users'] as Array<any>).map(UserResponseToJSON)),
'total_items': value['totalItems'],
'total_pages': value['totalPages'],
'current_page': value['currentPage'],
'per_page': value['perPage'],
'links': value['links'] == null ? undefined : ((value['links'] as Array<any>).map(SchemasLinkToJSON)),
};
}