summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Van Doorn <vandoorn.nick@gmail.com>2019-06-16 15:43:42 -0700
committerNick Van Doorn <vandoorn.nick@gmail.com>2019-06-16 15:43:42 -0700
commit737d520e12c3019d79a1aaf545bd5c07f1d061ee (patch)
tree360a2dbc5925b354b513d2a02d715b9e3271e1f0
parent285d80c8e347b6245bd3d5033bd9b35778c97f31 (diff)
Implement time entry push
-rw-r--r--core.c18
-rw-r--r--core.h3
2 files changed, 17 insertions, 4 deletions
diff --git a/core.c b/core.c
index 265d8bd..9316e4b 100644
--- a/core.c
+++ b/core.c
@@ -14,6 +14,7 @@ void printInfo(const char *s) {
printf("INFO: %s\n", s);
}
+
void gitrolex_parseArgs(struct State_t *s, int argc, const char *argv[]) {
const char *task;
if(argc < 2) {
@@ -46,12 +47,23 @@ void gitrolex_parseArgs(struct State_t *s, int argc, const char *argv[]) {
}
}
-enum Error_t gitrolex_checkin(struct State_t *s){
- return -1;
+enum Error_t pushNow(struct State_t *s, bool direction) {
+ enum DatabaseError_t r;
+ struct TimeEnty_t entry = {
+ .direction = direction,
+ .datetime = time(NULL)
+ };
+ r = database_pushEntry(s->taskArgs, &entry);
+ gitrolex_status(s);
+ return r == OK ? OK : DB_ERROR;
}
enum Error_t gitrolex_checkout(struct State_t *s){
- return -1;
+ return pushNow(s, OUT);
+}
+
+enum Error_t gitrolex_checkin(struct State_t *s){
+ return pushNow(s, IN);
}
enum Error_t gitrolex_export(struct State_t *s) {
diff --git a/core.h b/core.h
index 8286da6..bc7a2e6 100644
--- a/core.h
+++ b/core.h
@@ -21,7 +21,8 @@ struct State_t {
};
enum Error_t {
- OK = 0
+ OK = 0,
+ DB_ERROR
};
void gitrolex_parseArgs(struct State_t *s, int argc, const char *argv[]);