package com.prime.sony.ecommerce.model;

import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import com.prime.sony.ecommerce.util.AWSSecurityConnection;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Getter
@Setter
@ToString
@Component
public class SnowflakeC {

	private String url;

	private String driverclassname;

	private String account;

	private String db;

	private String username;

	private String privateKey;

	private String role;
	
	private String schema;
	
	private String warehouse;

	// @Value("${mail.secretName}")
	private String sfSecretName;

	@Autowired
	public SnowflakeC(@Value("${snowflake.secretName}") String secretName, AWSSecurityConnection aWSSecurityConnection,
			@Value("${spring.profiles.active}") String environment) {

		JSONObject valuejsonObj = aWSSecurityConnection.getSecreate(secretName);
		this.sfSecretName = secretName;
		this.username = valuejsonObj.getString("user");
		this.privateKey =  valuejsonObj.getString("privateKey");
		this.url = valuejsonObj.getString("url");
		this.driverclassname = "com.snowflake.client.jdbc.SnowflakeDriver";
		this.account = valuejsonObj.getString("account");
		this.db = valuejsonObj.getString("db");
		this.role = valuejsonObj.getString("role");
		this.schema=valuejsonObj.getString("schema");
		this.warehouse=valuejsonObj.getString("warehouse");

	}

}
