@qrush/types 2.1.105 → 2.1.107

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/dist/Events.d.ts CHANGED
@@ -6,6 +6,7 @@ import { LocationTypeArray, LocationTypeSlugArray } from "./Location.js";
6
6
  import { Features, Location, EventCategory, EventCategorySlug, TranslationMap, SupportedLanguage } from "./Common.js";
7
7
  import { PromotionTeaser } from "./Promotion.js";
8
8
  import { EventArtist } from "./Artist.js";
9
+ import type { IEntryChange } from "./Social.js";
9
10
  export {
10
11
  /** @deprecated Use EventCategorySlug instead */
11
12
  EventCategory, EventCategorySlug,
@@ -80,6 +81,10 @@ export interface IFireEvent {
80
81
  artists?: EventArtist[];
81
82
  /** Artist IDs for Firestore array-contains queries */
82
83
  artistIds?: string[];
84
+ /** Version counter for socialEntries cache invalidation */
85
+ socialEntriesVersion?: number;
86
+ /** Last 10 entry changes keyed by version number */
87
+ recentEntryChanges?: Record<number, IEntryChange>;
83
88
  }
84
89
  export declare const eventTagsIsNotString: (tags: string[] | IFireMetaPossibleTags["tags"]) => tags is IFireMetaPossibleTags["tags"];
85
90
  export interface TicketType {
@@ -1,6 +1,7 @@
1
1
  import { FireQueryDocSnapshotRef } from "./CustomDocType.js";
2
2
  import { Location as BaseLocation, EventCategorySlug, Features, SupportedLanguage, TranslationMap } from "./Common.js";
3
3
  import { PromotionTeaser } from "./Promotion.js";
4
+ import type { IEntryChange } from "./Social.js";
4
5
  export declare const LOCATION_TYPE_SLUGS: readonly ["bars", "outdoor", "clubs", "festivals", "concerts", "cityfestivals"];
5
6
  export type LocationTypeSlug = (typeof LOCATION_TYPE_SLUGS)[number];
6
7
  /** @deprecated Use LOCATION_TYPE_SLUGS instead */
@@ -144,5 +145,9 @@ export type IFireLocation = {
144
145
  weeklyInterestedCount?: {
145
146
  [day: string]: number;
146
147
  };
148
+ /** Version counter for socialEntries cache invalidation */
149
+ socialEntriesVersion?: number;
150
+ /** Last 10 entry changes keyed by version number */
151
+ recentEntryChanges?: Record<number, IEntryChange>;
147
152
  };
148
153
  export type FireLocationSnapshotRef = FireQueryDocSnapshotRef<IFireLocation>;
package/dist/Social.d.ts CHANGED
@@ -81,6 +81,8 @@ export interface ISocialEntry {
81
81
  lookingFor?: ILookingFor;
82
82
  /** Event: eventStart; Weekly: computed from occurrenceDate + DaySchedule.eventStart */
83
83
  entityStartTime?: Timestamp;
84
+ /** Weekly: computed from occurrenceDate + venue close time; used for precise overnight expiry */
85
+ entityEndTime?: Timestamp;
84
86
  /** Flat boolean for efficient Firestore indexing (avoids != null on map field) */
85
87
  hasLookingFor?: boolean;
86
88
  hasSocialProfile?: boolean;
@@ -95,6 +97,26 @@ export interface ISocialEntry {
95
97
  /** Set by moderation system — entries with this flag are filtered from public views */
96
98
  moderationHidden?: boolean;
97
99
  }
100
+ export interface IEntryChange {
101
+ entryId: string;
102
+ changeType: 'added' | 'modified' | 'removed';
103
+ }
104
+ export interface IGetFilteredSocialEntriesRequest {
105
+ entityType: SocialEntityType;
106
+ entityId: string;
107
+ day?: string;
108
+ occurrenceDate?: string;
109
+ typeFilter?: string;
110
+ limit?: number;
111
+ cursor?: number;
112
+ }
113
+ export interface IGetFilteredSocialEntriesResponse {
114
+ entries: IFilteredEntry[];
115
+ totalCount: number;
116
+ hiddenCount: number;
117
+ hasMore: boolean;
118
+ cursor: number;
119
+ }
98
120
  export interface IFilteredEntry {
99
121
  id: string;
100
122
  name: string;
@@ -118,6 +140,7 @@ export interface ISetSocialStatusRequest {
118
140
  entityType: SocialEntityType;
119
141
  entityId: string;
120
142
  day?: string;
143
+ occurrenceDate?: string;
121
144
  }
122
145
  export interface ISetSocialStatusResponse {
123
146
  success: boolean;
@@ -134,6 +157,7 @@ export interface IUpdateLookingForRequest {
134
157
  entityType: SocialEntityType;
135
158
  entityId: string;
136
159
  day?: string;
160
+ occurrenceDate?: string;
137
161
  lookingFor: {
138
162
  type?: LookingForType;
139
163
  partyType?: PartyType;
@@ -160,6 +184,7 @@ export interface IUserSocialEntry {
160
184
  entityType: SocialEntityType;
161
185
  entityId: string;
162
186
  day?: string;
187
+ occurrenceDate?: string;
163
188
  type: SocialStatus;
164
189
  }
165
190
  export interface IGetUserSocialEntriesResponse {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrush/types",
3
- "version": "2.1.105",
3
+ "version": "2.1.107",
4
4
  "description": "Shared TypeScript types for the QRush ecosystem",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",