mirror of
https://github.com/BrenBroZAYT/gameyfin.git
synced 2026-06-16 08:15:48 +00:00
Added field "addedToLibrary" to DetectedGame
Integrated Flyway for DB Migrations Removed unused DTO classes
This commit is contained in:
+7
-1
@@ -87,6 +87,11 @@
|
|||||||
<artifactId>h2</artifactId>
|
<artifactId>h2</artifactId>
|
||||||
<scope>runtime</scope>
|
<scope>runtime</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.flywaydb</groupId>
|
||||||
|
<artifactId>flyway-core</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
<!-- File handling -->
|
<!-- File handling -->
|
||||||
<dependency>
|
<dependency>
|
||||||
@@ -144,8 +149,9 @@
|
|||||||
<include>**/*.properties</include>
|
<include>**/*.properties</include>
|
||||||
<include>**/*.yml</include>
|
<include>**/*.yml</include>
|
||||||
<include>**/*.yaml</include>
|
<include>**/*.yaml</include>
|
||||||
<include>**/*.json</include>
|
<include>**/*.sql</include>
|
||||||
<include>**/*.txt</include>
|
<include>**/*.txt</include>
|
||||||
|
<include>**/*.json</include>
|
||||||
<include>**/*.js</include>
|
<include>**/*.js</include>
|
||||||
<include>**/*.css</include>
|
<include>**/*.css</include>
|
||||||
<include>**/*.html</include>
|
<include>**/*.html</include>
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ public class SecurityConfiguration {
|
|||||||
@Bean
|
@Bean
|
||||||
protected SecurityFilterChain httpSecurity(HttpSecurity http) throws Exception {
|
protected SecurityFilterChain httpSecurity(HttpSecurity http) throws Exception {
|
||||||
http.csrf().disable();
|
http.csrf().disable();
|
||||||
|
http.headers().frameOptions().disable();
|
||||||
http.httpBasic(Customizer.withDefaults());
|
http.httpBasic(Customizer.withDefaults());
|
||||||
return http.build();
|
return http.build();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
package de.grimsi.gameyfin.dto;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class GameDto {
|
|
||||||
private String name;
|
|
||||||
private String publisher;
|
|
||||||
private String slug;
|
|
||||||
private Instant releaseDate;
|
|
||||||
|
|
||||||
private List<File> files;
|
|
||||||
private Long fileSize;
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
package de.grimsi.gameyfin.dto;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class UsernamePasswordDto {
|
|
||||||
private String username;
|
|
||||||
private String password;
|
|
||||||
}
|
|
||||||
@@ -3,6 +3,7 @@ package de.grimsi.gameyfin.entities;
|
|||||||
|
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.Hibernate;
|
import org.hibernate.Hibernate;
|
||||||
|
import org.hibernate.annotations.CreationTimestamp;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
@@ -86,6 +87,9 @@ public class DetectedGame {
|
|||||||
@Column(columnDefinition = "boolean default false")
|
@Column(columnDefinition = "boolean default false")
|
||||||
private boolean confirmedMatch;
|
private boolean confirmedMatch;
|
||||||
|
|
||||||
|
@CreationTimestamp
|
||||||
|
private Instant addedToLibrary;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object o) {
|
public boolean equals(Object o) {
|
||||||
if (this == o) return true;
|
if (this == o) return true;
|
||||||
|
|||||||
@@ -9,7 +9,9 @@ spring:
|
|||||||
entity_copy_observer: allow
|
entity_copy_observer: allow
|
||||||
database-platform: org.hibernate.dialect.H2Dialect
|
database-platform: org.hibernate.dialect.H2Dialect
|
||||||
hibernate:
|
hibernate:
|
||||||
ddl-auto: update
|
ddl-auto: none
|
||||||
|
flyway:
|
||||||
|
baseline-on-migrate: true
|
||||||
datasource:
|
datasource:
|
||||||
username: gfadmin
|
username: gfadmin
|
||||||
password: gameyfin
|
password: gameyfin
|
||||||
|
|||||||
@@ -0,0 +1,148 @@
|
|||||||
|
-- Automatically generated by JPA
|
||||||
|
|
||||||
|
-- Hibernate sequence
|
||||||
|
create sequence HIBERNATE_SEQUENCE start with 1 increment by 1;
|
||||||
|
|
||||||
|
-- Detected Games
|
||||||
|
create table DETECTED_GAME
|
||||||
|
(
|
||||||
|
slug varchar(255) not null,
|
||||||
|
category varchar(255),
|
||||||
|
confirmed_match boolean default false,
|
||||||
|
cover_id varchar(255) not null,
|
||||||
|
critics_rating integer,
|
||||||
|
disk_size bigint not null,
|
||||||
|
lan_support boolean not null,
|
||||||
|
max_players integer not null,
|
||||||
|
offline_coop boolean not null,
|
||||||
|
online_coop boolean not null,
|
||||||
|
path varchar(255) not null,
|
||||||
|
release_date timestamp,
|
||||||
|
summary CLOB,
|
||||||
|
title varchar(255) not null,
|
||||||
|
total_rating integer,
|
||||||
|
user_rating integer,
|
||||||
|
primary key (slug)
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Companies
|
||||||
|
create table COMPANY
|
||||||
|
(
|
||||||
|
slug varchar(255) not null,
|
||||||
|
logo_id varchar(255),
|
||||||
|
name varchar(255) not null,
|
||||||
|
primary key (slug)
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Genres
|
||||||
|
create table GENRE
|
||||||
|
(
|
||||||
|
slug varchar(255) not null,
|
||||||
|
name varchar(255),
|
||||||
|
primary key (slug)
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Themes
|
||||||
|
create table THEME
|
||||||
|
(
|
||||||
|
slug varchar(255) not null,
|
||||||
|
name varchar(255),
|
||||||
|
primary key (slug)
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Keywords
|
||||||
|
create table KEYWORD
|
||||||
|
(
|
||||||
|
slug varchar(255) not null,
|
||||||
|
name varchar(255),
|
||||||
|
primary key (slug)
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Player Perspectives
|
||||||
|
create table PLAYER_PERSPECTIVE
|
||||||
|
(
|
||||||
|
slug varchar(255) not null,
|
||||||
|
name varchar(255),
|
||||||
|
primary key (slug)
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Unmappable files
|
||||||
|
create table UNMAPPABLE_FILE
|
||||||
|
(
|
||||||
|
id bigint not null,
|
||||||
|
path varchar(255),
|
||||||
|
primary key (id)
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Game <-> Companies
|
||||||
|
create table DETECTED_GAME_COMPANIES
|
||||||
|
(
|
||||||
|
detected_game_slug varchar(255) not null,
|
||||||
|
companies_slug varchar(255) not null
|
||||||
|
);
|
||||||
|
alter table DETECTED_GAME_COMPANIES
|
||||||
|
add constraint companies_company_slug foreign key (companies_slug) references company;
|
||||||
|
alter table DETECTED_GAME_COMPANIES
|
||||||
|
add constraint companies_detected_game_slug foreign key (detected_game_slug) references detected_game;
|
||||||
|
|
||||||
|
-- Game <-> Genres
|
||||||
|
create table DETECTED_GAME_GENRES
|
||||||
|
(
|
||||||
|
detected_game_slug varchar(255) not null,
|
||||||
|
genres_slug varchar(255) not null
|
||||||
|
);
|
||||||
|
alter table DETECTED_GAME_GENRES
|
||||||
|
add constraint genres_genre_slug foreign key (genres_slug) references genre;
|
||||||
|
alter table DETECTED_GAME_GENRES
|
||||||
|
add constraint genres_detected_game_slug foreign key (detected_game_slug) references detected_game;
|
||||||
|
|
||||||
|
-- Game <-> Themes
|
||||||
|
create table DETECTED_GAME_THEMES
|
||||||
|
(
|
||||||
|
detected_game_slug varchar(255) not null,
|
||||||
|
themes_slug varchar(255) not null
|
||||||
|
);
|
||||||
|
alter table DETECTED_GAME_THEMES
|
||||||
|
add constraint themes_theme_slug foreign key (themes_slug) references theme;
|
||||||
|
alter table DETECTED_GAME_THEMES
|
||||||
|
add constraint themes_detected_game_slug foreign key (detected_game_slug) references detected_game;
|
||||||
|
|
||||||
|
-- Game <-> Keywords
|
||||||
|
create table DETECTED_GAME_KEYWORDS
|
||||||
|
(
|
||||||
|
detected_game_slug varchar(255) not null,
|
||||||
|
keywords_slug varchar(255) not null
|
||||||
|
);
|
||||||
|
alter table DETECTED_GAME_KEYWORDS
|
||||||
|
add constraint keywords_keyword_slug foreign key (keywords_slug) references keyword;
|
||||||
|
alter table DETECTED_GAME_KEYWORDS
|
||||||
|
add constraint keywords_detected_game_slug foreign key (detected_game_slug) references detected_game;
|
||||||
|
|
||||||
|
-- Game <-> Player Perspectives
|
||||||
|
create table DETECTED_GAME_PLAYER_PERSPECTIVES
|
||||||
|
(
|
||||||
|
detected_game_slug varchar(255) not null,
|
||||||
|
player_perspectives_slug varchar(255) not null
|
||||||
|
);
|
||||||
|
alter table DETECTED_GAME_PLAYER_PERSPECTIVES
|
||||||
|
add constraint player_perspectives_player_perspective_slug foreign key (player_perspectives_slug) references player_perspective;
|
||||||
|
alter table DETECTED_GAME_PLAYER_PERSPECTIVES
|
||||||
|
add constraint player_perspectives_detected_game_slug foreign key (detected_game_slug) references detected_game;
|
||||||
|
|
||||||
|
-- Game <-> Videos
|
||||||
|
create table DETECTED_GAME_VIDEO_IDS
|
||||||
|
(
|
||||||
|
detected_game_slug varchar(255) not null,
|
||||||
|
video_ids varchar(255)
|
||||||
|
);
|
||||||
|
alter table DETECTED_GAME_VIDEO_IDS
|
||||||
|
add constraint video_ids_detected_game_slug foreign key (detected_game_slug) references detected_game;
|
||||||
|
|
||||||
|
-- Game <-> Screenshots
|
||||||
|
create table DETECTED_GAME_SCREENSHOT_IDS
|
||||||
|
(
|
||||||
|
detected_game_slug varchar(255) not null,
|
||||||
|
screenshot_ids varchar(255)
|
||||||
|
);
|
||||||
|
alter table DETECTED_GAME_SCREENSHOT_IDS
|
||||||
|
add constraint screenshot_ids_detected_game_slug foreign key (detected_game_slug) references detected_game;
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
-- Add field "addedToLibrary" to the "DetectedGame" table with the default value of CURRENT_TIMESTAMP()
|
||||||
|
|
||||||
|
alter table DETECTED_GAME
|
||||||
|
add added_to_library timestamp not null default CURRENT_TIMESTAMP()
|
||||||
@@ -30,4 +30,5 @@ export class DetectedGameDto {
|
|||||||
path!: string;
|
path!: string;
|
||||||
diskSize!: number;
|
diskSize!: number;
|
||||||
confirmedMatch!: boolean | undefined;
|
confirmedMatch!: boolean | undefined;
|
||||||
|
addedToLibrary!: Date;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user