@@ -69,36 +69,17 @@ public void preCreate(Clan clan) {
6969 @ SneakyThrows
7070 @ Transactional
7171 @ Deprecated
72- // use preCreate instead
72+ // use POST via Elide instead
7373 Clan create (String name , String tag , String description ) {
74- Player creator = playerService .getCurrentPlayer ();
75-
76- if (creator .getClanMembership () != null ) {
77- throw ApiException .of (ErrorCode .CLAN_CREATE_FOUNDER_IS_IN_A_CLAN );
78- }
79- if (clanRepository .findOneByName (name ).isPresent ()) {
80- throw ApiException .of (ErrorCode .CLAN_NAME_EXISTS , name );
81- }
82- if (clanRepository .findOneByTag (tag ).isPresent ()) {
83- throw ApiException .of (ErrorCode .CLAN_TAG_EXISTS , tag );
84- }
85-
8674 Clan clan = new Clan ();
8775 clan .setName (name );
8876 clan .setTag (tag );
8977 clan .setDescription (description );
9078 clan .setRequiresInvitation (true );
79+ clan .setFounder (playerService .getCurrentPlayer ());
80+ clan .setLeader (playerService .getCurrentPlayer ());
9181
92- clan .setFounder (creator );
93- clan .setLeader (creator );
94-
95- ClanMembership membership = new ClanMembership ();
96- membership .setClan (clan );
97- membership .setPlayer (creator );
98-
99- clan .setMemberships (Set .of (membership ));
100-
101- // clan membership is saved over cascading, otherwise validation will fail
82+ // validation is done at preCreate() called by ClanListener
10283 clanRepository .save (clan );
10384 return clan ;
10485 }
0 commit comments