Kim
|
b8da0c379d
|
refactoring and testing OpenVpnCertificatesServer with token
|
2023-03-23 17:17:10 +01:00 |
Kim
|
f62375ae54
|
added token generator and getting token from token.json
|
2023-03-23 16:58:26 +01:00 |
Kim
|
888a9f716b
|
added token generator and getting token from token.json
|
2023-03-23 16:57:50 +01:00 |
Kim
|
610aa05a38
|
Wip test commit
|
2023-03-23 15:57:51 +01:00 |
Kim
|
50036daa78
|
typo
|
2023-03-23 15:46:19 +01:00 |
Kim
|
c2d10b63d2
|
rewrote getchildusers
|
2023-03-23 15:45:40 +01:00 |
Kim
|
55628e2186
|
updating installations with new order numbers automatically updates the ordernumber2installation relation table
|
2023-03-23 14:58:59 +01:00 |
Kim
|
b07991e75d
|
added Ordernumber to installation relation and automatically filled installation order relations on get calls
|
2023-03-23 14:23:03 +01:00 |
Kim
|
7c385bc51c
|
added smtpconfig class and put smtp config data into resources json file
|
2023-03-23 13:37:35 +01:00 |
Kim
|
432189f461
|
simplify s3 keys from json
|
2023-03-23 13:28:55 +01:00 |
Kim
|
cc234cad97
|
added foldernames to inherited folder calls
|
2023-03-23 12:53:14 +01:00 |
Kim
|
7d4309f3af
|
Added deletedFolders/installations/users for archive purposes, login is now possible without pw if no pw is set and you need to reset your pw, user hased pws should no longer be given out by the backend, moving folders and installations now have their own calls, loading s3 keys from disk on use
|
2023-03-23 12:47:25 +01:00 |
Kim
|
656b671962
|
split users with direct and inherited access to folders call
|
2023-03-23 08:27:29 +01:00 |
Kim
|
c751cb8e8f
|
added method to get all child users, split get user with access to installation to direct and inherited
|
2023-03-23 08:23:36 +01:00 |
ig
|
5f8f7b1e66
|
Add 48TL Manual_FIAMM_48V_T_Batteries_TL200_with_annexes.pdf
|
2023-03-22 16:24:39 +01:00 |
ig
|
74b3af344a
|
add missing Do extension
|
2023-03-21 13:46:15 +01:00 |
ig
|
abcec0ae10
|
remove HeaderFilter.cs, no longer needed
|
2023-03-21 11:56:34 +01:00 |
ig
|
381df5f38d
|
fix handling of relative roots
|
2023-03-21 11:49:17 +01:00 |
ig
|
9098ac81b5
|
prevent rider from automatically opening swagger on each launch
|
2023-03-21 11:46:38 +01:00 |
ig
|
8d7f0cd8bf
|
Use users name instead of email for login (https://softwareengineering.stackexchange.com/a/30087)
|
2023-03-21 11:45:50 +01:00 |
ig
|
1b5baf90ae
|
Fix bug where properties were missing in json of installations and folders (were serialized as TreeNodes)
|
2023-03-21 11:42:49 +01:00 |
ig
|
e25de16f65
|
Run CleanUp on TaskPool
|
2023-03-21 11:40:23 +01:00 |
ig
|
28a0ef5530
|
put back cors, apparently it's still necessary, sigh
|
2023-03-20 15:17:52 +01:00 |
ig
|
19633ec54f
|
aggressively trim SysTools (mostly replaced by CliWrap)
|
2023-03-20 13:40:31 +01:00 |
ig
|
e70ab41bc0
|
backslashes are the worstest
|
2023-03-20 13:28:52 +01:00 |
ig
|
249254e2e5
|
add GeneratedCode attribute
|
2023-03-20 13:27:15 +01:00 |
ig
|
17c2a959e6
|
introduce implicit converters for UnixTime & UnixTimeSpan
|
2023-03-20 13:25:19 +01:00 |
ig
|
c3b1484e99
|
simplify units, give up on idea of automatic aggregation
|
2023-03-20 13:22:57 +01:00 |
ig
|
d7852e45c9
|
add missing EnsureStartsWith
|
2023-03-20 12:53:03 +01:00 |
ig
|
3613199917
|
tentatively remove cors (we don't need it)
|
2023-03-20 10:31:24 +01:00 |
ig
|
5ef49de742
|
simplify WebApplication builder
|
2023-03-20 10:20:56 +01:00 |
ig
|
e025b8cd11
|
Make Controller less magic.
|
2023-03-20 08:33:44 +01:00 |
ig
|
9454fbf878
|
Use InstallationAccess/FolderAccess as arguments to GrantUserAccessTo* RevokeUserAccessTo*
|
2023-03-19 17:53:00 +01:00 |
ig
|
0541918beb
|
RevokeAccessTo => RevokeUserAccessTo, BucketPrefix => S3Prefix
|
2023-03-19 17:02:18 +01:00 |
ig
|
ed7c65be2c
|
group S3 related functions into S3 namespace
|
2023-03-19 16:09:45 +01:00 |
atef
|
96bdc7a494
|
Fix misplaced docs
|
2023-03-17 12:47:19 +01:00 |
atef
|
c52501f715
|
Merge remote-tracking branch 'origin/main'
|
2023-03-17 10:39:56 +01:00 |
atef
|
1f868e9cec
|
Docs for different devices.
|
2023-03-17 10:38:29 +01:00 |
ig
|
44e183a9f1
|
Fix AccessibleFolders
|
2023-03-17 09:11:26 +01:00 |
Kim
|
4a19ebd49c
|
various small comments
|
2023-03-16 16:53:36 +01:00 |
Kim
|
91a1c47328
|
various small comments
|
2023-03-16 16:52:20 +01:00 |
Kim
|
df65b48c8f
|
creating new folders and installations now gives you access to the new folder/installation
|
2023-03-16 16:45:25 +01:00 |
Kim
|
4eac790eaa
|
exchanged api keys for ones with specific restricted permissions
|
2023-03-16 16:34:52 +01:00 |
Kim
|
6366cb5569
|
fixed deleting buckets method
|
2023-03-16 16:22:18 +01:00 |
Kim
|
774291c1c9
|
Merge remote-tracking branch 'origin/main'
|
2023-03-16 16:13:10 +01:00 |
Kim
|
20c70b10ac
|
added s3 bucket creation on installation creation
|
2023-03-16 16:13:04 +01:00 |
ig
|
e136767b12
|
Add tree traversal functions. Skip self in Folder/User descendants
|
2023-03-16 14:13:45 +01:00 |
Kim
|
fb4a407a52
|
added calls for granting and revoking permissions
|
2023-03-16 13:33:51 +01:00 |
Kim
|
b1c6aeb9ab
|
made python s3cmd the standart across all os
|
2023-03-16 12:49:54 +01:00 |
Kim
|
083c412177
|
added python variant of s3cmd
|
2023-03-16 12:49:25 +01:00 |
Kim
|
0f7daea8ea
|
renamed user2folder and user2installation, reimplemented getbyId
|
2023-03-16 11:16:23 +01:00 |
Kim
|
787b02f97e
|
fixed merge error
|
2023-03-16 10:34:47 +01:00 |
Kim
|
e4dd24c1b0
|
Merge remote-tracking branch 'origin/main'
# Conflicts:
# csharp/App/Backend/DataTypes/Methods/User.cs
# csharp/App/Backend/Database/Db.cs
|
2023-03-16 10:33:23 +01:00 |
Kim
|
a2836b1900
|
rewrote the bucket url generator, now creates new urls every 12 hours
|
2023-03-16 10:31:24 +01:00 |
ig
|
4c87fcb5ea
|
implement GrantUserAccessTo for folders and installations
|
2023-03-16 09:33:54 +01:00 |
ig
|
2cb3701fae
|
rename User2Folder to FolderAccess, rename User2Installation to InstallationAccess
|
2023-03-16 09:25:36 +01:00 |
ig
|
7cf27a78bc
|
remove S3 signature building stuff
|
2023-03-16 09:19:23 +01:00 |
ig
|
405308d7d6
|
make Ancestors exclude self
|
2023-03-16 09:18:39 +01:00 |
ig
|
96018a5867
|
add Create User2Installation and User2Folder to Db
|
2023-03-16 09:15:59 +01:00 |
Kim
|
d6248ead09
|
[WIP] quick fix for login
|
2023-03-16 08:51:22 +01:00 |
ig
|
f9cb419da0
|
store session under "Session" header
|
2023-03-16 08:49:01 +01:00 |
ig
|
4c37c92f73
|
improve backend
|
2023-03-15 14:39:54 +01:00 |
ig
|
d974a7f176
|
Move tables to main DB class, convert entity related function to extensions
|
2023-03-13 11:48:04 +01:00 |
ig
|
5a082c22e8
|
Make DB class static
|
2023-03-13 11:36:50 +01:00 |
ig
|
6db610d308
|
implement Logic/Wire addressing in ModbusClients
|
2023-03-10 13:57:39 +01:00 |
ig
|
df087b9d8e
|
remove MbAddress type
|
2023-03-10 13:46:46 +01:00 |
ig
|
2d242f25b7
|
Make MbWords writable
|
2023-03-10 10:12:03 +01:00 |
Kim
|
55e0ad22a3
|
giving back user language on login
|
2023-03-09 17:21:31 +01:00 |
Kim
|
2703dd1e11
|
adds newly created inst and folders to accessible
|
2023-03-09 16:37:36 +01:00 |
Kim
|
2fdd920572
|
Merge remote-tracking branch 'origin/main'
# Conflicts:
# csharp/App/Backend/Database/Db.cs
# csharp/App/Backend/Database/User.cs
|
2023-03-09 16:34:19 +01:00 |
Kim
|
09a8eee138
|
seperated create from update
|
2023-03-09 16:33:14 +01:00 |
ig
|
d885fa94c6
|
Remove Result class;
|
2023-03-09 16:32:11 +01:00 |
ig
|
9d753a8471
|
Introduce State<T> for Enums
|
2023-03-09 14:02:02 +01:00 |
Kim
|
a66d547291
|
Merge remote-tracking branch 'origin/main'
|
2023-03-09 13:20:46 +01:00 |
Kim
|
fd10522786
|
Added daily deletion of Installation s3 keys
|
2023-03-09 13:20:37 +01:00 |
ig
|
eb73beb1cd
|
Implement failure resilient TCP connections for Adam and AMPT
|
2023-03-09 13:16:31 +01:00 |
Kim
|
f1394e4755
|
Merge remote-tracking branch 'origin/main'
# Conflicts:
# csharp/App/Backend/Database/User.cs
# csharp/App/Backend/Model/User.cs
|
2023-03-09 12:52:47 +01:00 |
Kim
|
d04ebffc76
|
added installation specific s3 keys
|
2023-03-09 12:50:21 +01:00 |
ig
|
932f8bdac4
|
lift AMPT to new StatusApi
|
2023-03-09 12:40:47 +01:00 |
ig
|
8935353e38
|
Introduce Ancestors, GetParent
|
2023-03-09 11:12:56 +01:00 |
ig
|
99ef91b7be
|
Use safe defaults for User (fail early)
|
2023-03-09 11:01:48 +01:00 |
ig
|
ba79b2d16f
|
Tentatively create struct DbConnection, not used yet.
|
2023-03-09 10:58:55 +01:00 |
ig
|
27b24b44a0
|
Rewrite IsParentOfChild even shorter :P
|
2023-03-09 10:58:08 +01:00 |
Kim
|
7295e6482b
|
changes to s3 bucket keys generation
|
2023-03-09 10:54:56 +01:00 |
ig
|
4812e371b0
|
Rewrite IsParentOfChild
|
2023-03-09 10:52:35 +01:00 |
Kim
|
683ef02704
|
Merge branch 'main' of https://git.innov.energy/Innovenergy/git_trunk
|
2023-03-09 09:06:02 +01:00 |
Kim
|
65624cf1aa
|
added dynamic s3 key generation
|
2023-03-09 09:05:59 +01:00 |
ig
|
d13e7547c5
|
Remove Energy related measurements from EmuMeterDriver for the time being
|
2023-03-08 16:14:22 +01:00 |
ig
|
ee14c0844b
|
Fix duplicate Folders bug
|
2023-03-08 15:45:53 +01:00 |
ig
|
2240d3ef47
|
update EmuMeter to new StatusApi
|
2023-03-08 14:22:57 +01:00 |
ig
|
1b9353b1db
|
support UnixTime in Units
|
2023-03-08 14:17:39 +01:00 |
ig
|
2738fe5aab
|
rename UnixTimeDelta => UnixTimeSpan
|
2023-03-08 14:09:00 +01:00 |
ig
|
7e58b78572
|
add new Unit: Energy (kWh)
|
2023-03-08 14:06:39 +01:00 |
ig
|
72293807ee
|
add new API: GetAllFoldersAndInstallations
|
2023-03-08 13:40:34 +01:00 |
ig
|
faf35be6cf
|
Set parentId=0 already in DB layer, not in controller
|
2023-03-08 13:33:55 +01:00 |
ig
|
e6fa2933b5
|
Only consider Id, but not ParentId for TreeNode equality checks
|
2023-03-08 13:28:22 +01:00 |
ig
|
702fa89914
|
Fix namespaces in Backend
|
2023-03-08 13:20:33 +01:00 |
ig
|
629d0a1626
|
Set parentId=0 for root folders returned by GetTree
|
2023-03-08 12:53:29 +01:00 |
ig
|
774e7d9110
|
MbWords => MbRegisters
|
2023-03-07 11:20:32 +01:00 |
ig
|
2fa1009bbd
|
MbWords => MbRegisters
|
2023-03-07 11:20:04 +01:00 |
ig
|
479cdd03ba
|
Introduce Endianness to Modbus lib
|
2023-03-07 11:19:15 +01:00 |
ig
|
270d78b75f
|
\ => / in *.csproj
|
2023-03-07 11:18:35 +01:00 |
ig
|
1e6cb668ec
|
Add Modbus register map doc to EmuMeter
|
2023-03-07 11:17:59 +01:00 |
ig
|
5fb3f23799
|
use JsonConverterAttribute for Json serialization
|
2023-03-06 09:52:27 +01:00 |
ig
|
94e5496872
|
implement ToJson() for DeviceStatus
|
2023-03-02 18:03:10 +01:00 |
ig
|
8ae9119858
|
Round Units to 3 significant digits by default (ToString). Add JsonConverters to generator
|
2023-03-02 17:15:10 +01:00 |
atef
|
19188fa430
|
Implement IReadOnlyList for State
|
2023-03-02 15:26:27 +01:00 |
atef
|
8c3caa06d5
|
Introduce number type
|
2023-03-02 15:22:00 +01:00 |
atef
|
a3ccd2a537
|
Add more implicit conversions for State
|
2023-03-02 15:14:22 +01:00 |
atef
|
55048b3f99
|
lift EmuMeter to new StatusApi
|
2023-03-01 13:35:33 +01:00 |
atef
|
be5999e0f0
|
remove trailing 'require'
|
2023-03-01 13:23:42 +01:00 |
atef
|
6f48b97621
|
fix some minor csproj settings
|
2023-03-01 13:23:16 +01:00 |
ig
|
afe83e943f
|
Phase => Bus
|
2023-03-01 10:53:34 +01:00 |
ig
|
fac1a090bf
|
Phase => Bus
|
2023-03-01 10:52:54 +01:00 |
ig
|
b983614cfc
|
Phase => Bus
|
2023-03-01 10:52:21 +01:00 |
ig
|
4bf9deffac
|
lift Battery48TL to new StatusApi
|
2023-03-01 10:41:13 +01:00 |
ig
|
f5ff1d70a5
|
remove 'require' again (sigh). It only *seems* to build, but doesnt. we need net7.0
|
2023-03-01 10:40:25 +01:00 |
ig
|
4cb8e9ecfa
|
add more operators to Percent
|
2023-03-01 10:38:51 +01:00 |
Sina Blattmann
|
d2e4f93fd1
|
fix replace, so it works on windows as well
|
2023-03-01 09:41:49 +01:00 |
ig
|
d91a4654cd
|
add implicit op for booleans on State
|
2023-03-01 08:29:36 +01:00 |
ig
|
08c747f2ea
|
implement ToString for State
|
2023-03-01 08:25:23 +01:00 |
ig
|
f6f4326afa
|
update BatteryStatus to include SOC and Temperature
|
2023-03-01 08:14:32 +01:00 |
ig
|
9bf23f3ec8
|
add Percent % to Units
|
2023-03-01 08:14:08 +01:00 |
ig
|
f1003c2877
|
implement | (parallel) operator in StatusApi.csproj
|
2023-03-01 08:07:26 +01:00 |
ig
|
2070fce4ec
|
implement | (parallel) operator for all Units
|
2023-03-01 08:05:57 +01:00 |
ig
|
a32cf83893
|
add CreateBinaryOpForProps
|
2023-03-01 08:04:53 +01:00 |
ig
|
3758165c08
|
fix RootNamespace for Apps
|
2023-03-01 08:03:00 +01:00 |
Kim
|
69fed10f69
|
wip debugging the s3 key generation
|
2023-02-28 12:34:36 +01:00 |
Kim
|
45e12b0318
|
added method to create new s3 keys for users
|
2023-02-28 11:16:19 +01:00 |
ig
|
476a0a0fe2
|
rename Ac1 in IAc1Connection to plain Ac
|
2023-02-26 19:20:43 +01:00 |
ig
|
d5c5239744
|
implement operator + for all Units
|
2023-02-26 19:19:16 +01:00 |
ig
|
d2bef311c0
|
Add missing .generated.cs files.
|
2023-02-26 15:59:55 +01:00 |
ig
|
e74d94e268
|
Add missing .generated.cs files.
|
2023-02-26 15:43:53 +01:00 |
ig
|
53737a8e1c
|
Completely rewrite Units.csproj
|
2023-02-26 15:39:55 +01:00 |
ig
|
fd1b479783
|
move Phases from StatusApi.csproj to Units.csproj
|
2023-02-26 10:38:28 +01:00 |
ig
|
afa662a843
|
Add Meta Solution Folder
|
2023-02-25 16:52:26 +01:00 |
ig
|
1aec8e1fe9
|
Remove S3 lib
|
2023-02-25 16:16:12 +01:00 |
ig
|
aa46ad37b6
|
app => App, lib => Lib
|
2023-02-25 16:04:41 +01:00 |
ig
|
5a3ee3d37e
|
tie namespace and assembly names to directory structure
|
2023-02-25 15:56:48 +01:00 |
ig
|
955b0e7118
|
tie namespace and assembly names to directory structure
|
2023-02-25 15:53:58 +01:00 |
ig
|
599b23da2c
|
add GetTree endpoint
|
2023-02-24 14:00:03 +01:00 |
ig
|
c7649dced2
|
cleanup Rest API
|
2023-02-24 12:58:47 +01:00 |
ig
|
d2006b52e1
|
add ReturnsAttribute to make annotating API more convenient
|
2023-02-24 12:57:51 +01:00 |
ig
|
08bd5c31e0
|
remove CsController.csproj
|
2023-02-24 09:26:55 +01:00 |
ig
|
a7af1c434c
|
move undef to Topology.cs
|
2023-02-23 17:59:55 +01:00 |
ig
|
8a0308e441
|
extract topology related stuff into Topology.cs
|
2023-02-23 17:58:41 +01:00 |
atef
|
cba19ee1ed
|
Restructure EmuMeter Status and add AvgBatteries file
|
2023-02-23 16:32:06 +01:00 |
ig
|
18fa0bfc36
|
remove .idea folder
|
2023-02-23 16:19:07 +01:00 |
ig
|
438563fef8
|
simplify AcPhase
|
2023-02-23 16:16:37 +01:00 |
ig
|
5e9e9c560a
|
fix OpenVpnCertificatesServer. UNTESTED
|
2023-02-23 16:15:27 +01:00 |
ig
|
8921b11ad2
|
Ampt.csproj must reverence StatusApi
|
2023-02-23 16:14:39 +01:00 |
ig
|
426c447483
|
make BmsTunnel buildable, it's still broken
|
2023-02-23 16:14:11 +01:00 |
ig
|
4f8709d4d8
|
fix broken TcpChannel.cs
|
2023-02-23 16:12:16 +01:00 |
ig
|
bf8ffca0f4
|
add entire .idea folder to .gitignore
|
2023-02-23 16:11:46 +01:00 |
ig
|
fc81bbe236
|
remove spurious Battery files
|
2023-02-23 16:08:33 +01:00 |
ig
|
595bcc203a
|
remove FossilTui.csproj
|
2023-02-23 16:04:39 +01:00 |
ig
|
a0b935b8d2
|
remove deleted csprojs from solution
|
2023-02-23 16:03:41 +01:00 |
ig
|
bce8d9486d
|
remove Logging.csproj
|
2023-02-23 16:01:35 +01:00 |
ig
|
95048e42d6
|
remove FirmwareCiDaemon.csproj
|
2023-02-23 16:00:58 +01:00 |
ig
|
45bd531206
|
remove Meiringen.csproj
|
2023-02-23 16:00:21 +01:00 |
ig
|
e010c4ff54
|
remove VenusLogger.csproj
|
2023-02-23 15:57:54 +01:00 |
ig
|
a46b5c8b12
|
remove moar binaries
|
2023-02-23 15:50:35 +01:00 |
ig
|
ac68668312
|
remove WireFormat.csproj
|
2023-02-23 15:48:54 +01:00 |
ig
|
beb983ac54
|
binaries must die
|
2023-02-23 15:46:54 +01:00 |
ig
|
21cd21b60c
|
remove MOAR binary artifacts
|
2023-02-23 15:42:31 +01:00 |
ig
|
d4b83b4117
|
remove TestBatteryDbus
|
2023-02-23 15:34:54 +01:00 |
ig
|
85271bb6f6
|
remove S3.Tests
|
2023-02-23 15:34:20 +01:00 |
ig
|
384d7c9596
|
remove API
|
2023-02-23 15:33:26 +01:00 |
ig
|
cec22d07d8
|
remove GuiFeeder
|
2023-02-23 15:32:29 +01:00 |
ig
|
2f6d9a1799
|
remove more binary artifacts, will it ever end?
|
2023-02-23 15:29:45 +01:00 |
atef
|
e850f9746c
|
Merge remote-tracking branch 'origin/main'
|
2023-02-23 14:08:39 +01:00 |
ig
|
25cb4dfa12
|
add convenience extensions for Units
|
2023-02-23 13:54:13 +01:00 |
ig
|
55f70f056d
|
add JsonConverters for Units
|
2023-02-23 13:53:39 +01:00 |
atef
|
175f11fccf
|
Update Status to inherit from Status Api
|
2023-02-23 13:45:09 +01:00 |
ig
|
2328dd8d13
|
Merge remote-tracking branch 'origin/main'
|
2023-02-23 11:27:12 +01:00 |
ig
|
577ff30bc9
|
fix "folders have no children" bug, cleanup backend
|
2023-02-23 11:26:55 +01:00 |
Sina Blattmann
|
e0e11fbb19
|
fix cors config
|
2023-02-23 09:33:44 +01:00 |
ig
|
6cf11a701d
|
remove leftover build artifacts from vcs
|
2023-02-23 08:45:41 +01:00 |
ig
|
0bf0f884f6
|
add Units
|
2023-02-23 07:55:15 +01:00 |
ig
|
8a722f2426
|
remove stray sqlite db
|
2023-02-22 18:40:10 +01:00 |
ig
|
6ee441a37b
|
fix rider's vcs.xml
|
2023-02-22 18:34:46 +01:00 |
ig
|
c70e3e1cd9
|
remove and ignore *.DotSettings.user
|
2023-02-22 18:34:11 +01:00 |
ig
|
e6b0963d28
|
bump CliWrap to 3.6.0
|
2023-02-22 18:31:18 +01:00 |
ig
|
29da6d984c
|
remove compiled binaries (**/bin/) and intermediate files (**/obj/) from vcs
|
2023-02-22 18:28:43 +01:00 |
ig
|
b17b64efab
|
remove jetbrains' workspace.xml from vcs
https://stackoverflow.com/a/11968647
|
2023-02-22 18:20:44 +01:00 |
Kim
|
e76e99d86f
|
update before switch2
|
2023-02-22 14:46:36 +01:00 |
Kim
|
2ec3cca800
|
typescript fuckery?? is this still correct?
|
2023-02-21 09:58:21 +01:00 |
Kim
|
085d7c68ba
|
adding untracked frontend and typescript files
|
2023-02-21 07:27:20 +01:00 |
Kim
|
95fadd4264
|
Status API abstract classes instead of interfaces
|
2023-02-21 07:25:53 +01:00 |
Kim
|
7474574586
|
small changes to backend
|
2023-02-16 16:03:00 +01:00 |
Kim
|
8c2c6f1641
|
added salt and stuff
|
2023-02-16 15:08:50 +01:00 |
Kim
|
9d19c0fca9
|
added salt to password, it's edible now
|
2023-02-16 14:42:13 +01:00 |
Kim
|
d3be39d265
|
test
|
2023-02-16 13:57:06 +01:00 |