Compare commits

10 Commits

Author SHA1 Message Date
e2f4433042 Add LocationFilterModule
All checks were successful
Publish Package / build-and-publish (push) Successful in 7s
2026-03-24 00:53:29 +00:00
7775abbbca Adjust tagging strategy
All checks were successful
Publish Package / build-and-publish (push) Successful in 7s
2026-03-19 20:04:21 +00:00
f340c57ffd Ensure dynamic versioning for NPM pubslishing
Some checks failed
Publish Package / build-and-publish (push) Failing after 5s
2026-03-19 19:55:47 +00:00
6c6a603cd8 Ensure all paths are relative
Some checks failed
Publish Package / build-and-publish (push) Failing after 7s
2026-03-19 19:51:41 +00:00
35167f1853 And again...
All checks were successful
Publish Package / build-and-publish (push) Successful in 7s
2026-03-19 10:52:46 +00:00
815ae473db Try again
Some checks failed
Publish Package / build-and-publish (push) Failing after 6s
2026-03-19 10:49:43 +00:00
ff3052f3b0 Fix casing in NPM configuration for build/push job
Some checks failed
Publish Package / build-and-publish (push) Failing after 5s
2026-03-19 10:46:12 +00:00
0985e40ead Attempt another registry push pattern
Some checks failed
Publish Package / build-and-publish (push) Failing after 7s
2026-03-19 10:40:10 +00:00
23afe71752 Attempt force auth
Some checks failed
Publish Package / build-and-publish (push) Failing after 6s
2026-03-18 21:08:00 +00:00
a77d661797 Update package name
Some checks failed
Publish Package / build-and-publish (push) Failing after 7s
2026-03-18 21:06:06 +00:00
7 changed files with 44 additions and 25 deletions

View File

