aboutsummaryrefslogtreecommitdiffstats
path: root/src/actions.c
blob: 9840722169686f5258242c1e59b8f89506502448 (plain) (blame)
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

#include "actions.h"
#include "dblayer.h"

int init_create_config_file(UserOpt *opt) {
  struct stat st = {0};
  if (stat("/home/gramanas/.ck", &st)  == -1) {
    mkdir("/home/gramanas/.ck", 0755);
  }
  
  FILE *f;
  if ((f = fopen("/home/gramanas/.ck/ckrc", "w")) == NULL) {
    return 1;
  }
  char tmp[200];
  if (stat(opt->argv[0], &st) == -1) {
    printf("Version control directory: %s\ndoes not exist.\n", opt->argv[0]);
    return 1;
  }
  strcpy(tmp, "version_control_dir = ");
  strcat(tmp, opt->argv[0]);
  strcat(tmp, "\n");
  fputs(tmp, f);
  if (stat(opt->argv[1], &st) == -1) {
    printf("Secret directory: %s\ndoes not exist.\n", opt->argv[1]);
    return 1;
  }
  strcpy(tmp, "secret_dir = ");
  strcat(tmp, opt->argv[1]);
  strcat(tmp, "\n");
  fputs(tmp, f);
  fclose(f);
  return 0;
}

int run_INIT(UserOpt * opt, Conf *conf) {
  if (db_exists()) {
    printf("ck is already initialized.\n");
    return 0;
  }
  if (init_create_config_file(opt)) {
    return 0;
  }
  DB db = init_make_DB();
  if (db.error == SQL_NO_ERR) {
    init_make_tables(&db);
  }
  sqlite3_close(db.get);
  return 1;
}

int run_ADD(UserOpt * opt, Conf *conf) {
  if (!db_exists()) {
    printf("ck is not initialized.\nRun ck init first.");
    return 0;
  }
  printf("Running %s\n", "add");
  DB db = open_DB();
  if (db.get == NULL) {
    if (db.error == SQL_ERR_NO_TABLES) {
      printf("no tables\n");
    }
  }
  return 0;
}

int run_DEL(UserOpt * opt, Conf *conf) {
  if (!db_exists()) {
    printf("ck is not initialized.\nRun ck init first.");
    return 0;
  }
  printf("Running %s\n", "del");
  return 0;
}

int run_EDIT(UserOpt * opt, Conf *conf) {
  if (!db_exists()) {
    printf("ck is not initialized.\nRun ck init first.");
    return 0;
  }
  printf("Running %s\n", "edit");
  return 0;
}

int run_LIST(UserOpt * opt, Conf *conf) {
  if (!db_exists()) {
    printf("ck is not initialized.\nRun ck init first.");
    return 0;
  }
  printf("Running %s\n", "list");
  return 0;
}

int run_SEARCH(UserOpt * opt, Conf *conf) {
  if (!db_exists()) {
    printf("ck is not initialized.\nRun ck init first.");
    return 0;
  }
  printf("Running %s\n", "search");
  return 0;
}

int run_HELP(UserOpt * opt, Conf *conf) {
  if (!db_exists()) {
    printf("ck is not initialized.\nRun ck init first.");
    return 0;
  }
  printf("Running %s\n", "help");
  return 0;
}