getstream-ruby 6.1.0 → 7.0.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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +22 -6
  3. data/lib/getstream_ruby/client.rb +63 -5
  4. data/lib/getstream_ruby/configuration.rb +32 -5
  5. data/lib/getstream_ruby/generated/common_client.rb +26 -0
  6. data/lib/getstream_ruby/generated/feed.rb +3 -1
  7. data/lib/getstream_ruby/generated/feeds_client.rb +3 -1
  8. data/lib/getstream_ruby/generated/models/add_activity_request.rb +5 -0
  9. data/lib/getstream_ruby/generated/models/add_reaction_request.rb +5 -0
  10. data/lib/getstream_ruby/generated/models/bodyguard_profile_summary.rb +6 -1
  11. data/lib/getstream_ruby/generated/models/chat_draft_payload_response.rb +91 -0
  12. data/lib/getstream_ruby/generated/models/chat_draft_response.rb +56 -0
  13. data/lib/getstream_ruby/generated/models/chat_message_response.rb +59 -4
  14. data/lib/getstream_ruby/generated/models/chat_moderation_v2_response.rb +66 -0
  15. data/lib/getstream_ruby/generated/models/chat_reaction_group_response.rb +51 -0
  16. data/lib/getstream_ruby/generated/models/chat_reaction_group_user_response.rb +41 -0
  17. data/lib/getstream_ruby/generated/models/chat_reaction_response.rb +66 -0
  18. data/lib/getstream_ruby/generated/models/chat_reminder_response_data.rb +66 -0
  19. data/lib/getstream_ruby/generated/models/chat_shared_location_response_data.rb +76 -0
  20. data/lib/getstream_ruby/generated/models/delete_feeds_batch_request.rb +6 -1
  21. data/lib/getstream_ruby/generated/models/feeds_activity_location.rb +36 -0
  22. data/lib/getstream_ruby/generated/models/feeds_bookmark_response.rb +61 -0
  23. data/lib/getstream_ruby/generated/models/feeds_enriched_collection_response.rb +61 -0
  24. data/lib/getstream_ruby/generated/models/feeds_feed_response.rb +116 -0
  25. data/lib/getstream_ruby/generated/models/feeds_notification_comment.rb +46 -0
  26. data/lib/getstream_ruby/generated/models/feeds_notification_context.rb +36 -0
  27. data/lib/getstream_ruby/generated/models/feeds_notification_parent_activity.rb +51 -0
  28. data/lib/getstream_ruby/generated/models/feeds_notification_target.rb +71 -0
  29. data/lib/getstream_ruby/generated/models/feeds_notification_trigger.rb +46 -0
  30. data/lib/getstream_ruby/generated/models/feeds_reaction_group_response.rb +3 -3
  31. data/lib/getstream_ruby/generated/models/feeds_reaction_response.rb +6 -6
  32. data/lib/getstream_ruby/generated/models/feeds_v3_activity_response.rb +66 -6
  33. data/lib/getstream_ruby/generated/models/feeds_v3_comment_response.rb +17 -2
  34. data/lib/getstream_ruby/generated/models/labels_request.rb +5 -0
  35. data/lib/getstream_ruby/generated/models/query_bookmarks_request.rb +11 -1
  36. data/lib/getstream_ruby/generated/models/search_roles_response.rb +36 -0
  37. data/lib/getstream_ruby/generated/models/submit_moderation_feedback_request.rb +71 -0
  38. data/lib/getstream_ruby/generated/models/submit_moderation_feedback_response.rb +31 -0
  39. data/lib/getstream_ruby/generated/models/update_app_request.rb +5 -0
  40. data/lib/getstream_ruby/generated/models/upsert_activities_request.rb +5 -0
  41. data/lib/getstream_ruby/generated/moderation_client.rb +17 -0
  42. data/lib/getstream_ruby/generated/webhook.rb +401 -170
  43. data/lib/getstream_ruby/version.rb +1 -1
  44. data/lib/getstream_ruby.rb +2 -3
  45. metadata +22 -2
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class ChatModerationV2Response < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute action
13
+ # @return [String]
14
+ attr_accessor :action
15
+ # @!attribute original_text
16
+ # @return [String]
17
+ attr_accessor :original_text
18
+ # @!attribute blocklist_matched
19
+ # @return [String]
20
+ attr_accessor :blocklist_matched
21
+ # @!attribute platform_circumvented
22
+ # @return [Boolean]
23
+ attr_accessor :platform_circumvented
24
+ # @!attribute semantic_filter_matched
25
+ # @return [String]
26
+ attr_accessor :semantic_filter_matched
27
+ # @!attribute blocklists_matched
28
+ # @return [Array<String>]
29
+ attr_accessor :blocklists_matched
30
+ # @!attribute image_harms
31
+ # @return [Array<String>]
32
+ attr_accessor :image_harms
33
+ # @!attribute text_harms
34
+ # @return [Array<String>]
35
+ attr_accessor :text_harms
36
+
37
+ # Initialize with attributes
38
+ def initialize(attributes = {})
39
+ super(attributes)
40
+ @action = attributes[:action] || attributes['action']
41
+ @original_text = attributes[:original_text] || attributes['original_text']
42
+ @blocklist_matched = attributes[:blocklist_matched] || attributes['blocklist_matched'] || nil
43
+ @platform_circumvented = attributes[:platform_circumvented] || attributes['platform_circumvented'] || nil
44
+ @semantic_filter_matched = attributes[:semantic_filter_matched] || attributes['semantic_filter_matched'] || nil
45
+ @blocklists_matched = attributes[:blocklists_matched] || attributes['blocklists_matched'] || nil
46
+ @image_harms = attributes[:image_harms] || attributes['image_harms'] || nil
47
+ @text_harms = attributes[:text_harms] || attributes['text_harms'] || nil
48
+ end
49
+
50
+ # Override field mappings for JSON serialization
51
+ def self.json_field_mappings
52
+ {
53
+ action: 'action',
54
+ original_text: 'original_text',
55
+ blocklist_matched: 'blocklist_matched',
56
+ platform_circumvented: 'platform_circumvented',
57
+ semantic_filter_matched: 'semantic_filter_matched',
58
+ blocklists_matched: 'blocklists_matched',
59
+ image_harms: 'image_harms',
60
+ text_harms: 'text_harms'
61
+ }
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class ChatReactionGroupResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute count
13
+ # @return [Integer]
14
+ attr_accessor :count
15
+ # @!attribute first_reaction_at
16
+ # @return [DateTime]
17
+ attr_accessor :first_reaction_at
18
+ # @!attribute last_reaction_at
19
+ # @return [DateTime]
20
+ attr_accessor :last_reaction_at
21
+ # @!attribute sum_scores
22
+ # @return [Integer]
23
+ attr_accessor :sum_scores
24
+ # @!attribute latest_reactions_by
25
+ # @return [Array<ChatReactionGroupUserResponse>]
26
+ attr_accessor :latest_reactions_by
27
+
28
+ # Initialize with attributes
29
+ def initialize(attributes = {})
30
+ super(attributes)
31
+ @count = attributes[:count] || attributes['count']
32
+ @first_reaction_at = attributes[:first_reaction_at] || attributes['first_reaction_at']
33
+ @last_reaction_at = attributes[:last_reaction_at] || attributes['last_reaction_at']
34
+ @sum_scores = attributes[:sum_scores] || attributes['sum_scores']
35
+ @latest_reactions_by = attributes[:latest_reactions_by] || attributes['latest_reactions_by']
36
+ end
37
+
38
+ # Override field mappings for JSON serialization
39
+ def self.json_field_mappings
40
+ {
41
+ count: 'count',
42
+ first_reaction_at: 'first_reaction_at',
43
+ last_reaction_at: 'last_reaction_at',
44
+ sum_scores: 'sum_scores',
45
+ latest_reactions_by: 'latest_reactions_by'
46
+ }
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class ChatReactionGroupUserResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute created_at
13
+ # @return [DateTime]
14
+ attr_accessor :created_at
15
+ # @!attribute user_id
16
+ # @return [String]
17
+ attr_accessor :user_id
18
+ # @!attribute user
19
+ # @return [UserResponse]
20
+ attr_accessor :user
21
+
22
+ # Initialize with attributes
23
+ def initialize(attributes = {})
24
+ super(attributes)
25
+ @created_at = attributes[:created_at] || attributes['created_at']
26
+ @user_id = attributes[:user_id] || attributes['user_id']
27
+ @user = attributes[:user] || attributes['user'] || nil
28
+ end
29
+
30
+ # Override field mappings for JSON serialization
31
+ def self.json_field_mappings
32
+ {
33
+ created_at: 'created_at',
34
+ user_id: 'user_id',
35
+ user: 'user'
36
+ }
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class ChatReactionResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute created_at
13
+ # @return [DateTime]
14
+ attr_accessor :created_at
15
+ # @!attribute message_id
16
+ # @return [String]
17
+ attr_accessor :message_id
18
+ # @!attribute score
19
+ # @return [Integer]
20
+ attr_accessor :score
21
+ # @!attribute type
22
+ # @return [String]
23
+ attr_accessor :type
24
+ # @!attribute updated_at
25
+ # @return [DateTime]
26
+ attr_accessor :updated_at
27
+ # @!attribute user_id
28
+ # @return [String]
29
+ attr_accessor :user_id
30
+ # @!attribute custom
31
+ # @return [Object]
32
+ attr_accessor :custom
33
+ # @!attribute user
34
+ # @return [UserResponse]
35
+ attr_accessor :user
36
+
37
+ # Initialize with attributes
38
+ def initialize(attributes = {})
39
+ super(attributes)
40
+ @created_at = attributes[:created_at] || attributes['created_at']
41
+ @message_id = attributes[:message_id] || attributes['message_id']
42
+ @score = attributes[:score] || attributes['score']
43
+ @type = attributes[:type] || attributes['type']
44
+ @updated_at = attributes[:updated_at] || attributes['updated_at']
45
+ @user_id = attributes[:user_id] || attributes['user_id']
46
+ @custom = attributes[:custom] || attributes['custom']
47
+ @user = attributes[:user] || attributes['user']
48
+ end
49
+
50
+ # Override field mappings for JSON serialization
51
+ def self.json_field_mappings
52
+ {
53
+ created_at: 'created_at',
54
+ message_id: 'message_id',
55
+ score: 'score',
56
+ type: 'type',
57
+ updated_at: 'updated_at',
58
+ user_id: 'user_id',
59
+ custom: 'custom',
60
+ user: 'user'
61
+ }
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class ChatReminderResponseData < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute channel_cid
13
+ # @return [String]
14
+ attr_accessor :channel_cid
15
+ # @!attribute created_at
16
+ # @return [DateTime]
17
+ attr_accessor :created_at
18
+ # @!attribute message_id
19
+ # @return [String]
20
+ attr_accessor :message_id
21
+ # @!attribute updated_at
22
+ # @return [DateTime]
23
+ attr_accessor :updated_at
24
+ # @!attribute user_id
25
+ # @return [String]
26
+ attr_accessor :user_id
27
+ # @!attribute remind_at
28
+ # @return [DateTime]
29
+ attr_accessor :remind_at
30
+ # @!attribute message
31
+ # @return [ChatMessageResponse]
32
+ attr_accessor :message
33
+ # @!attribute user
34
+ # @return [UserResponse]
35
+ attr_accessor :user
36
+
37
+ # Initialize with attributes
38
+ def initialize(attributes = {})
39
+ super(attributes)
40
+ @channel_cid = attributes[:channel_cid] || attributes['channel_cid']
41
+ @created_at = attributes[:created_at] || attributes['created_at']
42
+ @message_id = attributes[:message_id] || attributes['message_id']
43
+ @updated_at = attributes[:updated_at] || attributes['updated_at']
44
+ @user_id = attributes[:user_id] || attributes['user_id']
45
+ @remind_at = attributes[:remind_at] || attributes['remind_at'] || nil
46
+ @message = attributes[:message] || attributes['message'] || nil
47
+ @user = attributes[:user] || attributes['user'] || nil
48
+ end
49
+
50
+ # Override field mappings for JSON serialization
51
+ def self.json_field_mappings
52
+ {
53
+ channel_cid: 'channel_cid',
54
+ created_at: 'created_at',
55
+ message_id: 'message_id',
56
+ updated_at: 'updated_at',
57
+ user_id: 'user_id',
58
+ remind_at: 'remind_at',
59
+ message: 'message',
60
+ user: 'user'
61
+ }
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class ChatSharedLocationResponseData < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute channel_cid
13
+ # @return [String]
14
+ attr_accessor :channel_cid
15
+ # @!attribute created_at
16
+ # @return [DateTime]
17
+ attr_accessor :created_at
18
+ # @!attribute created_by_device_id
19
+ # @return [String]
20
+ attr_accessor :created_by_device_id
21
+ # @!attribute latitude
22
+ # @return [Float]
23
+ attr_accessor :latitude
24
+ # @!attribute longitude
25
+ # @return [Float]
26
+ attr_accessor :longitude
27
+ # @!attribute message_id
28
+ # @return [String]
29
+ attr_accessor :message_id
30
+ # @!attribute updated_at
31
+ # @return [DateTime]
32
+ attr_accessor :updated_at
33
+ # @!attribute user_id
34
+ # @return [String]
35
+ attr_accessor :user_id
36
+ # @!attribute end_at
37
+ # @return [DateTime]
38
+ attr_accessor :end_at
39
+ # @!attribute message
40
+ # @return [ChatMessageResponse]
41
+ attr_accessor :message
42
+
43
+ # Initialize with attributes
44
+ def initialize(attributes = {})
45
+ super(attributes)
46
+ @channel_cid = attributes[:channel_cid] || attributes['channel_cid']
47
+ @created_at = attributes[:created_at] || attributes['created_at']
48
+ @created_by_device_id = attributes[:created_by_device_id] || attributes['created_by_device_id']
49
+ @latitude = attributes[:latitude] || attributes['latitude']
50
+ @longitude = attributes[:longitude] || attributes['longitude']
51
+ @message_id = attributes[:message_id] || attributes['message_id']
52
+ @updated_at = attributes[:updated_at] || attributes['updated_at']
53
+ @user_id = attributes[:user_id] || attributes['user_id']
54
+ @end_at = attributes[:end_at] || attributes['end_at'] || nil
55
+ @message = attributes[:message] || attributes['message'] || nil
56
+ end
57
+
58
+ # Override field mappings for JSON serialization
59
+ def self.json_field_mappings
60
+ {
61
+ channel_cid: 'channel_cid',
62
+ created_at: 'created_at',
63
+ created_by_device_id: 'created_by_device_id',
64
+ latitude: 'latitude',
65
+ longitude: 'longitude',
66
+ message_id: 'message_id',
67
+ updated_at: 'updated_at',
68
+ user_id: 'user_id',
69
+ end_at: 'end_at',
70
+ message: 'message'
71
+ }
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -15,19 +15,24 @@ module GetStream
15
15
  # @!attribute hard_delete
