Skip to content

Commit b38bef7

Browse files
committed
feat: add dtos
1 parent 5acd690 commit b38bef7

File tree

9 files changed

+237
-0
lines changed

9 files changed

+237
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
- Copyright 2022 Sven Loesekann
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
Unless required by applicable law or agreed to in writing, software
8+
distributed under the License is distributed on an "AS IS" BASIS,
9+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
See the License for the specific language governing permissions and
11+
limitations under the License.
12+
*/
13+
export interface GasPriceAvgs {
14+
Postcode: string
15+
County: string
16+
State: string
17+
CountyAvgDiesel: number
18+
CountyAvgE10: number
19+
CountyAvgE5: number
20+
StateAvgDiesel: number
21+
StateAvgE10: number
22+
StateAvgE5: number
23+
}

frontend/app/model/gas-price.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
- Copyright 2022 Sven Loesekann
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
Unless required by applicable law or agreed to in writing, software
8+
distributed under the License is distributed on an "AS IS" BASIS,
9+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
See the License for the specific language governing permissions and
11+
limitations under the License.
12+
*/
13+
export interface GasPrice {
14+
E5: number;
15+
E10: number;
16+
Diesel: number;
17+
Date: string;
18+
Changed: number;
19+
}

frontend/app/model/gas-station.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/*
2+
- Copyright 2022 Sven Loesekann
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
Unless required by applicable law or agreed to in writing, software
8+
distributed under the License is distributed on an "AS IS" BASIS,
9+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
See the License for the specific language governing permissions and
11+
limitations under the License.
12+
*/
13+
import { type GasPrice } from "./gas-price";
14+
15+
export interface GasStation {
16+
StationName: string;
17+
Brand: string;
18+
Street: string;
19+
Place: string;
20+
HouseNumber: string;
21+
PostCode: string;
22+
Latitude: number;
23+
Longitude: number;
24+
PublicHolidayIdentifier: string;
25+
OtJson: string;
26+
FirstActive: Date;
27+
GasPrices: GasPrice[];
28+
}

frontend/app/model/gs-point.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
- Copyright 2022 Sven Loesekann
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
Unless required by applicable law or agreed to in writing, software
8+
distributed under the License is distributed on an "AS IS" BASIS,
9+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
See the License for the specific language governing permissions and
11+
limitations under the License.
12+
*/
13+
export interface GsPoint {
14+
timestamp: string;
15+
price: number;
16+
}
17+
18+
export interface GsValue {
19+
location: string;
20+
e5: number;
21+
e10: number;
22+
diesel: number;
23+
date: Date;
24+
longitude: number;
25+
latitude: number;
26+
}

frontend/app/model/location.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
- Copyright 2022 Sven Loesekann
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
Unless required by applicable law or agreed to in writing, software
8+
distributed under the License is distributed on an "AS IS" BASIS,
9+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
See the License for the specific language governing permissions and
11+
limitations under the License.
12+
*/
13+
export interface CenterLocation {
14+
Longitude: number;
15+
Latitude: number;
16+
}
17+
18+
export interface PostCodeLocation {
19+
Message: string;
20+
Longitude: number;
21+
Latitude: number;
22+
Label: string;
23+
PostCode: number
24+
SquareKM: number;
25+
Population: number;
26+
}

frontend/app/model/my-data-json.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
- Copyright 2022 Sven Loesekann
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
Unless required by applicable law or agreed to in writing, software
8+
distributed under the License is distributed on an "AS IS" BASIS,
9+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
See the License for the specific language governing permissions and
11+
limitations under the License.
12+
*/
13+
export interface MyDataJson {
14+
StationName: string;
15+
Brand: string;
16+
Street: string;
17+
Place: string;
18+
HouseNumber: string;
19+
PostCode: string;
20+
Latitude: number;
21+
Longitude: number;
22+
E5: number;
23+
E10: number;
24+
Diesel: number;
25+
Timestamp: string;
26+
}

frontend/app/model/notification.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
- Copyright 2022 Sven Loesekann
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
Unless required by applicable law or agreed to in writing, software
8+
distributed under the License is distributed on an "AS IS" BASIS,
9+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
See the License for the specific language governing permissions and
11+
limitations under the License.
12+
*/
13+
export interface Notification {
14+
Timestamp: Date;
15+
UserUuid: string;
16+
Title: string;
17+
Message: string;
18+
DataJson: string;
19+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
- Copyright 2022 Sven Loesekann
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
Unless required by applicable law or agreed to in writing, software
8+
distributed under the License is distributed on an "AS IS" BASIS,
9+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
See the License for the specific language governing permissions and
11+
limitations under the License.
12+
*/
13+
export interface TimeSlotResponse {
14+
ID: number;
15+
CreatedAt: Date;
16+
UpdatedAt: Date;
17+
DeletedAt: Date;
18+
GasStationNum: number;
19+
AvgE5: number;
20+
AvgE10: number;
21+
AvgDiesel: number;
22+
GsNumE5: number;
23+
GsNumE10: number;
24+
GsNumDiesel: number;
25+
StartDate: Date;
26+
CountyDataID: number;
27+
}
28+
29+
export interface TimeSlot {
30+
x: string;
31+
e5: number;
32+
e10: number;
33+
diesel: number;
34+
}

frontend/app/model/user.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
- Copyright 2022 Sven Loesekann
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
Unless required by applicable law or agreed to in writing, software
8+
distributed under the License is distributed on an "AS IS" BASIS,
9+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
See the License for the specific language governing permissions and
11+
limitations under the License.
12+
*/
13+
export interface UserRequest {
14+
Username: string;
15+
Password: string;
16+
Latitude?: number;
17+
Longitude?: number;
18+
SearchRadius?: number;
19+
PostCode?: number;
20+
TargetDiesel?: string;
21+
TargetE10?: string;
22+
TargetE5?: string;
23+
}
24+
25+
export interface UserResponse {
26+
Token?: string;
27+
Message?: string;
28+
PostCode?: number;
29+
Uuid?: string;
30+
Longitude?: number;
31+
Latitude?: number;
32+
SearchRadius?: number;
33+
TargetDiesel?: number;
34+
TargetE5?: number;
35+
TargetE10?: number;
36+
}

0 commit comments

Comments
 (0)