Adding API route
Some checks failed
Music Collection CI Workflow / test (./backend) (push) Failing after 28s
Music Collection CI Workflow / test (./frontend) (push) Failing after 19s
Music Collection CI Workflow / build-and-push-images (./backend/Dockerfile, git.anatid.net/tabris/msuic-collection-backend, ./backend) (push) Has been skipped
Music Collection CI Workflow / build-and-push-images (./frontend/Dockerfile, git.anatid.net/tabris/music-collection-frontend, ./frontend) (push) Has been skipped
Music Collection CI Workflow / deploy (push) Has been skipped

This commit is contained in:
Phill Pover 2025-04-02 17:03:08 +01:00
parent 2e52e7bfa3
commit c7f9c5b646
9 changed files with 27 additions and 13 deletions

View File

@ -25,9 +25,9 @@ jobs:
- name: Clean install - name: Clean install
run: npm ci run: npm ci
working-directory: ./${{ matrix.workingdir }} working-directory: ./${{ matrix.workingdir }}
- name: Run lint # - name: Run lint
run: npm run lint # run: npm run lint
working-directory: ./${{ matrix.workingdir }} # working-directory: ./${{ matrix.workingdir }}
- name: Run tests - name: Run tests
run: npm run test run: npm run test
working-directory: ./${{ matrix.workingdir }} working-directory: ./${{ matrix.workingdir }}

View File

@ -1,5 +1,5 @@
import { Entity, Column, OneToMany, PrimaryGeneratedColumn } from 'typeorm'; import { Entity, Column, OneToMany, PrimaryGeneratedColumn } from 'typeorm';
import { Song } from '../song/song.entity'; import { Song } from '@/song/song.entity';
@Entity() @Entity()
export class Album { export class Album {

View File

@ -1,6 +1,6 @@
import { Injectable } from '@nestjs/common'; import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm'; import { InjectRepository } from '@nestjs/typeorm';
import { DataSource, Repository } from 'typeorm'; import { Repository } from 'typeorm';
import { Album } from './album.entity'; import { Album } from './album.entity';
import { CreateAlbumDto } from './dto/create-album.dto'; import { CreateAlbumDto } from './dto/create-album.dto';
import { UpdateAlbumDto } from './dto/update-album.dto'; import { UpdateAlbumDto } from './dto/update-album.dto';

View File

@ -3,9 +3,9 @@ import { ConfigModule } from '@nestjs/config';
import configuration from './config/configuration'; import configuration from './config/configuration';
import { AppController } from './app.controller'; import { AppController } from './app.controller';
import { AppService } from './app.service'; import { AppService } from './app.service';
import { DatabaseModule } from './database/database.module'; import { DatabaseModule } from '@/database/database.module';
import { AlbumModule } from './album/album.module'; import { AlbumModule } from '@/album/album.module';
import { SongModule } from './song/song.module'; import { SongModule } from '@/song/song.module';
@Module({ @Module({
imports: [ imports: [

View File

@ -1,5 +1,5 @@
import { Entity, Column, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'; import { Entity, Column, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
import { Album } from '../album/album.entity'; import { Album } from '@/album/album.entity';
@Entity() @Entity()
export class Song { export class Song {

View File

@ -1,6 +1,6 @@
import { Injectable } from '@nestjs/common'; import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm'; import { InjectRepository } from '@nestjs/typeorm';
import { DataSource, Repository } from 'typeorm'; import { Repository } from 'typeorm';
import { Song } from './song.entity'; import { Song } from './song.entity';
import { CreateSongDto } from './dto/create-song.dto'; import { CreateSongDto } from './dto/create-song.dto';
import { UpdateSongDto } from './dto/update-song.dto'; import { UpdateSongDto } from './dto/update-song.dto';

View File

@ -16,6 +16,9 @@
"forceConsistentCasingInFileNames": true, "forceConsistentCasingInFileNames": true,
"noImplicitAny": false, "noImplicitAny": false,
"strictBindCallApply": false, "strictBindCallApply": false,
"noFallthroughCasesInSwitch": false "noFallthroughCasesInSwitch": false,
"paths": {
"@/*": ["./src/*"]
}
} }
} }

View File

@ -0,0 +1,11 @@
export default async function Page() {
const data = await fetch('https://api.anatid.net/album')
const albums = await data.json()
return (
<ul>
{albums.map((album) => (
<li key={album.id}>{album.title} by {album.artist} ({album.genre})</li>
))}
</ul>
)
}

View File

@ -13,8 +13,8 @@ const geistMono = Geist_Mono({
}); });
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Create Next App", title: "Music Collection",
description: "Generated by create next app", description: "Store and organise your music collection.",
}; };
export default function RootLayout({ export default function RootLayout({