#include "odinbindings.h"
#include "odincipher.h"
#include "odinmedia.h"
#include "odinroom.h"

Napi::String OdinBindings::GenerateAccessToken(const Napi::CallbackInfo &info)
{
    Napi::Env env = info.Env();
    Napi::TypeError::New(env, "Native token generation is deprecated. Use a server-side implementation.").ThrowAsJavaScriptException();
    return Napi::String::New(env, "");
}

Napi::Object OdinBindings::Init(Napi::Env env, Napi::Object exports)
{
    exports.Set("generateAccessToken", Napi::Function::New(env, OdinBindings::GenerateAccessToken));
    
    OdinRoomWrapper::Init(env, exports);
    OdinMediaWrapper::Init(env, exports);
    OdinCipherWrapper::Init(env, exports);

    return exports;
}