Skip to content

Commit

Permalink
feat(hooks): added hooks
Browse files Browse the repository at this point in the history
  • Loading branch information
AndreasCaldewei committed Oct 4, 2023
1 parent d1aee19 commit 1b314d0
Show file tree
Hide file tree
Showing 21 changed files with 6,012 additions and 367 deletions.
2 changes: 0 additions & 2 deletions .eslintignore

This file was deleted.

34 changes: 0 additions & 34 deletions .eslintrc.js

This file was deleted.

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ const db = Dynamometer.create({

---

### Collection
### CollectionReference

A collection holds a number of items.

Expand Down Expand Up @@ -123,7 +123,7 @@ collection.doc("123").add({

---

### Document
### DocumentReference

A document is an item of a collection. It offers CRUD methodes.

Expand Down
98 changes: 60 additions & 38 deletions examples/TodoAppRepository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,57 +4,79 @@ interface User {
username: string;
}

interface Todo {
text: string;
}

const db = Dynamometer.create({
tableName: 'test',
});

const userCol = () => db.collection<User>('USERS');
const todoCol = (userId: string) =>
userCol().doc(userId).collection<Todo>('TODOS');

// USER
export const getUsers = () => {
return userCol().get();
};
function createUserRepository() {
const users = db.collection<User>('USERS');

function getUsers() {
return users.get();
}

function getUserById(userId: string) {
return users.doc(userId).get();
}

export const getUserById = (userId: string) => {
return userCol().doc(userId).get();
};
function createUser(user: User) {
return users.add(user);
}

export const createUser = (user: User) => {
return userCol().add(user);
};
function updateUser(userId: string, user: User) {
return users.doc(userId).update(user);
}

export const updateUser = (userId: string, user: User) => {
return userCol().doc(userId).update(user);
};
function deleteUser(userId: string) {
return users.doc(userId).delete();
}

export const deleteUser = (userId: string) => {
return userCol().doc(userId).delete();
};
return {
getUsers,
getUserById,
createUser,
updateUser,
deleteUser,
};
}

// TODOS

export const getTodosForUser = (userId: string) => {
return todoCol(userId).get();
};
interface Todo {
text: string;
}
function createTodoRepository(userId: string) {
const todos = db
.collection<User>('USER')
.doc(userId)
.collection<Todo>('TODO');

export const getTodoForUser = (userId: string, todoId: string) => {
return todoCol(userId).doc(todoId).get();
};
function getTodosForUser() {
return todos.get();
}

export const createTodo = (userId: string, todo: Todo) => {
return todoCol(userId).add(todo);
};
function getTodoForUser(todoId: string) {
return todos.doc(todoId).get();
}

export const updateTodo = (userId: string, todoId: string, todo: Todo) => {
return todoCol(userId).doc(todoId).update(todo);
};
function createTodo(todo: Todo) {
return todos.add(todo);
}

export const deleteTodo = (userId: string, todoId: string) => {
return todoCol(userId).doc(todoId).delete();
};
function updateTodo(todoId: string, todo: Todo) {
return todos.doc(todoId).update(todo);
}

function deleteTodo(todoId: string) {
return todos.doc(todoId).delete();
}

return {
getTodosForUser,
getTodoForUser,
createTodo,
updateTodo,
deleteTodo,
};
}
9 changes: 3 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,9 @@
"@types/lodash": "^4.14.182",
"@types/node": "^12.20.11",
"@types/uuid": "^8.3.4",
"@typescript-eslint/eslint-plugin": "^4.22.0",
"@typescript-eslint/parser": "^4.22.0",
"codecov": "^3.8.1",
"commitizen": "^4.2.4",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^7.25.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "^3.4.0",
"husky": "^6.0.0",
"jest": "^28.1.0",
"lint-staged": "^10.5.4",
Expand Down Expand Up @@ -84,5 +78,8 @@
},
"exports": {
".": "./dist"
},
"dependencies": {
"hookable": "^5.5.3"
}
}

0 comments on commit 1b314d0

Please sign in to comment.