Skip to content

Commit

Permalink
rename includes and json property to owners
Browse files Browse the repository at this point in the history
  • Loading branch information
notbakaneko committed Sep 13, 2024
1 parent a24d80b commit 2a475b3
Show file tree
Hide file tree
Showing 16 changed files with 37 additions and 36 deletions.
2 changes: 1 addition & 1 deletion app/Http/Controllers/BeatmapsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@ public function userScore($beatmapId, $userId)
'score' => json_item(
$score,
new ScoreTransformer(),
['beatmap.mappers', ...static::DEFAULT_SCORE_INCLUDES]
['beatmap.owners', ...static::DEFAULT_SCORE_INCLUDES]
),
];
}
Expand Down
2 changes: 1 addition & 1 deletion app/Http/Controllers/BeatmapsetsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -415,8 +415,8 @@ private function showJson($beatmapset)
return json_item($beatmapset, $transformer, [
'beatmaps',
'beatmaps.failtimes',
'beatmaps.mappers',
'beatmaps.max_combo',
'beatmaps.owners',
'converts',
'converts.failtimes',
'current_nominations',
Expand Down
2 changes: 1 addition & 1 deletion app/Models/Beatmapset.php
Original file line number Diff line number Diff line change
Expand Up @@ -1246,7 +1246,7 @@ public function defaultDiscussionJson()
])->find($this->getKey()),
'Beatmapset',
[
'beatmaps:with_trashed.mappers',
'beatmaps:with_trashed.owners',
'current_user_attributes',
'discussions',
'discussions.current_user_attributes',
Expand Down
19 changes: 10 additions & 9 deletions app/Transformers/BeatmapCompactTransformer.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,16 @@
use App\Models\Beatmap;
use App\Models\BeatmapFailtimes;
use App\Models\DeletedUser;
use App\Models\User;

class BeatmapCompactTransformer extends TransformerAbstract
{
protected array $availableIncludes = [
'beatmapset',
'checksum',
'failtimes',
'mappers',
'max_combo',
'owners',
'user',
];

Expand Down Expand Up @@ -69,18 +70,18 @@ public function includeFailtimes(Beatmap $beatmap)
return $this->primitive($result);
}

public function includeMappers(Beatmap $beatmap)
public function includeMaxCombo(Beatmap $beatmap)
{
return $this->primitive($beatmap->owners->map(fn ($mapper) => [
'avatar_url' => $mapper->user_avatar,
'id' => $mapper->user_id,
'username' => $mapper->username,
]));
return $this->primitive($beatmap->maxCombo());
}

public function includeMaxCombo(Beatmap $beatmap)
public function includeOwners(Beatmap $beatmap)
{
return $this->primitive($beatmap->maxCombo());
return $this->primitive($beatmap->owners->map(fn (User $user) => [
'avatar_url' => $user->user_avatar,
'id' => $user->user_id,
'username' => $user->username,
]));
}

public function includeUser(Beatmap $beatmap)
Expand Down
12 changes: 6 additions & 6 deletions resources/js/beatmap-discussions/beatmap-owner-editor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ interface Props {
beatmap: BeatmapJson;
beatmapset: BeatmapsetExtendedJson;
discussionsState: DiscussionsState; // only for updating the state with the response.
mappers: UserJson[];
owners: UserJson[];
}

@observer
Expand Down Expand Up @@ -170,15 +170,15 @@ export default class BeatmapOwnerEditor extends React.Component<Props> {
);
}

