package com.reactnativewhiteboard;

import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.ReadableMap;

import java.util.HashMap;
import java.util.Map;

public class JYWhiteBoardModule extends ReactContextBaseJavaModule {

    ReactApplicationContext context;

    public JYWhiteBoardModule(ReactApplicationContext reactContext) {
        super(reactContext);
        this.context = reactContext;
    }

    @Override
    public String getName() {
        return "JYWhiteBoardModule";
    }
    @ReactMethod
    public void init(ReadableMap options, Promise promise) {
        try {
            String appId = options.getString("appId");//ehuvwNLlEeqTIve5DWs2Gg/KheA3hZvWA8XEA
            JYWhiteBoardManager.getInstance().init(this.context,options);
            promise.resolve(appId);
        } catch (Exception exception) {
            promise.reject(exception);
        }
    }

  @ReactMethod
  public void joinRoom(ReadableMap options, Promise promise) {
    try {
      String roomId = options.getString("roomId");
      String roomToken = options.getString("roomToken");
      JYWhiteBoardManager.getInstance().joinRoom(options);
      promise.resolve(roomId+ "-----" +roomToken);
    } catch (Exception exception) {
      promise.reject(exception);
    }
  }

  @ReactMethod
  public void destroy(Promise promise) {
    try {
      JYWhiteBoardManager.getInstance().destroy();
      promise.resolve(true);
    } catch (Exception exception) {
      promise.reject(exception);
    }
  }


}
