Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Webhook Handler #6

Merged
merged 52 commits into from
Aug 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
80be8d8
Skeleton for dimensions exploration
cbolles Jul 10, 2024
78fe9a3
Add in project for the job operation
cbolles Jul 11, 2024
0710149
Adding in server for FRP handling
cbolles Jul 15, 2024
a39c0a7
Attempt to list pods in namespace
cbolles Jul 15, 2024
2783845
Change base image
cbolles Jul 15, 2024
88bf260
Update Dockerfile
cbolles Jul 15, 2024
0220ac3
Remove dockerfile
cbolles Jul 15, 2024
a2b158f
List jobs
cbolles Jul 15, 2024
2b4ff41
Create job
cbolles Jul 15, 2024
8453909
Add in DTO format for the webhook
cbolles Jul 16, 2024
6e01e42
Begin working on NocoDB interface
cbolles Jul 16, 2024
164e716
Add in utils for handling pagination
cbolles Jul 16, 2024
afa4641
Start work on handling upload
cbolles Jul 16, 2024
e90054f
Getting of FRP titles for a faculty
cbolles Jul 17, 2024
6999b7f
Add in ability to fetch FRP info from nocoDB
cbolles Jul 17, 2024
d276b30
Begin work on job main file
cbolles Jul 17, 2024
ce81aa0
Add in logic for matching
cbolles Jul 17, 2024
0fd2243
Working download of CSV
cbolles Jul 17, 2024
7796f01
Basic job structure, need response of results
cbolles Jul 17, 2024
8b09975
Add basic skeleton for calling webhook
cbolles Jul 18, 2024
b5352c8
Working upload of webhook for job processing completion
cbolles Jul 18, 2024
46c1d2e
Begin work on publication service
cbolles Jul 19, 2024
f1ed371
Add in basic CRUD or publications
cbolles Jul 19, 2024
690aa7d
Begin skeleton on kicking off job and finalizing upload
cbolles Jul 19, 2024
d1b741a
Add in linking of faculty and FRPs to publications
cbolles Jul 19, 2024
af445e7
Working completion of upload logic
cbolles Jul 19, 2024
2a41927
Begining on job deployment logic
cbolles Jul 19, 2024
d6016fe
Quick and dirty Dockerfile
cbolles Jul 19, 2024
7509972
Add volume location
cbolles Jul 30, 2024
9c63385
Add in code for triggering the job
cbolles Jul 30, 2024
2849b3b
Add service for getting faculty IDs from publication upload
cbolles Jul 30, 2024
cd5dead
Ability to trigger job creation
cbolles Jul 30, 2024
fb084d9
Update build config for correct context directory
cbolles Jul 30, 2024
6d4dd9e
include config
cbolles Jul 30, 2024
cfe1765
Update python base image
cbolles Jul 30, 2024
7bc032d
Adjust Dockerfile
cbolles Jul 30, 2024
b5fccfc
Consolidate into single package
cbolles Jul 30, 2024
70eaeee
Handle imports
cbolles Jul 30, 2024
19b4901
Running job
cbolles Jul 30, 2024
21346e4
Add print debug
cbolles Jul 30, 2024
9f63bc9
Fill in na
cbolles Jul 30, 2024
fe1120e
Add in Dockerfile for server
cbolles Jul 30, 2024
fbf2544
Mark complete on finish
cbolles Jul 31, 2024
8ac4c13
Include ID in update request
cbolles Jul 31, 2024
76f5328
Simplify by removing frp-job package
cbolles Aug 1, 2024
13aa7d2
Remove dimensions API exploration notebook
cbolles Aug 1, 2024
f176a1a
Delete sample controller
cbolles Aug 1, 2024
abae3b1
Update prettier config
cbolles Aug 1, 2024
46a42e7
Remove app.service
cbolles Aug 1, 2024
21bc9e7
Remove empty file
cbolles Aug 1, 2024
330dd09
Remove default test files
cbolles Aug 1, 2024
8dc5650
Fix formatting
cbolles Aug 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ venv/
.venv/
__pycache__/
.env
config.toml
resources/
packages/frp-cli/data/config.toml
resources/
25 changes: 25 additions & 0 deletions packages/frp-server/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
project: 'tsconfig.json',
tsconfigRootDir : __dirname,
sourceType: 'module',
},
plugins: ['@typescript-eslint/eslint-plugin'],
extends: [
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
],
root: true,
env: {
node: true,
jest: true,
},
ignorePatterns: ['.eslintrc.js'],
rules: {
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
},
};
37 changes: 37 additions & 0 deletions packages/frp-server/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# compiled output
/dist
/node_modules

# Logs
logs
*.log
npm-debug.log*
pnpm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# OS
.DS_Store

# Tests
/coverage
/.nyc_output

# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

.env
5 changes: 5 additions & 0 deletions packages/frp-server/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"singleQuote": true,
"trailingComma": "none",
"printWidth": 120
}
14 changes: 14 additions & 0 deletions packages/frp-server/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
FROM node:18-alpine

# Copy over the source
WORKDIR /usr/src/frp
COPY . .
RUN apk update && \
npm install && \
npm run build

# Expose the endpoint
EXPOSE 3000

# Run the production build
CMD npm run start:prod
73 changes: 73 additions & 0 deletions packages/frp-server/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<p align="center">
<a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg" width="200" alt="Nest Logo" /></a>
</p>

[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
[circleci-url]: https://circleci.com/gh/nestjs/nest

<p align="center">A progressive <a href="http://nodejs.org" target="_blank">Node.js</a> framework for building efficient and scalable server-side applications.</p>
<p align="center">
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a>
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a>
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg" alt="NPM Downloads" /></a>
<a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a>
<a href="https://coveralls.io/github/nestjs/nest?branch=master" target="_blank"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9" alt="Coverage" /></a>
<a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a>
<a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a>
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
<a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg"/></a>
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a>
<a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow"></a>
</p>
<!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)
[![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->

## Description

[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.

## Installation

```bash
$ npm install
```

## Running the app

```bash
# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod
```

## Test

```bash
# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov
```

## Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).

## Stay in touch

- Author - [Kamil Myśliwiec](https://kamilmysliwiec.com)
- Website - [https://nestjs.com](https://nestjs.com/)
- Twitter - [@nestframework](https://twitter.com/nestframework)

## License

Nest is [MIT licensed](LICENSE).
5 changes: 5 additions & 0 deletions packages/frp-server/nest-cli.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"$schema": "https://json.schemastore.org/nest-cli",
"collection": "@nestjs/schematics",
"sourceRoot": "src"
}
Loading
Loading