issue-47 #60
@ -5,9 +5,17 @@
 | 
			
		||||
  </component>
 | 
			
		||||
  <component name="ChangeListManager">
 | 
			
		||||
    <list default="true" id="3a869f59-290a-4ab2-b036-a878ce801bc4" name="Changes" comment="Fix wrong date">
 | 
			
		||||
      <change afterPath="$PROJECT_DIR$/../frontend/nginx.conf" afterDir="false" />
 | 
			
		||||
      <change afterPath="$PROJECT_DIR$/../frontend/proxy.conf.json" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/src/main/java/core/entities/timemanager/AdvancedTaskSchedule.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/core/entities/timemanager/AdvancedTaskSchedule.java" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/src/main/java/core/services/TaskScheduleService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/core/services/TaskScheduleService.java" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/src/main/resources/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.properties" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/../docker-compose.yml" beforeDir="false" afterPath="$PROJECT_DIR$/../docker-compose.yml" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/../frontend/Dockerfile" beforeDir="false" afterPath="$PROJECT_DIR$/../frontend/Dockerfile" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/../frontend/angular.json" beforeDir="false" afterPath="$PROJECT_DIR$/../frontend/angular.json" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/../frontend/nginx/nginx.conf.template" beforeDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/../frontend/nginx/run_nginx.sh" beforeDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/../frontend/src/api/api/schedule.service.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../frontend/src/api/api/schedule.service.ts" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/../openapi.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/../openapi.yaml" afterDir="false" />
 | 
			
		||||
    </list>
 | 
			
		||||
    <option name="SHOW_DIALOG" value="false" />
 | 
			
		||||
    <option name="HIGHLIGHT_CONFLICTS" value="true" />
 | 
			
		||||
@ -26,7 +34,7 @@
 | 
			
		||||
  <component name="Git.Settings">
 | 
			
		||||
    <option name="RECENT_BRANCH_BY_REPOSITORY">
 | 
			
		||||
      <map>
 | 
			
		||||
        <entry key="$PROJECT_DIR$/.." value="test-failing" />
 | 
			
		||||
        <entry key="$PROJECT_DIR$/.." value="master" />
 | 
			
		||||
      </map>
 | 
			
		||||
    </option>
 | 
			
		||||
    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/.." />
 | 
			
		||||
