Taskgroup Datamodel
This commit is contained in:
		
							parent
							
								
									2517e8ab31
								
							
						
					
					
						commit
						2d32625d2c
					
				
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
								
							@ -1,2 +1,12 @@
 | 
				
			|||||||
# TimeManager
 | 
					# TimeManager
 | 
				
			||||||
 | 
					Template für einen Spring-Angular-Service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Generate Angular Client Code with OpenAPI Generator
 | 
				
			||||||
 | 
					1. Install the latest version of "openapi-generator-cli"
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					npm install @openapitools/openapi-generator-cli -g
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					2. Generate Code
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					npx @openapitools/openapi-generator-cli generate -i openapi.yaml -g typescript-angular -o frontend/src/api/
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@ -0,0 +1,40 @@
 | 
				
			|||||||
 | 
					package core.entities.timemanager;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.persistence.*;
 | 
				
			||||||
 | 
					import javax.validation.constraints.NotBlank;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Entity
 | 
				
			||||||
 | 
					@Table(name= "taskgroups")
 | 
				
			||||||
 | 
					public class Taskgroup {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Id
 | 
				
			||||||
 | 
					    @GeneratedValue(strategy = GenerationType.AUTO)
 | 
				
			||||||
 | 
					    private long taskgroupID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotBlank
 | 
				
			||||||
 | 
					    @Column(name = "name", length = 255)
 | 
				
			||||||
 | 
					    private String taskgroupName;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public Taskgroup(String taskgroupName) {
 | 
				
			||||||
 | 
					        this.taskgroupName = taskgroupName;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public Taskgroup() {
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public long getTaskgroupID() {
 | 
				
			||||||
 | 
					        return taskgroupID;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void setTaskgroupID(long taskgroupID) {
 | 
				
			||||||
 | 
					        this.taskgroupID = taskgroupID;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String getTaskgroupName() {
 | 
				
			||||||
 | 
					        return taskgroupName;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void setTaskgroupName(String taskgroupName) {
 | 
				
			||||||
 | 
					        this.taskgroupName = taskgroupName;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					package core.repositories.timemanager;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import core.entities.timemanager.Taskgroup;
 | 
				
			||||||
 | 
					import org.springframework.data.repository.CrudRepository;
 | 
				
			||||||
 | 
					import org.springframework.stereotype.Repository;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Repository
 | 
				
			||||||
 | 
					public interface TaskgroupRepository extends CrudRepository<Taskgroup, Long> {
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,2 +0,0 @@
 | 
				
			|||||||
package core.services;public class InvalidConfigurationException {
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,14 +1,54 @@
 | 
				
			|||||||
package core.services;
 | 
					package core.services;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import core.api.models.properties.PropertyInfo;
 | 
					import core.api.models.properties.PropertyInfo;
 | 
				
			||||||
 | 
					import core.entities.PropertiesEntity;
 | 
				
			||||||
import core.repositories.PropertyRepository;
 | 
					import core.repositories.PropertyRepository;
 | 
				
			||||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.parsing.PropertyEntry;
 | 
				
			||||||
import org.springframework.stereotype.Service;
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.Optional;
 | 
					import java.util.Optional;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Service
 | 
				
			||||||
public class PropertyService {
 | 
					public class PropertyService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Autowired
 | 
				
			||||||
 | 
					    private PropertyRepository propertyRepository;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void init() {
 | 
				
			||||||
 | 
					        PropertiesEntity registrationEntity = new PropertiesEntity(PropertyName.REGISTRATION_PROPERTY_NAME.name(), true);
 | 
				
			||||||
 | 
					        if(!propertyRepository.existsByName(registrationEntity.getName())) {
 | 
				
			||||||
 | 
					            propertyRepository.save(registrationEntity);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public Optional<PropertyInfo> getProperty(PropertyName propertyName) {
 | 
				
			||||||
 | 
					        Optional<PropertiesEntity> property = propertyRepository.findByName(propertyName.name());
 | 
				
			||||||
 | 
					        return property.map(PropertyInfo::new);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public Optional<PropertiesEntity> getPropertyEntityByName(String name) {
 | 
				
			||||||
 | 
					        return propertyRepository.findByName(name);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public boolean isPropertyEnabled(PropertyName propertyName) {
 | 
				
			||||||
 | 
					        Optional<PropertiesEntity> property = propertyRepository.findByName(propertyName.name());
 | 
				
			||||||
 | 
					        return property.map(PropertiesEntity::isStatus).orElseGet(() -> getDefaultBehaivior(propertyName));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public boolean getDefaultBehaivior(PropertyName propertyName) {
 | 
				
			||||||
 | 
					        return switch (propertyName) {
 | 
				
			||||||
 | 
					            case REGISTRATION_PROPERTY_NAME -> true;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void savePropertyEntity(PropertiesEntity property) {
 | 
				
			||||||
 | 
					        propertyRepository.save(property);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public enum PropertyName {
 | 
				
			||||||
 | 
					        REGISTRATION_PROPERTY_NAME
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										15
									
								
								backend/src/main/java/core/services/TaskgroupService.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								backend/src/main/java/core/services/TaskgroupService.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					package core.services;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import core.repositories.timemanager.TaskgroupRepository;
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Service
 | 
				
			||||||
 | 
					public class TaskgroupService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final TaskgroupRepository taskgroupRepository;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public TaskgroupService(@Autowired  TaskgroupRepository taskgroupRepository) {
 | 
				
			||||||
 | 
					        this.taskgroupRepository = taskgroupRepository;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user