private readonly renderMapper = (mapper: UserJson, onRemoveClick: (user: UserJson) => void) => (
<BeatmapMapper key={mapper.id} onRemoveUser={onRemoveClick} user={mapper} />
private readonly renderMapper = (owner: UserJson, onRemoveClick: (user: UserJson) => void) => (
<BeatmapMapper key={owner.id} onRemoveUser={onRemoveClick} user={owner} />
);

private renderUsernames() {
if (!this.editing) {
return (
<div className='beatmap-owner-editor__mappers'>
{this.props.mappers.map((mapper) => <BeatmapMapper key={mapper.id} user={mapper} />)}
{this.props.owners.map((owner) => <BeatmapMapper key={owner.id} user={owner} />)}
</div>
);
}
Expand All @@ -192,7 +192,7 @@ export default class BeatmapOwnerEditor extends React.Component<Props> {
>
<UsernameInput
id='beatmap-owner-editor-username-input'
initialUsers={this.props.mappers}
initialUsers={this.props.owners}
// initialValue not set for owner editor as value is reset when cancelled.
modifiers='beatmap-owner-editor'
onEnterPressed={this.handleSaveClick}
Expand All @@ -208,7 +208,7 @@ export default class BeatmapOwnerEditor extends React.Component<Props> {
private updateOwners(userIds: number[]) {
this.updateOwnerXhr?.abort();

if (xor([...this.validUsers.keys()], this.props.mappers.map((mapper) => mapper.id)).length === 0) {
if (xor([...this.validUsers.keys()], this.props.owners.map((owner) => owner.id)).length === 0) {
this.editing = false;
return;
}
Expand Down
2 changes: 1 addition & 1 deletion resources/js/beatmap-discussions/beatmaps-owner-editor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export default class BeatmapsOwnerEditor extends React.Component<Props> {
beatmap={beatmap}
beatmapset={this.props.beatmapset}
discussionsState={this.props.discussionsState}
mappers={beatmap.mappers.map(this.getUser)}
owners={beatmap.owners.map(this.getUser)}
/>
))
))}
Expand Down
2 changes: 1 addition & 1 deletion resources/js/beatmap-discussions/header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ export class Header extends React.Component<Props> {
<span>
<StringWithComponent
mappings={{
user: <UserLinkList users={this.currentBeatmap.mappers ?? []} />,
user: <UserLinkList users={this.currentBeatmap.owners ?? []} />,
}}
pattern={trans('beatmaps.discussions.guest')}
/>
Expand Down
6 changes: 3 additions & 3 deletions resources/js/beatmapsets-show/controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,9 @@ export default class Controller {
$(document).off('turbolinks:before-cache', this.saveState);
}

mappers(beatmap: BeatmapJsonForBeatmapsetShow) {
if (beatmap.mappers != null) {
return beatmap.mappers.map((mapper) => this.usersById[mapper.id] ?? deletedUserJson);
owners(beatmap: BeatmapJsonForBeatmapsetShow) {
if (beatmap.owners != null) {
return beatmap.owners.map((mapper) => this.usersById[mapper.id] ?? deletedUserJson);
}

return [this.usersById[beatmap.user_id] ?? deletedUserJson];
Expand Down
4 changes: 2 additions & 2 deletions resources/js/beatmapsets-show/header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ export default class Header extends React.Component<Props> {

private renderBeatmapVersion() {
const beatmap = this.controller.hoveredBeatmap ?? this.controller.currentBeatmap;
const hasGuestMappers = (beatmap.mappers?.length ?? 0) > 1
const hasGuestMappers = (beatmap.owners?.length ?? 0) > 1
|| beatmap.user_id !== this.controller.beatmapset.user_id;

return (
Expand All @@ -286,7 +286,7 @@ export default class Header extends React.Component<Props> {
<span className='beatmapset-header__diff-extra'>
<StringWithComponent
mappings={{
mapper: <UserLinkList users={this.controller.mappers(beatmap)} />,
mapper: <UserLinkList users={this.controller.owners(beatmap)} />,
}}
pattern={trans('beatmapsets.show.details.mapped_by')}
/>
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/beatmap-list-item.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export default class BeatmapListItem extends React.PureComponent<Props> {
private renderMappers() {
if (!this.props.showMappers) return null;

const mappers = this.props.beatmap.mappers;
const mappers = this.props.beatmap.owners;
if (mappers == null || mappers.length === 0) {
return null;
}
Expand Down
2 changes: 1 addition & 1 deletion resources/js/interfaces/beatmap-json.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ interface BeatmapJsonAvailableIncludes {
beatmapset: BeatmapsetJson | null;
checksum: string | null;
failtimes: BeatmapFailTimesArray;
mappers: UserJsonMinimum[];
max_combo: number;
owners: UserJsonMinimum[];
user: UserJson;
}

Expand Down
4 changes: 2 additions & 2 deletions resources/js/interfaces/beatmapset-with-discussions-json.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import BeatmapExtendedJson from './beatmap-extended-json';
import { BeatmapsetDiscussionJsonForShow } from './beatmapset-discussion-json';
import BeatmapsetExtendedJson from './beatmapset-extended-json';
import WithMappers from './with-mappers';
import WithOwners from './with-owners';

type DiscussionsRequiredAttributes = 'current_user_attributes' | 'eligible_main_rulesets' | 'events' | 'nominations' | 'related_users';
type BeatmapsetWithDiscussionsJson =
Expand All @@ -13,7 +13,7 @@ type BeatmapsetWithDiscussionsJson =
& Required<Pick<BeatmapsetExtendedJson, DiscussionsRequiredAttributes>>;

interface OverrideIncludes {
beatmaps: WithMappers<BeatmapExtendedJson>[];
beatmaps: WithOwners<BeatmapExtendedJson>[];
discussions: BeatmapsetDiscussionJsonForShow[];
}

Expand Down
4 changes: 2 additions & 2 deletions resources/js/interfaces/solo-score-json.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import Rank from './rank';
import Ruleset from './ruleset';
import { ScoreJsonAvailableIncludes, ScoreJsonDefaultIncludes } from './score-json';
import ScoreModJson from './score-mod-json';
import WithMappers from './with-mappers';
import WithOwners from './with-owners';

export type SoloScoreStatisticsAttribute =
| 'good'
Expand Down Expand Up @@ -80,7 +80,7 @@ export type SoloScoreJsonForBeatmap = SoloScoreJson & Required<Pick<SoloScoreJso
export type SoloScoreJsonForShow = SoloScoreJson
& Required<Pick<SoloScoreJson, 'beatmapset' | 'best_id' | 'rank_global' | 'user'>>
& {
beatmap: WithMappers<BeatmapExtendedJson>;
beatmap: WithOwners<BeatmapExtendedJson>;
};

export type SoloScoreJsonForUser = SoloScoreJson & Required<Pick<SoloScoreJson, 'beatmap' | 'beatmapset'>>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@

import BeatmapJson from './beatmap-json';

type WithMappers<T extends BeatmapJson> = T & Required<Pick<T, 'mappers'>>;
type WithOwners<T extends BeatmapJson> = T & Required<Pick<T, 'owners'>>;

export default WithMappers;
export default WithOwners;
4 changes: 2 additions & 2 deletions resources/js/scores-show/beatmap-info.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
import BeatmapListItem from 'components/beatmap-list-item';
import BeatmapExtendedJson from 'interfaces/beatmap-extended-json';
import BeatmapsetJson from 'interfaces/beatmapset-json';
import WithMappers from 'interfaces/with-mappers';
import WithOwners from 'interfaces/with-owners';
import { route } from 'laroute';
import * as React from 'react';
import { getArtist, getTitle } from 'utils/beatmapset-helper';
import { trans } from 'utils/lang';

interface Props {
beatmap: WithMappers<BeatmapExtendedJson>;
beatmap: WithOwners<BeatmapExtendedJson>;
beatmapset: BeatmapsetJson;
}

Expand Down
2 changes: 1 addition & 1 deletion resources/js/utils/beatmap-helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ export function group<T extends BeatmapJson>(beatmaps?: T[] | null, includeEmpty
}

export function hasGuestMapper(beatmap: BeatmapJson, beatmapset: BeatmapsetJson) {
return beatmap.mappers?.some((mapper) => mapper.id !== beatmapset.user_id);
return beatmap.owners?.some((owner) => owner.id !== beatmapset.user_id);
}

export function rulesetName(id: number): Ruleset {
Expand Down

0 comments on commit 2a475b3

Please sign in to comment.