@aepstore-dev/contracts 1.48.0 → 1.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/gen/users.d.ts CHANGED
@@ -162,23 +162,33 @@ export interface PublicProfileResponse {
162
162
  }
163
163
  export interface UpdateProfileRequest {
164
164
  userId: string;
165
- fullName: string;
166
- aboutMe: string;
167
- newsletterSubscription: boolean;
168
- hideSubscriptions: boolean;
169
- avatarUrl: string;
170
- bannerUrl: string;
171
- countryId: string;
172
- timezone: string;
165
+ /**
166
+ * Every editable field is `optional` so the wire format preserves the
167
+ * "not set" state. A partial patch from the client (e.g. only avatarUrl)
168
+ * no longer accidentally wipes the other columns to proto3 defaults.
169
+ */
170
+ fullName?: string | undefined;
171
+ aboutMe?: string | undefined;
172
+ newsletterSubscription?: boolean | undefined;
173
+ hideSubscriptions?: boolean | undefined;
174
+ avatarUrl?: string | undefined;
175
+ bannerUrl?: string | undefined;
176
+ countryId?: string | undefined;
177
+ timezone?: string | undefined;
178
+ /**
179
+ * social_media remains repeated (an empty list is still a meaningful
180
+ * "replace with empty"); the gateway omits the field entirely when the
181
+ * client didn't send it so partial patches don't clear social links.
182
+ */
173
183
  socialMedia: CreateSocialMedia[];
174
184
  /**
175
185
  * Premium-only fields — rejected with FAILED_PRECONDITION when the caller
176
- * has no active premium. Empty string clears the value.
186
+ * has no active premium. `''` = no change, `__clear__` = explicit reset.
177
187
  */
178
- profileColor: string;
179
- avatarBorderId: string;
180
- animatedAvatarUrl: string;
181
- animatedBannerUrl: string;
188
+ profileColor?: string | undefined;
189
+ avatarBorderId?: string | undefined;
190
+ animatedAvatarUrl?: string | undefined;
191
+ animatedBannerUrl?: string | undefined;
182
192
  }
183
193
  export interface UpdateUserRequest {
184
194
  userId: string;
package/gen/users.ts CHANGED
@@ -190,23 +190,35 @@ export interface PublicProfileResponse {
190
190
 
191
191
  export interface UpdateProfileRequest {
192
192
  userId: string;
193
- fullName: string;
194
- aboutMe: string;
195
- newsletterSubscription: boolean;
196
- hideSubscriptions: boolean;
197
- avatarUrl: string;
198
- bannerUrl: string;
199
- countryId: string;
200
- timezone: string;
193
+ /**
194
+ * Every editable field is `optional` so the wire format preserves the
195
+ * "not set" state. A partial patch from the client (e.g. only avatarUrl)
196
+ * no longer accidentally wipes the other columns to proto3 defaults.
197
+ */
198
+ fullName?: string | undefined;
199
+ aboutMe?: string | undefined;
200
+ newsletterSubscription?: boolean | undefined;
201
+ hideSubscriptions?: boolean | undefined;
202
+ avatarUrl?: string | undefined;
203
+ bannerUrl?: string | undefined;
204
+ countryId?: string | undefined;
205
+ timezone?:
206
+ | string
207
+ | undefined;
208
+ /**
209
+ * social_media remains repeated (an empty list is still a meaningful
210
+ * "replace with empty"); the gateway omits the field entirely when the
211
+ * client didn't send it so partial patches don't clear social links.
212
+ */
201
213
  socialMedia: CreateSocialMedia[];
202
214
  /**
203
215
  * Premium-only fields — rejected with FAILED_PRECONDITION when the caller
204
- * has no active premium. Empty string clears the value.
216
+ * has no active premium. `''` = no change, `__clear__` = explicit reset.
205
217
  */
206
- profileColor: string;
207
- avatarBorderId: string;
208
- animatedAvatarUrl: string;
209
- animatedBannerUrl: string;
218
+ profileColor?: string | undefined;
219
+ avatarBorderId?: string | undefined;
220
+ animatedAvatarUrl?: string | undefined;
221
+ animatedBannerUrl?: string | undefined;
210
222
  }
211
223
 
212
224
  export interface UpdateUserRequest {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aepstore-dev/contracts",
3
- "version": "1.48.0",
3
+ "version": "1.49.0",
4
4
  "description": "Protobuf definitions for aepstore microservices",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
package/proto/users.proto CHANGED
@@ -221,21 +221,27 @@ message PublicProfileResponse {
221
221
 
222
222
  message UpdateProfileRequest {
223
223
  string user_id = 1;
224
- string full_name = 2;
225
- string about_me = 3;
226
- bool newsletter_subscription = 4;
227
- bool hide_subscriptions = 5;
228
- string avatar_url = 6;
229
- string banner_url = 7;
230
- string country_id = 8;
231
- string timezone = 9;
224
+ // Every editable field is `optional` so the wire format preserves the
225
+ // "not set" state. A partial patch from the client (e.g. only avatarUrl)
226
+ // no longer accidentally wipes the other columns to proto3 defaults.
227
+ optional string full_name = 2;
228
+ optional string about_me = 3;
229
+ optional bool newsletter_subscription = 4;
230
+ optional bool hide_subscriptions = 5;
231
+ optional string avatar_url = 6;
232
+ optional string banner_url = 7;
233
+ optional string country_id = 8;
234
+ optional string timezone = 9;
235
+ // social_media remains repeated (an empty list is still a meaningful
236
+ // "replace with empty"); the gateway omits the field entirely when the
237
+ // client didn't send it so partial patches don't clear social links.
232
238
  repeated CreateSocialMedia social_media = 10;
233
239
  // Premium-only fields — rejected with FAILED_PRECONDITION when the caller
234
- // has no active premium. Empty string clears the value.
235
- string profile_color = 11;
236
- string avatar_border_id = 12;
237
- string animated_avatar_url = 13;
238
- string animated_banner_url = 14;
240
+ // has no active premium. `''` = no change, `__clear__` = explicit reset.
241
+ optional string profile_color = 11;
242
+ optional string avatar_border_id = 12;
243
+ optional string animated_avatar_url = 13;
244
+ optional string animated_banner_url = 14;
239
245
  }
240
246
 
241
247
  // =================================================================