| GET | /{Workspace}/AssetList | ||
|---|---|---|---|
| GET | /{Workspace}/AssetList/Count |
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Field2Office.API.Model.Assets
Imports Field2Office.API.Model
Imports Field2Office.API.Model.Schedules
Imports Field2Office.Core.Model.Task
Namespace Global
Namespace Field2Office.API.Model
Public Partial Class AddressBasic
Public Overridable Property Street As String
Public Overridable Property Unit As String
Public Overridable Property City As String
Public Overridable Property State As String
Public Overridable Property Zip As String
Public Overridable Property Country As String
Public Overridable Property Location As Location
End Class
Public Partial Class Anno
Public Overridable Property X As Double
Public Overridable Property Y As Double
Public Overridable Property R As Double
Public Overridable Property S As Double
Public Overridable Property T As String
End Class
'''<Summary>
'''Contains the data for an asset within the system.
'''</Summary>
Public Partial Class Asset
Public Sub New()
Schedules = New List(Of Schedule)
Documents = New List(Of DomainItem)
Tasks = New List(Of DomainItem)
TaskSeries = New List(Of String)
TaskSeriesTemplates = New List(Of String)
Users = New List(Of DomainItem)
Data = New Dictionary(Of String, String)
MaintenanceHistory = New List(Of MaintenanceRecord)
Ancestors = New List(Of String)
LocationHistory = New List(Of LocationHistory)
Assets = New List(Of String)
Contacts = New List(Of String)
Events = New List(Of EventItem)
Teams = New List(Of String)
InventoryItems = New List(Of String)
ActiveLaborTypes = New Dictionary(Of String, Object)
CustomDataFields = New List(Of CustomDataField)
End Sub
Public Overridable Property Workspace As String
Public Overridable Property TimeZone As String
Public Overridable Property AssignedWorkspace As String
Public Overridable Property ObjectId As String
Public Overridable Property VersionId As String
Public Overridable Property BasedOn As String
Public Overridable Property ExternalId As String
Public Overridable Property Created As String
Public Overridable Property LastUpdated As String
Public Overridable Property Name As String
Public Overridable Property Schedules As List(Of Schedule)
Public Overridable Property Documents As List(Of DomainItem)
Public Overridable Property Tasks As List(Of DomainItem)
Public Overridable Property TaskSeries As List(Of String)
Public Overridable Property TaskSeriesTemplates As List(Of String)
Public Overridable Property Users As List(Of DomainItem)
Public Overridable Property Type As String
Public Overridable Property Symbol As String
Public Overridable Property Data As Dictionary(Of String, String)
Public Overridable Property Geometry As Geometry
Public Overridable Property MaintenanceHistory As List(Of MaintenanceRecord)
Public Overridable Property Parent As String
Public Overridable Property Ancestors As List(Of String)
Public Overridable Property LocationHistory As List(Of LocationHistory)
Public Overridable Property Owner As ClassedItem
Public Overridable Property IsParent As Boolean
Public Overridable Property Assets As List(Of String)
Public Overridable Property Contacts As List(Of String)
Public Overridable Property GeometryString As String
Public Overridable Property SourceProjection As String
Public Overridable Property Events As List(Of EventItem)
Public Overridable Property Anno As Anno
Public Overridable Property Teams As List(Of String)
Public Overridable Property Address As AddressBasic
Public Overridable Property CreatedBy As String
Public Overridable Property InventoryItems As List(Of String)
Public Overridable Property ActiveLaborTypes As Dictionary(Of String, Object)
Public Overridable Property Levels As Integer
Public Overridable Property AllAssests As Integer
Public Overridable Property Barcode As String
Public Overridable Property CustomDataFields As List(Of CustomDataField)
End Class
Public Partial Class ClassedItem
Public Sub New()
Ancestors = New List(Of String)
End Sub
Public Overridable Property ObjectId As String
Public Overridable Property [Class] As String
Public Overridable Property VersionId As String
Public Overridable Property Ancestors As List(Of String)
Public Overridable Property Type As String
End Class
Public Partial Class DomainItem
Public Overridable Property Workspace As String
Public Overridable Property ObjectId As String
Public Overridable Property VersionId As String
Public Overridable Property LastUpdated As String
End Class
Public Partial Class EventItem
Public Overridable Property ObjectId As String
Public Overridable Property [Date] As String
Public Overridable Property Location As Location
Public Overridable Property Barcode As String
Public Overridable Property Details As String
Public Overridable Property Type As String
Public Overridable Property IsScan As Boolean
Public Overridable Property User As String
Public Overridable Property SelectedBy As String
Public Overridable Property Status As String
Public Overridable Property StatusType As String
Public Overridable Property DateCreated As String
Public Overridable Property Automatic As Boolean
End Class
Public Partial Class Geometry
Public Sub New()
Coordinates = New List(Of Location)
End Sub
Public Overridable Property Type As String
Public Overridable Property Coordinates As List(Of Location)
End Class
Public Partial Class Location
Public Overridable Property y As Double
Public Overridable Property x As Double
End Class
Public Partial Class LocationHistory
Public Overridable Property [Date] As String
Public Overridable Property Location As Location
Public Overridable Property Barcode As String
Public Overridable Property Notes As String
Public Overridable Property IsScan As Boolean
End Class
Public Partial Class MaintenanceRecord
Public Overridable Property DateTime As String
Public Overridable Property Notes As String
End Class
End Namespace
Namespace Field2Office.API.Model.Assets
'''<Summary>
'''/{Workspace}/AssetList returns a list of assets in the workspace.IMPORTANT NOTE: The following 'core field' query parameters can be used to 'contains' filter tasks returned: name, types (comma separated list)Custom task field 'contains' filters can also be specified by using the binding/key as the query parameter. i.e. Comments=Quick Brown Fox. Spatial extents can be passed in using: bottomleft=Lat,Lon&topright=Lat,Lon. To filter on tasks inside a boundary, use boundary=Lat,Lon,Lat,Lon etc. To filter for assets based on full text search, use fulltext To filter for assets that can be used as hierarchial nodes use the query parameter syncnodes=true To filter and return all assets below asset X in the hiearchy, use the query parameter nodeid = X To filter and return all root level assets, use the query parameter root = true To filter and return all direct children assets for a given parent, use the query parameter parentid = X To filter and return all assets modified since a date and time, use the query parameter modifiedsince = X where X = YYYY-MM-DDTHH:MM:SSZ To filter and return all assets deleted since a date and time, use the query parameter deletedsince = X where X = YYYY-MM-DDTHH:MM:SSZ. Note only Object ID, Workspace and Version is populated. Multiple sort orders can be specified using a strided list. sorts=value1,value2,value3 where value1 = field name, value2 = ascending/descending, value3 = true/false (true if field is a custom field). Pagination - /{0}/AssetList?recstart=0&reccount=1. To suppress geometry from being returned in an effort to improve performance, use the query parameter suppressgeometry=true /{Workspace}/AssetList/Count returns a count, not the actual object list
'''</Summary>
Public Partial Class AssetList
Public Sub New()
Assets = New List(Of Asset)
End Sub
Public Overridable Property Workspace As String
Public Overridable Property DateGenerated As String
Public Overridable Property Assets As List(Of Asset)
Public Overridable Property RecordsAvailable As Long
End Class
End Namespace
Namespace Field2Office.API.Model.Schedules
Public Partial Class Schedule
Public Sub New()
Users = New List(Of String)
Teams = New List(Of String)
Data = New Dictionary(Of String, Object)
End Sub
Public Overridable Property Workspace As String
Public Overridable Property ObjectId As String
Public Overridable Property VersionId As String
Public Overridable Property BasedOn As String
Public Overridable Property Start As String
Public Overridable Property [End] As String
Public Overridable Property TimeZone As String
Public Overridable Property Users As List(Of String)
Public Overridable Property Teams As List(Of String)
Public Overridable Property Data As Dictionary(Of String, Object)
End Class
End Namespace
Namespace Field2Office.Core.Model.Task
Public Partial Class CustomDataField
Public Overridable Property Binding As String
Public Overridable Property Label As String
Public Overridable Property Value As Object
Public Overridable Property DataType As String
Public Overridable Property IsReadOnly As Boolean
Public Overridable Property IsHidden As Boolean
Public Overridable Property Values As String
End Class
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /{Workspace}/AssetList HTTP/1.1
Host: dev.fieldsquared.com
Accept: text/csv