Compare commits

...

10 Commits

20 changed files with 1952 additions and 18 deletions

View File

@@ -5,7 +5,25 @@ The official library for the LfK [backend server](https://git.odit.services/lfk/
Automagicly™ generated by [openapi-typescript-codegen](https://www.npmjs.com/package/openapi-typescript-codegen)
## 🛠 Building
Get's automagicly™ build by drone for every new backend release.
### Setup ⬇️
```bash
git clone https://git.odit.services/lfk/lfk-client-js.git
cd lfk-client-js
pnpm i
```
### Build 🔨
```bash
pnpm update:openapi # Update the openapi.json file
pnpm build # Build the project
pnpm release # Bump and release to npm
# Or just do it all in one command
pnpm update:auto
```
## Use

View File

@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.OpenAPI = void 0;
exports.OpenAPI = {
BASE: '',
VERSION: '1.3.11',
VERSION: '1.4.3',
WITH_CREDENTIALS: false,
TOKEN: undefined,
USERNAME: undefined,

2
dist/index.d.ts vendored
View File

@@ -7,6 +7,7 @@ export type { AddressFirstLineEmptyError } from './models/AddressFirstLineEmptyE
export type { AddressPostalCodeEmptyError } from './models/AddressPostalCodeEmptyError';
export type { AddressPostalCodeInvalidError } from './models/AddressPostalCodeInvalidError';
export type { ConfigFlag } from './models/ConfigFlag';
export type { CreateAnonymousDonation } from './models/CreateAnonymousDonation';
export type { CreateAuth } from './models/CreateAuth';
export type { CreateDistanceDonation } from './models/CreateDistanceDonation';
export type { CreateDonation } from './models/CreateDonation';
@@ -70,6 +71,7 @@ export type { RefreshAuth } from './models/RefreshAuth';
export type { RefreshTokenCountInvalidError } from './models/RefreshTokenCountInvalidError';
export type { ResetAlreadyRequestedError } from './models/ResetAlreadyRequestedError';
export type { ResetPassword } from './models/ResetPassword';
export type { ResponseAnonymousDonation } from './models/ResponseAnonymousDonation';
export type { ResponseAuth } from './models/ResponseAuth';
export type { ResponseDistanceDonation } from './models/ResponseDistanceDonation';
export type { ResponseDonation } from './models/ResponseDonation';

View File

@@ -0,0 +1,5 @@
export type CreateAnonymousDonation = {
amount: number;
donor?: number;
paidAmount?: number;
};

View File

@@ -1,6 +1,6 @@
export type CreateDistanceDonation = {
donor?: number;
paidAmount?: number;
runner: number;
amountPerDistance: number;
donor: number;
paidAmount?: number;
};

View File

@@ -1,4 +0,0 @@
export type CreateDonation = {
donor: number;
paidAmount?: number;
};

View File

@@ -1,5 +1,5 @@
export type CreateFixedDonation = {
amount: number;
donor: number;
donor?: number;
paidAmount?: number;
amount: number;
};

View File

@@ -2,6 +2,5 @@ export type DistanceDonation = {
runner: string;
amountPerDistance: number;
id: number;
donor: string;
paidAmount: number;
};

View File

@@ -1,5 +1,4 @@
export type Donation = {
id: number;
donor: string;
paidAmount: number;
};

View File

@@ -2,6 +2,5 @@ export type FixedDonation = {
_amount: number;
amount: number;
id: number;
donor: string;
paidAmount: number;
};

View File

@@ -0,0 +1,5 @@
export type ResponseAnonymousDonation = {
id: number;
amount: number;
paidAmount: number;
};

View File

@@ -0,0 +1,5 @@
"use strict";
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });

View File

@@ -1,5 +1,6 @@
export type ResponseRunner = {
distance: number;
donationAmount: number;
group: any;
selfserviceLink?: string;
id: number;

View File

@@ -1,5 +1,7 @@
import type { CreateAnonymousDonation } from '../models/CreateAnonymousDonation';
import type { CreateDistanceDonation } from '../models/CreateDistanceDonation';
import type { CreateFixedDonation } from '../models/CreateFixedDonation';
import type { ResponseAnonymousDonation } from '../models/ResponseAnonymousDonation';
import type { ResponseDistanceDonation } from '../models/ResponseDistanceDonation';
import type { ResponseDonation } from '../models/ResponseDonation';
import type { ResponseEmpty } from '../models/ResponseEmpty';
@@ -14,7 +16,7 @@ export declare class DonationService {
* @result any
* @throws ApiError
*/
static donationControllerGetAll(page?: number, pageSize?: number): Promise<(Array<ResponseDonation> | Array<ResponseDistanceDonation>)>;
static donationControllerGetAll(page?: number, pageSize?: number): Promise<(Array<ResponseDonation> | Array<ResponseDistanceDonation> | Array<ResponseAnonymousDonation>)>;
/**
* Get one
* Lists all information about the donation whose id got provided. This includes the donation's runner's distance ran (if distance donation).
@@ -22,7 +24,7 @@ export declare class DonationService {
* @result any
* @throws ApiError
*/
static donationControllerGetOne(id: number): Promise<(ResponseDonation | ResponseDistanceDonation)>;
static donationControllerGetOne(id: number): Promise<(ResponseDonation | ResponseDistanceDonation | ResponseAnonymousDonation)>;
/**
* Remove
* Delete the donation whose id you provided. <br> If no donation with this id exists it will just return 204(no content).
@@ -41,6 +43,14 @@ export declare class DonationService {
* @throws ApiError
*/
static donationControllerPostFixed(requestBody?: CreateFixedDonation): Promise<ResponseDonation>;
/**
* Post anonymous
* Create a anonymous donation
* @param requestBody CreateAnonymousDonation
* @result ResponseDonation
* @throws ApiError
*/
static donationControllerPostAnonymous(requestBody?: CreateAnonymousDonation): Promise<ResponseDonation>;
/**
* Post distance
* Create a distance donation (not fixed donation - use /donations/fixed instead). <br> Please rmemember to provide the donation's donors's and runners ids and amount per distance (kilometer).

View File

@@ -70,6 +70,21 @@ class DonationService {
});
return result.body;
}
/**
* Post anonymous
* Create a anonymous donation
* @param requestBody CreateAnonymousDonation
* @result ResponseDonation
* @throws ApiError
*/
static async donationControllerPostAnonymous(requestBody) {
const result = await (0, request_1.request)({
method: 'POST',
path: `/api/donations/anonymous`,
body: requestBody,
});
return result.body;
}
/**
* Post distance
* Create a distance donation (not fixed donation - use /donations/fixed instead). <br> Please rmemember to provide the donation's donors's and runners ids and amount per distance (kilometer).

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
{
"name": "@odit/lfk-client-js",
"description": "A lib to interact with https://git.odit.services/lfk/backend. Use this version for native JS applications.",
"version": "1.2.4",
"version": "1.2.6",
"license": "CC-BY-NC-SA-4.0",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -25,7 +25,10 @@
"build:prepare": "rimraf ./lib ./dist",
"build:lib": "openapi --input ./openapi.json --output ./lib --client fetch",
"build:compile": "tsc",
"build:cleanup": "rimraf ./lib"
"build:cleanup": "rimraf ./lib",
"update:openapi": "rimraf ./openapi.json && node ./scripts/getliveopenapi.js",
"update:auto": "npm run update:openapi && npm run build && npm run release",
"release": "release-it --only-version && npm publish"
},
"bugs": {
"url": "https://git.odit.services/lfk/lfk-client-js/issues"
@@ -33,7 +36,22 @@
"homepage": "https://git.odit.services/lfk/lfk-client-js/",
"devDependencies": {
"openapi-typescript-codegen": "0.7.0",
"release-it": "17.10.0",
"rimraf": "6.0.1",
"typescript": "4.9.5"
},
"release-it": {
"git": {
"commit": true,
"requireCleanWorkingDir": false,
"commitMessage": "chore(release): ${version}",
"push": true,
"tag": true,
"tagName": "${version}",
"tagAnnotation": "${version}"
},
"npm": {
"publish": false
}
}
}

1835
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

27
scripts/getliveopenapi.js Normal file
View File

@@ -0,0 +1,27 @@
const https = require('https');
const fs = require('fs');
const url = 'https://run.lauf-fuer-kaya.de/api/docs/openapi.json';
const output = 'openapi.json';
https.get(url, (res) => {
if (res.statusCode !== 200) {
console.error(`Request Failed. Status Code: ${res.statusCode}`);
res.resume();
return;
}
let data = '';
res.on('data', chunk => data += chunk);
res.on('end', () => {
fs.writeFile(output, data, (err) => {
if (err) {
console.error('Error writing file:', err);
} else {
console.log(`Saved latest OpenAPI JSON to ${output}`);
}
});
});
}).on('error', (e) => {
console.error(`Got error: ${e.message}`);
});