/**
 * Sleeper API
 * The Sleeper API is a read-only HTTP API that is free to use and allows             access to a users leagues, drafts, and rosters. No API Token is necessary, as you cannot modify contents via this API. Be mindful of the frequency of calls. A general rule is to stay under 1000 API calls per minute, otherwise, you risk being IP-blocked.
 *
 * OpenAPI spec version: 1.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import { DraftPick } from './DraftPick';
import { WaiverBudget } from './WaiverBudget';
import { HttpFile } from '../http/http';

export class Transaction {
    'type': string;
    'transactionId': string;
    'statusUpdated': number;
    'status': string;
    /**
    * Trades do not use this field
    */
    'settings': any;
    /**
    * roster_ids involved in this transaction
    */
    'rosterIds': Array<number>;
    'metadata': any;
    /**
    * in football, this is the week
    */
    'leg': number;
    'drops': any;
    'draftPicks': Array<DraftPick>;
    /**
    * user id who initiated the transaction
    */
    'creator': string;
    'created': number;
    /**
    * roster_ids of the people who agreed to this transaction
    */
    'consenterIds': Array<number>;
    'adds': any;
    'waiverBudget': Array<WaiverBudget>;

    static readonly discriminator: string | undefined = undefined;

    static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [
        {
            "name": "type",
            "baseName": "type",
            "type": "string",
            "format": ""
        },
        {
            "name": "transactionId",
            "baseName": "transaction_id",
            "type": "string",
            "format": ""
        },
        {
            "name": "statusUpdated",
            "baseName": "status_updated",
            "type": "number",
            "format": ""
        },
        {
            "name": "status",
            "baseName": "status",
            "type": "string",
            "format": ""
        },
        {
            "name": "settings",
            "baseName": "settings",
            "type": "any",
            "format": ""
        },
        {
            "name": "rosterIds",
            "baseName": "roster_ids",
            "type": "Array<number>",
            "format": ""
        },
        {
            "name": "metadata",
            "baseName": "metadata",
            "type": "any",
            "format": ""
        },
        {
            "name": "leg",
            "baseName": "leg",
            "type": "number",
            "format": ""
        },
        {
            "name": "drops",
            "baseName": "drops",
            "type": "any",
            "format": ""
        },
        {
            "name": "draftPicks",
            "baseName": "draft_picks",
            "type": "Array<DraftPick>",
            "format": ""
        },
        {
            "name": "creator",
            "baseName": "creator",
            "type": "string",
            "format": ""
        },
        {
            "name": "created",
            "baseName": "created",
            "type": "number",
            "format": ""
        },
        {
            "name": "consenterIds",
            "baseName": "consenter_ids",
            "type": "Array<number>",
            "format": ""
        },
        {
            "name": "adds",
            "baseName": "adds",
            "type": "any",
            "format": ""
        },
        {
            "name": "waiverBudget",
            "baseName": "waiver_budget",
            "type": "Array<WaiverBudget>",
            "format": ""
        }    ];

    static getAttributeTypeMap() {
        return Transaction.attributeTypeMap;
    }
    
    public constructor() {
    }
}

