fix(server): seat not allocated when new user invited to licensed workspace (#12322)

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **Bug Fixes**
  - Improved the accuracy of workspace member overcapacity calculation.
  - Corrected seat allocation handling for one-time license variants, ensuring proper event emission and bypassing unnecessary updates.

- **Refactor**
  - Streamlined internal logic by removing an obsolete method related to seat count checks.

- **Tests**
  - Removed a workspace member list pagination test to streamline end-to-end testing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
forehalo
2025-05-19 09:30:37 +00:00
parent 91e7b28dd5
commit fa5110e76f
4 changed files with 10 additions and 84 deletions

View File

@@ -288,6 +288,15 @@ export class LicenseService {
return;
}
if (license.variant === SubscriptionVariant.Onetime) {
this.event.emit('workspace.members.allocateSeats', {
workspaceId,
quantity: license.quantity,
});
return;
}
const count = await this.models.workspaceUser.chargedCount(workspaceId);
await this.fetchAffinePro(`/api/team/licenses/${license.key}/seats`, {
method: 'POST',