16
16
  # @return [Boolean] Whether to permanently delete the feeds instead of soft delete
17
17
  attr_accessor :hard_delete
18
+ # @!attribute purge_user_activities
19
+ # @return [Boolean] When hard-deleting, also fully delete activities authored by each feed's owner from every other feed those activities were fanned out to. Default false preserves existing fan-out. Requires 'hard_delete' to be true; the request is rejected otherwise. Feeds with no recorded owner (created_by_id is empty) are silently skipped for the purge step — owner-matching against an empty string is a safety guard, not a wildcard.
20
+ attr_accessor :purge_user_activities
18
21
 
19
22
  # Initialize with attributes
20
23
  def initialize(attributes = {})
21
24
  super(attributes)
22
25
  @feeds = attributes[:feeds] || attributes['feeds']
23
26
  @hard_delete = attributes[:hard_delete] || attributes['hard_delete'] || nil
27
+ @purge_user_activities = attributes[:purge_user_activities] || attributes['purge_user_activities'] || nil
24
28
  end
25
29
 
26
30
  # Override field mappings for JSON serialization
27
31
  def self.json_field_mappings
28
32
  {
29
33
  feeds: 'feeds',
30
- hard_delete: 'hard_delete'
34
+ hard_delete: 'hard_delete',
35
+ purge_user_activities: 'purge_user_activities'
31
36
  }
