from fw import rds

class TcScore:
    def __init__(self,record):
        self.id=record['id']
        self.message_id=record['message_id']
        self.target_date=record['target_date']
        self.char_cnt=record['char_cnt']
        self.status=record['status']
        return

class TcScores:
    def __init__(self):
        return

    def get(self,message_id):
        sql="SELECT * FROM tc_scores WHERE message_id=%s and status=0;"
        params=(str(message_id),)
        records=rds.executeSQL(sql,params)
        
        if len(records)==0:
            return None
        
        dataset=[]
        for record in records:
            data=TcScore(record)
            dataset.append(data)
        
        return dataset

    def first(self,message_id):
        sql="SELECT * FROM tc_scores WHERE message_id=%s and status=0;"
        params=(str(message_id),)
        records=rds.executeSQL(sql,params)
        
        if len(records)==0:
            return None
        
        record=records[0]
        data=TcScore(record)
        
        return data

    def new(self,message_id,target_date,char_cnt):
        sql="INSERT INTO tc_scores (message_id,target_date,char_cnt) VALUES(%s,%s,%s);"
        params=(str(message_id),str(target_date),str(char_cnt))
        result=rds.executeSQL(sql,params,True)
        
        return result
    
    def delete(self,id):
        sql="UPDATE tc_scores SET status=1 where id=%s;"
        params=(str(id),)
        result=rds.executeSQL(sql,params,True)
        
        return result
