Skip to content

Commit

Permalink
Merge pull request #1 from austenstone/webhooks
Browse files Browse the repository at this point in the history
Webhooks
  • Loading branch information
austenstone authored Oct 22, 2024
2 parents 2b0437a + c441eba commit f432bcb
Show file tree
Hide file tree
Showing 45 changed files with 2,026 additions and 601 deletions.
27 changes: 27 additions & 0 deletions .github/workflows/backend.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Backend

on:
push:
paths:
- 'backend/**/*'
branches:
- main
pull_request:
paths:
- 'backend/**/*'
branches:
- main

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '20'
- run: npm ci
working-directory: ./backend
- run: npm run build
working-directory: ./backend
17 changes: 17 additions & 0 deletions .github/workflows/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Compose

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- run: docker compose build
27 changes: 27 additions & 0 deletions .github/workflows/frontend.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Frontend

on:
push:
paths:
- 'frontend/**/*'
branches:
- main
pull_request:
paths:
- 'frontend/**/*'
branches:
- main

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '20'
- run: npm ci
working-directory: ./frontend
- run: npm run build
working-directory: ./frontend
41 changes: 41 additions & 0 deletions backend/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Databse configuration
MYSQL_HOST=db
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=octocat
MYSQL_DATABASE=value

# Base URL for the web server
WEB_URL=http://localhost

# GitHub App configuration
GITHUB_WEBHOOK_SECRET=bananas
GITHUB_APP_ID=1028384
GITHUB_APP_CLIENT_ID=Iv23ctKxsNlsTbAt3NJY
GITHUB_APP_CLIENT_SECRET=84a0d7dff1a75f0d121b9acb7d3854c1ed53420d
GITHUB_APP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAtOMefP+H3nYFZcEyAI2BWp4lAj+aQt4I32/TA2hNcd7n4Jtv
LpW2ioAm0Bw9fndDwMTiYPQj8lH1E+Yd85lYQoQqtQcu3g21upcBHxvd1Au9I7ea
sfrnYOYE+LywR7rOEROwlUJwiU+D4d7CtRPt6DDzZH+w6DCBsBMi7Q1l3VkLXZy/
Jy8ZikwaM2sCBnMtGeIlbiCGKwle8ypqqdnhwbxXumzS4sGqRMTrUtfZA6B6Hikb
GYKNRRjjuWIk4dVVz5Vs5mmANSaLqHp9FeN+T5HrPUt5CYZ0qvuDeK824+9k36LL
3fiVVWltv8YLoaZZtWkH1CxnM0PWliCIZdLMDQIDAQABAoIBAGrTdr37axJGQQnG
/vC0oSATJWgeh8vVtQe/0q7Aenw1WFudcBvi7tr8s+9Tvj1h0fGWVNtNU61YGZSW
4jlq5mTiCRbAFz2sexam91KX8nm4NQtS81kJBHyFW4pKZRD3kZskNbTwd+WfwBM0
q2ilTGtD/Xnsr11wyCZkJsw4jWAap48HR7qysAyQLTRUVv25mucDgYVEaFaEd5wz
0nA8mllr4DfEgp3/FWgPNt49guzlPJla1wcicauQGgu0Wc4pV6Qn/BbUExmXSVSA
v6KQzWN9ob5KE7SDyJHQQiGErxC5JeuJ9jvF1h+PpG9MNG0jipvnXIg3LJpPdiK8
+r35nUECgYEA5gIo2waG1AZyrIWxFmhm1SQsFqFf0z5iXFqOxC6emf1LplJLCgIe
F5C4BcsRy0RvzinP7U7UuHW0pJDX2nU8eKSCqSLI6rOFVhG4HE3wcd7Wvk8tqutE
2gfgAPMIwsbbUuZP7USZCSIi0ttEcjFAfwrCqlveh41uq9/CmI6APw8CgYEAyVPy
T9knaCBDTGsmUfCyVP4VCSIC9rA+x/ZnD/dE8lLYPFYBA86+HRSJJZLbUU1516vO
b0lmO5VHosVjoHJKgx/boFHBHRasg4G9DypC8x5t4sVmY/staPdlCOm4H4VD93xX
MmCsyklABGk2Hmd0nnQijWnH999t+xMogo2jAyMCgYAoN2pzWYHLotD8L2gWVezd
CbUXw+GgawEByue5j7k1jZ9jlnH+bv5Z+njism4LD41JC/CKOsVg91u9hoHndaY8
Je+eqTFeMEN5GCIL+Oi40FDV97wxbW+de9ED+Xqnq+N/bDu/bcYgXbKfEa23FbuE
OxpsdSHEq8sVDEvXJttvqwKBgQDFGdNTivSCg3t/eDNW6z+b5/huLYcbPibom3oA
7oLofmTGhSiPMrt7OtyeFW1z5lbP55q95u0YjihI2diUfvAl+W2KQh++u7D/Omf+
TdCntfW8mqeIYKLvbazTkgU5jr2gsHGpl23yyM3Mw7hBAeXxLx+YtKQaLvq8YOA7
GDEsYwKBgApojZB8PmSzu5AmkE5h0C2JRwuEYPZyldfv+MY99xDFoAHWGV+O2f2G
gQyb6BArh38zXrIwAggGFr1RBRBlS2V+H0zGHx0VCc0b0dpi/6CfR04KQCwn6HNH
qUizWCdkEq/3I8PMZd4TrAam9hlWymvPzQIttsh0ElnKAtZMJEv0
-----END RSA PRIVATE KEY-----"
3 changes: 2 additions & 1 deletion backend/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
node_modules
node_modules
dist/
48 changes: 48 additions & 0 deletions backend/__tests__/survey.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import 'dotenv/config'
import { Sequelize } from 'sequelize';
import Survey from '../src/models/survey.model'
import sequelize from '../src/database';

beforeAll(async () => {
try {
await sequelize.authenticate();
console.log('Connection has been established successfully.');
} catch (error) {
console.error('Unable to connect to the database:', error);
}
await sequelize.sync({ force: true }); // Recreate the database schema
});

afterAll(async () => {
await sequelize.close();
});

describe('Survey Model', () => {
it('should create a survey with valid data', async () => {
const survey = await Survey.create({
daytime: new Date(),
userId: 1044,
usedCopilot: true,
pctTimesaved: 50,
timeUsedFor: 'Releases',
});

expect(survey).toBeDefined();
expect(survey.userId).toBe(1044);
expect(survey.usedCopilot).toBe(true);
expect(survey.pctTimesaved).toBe(50);
expect(survey.timeUsedFor).toBe('Releases');
});

it('should calculate timeSaved correctly', async () => {
const survey = await Survey.create({
daytime: new Date(),
userId: 1044,
usedCopilot: true,
pctTimesaved: 50,
timeUsedFor: 'Releases',
});

expect(survey.timeSaved).toBe('50% saved for Releases');
});
});
8 changes: 8 additions & 0 deletions backend/jest.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
transform: {
'^.+\\.tsx?$': 'ts-jest',
},
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
};
Loading

0 comments on commit f432bcb

Please sign in to comment.