//
//  AppContext.swift
//  EMBA_NTU
//
//  Created by Yao Ming Huang on 2017/11/30.
//  Copyright © 2017年 ChunTai Chen. All rights reserved.
//

import Foundation
import React
import ischoolFramework

@objc(AppContextReactNative)
class AppContextReactNative: NSObject{
    
    @objc func getCurrentUser(_ callback: RCTResponseSenderBlock?) -> Void {
        
        guard let user = Pupa.getInsance().currentUser else {
            callback?([[:]]);
            return
        }

        let userInfo = [
            "name": user.name,
            "account": user.account
        ]
        
        callback?([userInfo])
    }
    
    @objc func getDSNS(_ callback: RCTResponseSenderBlock) -> Void {
        
        guard let dsns = Module.instance.current?.dsns else {
            callback([""]);
            return
        }

        callback([dsns]);
    }

    @objc func close(_ callback: @escaping RCTResponseSenderBlock) -> Void {

        DispatchQueue.main.async {
            if var topController = UIApplication.shared.keyWindow?.rootViewController {
                while let presentedViewController = topController.presentedViewController {
                    topController = presentedViewController
                }
                
                topController.dismiss(animated: true, completion: nil)
            }
            callback([])
        }
    }
}