32
37
  end
33
38
  end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class FeedsActivityLocation < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute lat
13
+ # @return [Float]
14
+ attr_accessor :lat
15
+ # @!attribute lng
16
+ # @return [Float]
17
+ attr_accessor :lng
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @lat = attributes[:lat] || attributes['lat']
23
+ @lng = attributes[:lng] || attributes['lng']
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ lat: 'lat',
30
+ lng: 'lng'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class FeedsBookmarkResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute _object_id
13
+ # @return [String]
14
+ attr_accessor :_object_id
15
+ # @!attribute created_at
16
+ # @return [DateTime]
17
+ attr_accessor :created_at
18
+ # @!attribute object_type
19
+ # @return [String]
20
+ attr_accessor :object_type
21
+ # @!attribute updated_at
22
+ # @return [DateTime]
23
+ attr_accessor :updated_at
24
+ # @!attribute user
25
+ # @return [UserResponse]
26
+ attr_accessor :user
27
+ # @!attribute activity_id
28
+ # @return [String]
29
+ attr_accessor :activity_id
30
+ # @!attribute custom
31
+ # @return [Object]
32
+ attr_accessor :custom
33
+
34
+ # Initialize with attributes
35
+ def initialize(attributes = {})
36
+ super(attributes)
37
+ @_object_id = attributes[:_object_id] || attributes['object_id']
38
+ @created_at = attributes[:created_at] || attributes['created_at']
39
+ @object_type = attributes[:object_type] || attributes['object_type']
40
+ @updated_at = attributes[:updated_at] || attributes['updated_at']
41
+ @user = attributes[:user] || attributes['user']
42
+ @activity_id = attributes[:activity_id] || attributes['activity_id'] || nil
43
+ @custom = attributes[:custom] || attributes['custom'] || nil
44
+ end
45
+
46
+ # Override field mappings for JSON serialization
47
+ def self.json_field_mappings
48
+ {
49
+ _object_id: 'object_id',
50
+ created_at: 'created_at',
51
+ object_type: 'object_type',
52
+ updated_at: 'updated_at',
53
+ user: 'user',
54
+ activity_id: 'activity_id',
55
+ custom: 'custom'
56
+ }
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class FeedsEnrichedCollectionResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute created_at
13
+ # @return [DateTime]
14
+ attr_accessor :created_at
15
+ # @!attribute id
16
+ # @return [String]
17
+ attr_accessor :id
18
+ # @!attribute name
19
+ # @return [String]
20
+ attr_accessor :name
21
+ # @!attribute status
22
+ # @return [String]
23
+ attr_accessor :status
24
+ # @!attribute updated_at
25
+ # @return [DateTime]
26
+ attr_accessor :updated_at
27
+ # @!attribute user_id
28
+ # @return [String]
29
+ attr_accessor :user_id
30
+ # @!attribute custom
31
+ # @return [Object]
32
+ attr_accessor :custom
33
+
34
+ # Initialize with attributes
35
+ def initialize(attributes = {})
36
+ super(attributes)
37
+ @created_at = attributes[:created_at] || attributes['created_at']
38
+ @id = attributes[:id] || attributes['id']
39
+ @name = attributes[:name] || attributes['name']
40
+ @status = attributes[:status] || attributes['status']
41
+ @updated_at = attributes[:updated_at] || attributes['updated_at']
42
+ @user_id = attributes[:user_id] || attributes['user_id']
43
+ @custom = attributes[:custom] || attributes['custom']
44
+ end
45
+
46
+ # Override field mappings for JSON serialization
47
+ def self.json_field_mappings
48
+ {
49
+ created_at: 'created_at',
50
+ id: 'id',
51
+ name: 'name',
52
+ status: 'status',
53
+ updated_at: 'updated_at',
54
+ user_id: 'user_id',
55
+ custom: 'custom'
56
+ }
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class FeedsFeedResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute activity_count
13
+ # @return [Integer]
14
+ attr_accessor :activity_count
15
+ # @!attribute created_at
16
+ # @return [DateTime]
17
+ attr_accessor :created_at
18
+ # @!attribute description
19
+ # @return [String]
20
+ attr_accessor :description
21
+ # @!attribute feed
22
+ # @return [String]
23
+ attr_accessor :feed
24
+ # @!attribute follower_count
25
+ # @return [Integer]
26
+ attr_accessor :follower_count
27
+ # @!attribute following_count
28
+ # @return [Integer]
29
+ attr_accessor :following_count
30
+ # @!attribute group_id
31
+ # @return [String]
32
+ attr_accessor :group_id
33
+ # @!attribute id
34
+ # @return [String]
35
+ attr_accessor :id
36
+ # @!attribute member_count
37
+ # @return [Integer]
38
+ attr_accessor :member_count
39
+ # @!attribute name
40
+ # @return [String]
41
+ attr_accessor :name
42
+ # @!attribute pin_count
43
+ # @return [Integer]
44
+ attr_accessor :pin_count
45
+ # @!attribute updated_at
46
+ # @return [DateTime]
47
+ attr_accessor :updated_at
48
+ # @!attribute created_by
49
+ # @return [UserResponse]
50
+ attr_accessor :created_by
51
+ # @!attribute deleted_at
52
+ # @return [DateTime]
53
+ attr_accessor :deleted_at
54
+ # @!attribute visibility
55
+ # @return [String]
56
+ attr_accessor :visibility
57
+ # @!attribute filter_tags
58
+ # @return [Array<String>]
59
+ attr_accessor :filter_tags
60
+ # @!attribute custom
61
+ # @return [Object]
62
+ attr_accessor :custom
63
+ # @!attribute location
64
+ # @return [FeedsActivityLocation]
65
+ attr_accessor :location
66
+
67
+ # Initialize with attributes
68
+ def initialize(attributes = {})
69
+ super(attributes)
70
+ @activity_count = attributes[:activity_count] || attributes['activity_count']
71
+ @created_at = attributes[:created_at] || attributes['created_at']
72
+ @description = attributes[:description] || attributes['description']
73
+ @feed = attributes[:feed] || attributes['feed']
74
+ @follower_count = attributes[:follower_count] || attributes['follower_count']
75
+ @following_count = attributes[:following_count] || attributes['following_count']
76
+ @group_id = attributes[:group_id] || attributes['group_id']
77
+ @id = attributes[:id] || attributes['id']
78
+ @member_count = attributes[:member_count] || attributes['member_count']
79
+ @name = attributes[:name] || attributes['name']
80
+ @pin_count = attributes[:pin_count] || attributes['pin_count']
81
+ @updated_at = attributes[:updated_at] || attributes['updated_at']
82
+ @created_by = attributes[:created_by] || attributes['created_by']
83
+ @deleted_at = attributes[:deleted_at] || attributes['deleted_at'] || nil
84
+ @visibility = attributes[:visibility] || attributes['visibility'] || nil
85
+ @filter_tags = attributes[:filter_tags] || attributes['filter_tags'] || nil
86
+ @custom = attributes[:custom] || attributes['custom'] || nil
87
+ @location = attributes[:location] || attributes['location'] || nil
88
+ end
89
+
90
+ # Override field mappings for JSON serialization
91
+ def self.json_field_mappings
92
+ {
93
+ activity_count: 'activity_count',
94
+ created_at: 'created_at',
95
+ description: 'description',
96
+ feed: 'feed',
97
+ follower_count: 'follower_count',
98
+ following_count: 'following_count',
99
+ group_id: 'group_id',
100
+ id: 'id',
101
+ member_count: 'member_count',
102
+ name: 'name',
103
+ pin_count: 'pin_count',
104
+ updated_at: 'updated_at',
105
+ created_by: 'created_by',
106
+ deleted_at: 'deleted_at',
107
+ visibility: 'visibility',
108
+ filter_tags: 'filter_tags',
109
+ custom: 'custom',
110
+ location: 'location'
111
+ }
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end