postMoney.api.js 2.99 KB
Newer Older
Soo Hyun Kim's avatar
Soo Hyun Kim committed
1
import { DEBUG, enablePromise } from 'react-native-sqlite-storage';
Soo Hyun Kim's avatar
Soo Hyun Kim committed
2
import getDb from './moneyDB'
Soo Hyun Kim's avatar
Soo Hyun Kim committed
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

DEBUG(true);
enablePromise(true);

const insertMoney = async (moneyData) => {
    const db = await getDb();
    return new Promise((resolve, reject) => {
        db.transaction((tx) => {
            console.log("데이터 삽입하기");
            tx.executeSql('INSERT INTO Money (type, date, contents, price, asset_type, category, subcategory) VALUES (?,?,?,?,?,?,?);',
                moneyData,
                (error) => console.log(error))
            resolve('데이터 삽입 완료');
        })
    })
};

20
const selectCategories = async (type_id) => {
Soo Hyun Kim's avatar
Soo Hyun Kim committed
21
22
23
24
    const db = await getDb();
    return new Promise((resolve, reject) => {
        db.transaction(async (tx) => {
            console.log("카테고리 부르기");
25
            const [txn, results] = await tx.executeSql(`SELECT * FROM categories WHERE type_id=${type_id}`);
Soo Hyun Kim's avatar
Soo Hyun Kim committed
26
27
28
29
30
31
32
33
34
35
36
37
38
            console.log('item length', results.rows.length);
            const temp = [];
            for (let i = 0; i < results.rows.length; i++) {
                const tempId = results.rows.item(i).category_id;
                const tempName = results.rows.item(i).category_name;
                temp.push({ id: tempId, value: tempName });
            }
            console.log(temp)
            resolve(temp);
        })
    })
}

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
const selectSubCategories = async () => {
    const db = await getDb();
    return new Promise((resolve, reject) => {
        db.transaction(async (tx) => {
            console.log("서브 카테고리 부르기");
            const [txn, results] = await tx.executeSql('SELECT * FROM subcategories');
            console.log('item length', results.rows.length);
            const temp = [];
            for (let i = 0; i < results.rows.length; i++) {
                const tempId = results.rows.item(i).subcategory_id;
                const tempName = results.rows.item(i).subcategory_name;
                const tempCatId = results.rows.item(i).category_id;
                temp.push({ id: tempId, value: tempName, foreign_id: tempCatId });
            }
            console.log(temp)
            resolve(temp);
        })
    })
}

Soo Hyun Kim's avatar
Soo Hyun Kim committed
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
const selectAssetsType = async () => {
    const db = await getDb();
    return new Promise((resolve, reject) => {
        db.transaction(async (tx) => {
            console.log("자산 유형 부르기");
            const [txn, results] = await tx.executeSql('SELECT * FROM assets_type');
            console.log('item length', results.rows.length);
            const temp = [];
            for (let i = 0; i < results.rows.length; i++) {
                const tempId = results.rows.item(i).assets_id;
                const tempName = results.rows.item(i).assets_name;
                temp.push({ id: tempId, value: tempName });
            }
            console.log(temp)
            resolve(temp);
        })
    })
}


const moneyApi = {
    insertMoney,
    selectCategories,
82
    selectSubCategories,
Soo Hyun Kim's avatar
Soo Hyun Kim committed
83
84
85
86
    selectAssetsType,
}

export default moneyApi;