Portal

<back to all web services

BrowseAllUser

Requires Authentication
Required role:VeoliaAdmin
The following routes are available for this service:
POST/user
import Foundation
import ServiceStack

public class BrowseAllUser : PaginationRequestBase, IPost
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

public class PaginationRequestBase : IGridView, Codable
{
    public var gridViewState:GridViewState

    required public init(){}
}

public class GridViewState : Codable
{
    public var columnState:GridViewColumnState
    public var columnFilters:[GridViewColumnFilter] = []
    public var pagerState:GridViewPagerState
    public var isReturnCount:Bool

    required public init(){}
}

public class GridViewColumnState : Codable
{
    public var fieldName:String
    public var sortDirection:GridSortDirection

    required public init(){}
}

public enum GridSortDirection : Int, Codable
{
    case None = 0
    case Asc = 1
    case Desc = 2
}

public class GridViewColumnFilter : Codable
{
    public var fieldName:String
    public var filterValue:String
    public var `operator`:FilterOperator

    required public init(){}
}

public enum FilterOperator : Int, Codable
{
    case NotSet = 0
    case Equal = 1
    case Greater = 2
    case Less = 3
    case GreaterOrEqual = 4
    case LessOrEqual = 5
    case NotEqual = 6
    case IsNull = 7
    case IsNotNull = 8
    case Like = 9
    case NotLike = 10
    case Begins = 11
    case Ends = 12
    case In = 13
    case Between = 14
}

public class GridViewPagerState : Codable
{
    public var skipRowCount:Int
    public var pageRowCount:Int

    required public init(){}
}

public class PaginationResponse<TenderSimple : Codable> : ResponseBase
{
    public var result:PaginationResult<TenderSimple>

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case result
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        result = try container.decodeIfPresent(PaginationResult<TenderSimple>.self, forKey: .result)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if result != nil { try container.encode(result, forKey: .result) }
    }
}

public class ResponseBase : Codable
{
    public var responseStatus:ResponseStatus

    required public init(){}
}

public class PaginationResult<TModel : Codable> : Codable
{
    public var totalRowCount:Int
    public var items:[TModel] = []

    required public init(){}
}

public class TenderSimple : Codable
{
    public var tenderId:Int
    public var tenderIdentifier:String
    public var procedureType:ProcedureType
    public var subject:String
    public var tenderRoundName:String
    public var sectionName:String
    public var deadline:Date?
    public var tenderType:TenderType
    public var tenderStatus:TenderStatus
    public var isUnderPublish:Bool
    public var publishStartDateTime:Date?
    public var publishEndDateTime:Date?
    public var publishedById:Int?
    public var isProcurementEnabled:Bool
    public var isComplianceEnabled:Bool

    required public init(){}
}

public enum ProcedureType : Int, Codable
{
    case Competition = 0
    case Simplified = 1
}

public enum TenderType : Int, Codable
{
    case Private = 0
    case Public = 1
}

public enum TenderStatus : Int, Codable
{
    case FirstRound = 0
    case SecondRound = 1
    case ThirdRound = 2
    case Successful = 3
    case UnSuccessful = 4
    case Revoked = 5
}


Swift BrowseAllUser DTOs

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

HTTP + CSV

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

POST /user HTTP/1.1 
Host: szallitoiportal-be.veolia.hu 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"GridViewState":{"ColumnState":{"FieldName":"String","SortDirection":0},"ColumnFilters":[{"FieldName":"String","FilterValue":"String","Operator":0}],"PagerState":{"SkipRowCount":0,"PageRowCount":0},"IsReturnCount":false}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Result":{"TotalRowCount":0,"Items":[{"VatNumber":"String","SupplierName":"String","SupplierShortName":"String","Id":0,"Email":"String","DisplayName":"String","MobilePhoneNumber":"String","MobilePhoneNumberCountryCode":"String","PhoneNumber":"String","PhoneNumberCountryCode":"String","PhoneNumberExtension":"String","OrganizationUnit":"String","Position":"String","Role":"String","Status":0}]},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}