@@ -19,7 +19,8 @@ jobs:
uses: actions/setup-node@v3 uses: actions/setup-node@v3
with: with:
node-version: 20 node-version: 20
registry-url: "https://git.fjla.uk/api/packages/npm/" registry-url: 'https://git.fjla.uk/api/packages/owlboard/npm'
scope: '@OwlBoard'
- name: Install Dependencies - name: Install Dependencies
run: npm ci run: npm ci
@@ -27,12 +28,10 @@ jobs:
- name: Build - name: Build
run: npm run build run: npm run build
# - name: Publish to NPM
# run: npm publish --access public
# env:
# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Publish to Gitea Repo - name: Publish to Gitea Repo
run: npm publish run: |
env: VERSION=${GITHUB_REF_NAME#v}
NODE_AUTH_TOKEN: ${{ secrets.REPO_TOKEN }} npm version $VERSION --no-git-tag-version
npm config set //git.fjla.uk/api/packages/owlboard/npm/:_authToken ${{ secrets.REPO_TOKEN }}
npm config set //git.fjla.uk/api/packages/OwlBoard/npm/:_authToken ${{ secrets.REPO_TOKEN }}
npm publish --registry=https://git.fjla.uk

15
package-lock.json generated
View File

@@ -1,15 +1,17 @@
{ {
"name": "owlboard-ts", "name": "@owlboard/owlboard-ts",
"version": "3.0.0", "version": "3.0.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "owlboard-ts", "name": "@owlboard/owlboard-ts",
"version": "3.0.0", "version": "3.0.0",
"license": "GPL-3.0", "license": "GPL-3.0",
"dependencies": {
"@owlboard/api-schema-types": "^3.0.2-alpha1"
},
"devDependencies": { "devDependencies": {
"@owlboard/api-schema-types": "^3.0.1-alpha3",
"@types/node": "^25.3.0", "@types/node": "^25.3.0",
"ts-node": "^10.9.2", "ts-node": "^10.9.2",
"tsx": "^4.21.0", "tsx": "^4.21.0",
@@ -500,10 +502,9 @@
} }
}, },
"node_modules/@owlboard/api-schema-types": { "node_modules/@owlboard/api-schema-types": {
"version": "3.0.1-alpha3", "version": "3.0.2-alpha1",
"resolved": "https://git.fjla.uk/api/packages/OwlBoard/npm/%40owlboard%2Fapi-schema-types/-/3.0.1-alpha3/api-schema-types-3.0.1-alpha3.tgz", "resolved": "https://git.fjla.uk/api/packages/OwlBoard/npm/%40owlboard%2Fapi-schema-types/-/3.0.2-alpha1/api-schema-types-3.0.2-alpha1.tgz",
"integrity": "sha512-5CVm1k/C++/VrtAw4NkvclDunH+RmYLnDZZMSWTM1mm+WlEVnmD+MVnTgC/FhcsAmsNHV8swm66RCqkCuhbOnA==", "integrity": "sha512-3yqWw28y2DZQmNXgAz8emCN5avX/upBXrTOXj9XLuay3gdVcdELd7BiYODBWfgtwZnSbT0fCgVXgKeTzbhHoSQ==",
"dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/@tsconfig/node10": { "node_modules/@tsconfig/node10": {

View File

@@ -1,5 +1,5 @@
{ {
"name": "owlboard-ts", "name": "@owlboard/owlboard-ts",
"version": "3.0.0", "version": "3.0.0",
"description": "TypeScript API Library to interact with the OwlBoard API (> v3.0.0)", "description": "TypeScript API Library to interact with the OwlBoard API (> v3.0.0)",
"main": "./dist/index.js", "main": "./dist/index.js",
@@ -28,7 +28,7 @@
"author": "Frederick Boniface", "author": "Frederick Boniface",
"license": "GPL-3.0", "license": "GPL-3.0",
"dependencies": { "dependencies": {
"@owlboard/api-schema-types": "^3.0.1-alpha3" "@owlboard/api-schema-types": "^3.0.2-alpha1"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^25.3.0", "@types/node": "^25.3.0",

View File

@@ -1,5 +1,6 @@
export * from './lib/base.js'; export { OwlBoardClient } from './lib/client.js';
export * from './lib/client.js'; export { ValidationError, ApiError } from './lib/errors.js';
export * from './lib/errors.js';
export * from './modules/pis.js'; // Useful exports for Type Hinting
export { PisModule } from './modules/pis.js';
export { LocationFilterModule } from './modules/locationFilter.js';

View File

@@ -1,12 +1,15 @@
import { BaseClient } from "./base.js"; import { BaseClient } from "./base.js";
import { PisModule } from "../modules/pis.js"; import { PisModule } from "../modules/pis.js";
import { LocationFilterModule } from "src/modules/locationFilter.js";
export class OwlBoardClient extends BaseClient { export class OwlBoardClient extends BaseClient {
public readonly pis: PisModule; public readonly pis: PisModule;
public readonly locationFilter: LocationFilterModule;
constructor(baseUrl: string, apiKey?: string) { constructor(baseUrl: string, apiKey?: string) {
super(baseUrl, apiKey); super(baseUrl, apiKey);
this.pis = new PisModule(this); this.pis = new PisModule(this);
this.locationFilter = new LocationFilterModule(this);
} }
} }

View File

@@ -0,0 +1,15 @@
import { ApiLocationFilter } from "node_modules/@owlboard/api-schema-types";
import type { BaseClient, ApiResult } from '../lib/base.js';
export class LocationFilterModule {
constructor(private client: BaseClient) {}
async getLocationFilterData(): Promise<ApiResult<ApiLocationFilter.LocationFilterObject[]>> {
const path = '/locationFilter/data';
return this.client.request<ApiLocationFilter.LocationFilterObject[]>(
path,
{method: "GET"}
);
}
}

View File

@@ -1,7 +1,7 @@
import { ApiPisObject } from '@owlboard/api-schema-types'; import { ApiPisObject } from '@owlboard/api-schema-types';
import type { BaseClient, ApiResult } from '../lib/base.js'; import type { BaseClient, ApiResult } from '../lib/base.js';
import { IsValidCrs, IsValidTiploc, IsValidPis } from 'src/lib/validation.js'; import { IsValidCrs, IsValidTiploc, IsValidPis } from '../lib/validation.js';
import { ValidationError } from 'src/lib/errors.js'; import { ValidationError } from '../lib/errors.js';
export class PisModule { export class PisModule {
constructor(private client: BaseClient) {} constructor(private client: BaseClient) {}