@ -34,6 +42,9 @@
 | 
			
		||||
  <component name="JpbToolWindowState">
 | 
			
		||||
    <option name="isToolWindowVisible" value="false" />
 | 
			
		||||
  </component>
 | 
			
		||||
  <component name="MavenRunner">
 | 
			
		||||
    <option name="skipTests" value="true" />
 | 
			
		||||
  </component>
 | 
			
		||||
  <component name="ProjectColorInfo">{
 | 
			
		||||
  "customColor": "",
 | 
			
		||||
  "associatedIndex": 6
 | 
			
		||||
 | 
			
		||||
@ -31,7 +31,7 @@ spring.jpa.open-in-view=false
 | 
			
		||||
spring.data.rest.base-path=/api
 | 
			
		||||
 | 
			
		||||
# Spring Server setup
 | 
			
		||||
server.address=127.0.0.1
 | 
			
		||||
server.address=0.0.0.0
 | 
			
		||||
server.port=8080
 | 
			
		||||
server.compression.enabled=true
 | 
			
		||||
server.http2.enabled=true
 | 
			
		||||
@ -41,4 +41,5 @@ spring.servlet.multipart.max-request-size=4196KB
 | 
			
		||||
 | 
			
		||||
demo.webapp.jwtSecret=demoWebappSecretKey
 | 
			
		||||
demo.webapp.jwtExpirationMS=86400000
 | 
			
		||||
spring.jackson.time-zone=UTC
 | 
			
		||||
spring.jackson.time-zone=UTC
 | 
			
		||||
server.servlet.session.cookie.samesite=None
 | 
			
		||||
@ -4,7 +4,7 @@ services:
 | 
			
		||||
 | 
			
		||||
  db:
 | 
			
		||||
    image: mariadb:latest
 | 
			
		||||
    container_name: template_mysql
 | 
			
		||||
    container_name: timemanager-db
 | 
			
		||||
    environment:
 | 
			
		||||
      MYSQL_ROOT_PASSWORD: edkvcjReDxJ9Z8hq
 | 
			
		||||
  backend:
 | 
			
		||||
@ -14,12 +14,15 @@ services:
 | 
			
		||||
    links:
 | 
			
		||||
      - "db:app_db"
 | 
			
		||||
    environment:
 | 
			
		||||
      SERVER_ADDRESS: 0.0.0.0
 | 
			
		||||
      SPRING_DATASOURCE_USERNAME: root
 | 
			
		||||
      SPRING_DATASOURCE_PASSWORD: edkvcjReDxJ9Z8hq
 | 
			
		||||
      SPRING_DATASOURCE_URL: jdbc:mariadb://app_db:3306/restservice?createDatabaseIfNotExist=true&autoReconnect=true
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - "db"
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
      - "8080:8080"
 | 
			
		||||
  frontend:
 | 
			
		||||
    build:
 | 
			
		||||
      context: ./frontend
 | 
			
		||||
@ -27,6 +30,8 @@ services:
 | 
			
		||||
    restart: always
 | 
			
		||||
    links:
 | 
			
		||||
      - backend:backend
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - "backend"
 | 
			
		||||
    ports:
 | 
			
		||||
      - "4200:80"
 | 
			
		||||
    environment:
 | 
			
		||||
@ -38,4 +43,4 @@ services:
 | 
			
		||||
    #}
 | 
			
		||||
    # bind-mount it read-only via:
 | 
			
		||||
    #volumes:
 | 
			
		||||
    #  - ./api.json:/usr/share/nginx/html/assets/api.json:ro
 | 
			
		||||
    #  - ./api.json:/usr/share/nginx/html/assets/api.json:ro
 | 
			
		||||
@ -1,29 +1,18 @@
 | 
			
		||||
FROM node:16-alpine as builder
 | 
			
		||||
 | 
			
		||||
### STAGE 1: Build ###
 | 
			
		||||
FROM node:18.17.1 AS build
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
COPY package*.json ./
 | 
			
		||||
 | 
			
		||||
RUN npm set progress=false && npm config set depth 0 && npm cache clean --force
 | 
			
		||||
 | 
			
		||||
RUN npm i && mkdir /ng-app && cp -R ./node_modules ./ng-app
 | 
			
		||||
 | 
			
		||||
WORKDIR /ng-app
 | 
			
		||||
 | 
			
		||||
RUN npm install
 | 
			
		||||
COPY . .
 | 
			
		||||
RUN npm run build --prod
 | 
			
		||||
 | 
			
		||||
RUN $(npm bin)/ng build --configuration=production --build-optimizer
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
FROM nginx:stable-alpine
 | 
			
		||||
### STAGE 2: Deploy ###
 | 
			
		||||
FROM nginx:latest
 | 
			
		||||
RUN apt-get update
 | 
			
		||||
RUN apt-get upgrade -y
 | 
			
		||||
RUN apt-get install iputils-ping -y
 | 
			
		||||
COPY --from=build /app/dist/frontend /usr/share/nginx/html
 | 
			
		||||
COPY nginx.conf /etc/nginx/nginx.conf
 | 
			
		||||
 | 
			
		||||
EXPOSE 80
 | 
			
		||||
 | 
			
		||||
COPY nginx/nginx.conf.template /
 | 
			
		||||
 | 
			
		||||
RUN rm -rf /usr/share/nginx/html/*
 | 
			
		||||
 | 
			
		||||
COPY --from=builder /ng-app/dist/frontend/ /usr/share/nginx/html
 | 
			
		||||
RUN chown -R nginx:nginx /usr/share/nginx/html/
 | 
			
		||||
 | 
			
		||||
COPY nginx/run_nginx.sh /
 | 
			
		||||
 | 
			
		||||
CMD ["sh", "/run_nginx.sh"]
 | 
			
		||||
CMD ["nginx", "-g", "daemon off;"]
 | 
			
		||||
 | 
			
		||||
@ -38,8 +38,8 @@
 | 
			
		||||
              "budgets": [
 | 
			
		||||
                {
 | 
			
		||||
                  "type": "initial",
 | 
			
		||||
                  "maximumWarning": "500kb",
 | 
			
		||||
                  "maximumError": "1mb"
 | 
			
		||||
                  "maximumWarning": "2mb",
 | 
			
		||||
                  "maximumError": "5mb"
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                  "type": "anyComponentStyle",
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,6 @@
 | 
			
		||||
user  nginx;
 | 
			
		||||
worker_processes  1;
 | 
			
		||||
 | 
			
		||||
error_log  /var/log/nginx/error.log warn;
 | 
			
		||||
pid        /var/run/nginx.pid;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -14,12 +13,6 @@ http {
 | 
			
		||||
    include       /etc/nginx/mime.types;
 | 
			
		||||
    default_type  application/octet-stream;
 | 
			
		||||
 | 
			
		||||
    log_format  main  '${DOLLAR}remote_addr - ${DOLLAR}remote_user [${DOLLAR}time_local] "${DOLLAR}request" '
 | 
			
		||||
                      '${DOLLAR}status ${DOLLAR}body_bytes_sent "${DOLLAR}http_referer" '
 | 
			
		||||
                      '"${DOLLAR}http_user_agent" "${DOLLAR}http_x_forwarded_for"';
 | 
			
		||||
 | 
			
		||||
    access_log  /var/log/nginx/access.log  main;
 | 
			
		||||
 | 
			
		||||
    sendfile        on;
 | 
			
		||||
    #tcp_nopush     on;
 | 
			
		||||
 | 
			
		||||
@ -40,12 +33,17 @@ http {
 | 
			
		||||
         add_header "Access-Control-Allow-Methods" 'GET, POST, OPTIONS, PUT, DELETE';
 | 
			
		||||
         add_header "Access-Control-Allow-Headers" 'X-Requested-With,Accept,Content-Type, Origin';
 | 
			
		||||
 | 
			
		||||
        location / {
 | 
			
		||||
                try_files ${DOLLAR}uri ${DOLLAR}uri/ /index.html;
 | 
			
		||||
        location /api {
 | 
			
		||||
           proxy_pass http://backend/;
 | 
			
		||||
           add_header "Access-Control-Allow-Origin" "*";
 | 
			
		||||
           add_header "Access-Control-Allow-Methods" 'GET, POST, OPTIONS, PUT, DELETE';
 | 
			
		||||
           add_header "Access-Control-Allow-Headers" 'X-Requested-With,Accept,Content-Type, Origin';
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        location /api {
 | 
			
		||||
          proxy_pass ${BACKEND_URL};
 | 
			
		||||
        location / {
 | 
			
		||||
                try_files $uri $uri/ /index.html =404;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -1,9 +0,0 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
# generate nginx-configuration (insert env variables)
 | 
			
		||||
 | 
			
		||||
export DOLLAR='$'
 | 
			
		||||
envsubst < ./nginx.conf.template > /etc/nginx/nginx.conf
 | 
			
		||||
 | 
			
		||||
# start nginx
 | 
			
		||||
exec nginx -g "daemon off;"
 | 
			
		||||
							
								
								
									
										6
									
								
								frontend/proxy.conf.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								frontend/proxy.conf.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "/api": {
 | 
			
		||||
    "target": "http://backend",
 | 
			
		||||
    "secure": false
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -35,7 +35,7 @@ import { Configuration }                                     from '../configurat
 | 
			
		||||
})
 | 
			
		||||
export class AccountService {
 | 
			
		||||
 | 
			
		||||
    protected basePath = 'http://localhost:8080/api';
 | 
			
		||||
    protected basePath = 'http://127.0.0.1:8080/api';
 | 
			
		||||
    public defaultHeaders = new HttpHeaders();
 | 
			
		||||
    public configuration = new Configuration();
 | 
			
		||||
    public encoder: HttpParameterCodec;
 | 
			
		||||
 | 
			
		||||
@ -31,7 +31,7 @@ import { Configuration }                                     from '../configurat
 | 
			
		||||
})
 | 
			
		||||
export class HistoryService {
 | 
			
		||||
 | 
			
		||||
    protected basePath = 'http://localhost:8080/api';
 | 
			
		||||
    protected basePath = 'http://127.0.0.1:8080/api';
 | 
			
		||||
    public defaultHeaders = new HttpHeaders();
 | 
			
		||||
    public configuration = new Configuration();
 | 
			
		||||
    public encoder: HttpParameterCodec;
 | 
			
		||||
 | 
			
		||||
@ -36,7 +36,7 @@ import { Configuration }                                     from '../configurat
 | 
			
		||||
})
 | 
			
		||||
export class LoginService {
 | 
			
		||||
 | 
			
		||||
    protected basePath = 'http://localhost:8080/api';
 | 
			
		||||
    protected basePath = 'http://127.0.0.1:8080/api';
 | 
			
		||||
    public defaultHeaders = new HttpHeaders();
 | 
			
		||||
    public configuration = new Configuration();
 | 
			
		||||
    public encoder: HttpParameterCodec;
 | 
			
		||||
 | 
			
		||||
@ -34,7 +34,7 @@ import { Configuration }                                     from '../configurat
 | 
			
		||||
})
 | 
			
		||||
export class PropertiesService {
 | 
			
		||||
 | 
			
		||||
    protected basePath = 'http://localhost:8080/api';
 | 
			
		||||
    protected basePath = 'http://127.0.0.1:8080/api';
 | 
			
		||||
    public defaultHeaders = new HttpHeaders();
 | 
			
		||||
    public configuration = new Configuration();
 | 
			
		||||
    public encoder: HttpParameterCodec;
 | 
			
		||||
 | 
			
		||||
@ -36,7 +36,7 @@ import { Configuration }                                     from '../configurat
 | 
			
		||||
})
 | 
			
		||||
export class ScheduleService {
 | 
			
		||||
 | 
			
		||||
    protected basePath = 'http://localhost:8080/api';
 | 
			
		||||
    protected basePath = 'http://127.0.0.1:8080/api';
 | 
			
		||||
    public defaultHeaders = new HttpHeaders();
 | 
			
		||||
    public configuration = new Configuration();
 | 
			
		||||
    public encoder: HttpParameterCodec;
 | 
			
		||||
 | 
			
		||||
@ -35,7 +35,7 @@ import { Configuration }                                     from '../configurat
 | 
			
		||||
})
 | 
			
		||||
export class TaskService {
 | 
			
		||||
 | 
			
		||||
    protected basePath = 'http://localhost:8080/api';
 | 
			
		||||
    protected basePath = 'http://127.0.0.1:8080/api';
 | 
			
		||||
    public defaultHeaders = new HttpHeaders();
 | 
			
		||||
    public configuration = new Configuration();
 | 
			
		||||
    public encoder: HttpParameterCodec;
 | 
			
		||||
 | 
			
		||||
@ -36,7 +36,7 @@ import { Configuration }                                     from '../configurat
 | 
			
		||||
})
 | 
			
		||||
export class TaskgroupService {
 | 
			
		||||
 | 
			
		||||
    protected basePath = 'http://localhost:8080/api';
 | 
			
		||||
    protected basePath = 'http://127.0.0.1:8080/api';
 | 
			
		||||
    public defaultHeaders = new HttpHeaders();
 | 
			
		||||
    public configuration = new Configuration();
 | 
			
		||||
    public encoder: HttpParameterCodec;
 | 
			
		||||
 | 
			
		||||
@ -34,7 +34,7 @@ import { Configuration }                                     from '../configurat
 | 
			
		||||
})
 | 
			
		||||
export class UsersService {
 | 
			
		||||
 | 
			
		||||
    protected basePath = 'http://localhost:8080/api';
 | 
			
		||||
    protected basePath = 'http://127.0.0.1:8080/api';
 | 
			
		||||
    public defaultHeaders = new HttpHeaders();
 | 
			
		||||
    public configuration = new Configuration();
 | 
			
		||||
    public encoder: HttpParameterCodec;
 | 
			
		||||
 | 
			
		||||
@ -1,3 +1,4 @@
 | 
			
		||||
export const environment = {
 | 
			
		||||
  production: true
 | 
			
		||||
  production: true,
 | 
			
		||||
  api: "/api"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,7 @@ info:
 | 
			
		||||
  title: API Title
 | 
			
		||||
  version: '1.0'
 | 
			
		||||
servers:
 | 
			
		||||
  - url: http://localhost:8080/api
 | 
			
		||||
  - url: http://127.0.0.1:8080/api
 | 
			
		||||
paths:
 | 
			
		||||
  /auth/signin:
 | 
			
		||||
    post:
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user