File tree Expand file tree Collapse file tree 5 files changed +28
-0
lines changed
Expand file tree Collapse file tree 5 files changed +28
-0
lines changed Original file line number Diff line number Diff line change 1+ require 'intercom/utils'
2+
3+ module Intercom
4+ module ApiOperations
5+ module RequestHardDelete
6+ def request_hard_delete ( object )
7+ @client . post ( "/user_delete_requests" , { intercom_user_id : object . id } )
8+ object
9+ end
10+ end
11+ end
12+ end
Original file line number Diff line number Diff line change 77require 'intercom/api_operations/scroll'
88require 'intercom/api_operations/convert'
99require 'intercom/api_operations/delete'
10+ require 'intercom/api_operations/request_hard_delete'
1011
1112module Intercom
1213 module Service
@@ -19,6 +20,7 @@ class Contact < BaseService
1920 include ApiOperations ::Scroll
2021 include ApiOperations ::Convert
2122 include ApiOperations ::Delete
23+ include ApiOperations ::RequestHardDelete
2224
2325 def collection_class
2426 Intercom ::Contact
Original file line number Diff line number Diff line change 77require 'intercom/api_operations/save'
88require 'intercom/api_operations/delete'
99require 'intercom/api_operations/bulk/submit'
10+ require 'intercom/api_operations/request_hard_delete'
1011require 'intercom/extended_api_operations/tags'
1112require 'intercom/extended_api_operations/segments'
1213
@@ -20,6 +21,7 @@ class User < BaseService
2021 include ApiOperations ::FindAll
2122 include ApiOperations ::Save
2223 include ApiOperations ::Delete
24+ include ApiOperations ::RequestHardDelete
2325 include ApiOperations ::Bulk ::Submit
2426 include ExtendedApiOperations ::Tags
2527 include ExtendedApiOperations ::Segments
Original file line number Diff line number Diff line change 5050 client . contacts . delete ( contact )
5151 end
5252
53+ it "sends a request for a hard deletion" do
54+ contact = Intercom ::Contact . new ( "id" => "1" )
55+ client . expects ( :post ) . with ( "/user_delete_requests" , { intercom_user_id : "1" } ) . returns ( { id : contact . id } )
56+ client . contacts . request_hard_delete ( contact )
57+ end
58+
5359end
Original file line number Diff line number Diff line change 224224 client . users . delete ( user )
225225 end
226226
227+ it "sends a request for a hard deletion" do
228+ user = Intercom ::User . new ( "id" => "1" )
229+ client . expects ( :post ) . with ( "/user_delete_requests" , { intercom_user_id : "1" } ) . returns ( { id : user . id } )
230+ client . users . request_hard_delete ( user )
231+ end
232+
227233 it "can use client.users.create for convenience" do
228234 client . expects ( :post ) . with ( "/users" , { 'custom_attributes' => { } , "email" => "[email protected] " , "user_id" => "i-1224242" } ) . returns ( { "email" => "[email protected] " , "user_id" => "i-1224242" } ) 229235 user = client . users . create ( "email" => "[email protected] " , :user_id => "i-1224242" )
You can’t perform that action at this time.
0 commit comments