Skip to content

Commit dc95892

Browse files
Jaime Salas ZancadaJaime Salas Zancada
authored andcommitted
adding code for Jnekins demos
1 parent f193bf3 commit dc95892

File tree

10 files changed

+6400
-0
lines changed

10 files changed

+6400
-0
lines changed

03-cd/01-jenkins/code/.prettierrc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"printWidth": 120,
3+
"tabWidth": 2,
4+
"endOfLine": "lf",
5+
"trailingComma": "all",
6+
"singleQuote": true,
7+
"arrowParens": "always"
8+
}

03-cd/01-jenkins/code/nodemon.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"watch": [
3+
"src"
4+
],
5+
"ext": "ts",
6+
"ignore": [
7+
"src/**/*.spec.ts"
8+
],
9+
"exec": "ts-node ./src/app.ts"
10+
}

03-cd/01-jenkins/code/package-lock.json

Lines changed: 6293 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

03-cd/01-jenkins/code/package.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"name": "code",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "index.js",
6+
"scripts": {
7+
"test": "echo \"Error: no test specified\" && exit 1"
8+
},
9+
"keywords": [],
10+
"author": "",
11+
"license": "ISC",
12+
"devDependencies": {
13+
"@types/jest": "^26.0.15",
14+
"jest": "^26.6.3",
15+
"nodemon": "^2.0.6",
16+
"ts-jest": "^26.4.4",
17+
"ts-node": "^9.0.0",
18+
"typescript": "^4.1.2"
19+
},
20+
"dependencies": {
21+
"body-parser": "^1.19.0",
22+
"dotenv": "^8.2.0",
23+
"express": "^4.17.1",
24+
"knex": "^0.21.12",
25+
"pg": "^8.5.1"
26+
}
27+
}

03-cd/01-jenkins/code/src/app.ts

Whitespace-only changes.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import Knex, { PgConnectionConfig } from 'knex';
2+
3+
type ConnectionParams = PgConnectionConfig & { dbVersion: string };
4+
5+
export const startConnection = ({ dbVersion: version, ...connection }: ConnectionParams) => {
6+
try {
7+
return Knex({
8+
client: 'pg',
9+
version,
10+
connection,
11+
});
12+
} catch (error) {
13+
throw error;
14+
}
15+
};
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { TodoEntity } from './todo.entity';
2+
3+
export interface TodoDAL {
4+
getTodos(): Promise<TodoEntity[]>;
5+
getTodoById(id: number): Promise<TodoEntity>;
6+
createTodo(todo: TodoEntity): Promise<void>;
7+
updateTodo(id: number, todo: TodoEntity): Promise<void>;
8+
resolveTodos(): Promise<void>;
9+
deleteTodoById(id: number): Promise<void>;
10+
}
11+
12+
export type TodoDALFactory = (...args: any[]) => TodoDAL;
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import Knex from 'knex';
2+
import { TodoDALFactory } from './todo.contract.dal';
3+
import { TodoEntity } from './todo.entity';
4+
5+
export const todoDALFactory: TodoDALFactory = (knex: Knex) => ({
6+
getTodos() {
7+
return knex<TodoEntity>('todos').then((r) => r);
8+
},
9+
getTodoById(id: number) {
10+
return knex<TodoEntity>('todos').where('id', id).first();
11+
},
12+
async createTodo(todo: TodoEntity) {
13+
return await knex<TodoEntity>('todos').insert(todo);
14+
},
15+
async updateTodo(id: number, todo: TodoEntity) {
16+
return await knex<TodoEntity>('todos')
17+
.where('id', id)
18+
.update({ ...todo });
19+
},
20+
async resolveTodos() {
21+
return await knex<TodoEntity>('todos').update({
22+
completed: true,
23+
});
24+
},
25+
async deleteTodoById(id: number) {
26+
return await knex<TodoEntity>('todos').where('id', id).del();
27+
},
28+
});
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export interface TodoEntity {
2+
id: number;
3+
title: string;
4+
completed: boolean;
5+
due_date?: string;
6+
order?: number;
7+
}

03-cd/01-jenkins/code/src/models/todo.model.ts

Whitespace-only changes.

0 commit comments

Comments
 (0)