MemberService

Source: MemberService.js:20

Service for managing member entities and their associations. Handles CRUD operations and member-specific logic.


Constructor

new MemberService(): MemberService

Instance Methods

getAll( ownerIds: Array.<UUID>, actingUserId: UUID, options: Object, ): Promise.<Array>

Get all members for a user.

Parameters

  • ownerIds (Array.<UUID>) — The owner IDs.
  • actingUserId (UUID) — The acting user ID.
  • options (Object) — Options for fetching members.
    • options.all (boolean) — Whether to fetch all members or only those associated with the user.

Returns

  • Promise.<Array> — List of members.

findById(id: UUID, actingUserId: UUID): Promise.<(Object|null)>

Find a member by ID.

Parameters

  • id (UUID) — The member ID.
  • actingUserId (UUID) — The acting user ID.

Returns

  • Promise.<(Object|null)> — The member object or null if not found.

getCount(): Promise.<number>

Get the total count of members.

Returns

  • Promise.<number> — The count of members.

getTrend(): Promise.<number>

Get the trend of member creation and deletion.

Returns

  • Promise.<number> — The difference between created and deleted members in the last 30 days.

create( name: string, nickname: string, abbreviation: string | null, SeasonTeamId: UUID, actingUserId: UUID, ): Promise.<Object>

Create a new member.

Parameters

  • name (string) — The name of the member.
  • nickname (string) — The nickname of the member.
  • abbreviation (string | null) — The abbreviation for the member.
  • SeasonTeamId (UUID) — The season team ID.
  • actingUserId (UUID) — The acting user ID.

Returns

  • Promise.<Object> — The created member object.

findOrCreate( name: string, nickname: string, abbreviation: string | null, SeasonTeamId: UUID, actingUserId: UUID, ): Promise.<Object>

Find or create a member.

Parameters

  • name (string) — The name of the member.
  • nickname (string) — The nickname of the member.
  • abbreviation (string | null) — The abbreviation for the member.
  • SeasonTeamId (UUID) — The season team ID.
  • actingUserId (UUID) — The acting user ID.

Returns

  • Promise.<Object> — The found or created member object.

update( id: UUID, data: Object, actingUserId: UUID, isAdmin?: boolean, options?: Object, ): Promise.<Object>

Update a member.

Parameters

  • id (UUID) — The member ID.
  • data (Object) — The data to update.
  • actingUserId (UUID) — The acting user ID.
  • isAdmin (boolean, optional, default: false)
  • options (Object, optional, default: "{ all: false }") — Options for updating.
    • options.all (boolean, optional, default: false) — Whether to update all members.

Returns

  • Promise.<Object> — The updated member.

remove( id: UUID, actingUserId: UUID, isAdmin?: boolean, options?: Object, ): Promise.<void>

Remove a member.

Parameters

  • id (UUID) — The member ID.
  • actingUserId (UUID) — The acting user ID.
  • isAdmin (boolean, optional, default: false)
  • options (Object, optional, default: "{ all: false }") — Options for removing members.
    • options.all (boolean, optional, default: false) — Whether to remove all members.

Returns

  • Promise.<void> — Resolves when the member is removed.