| GET | /equipment/search |
|---|
namespace tvpl.api.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type PagingRequest() =
member val Page:Int32 = new Int32() with get,set
member val Limit:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type SearchEquipmentRequest() =
inherit PagingRequest()
member val Name:String = null with get,set
member val MaterialTypeId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Status:Nullable<Int32> = new Nullable<Int32>() with get,set
member val MineOnly:Nullable<Boolean> = new Nullable<Boolean>() with get,set
[<AllowNullLiteral>]
type MongoObject() =
member val Id:String = null with get,set
[<AllowNullLiteral>]
type AuditLog() =
inherit MongoObject()
member val UserName:String = null with get,set
member val UserId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val DocumentId:Int32 = new Int32() with get,set
member val Action:String = null with get,set
member val Description:String = null with get,set
member val CreatedDate:DateTime = new DateTime() with get,set
member val UpdatedDate:DateTime = new DateTime() with get,set
member val IpAddress:String = null with get,set
member val UserAgent:String = null with get,set
[<AllowNullLiteral>]
type Pagination() =
member val Total:Int64 = new Int64() with get,set
member val Pages:Int32 = new Int32() with get,set
member val Offset:Int64 = new Int64() with get,set
member val Limit:Int32 = new Int32() with get,set
member val CurrentPage:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type PageResponse<AuditLog>() =
member val Code:Int32 = new Int32() with get,set
member val Message:String = null with get,set
member val Data:ResizeArray<AuditLog> = new ResizeArray<AuditLog>() with get,set
member val Pagination:Pagination = null with get,set
F# SearchEquipmentRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /equipment/search HTTP/1.1 Host: etc-api.vsmlab.vn Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
code: 0,
message: String,
data:
[
{
id: 0,
name: String,
imageUrl: String,
description: String,
unit: String,
materialTypeId: 0,
status: 0,
isDeleted: False,
approvedAt: "0001-01-01T00:00:00.0000000+07:06",
approvedBy: 0,
createdAt: "0001-01-01T00:00:00.0000000+07:06",
createdBy: 0,
updatedAt: "0001-01-01T00:00:00.0000000+07:06",
updatedBy: 0,
materialTypeName: String,
createdByName: String,
approvedByName: String
}
]
}