aboutsummaryrefslogtreecommitdiff
path: root/server/database/database.go
blob: a7a4f3497f9978c6c86917afdaa33133bf089e3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*
 * OpenBills - Self hosted browser app to generate and keep track of simple invoices
 * Version - 0
 * Licensed under the MIT license - https://opensource.org/licenses/MIT
 *
 * Copyright (c) 2021 Vidhu Kant Sharma
*/

package database

import (
  "database/sql"
  _ "github.com/mattn/go-sqlite3"
)

type Address struct {
  AddressLine string
  City        string
  State       string
  PINCode     string
  Country     string
}

var myDatabase *sql.DB
func InitDB() {
  myDatabase, _ = sql.Open("sqlite3", "./openbills.db")

  init_items, _ := myDatabase.Prepare(
    `CREATE TABLE IF NOT EXISTS Items
    (id INTEGER PRIMARY KEY AUTOINCREMENT,
    Model     TEXT NOT NULL,
    Desc      TEXT,
    UnitPrice REAL,
    HSN       TEXT,
    TotalGST  REAL,
    Category  TEXT,
    Brand     TEXT)`,
  )
  init_items.Exec()

  init_people, _ := myDatabase.Prepare(
    `CREATE TABLE IF NOT EXISTS People
    (id INTEGER PRIMARY KEY AUTOINCREMENT,
    Name        TEXT,
    Phone       TEXT,
    Email       TEXT,

    BillAddressLine    TEXT,
    BillAddressCity    TEXT,
    BillAddressState   TEXT,
    BillAddressPINCode TEXT,
    BillAddressCountry TEXT,

    ShipAddressLine    TEXT,
    ShipAddressCity    TEXT,
    ShipAddressState   TEXT,
    ShipAddressPINCode TEXT,
    ShipAddressCountry TEXT)`,
  )
  init_people.Exec()

  init_invoices, _ := myDatabase.Prepare(
    `CREATE TABLE IF NOT EXISTS Invoices
    (id INTEGER PRIMARY KEY AUTOINCREMENT,
    Data       BLOB NOT NULL,
    Created_on DATETIME)`,
  )
  init_invoices.Exec()
}