/* 
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */

package dev.plexapi.sdk.models.operations;

import dev.plexapi.sdk.utils.Utils;

public class GetTransientTokenRequestBuilder {

    private GetTransientTokenQueryParamType type;
    private Scope scope;
    private final SDKMethodInterfaces.MethodCallGetTransientToken sdk;

    public GetTransientTokenRequestBuilder(SDKMethodInterfaces.MethodCallGetTransientToken sdk) {
        this.sdk = sdk;
    }

    public GetTransientTokenRequestBuilder type(GetTransientTokenQueryParamType type) {
        Utils.checkNotNull(type, "type");
        this.type = type;
        return this;
    }

    public GetTransientTokenRequestBuilder scope(Scope scope) {
        Utils.checkNotNull(scope, "scope");
        this.scope = scope;
        return this;
    }

    public GetTransientTokenResponse call() throws Exception {

        return sdk.getTransientToken(
            type,
            scope);
    }
}
