feat: add database backed membership tiers
All checks were successful
deploy-socialize / image (push) Successful in 1m9s
deploy-socialize / deploy (push) Successful in 19s

This commit is contained in:
2026-05-07 20:29:53 -04:00
parent db16e79d9f
commit 6d92119c9c
23 changed files with 3512 additions and 30 deletions

View File

@@ -164,6 +164,38 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/organization-membership-tiers": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["SocializeApiModulesOrganizationsHandlersListOrganizationMembershipTiersHandler"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/organizations/{organizationId}/membership-tier": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put: operations["SocializeApiModulesOrganizationsHandlersUpdateOrganizationMembershipTierHandler"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/notifications": {
parameters: {
query?: never;
@@ -1223,16 +1255,39 @@ export interface components {
id?: string;
name?: string;
logoUrl?: string | null;
membershipTier?: components["schemas"]["SocializeApiModulesOrganizationsHandlersOrganizationMembershipTierDto"] | null;
/** Format: guid */
ownerUserId?: string;
currentUserPermissions?: string[];
members?: components["schemas"]["SocializeApiModulesOrganizationsHandlersOrganizationMemberDto"][];
workspaces?: components["schemas"]["SocializeApiModulesWorkspacesHandlersWorkspaceDto"][];
usage?: components["schemas"]["SocializeApiModulesOrganizationsHandlersOrganizationUsageDto"] | null;
availableMembershipTiers?: components["schemas"]["SocializeApiModulesOrganizationsHandlersOrganizationMembershipTierDto"][];
/** Format: date-time */
createdAt?: string;
};
SocializeApiModulesOrganizationsHandlersOrganizationMembershipTierDto: {
/** Format: guid */
id?: string;
key?: string;
name?: string;
description?: string;
/** Format: int32 */
monthlyPriceCents?: number | null;
/** Format: int32 */
workspaceLimit?: number | null;
/** Format: int32 */
activeContentLimit?: number | null;
/** Format: int32 */
memberLimit?: number | null;
/** Format: int32 */
externalReviewerLimit?: number | null;
isCustom?: boolean;
/** Format: int32 */
sortOrder?: number;
};
SocializeApiModulesOrganizationsHandlersOrganizationUsageDto: {
planKey?: string;
planName?: string;
items?: components["schemas"]["SocializeApiModulesOrganizationsHandlersOrganizationUsageItemDto"][];
};
@@ -1245,10 +1300,16 @@ export interface components {
};
SocializeApiModulesOrganizationsHandlersCreateOrganizationRequest: {
name: string;
/** Format: guid */
membershipTierId?: string | null;
};
SocializeApiModulesOrganizationsHandlersUpdateOrganizationRequest: {
name: string;
};
SocializeApiModulesOrganizationsHandlersUpdateOrganizationMembershipTierRequest: {
/** Format: guid */
membershipTierId: string;
};
SocializeApiModulesNotificationsHandlersNotificationEventDto: {
/** Format: guid */
id?: string;
@@ -2438,6 +2499,75 @@ export interface operations {
};
};
};
SocializeApiModulesOrganizationsHandlersListOrganizationMembershipTiersHandler: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Success */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["SocializeApiModulesOrganizationsHandlersOrganizationMembershipTierDto"][];
};
};
/** @description Unauthorized */
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
SocializeApiModulesOrganizationsHandlersUpdateOrganizationMembershipTierHandler: {
parameters: {
query?: never;
header?: never;
path: {
organizationId: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["SocializeApiModulesOrganizationsHandlersUpdateOrganizationMembershipTierRequest"];
};
};
responses: {
/** @description Success */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["SocializeApiModulesOrganizationsHandlersOrganizationDto"];
};
};
/** @description Bad Request */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/problem+json": components["schemas"]["FastEndpointsErrorResponse"];
};
};
/** @description Unauthorized */
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
SocializeApiModulesNotificationsHandlersGetNotificationsHandler: {
parameters: {
query?: {