sentdm 0.0.3 → 0.2.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 (66) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +1 -1
  4. data/lib/sentdm/client.rb +13 -12
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/internal/util.rb +1 -1
  7. data/lib/sentdm/models/template_list_response.rb +3 -3
  8. data/lib/sentdm/models/{template_response.rb → template_response_v2.rb} +1 -1
  9. data/lib/sentdm/models.rb +1 -9
  10. data/lib/sentdm/resources/templates.rb +4 -4
  11. data/lib/sentdm/version.rb +1 -1
  12. data/lib/sentdm.rb +1 -15
  13. data/rbi/sentdm/client.rbi +12 -10
  14. data/rbi/sentdm/internal/util.rbi +1 -1
  15. data/rbi/sentdm/models/template_list_response.rbi +4 -4
  16. data/rbi/sentdm/models/{template_response.rbi → template_response_v2.rbi} +2 -2
  17. data/rbi/sentdm/models.rbi +1 -10
  18. data/rbi/sentdm/resources/templates.rbi +2 -2
  19. data/sig/sentdm/client.rbs +2 -4
  20. data/sig/sentdm/models/template_list_response.rbs +6 -6
  21. data/sig/sentdm/models/{template_response.rbs → template_response_v2.rbs} +2 -2
  22. data/sig/sentdm/models.rbs +1 -9
  23. data/sig/sentdm/resources/templates.rbs +2 -2
  24. metadata +5 -47
  25. data/lib/sentdm/models/organization_list_params.rb +0 -14
  26. data/lib/sentdm/models/organization_list_response.rb +0 -57
  27. data/lib/sentdm/models/organization_retrieve_profiles_params.rb +0 -14
  28. data/lib/sentdm/models/organization_retrieve_profiles_response.rb +0 -22
  29. data/lib/sentdm/models/organizations/customer_user.rb +0 -96
  30. data/lib/sentdm/models/organizations/user_delete_params.rb +0 -22
  31. data/lib/sentdm/models/organizations/user_invite_params.rb +0 -40
  32. data/lib/sentdm/models/organizations/user_list_params.rb +0 -28
  33. data/lib/sentdm/models/organizations/user_list_response.rb +0 -36
  34. data/lib/sentdm/models/organizations/user_retrieve_params.rb +0 -22
  35. data/lib/sentdm/models/organizations/user_update_role_params.rb +0 -28
  36. data/lib/sentdm/models/profile_summary.rb +0 -45
  37. data/lib/sentdm/resources/organizations/users.rb +0 -150
  38. data/lib/sentdm/resources/organizations.rb +0 -58
  39. data/rbi/sentdm/models/organization_list_params.rbi +0 -27
  40. data/rbi/sentdm/models/organization_list_response.rbi +0 -131
  41. data/rbi/sentdm/models/organization_retrieve_profiles_params.rbi +0 -30
  42. data/rbi/sentdm/models/organization_retrieve_profiles_response.rbi +0 -47
  43. data/rbi/sentdm/models/organizations/customer_user.rbi +0 -129
  44. data/rbi/sentdm/models/organizations/user_delete_params.rbi +0 -40
  45. data/rbi/sentdm/models/organizations/user_invite_params.rbi +0 -73
  46. data/rbi/sentdm/models/organizations/user_list_params.rbi +0 -48
  47. data/rbi/sentdm/models/organizations/user_list_response.rbi +0 -71
  48. data/rbi/sentdm/models/organizations/user_retrieve_params.rbi +0 -40
  49. data/rbi/sentdm/models/organizations/user_update_role_params.rbi +0 -51
  50. data/rbi/sentdm/models/profile_summary.rbi +0 -74
  51. data/rbi/sentdm/resources/organizations/users.rbi +0 -95
  52. data/rbi/sentdm/resources/organizations.rbi +0 -37
  53. data/sig/sentdm/models/organization_list_params.rbs +0 -15
  54. data/sig/sentdm/models/organization_list_response.rbs +0 -76
  55. data/sig/sentdm/models/organization_retrieve_profiles_params.rbs +0 -15
  56. data/sig/sentdm/models/organization_retrieve_profiles_response.rbs +0 -28
  57. data/sig/sentdm/models/organizations/customer_user.rbs +0 -91
  58. data/sig/sentdm/models/organizations/user_delete_params.rbs +0 -25
  59. data/sig/sentdm/models/organizations/user_invite_params.rbs +0 -44
  60. data/sig/sentdm/models/organizations/user_list_params.rbs +0 -30
  61. data/sig/sentdm/models/organizations/user_list_response.rbs +0 -47
  62. data/sig/sentdm/models/organizations/user_retrieve_params.rbs +0 -25
  63. data/sig/sentdm/models/organizations/user_update_role_params.rbs +0 -32
  64. data/sig/sentdm/models/profile_summary.rbs +0 -51
  65. data/sig/sentdm/resources/organizations/users.rbs +0 -44
  66. data/sig/sentdm/resources/organizations.rbs +0 -18
@@ -1,150 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Sentdm
4
- module Resources
5
- class Organizations
6
- class Users
7
- # Retrieves a specific user by their ID. Requires appropriate permissions. The
8
- # customerId can be either an organization ID or a profile ID.
9
- #
10
- # @overload retrieve(user_id, customer_id:, request_options: {})
11
- #
12
- # @param user_id [String]
13
- # @param customer_id [String]
14
- # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
15
- #
16
- # @return [Sentdm::Models::Organizations::CustomerUser]
17
- #
18
- # @see Sentdm::Models::Organizations::UserRetrieveParams
19
- def retrieve(user_id, params)
20
- parsed, options = Sentdm::Organizations::UserRetrieveParams.dump_request(params)
21
- customer_id =
22
- parsed.delete(:customer_id) do
23
- raise ArgumentError.new("missing required path argument #{_1}")
24
- end
25
- @client.request(
26
- method: :get,
27
- path: ["v2/organizations/%1$s/users/%2$s", customer_id, user_id],
28
- model: Sentdm::Organizations::CustomerUser,
29
- options: options
30
- )
31
- end
32
-
33
- # Retrieves all users associated with an organization or sender profile. Requires
34
- # appropriate permissions. Supports pagination.
35
- #
36
- # @overload list(customer_id, page:, page_size:, request_options: {})
37
- #
38
- # @param customer_id [String]
39
- # @param page [Integer]
40
- # @param page_size [Integer]
41
- # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
42
- #
43
- # @return [Sentdm::Models::Organizations::UserListResponse]
44
- #
45
- # @see Sentdm::Models::Organizations::UserListParams
46
- def list(customer_id, params)
47
- parsed, options = Sentdm::Organizations::UserListParams.dump_request(params)
48
- @client.request(
49
- method: :get,
50
- path: ["v2/organizations/%1$s/users", customer_id],
51
- query: parsed.transform_keys(page_size: "pageSize"),
52
- model: Sentdm::Models::Organizations::UserListResponse,
53
- options: options
54
- )
55
- end
56
-
57
- # Removes a user from an organization or sender profile. Requires admin
58
- # permissions. This action permanently deletes the user association.
59
- #
60
- # @overload delete(user_id, customer_id:, request_options: {})
61
- #
62
- # @param user_id [String]
63
- # @param customer_id [String]
64
- # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
65
- #
66
- # @return [nil]
67
- #
68
- # @see Sentdm::Models::Organizations::UserDeleteParams
69
- def delete(user_id, params)
70
- parsed, options = Sentdm::Organizations::UserDeleteParams.dump_request(params)
71
- customer_id =
72
- parsed.delete(:customer_id) do
73
- raise ArgumentError.new("missing required path argument #{_1}")
74
- end
75
- @client.request(
76
- method: :delete,
77
- path: ["v2/organizations/%1$s/users/%2$s", customer_id, user_id],
78
- model: NilClass,
79
- options: options
80
- )
81
- end
82
-
83
- # Invites a user to an organization or sender profile with a specified role.
84
- # Requires appropriate permissions. The customerId can be either an organization
85
- # ID or a profile ID.
86
- #
87
- # @overload invite(customer_id, email: nil, invited_by: nil, name: nil, role: nil, request_options: {})
88
- #
89
- # @param customer_id [String]
90
- # @param email [String]
91
- # @param invited_by [String, nil]
92
- # @param name [String]
93
- # @param role [String]
94
- # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
95
- #
96
- # @return [Sentdm::Models::Organizations::CustomerUser]
97
- #
98
- # @see Sentdm::Models::Organizations::UserInviteParams
99
- def invite(customer_id, params = {})
100
- parsed, options = Sentdm::Organizations::UserInviteParams.dump_request(params)
101
- @client.request(
102
- method: :post,
103
- path: ["v2/organizations/%1$s/users", customer_id],
104
- body: parsed,
105
- model: Sentdm::Organizations::CustomerUser,
106
- options: options
107
- )
108
- end
109
-
110
- # Updates a user's role within an organization or sender profile. Requires admin
111
- # permissions. Valid roles are: admin, billing, developer.
112
- #
113
- # @overload update_role(user_id, customer_id:, role: nil, request_options: {})
114
- #
115
- # @param user_id [String] Path param
116
- #
117
- # @param customer_id [String] Path param
118
- #
119
- # @param role [String] Body param
120
- #
121
- # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
122
- #
123
- # @return [Sentdm::Models::Organizations::CustomerUser]
124
- #
125
- # @see Sentdm::Models::Organizations::UserUpdateRoleParams
126
- def update_role(user_id, params)
127
- parsed, options = Sentdm::Organizations::UserUpdateRoleParams.dump_request(params)
128
- customer_id =
129
- parsed.delete(:customer_id) do
130
- raise ArgumentError.new("missing required path argument #{_1}")
131
- end
132
- @client.request(
133
- method: :put,
134
- path: ["v2/organizations/%1$s/users/%2$s", customer_id, user_id],
135
- body: parsed,
136
- model: Sentdm::Organizations::CustomerUser,
137
- options: options
138
- )
139
- end
140
-
141
- # @api private
142
- #
143
- # @param client [Sentdm::Client]
144
- def initialize(client:)
145
- @client = client
146
- end
147
- end
148
- end
149
- end
150
- end
@@ -1,58 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Sentdm
4
- module Resources
5
- class Organizations
6
- # @return [Sentdm::Resources::Organizations::Users]
7
- attr_reader :users
8
-
9
- # Retrieves all organizations that the authenticated user has access to, including
10
- # the sender profiles within each organization that the user can access. Returns
11
- # organization details with nested profiles filtered by user permissions.
12
- #
13
- # @overload list(request_options: {})
14
- #
15
- # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
16
- #
17
- # @return [Sentdm::Models::OrganizationListResponse]
18
- #
19
- # @see Sentdm::Models::OrganizationListParams
20
- def list(params = {})
21
- @client.request(
22
- method: :get,
23
- path: "v2/organizations",
24
- model: Sentdm::Models::OrganizationListResponse,
25
- options: params[:request_options]
26
- )
27
- end
28
-
29
- # Retrieves all sender profiles within an organization that the authenticated user
30
- # has access to. Returns filtered list based on user's permissions.
31
- #
32
- # @overload retrieve_profiles(org_id, request_options: {})
33
- #
34
- # @param org_id [String]
35
- # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
36
- #
37
- # @return [Sentdm::Models::OrganizationRetrieveProfilesResponse]
38
- #
39
- # @see Sentdm::Models::OrganizationRetrieveProfilesParams
40
- def retrieve_profiles(org_id, params = {})
41
- @client.request(
42
- method: :get,
43
- path: ["v2/organizations/%1$s/profiles", org_id],
44
- model: Sentdm::Models::OrganizationRetrieveProfilesResponse,
45
- options: params[:request_options]
46
- )
47
- end
48
-
49
- # @api private
50
- #
51
- # @param client [Sentdm::Client]
52
- def initialize(client:)
53
- @client = client
54
- @users = Sentdm::Resources::Organizations::Users.new(client: client)
55
- end
56
- end
57
- end
58
- end
@@ -1,27 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class OrganizationListParams < Sentdm::Internal::Type::BaseModel
6
- extend Sentdm::Internal::Type::RequestParameters::Converter
7
- include Sentdm::Internal::Type::RequestParameters
8
-
9
- OrHash =
10
- T.type_alias do
11
- T.any(Sentdm::OrganizationListParams, Sentdm::Internal::AnyHash)
12
- end
13
-
14
- sig do
15
- params(request_options: Sentdm::RequestOptions::OrHash).returns(
16
- T.attached_class
17
- )
18
- end
19
- def self.new(request_options: {})
20
- end
21
-
22
- sig { override.returns({ request_options: Sentdm::RequestOptions }) }
23
- def to_hash
24
- end
25
- end
26
- end
27
- end
@@ -1,131 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class OrganizationListResponse < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(
9
- Sentdm::Models::OrganizationListResponse,
10
- Sentdm::Internal::AnyHash
11
- )
12
- end
13
-
14
- sig do
15
- returns(
16
- T.nilable(
17
- T::Array[Sentdm::Models::OrganizationListResponse::Organization]
18
- )
19
- )
20
- end
21
- attr_reader :organizations
22
-
23
- sig do
24
- params(
25
- organizations:
26
- T::Array[
27
- Sentdm::Models::OrganizationListResponse::Organization::OrHash
28
- ]
29
- ).void
30
- end
31
- attr_writer :organizations
32
-
33
- sig do
34
- params(
35
- organizations:
36
- T::Array[
37
- Sentdm::Models::OrganizationListResponse::Organization::OrHash
38
- ]
39
- ).returns(T.attached_class)
40
- end
41
- def self.new(organizations: nil)
42
- end
43
-
44
- sig do
45
- override.returns(
46
- {
47
- organizations:
48
- T::Array[Sentdm::Models::OrganizationListResponse::Organization]
49
- }
50
- )
51
- end
52
- def to_hash
53
- end
54
-
55
- class Organization < Sentdm::Internal::Type::BaseModel
56
- OrHash =
57
- T.type_alias do
58
- T.any(
59
- Sentdm::Models::OrganizationListResponse::Organization,
60
- Sentdm::Internal::AnyHash
61
- )
62
- end
63
-
64
- sig { returns(T.nilable(String)) }
65
- attr_reader :id
66
-
67
- sig { params(id: String).void }
68
- attr_writer :id
69
-
70
- sig { returns(T.nilable(Time)) }
71
- attr_reader :created_at
72
-
73
- sig { params(created_at: Time).void }
74
- attr_writer :created_at
75
-
76
- sig { returns(T.nilable(String)) }
77
- attr_accessor :description
78
-
79
- sig { returns(T.nilable(String)) }
80
- attr_accessor :icon
81
-
82
- sig { returns(T.nilable(String)) }
83
- attr_reader :name
84
-
85
- sig { params(name: String).void }
86
- attr_writer :name
87
-
88
- sig { returns(T.nilable(T::Array[Sentdm::ProfileSummary])) }
89
- attr_reader :profiles
90
-
91
- sig { params(profiles: T::Array[Sentdm::ProfileSummary::OrHash]).void }
92
- attr_writer :profiles
93
-
94
- sig do
95
- params(
96
- id: String,
97
- created_at: Time,
98
- description: T.nilable(String),
99
- icon: T.nilable(String),
100
- name: String,
101
- profiles: T::Array[Sentdm::ProfileSummary::OrHash]
102
- ).returns(T.attached_class)
103
- end
104
- def self.new(
105
- id: nil,
106
- created_at: nil,
107
- description: nil,
108
- icon: nil,
109
- name: nil,
110
- profiles: nil
111
- )
112
- end
113
-
114
- sig do
115
- override.returns(
116
- {
117
- id: String,
118
- created_at: Time,
119
- description: T.nilable(String),
120
- icon: T.nilable(String),
121
- name: String,
122
- profiles: T::Array[Sentdm::ProfileSummary]
123
- }
124
- )
125
- end
126
- def to_hash
127
- end
128
- end
129
- end
130
- end
131
- end
@@ -1,30 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class OrganizationRetrieveProfilesParams < Sentdm::Internal::Type::BaseModel
6
- extend Sentdm::Internal::Type::RequestParameters::Converter
7
- include Sentdm::Internal::Type::RequestParameters
8
-
9
- OrHash =
10
- T.type_alias do
11
- T.any(
12
- Sentdm::OrganizationRetrieveProfilesParams,
13
- Sentdm::Internal::AnyHash
14
- )
15
- end
16
-
17
- sig do
18
- params(request_options: Sentdm::RequestOptions::OrHash).returns(
19
- T.attached_class
20
- )
21
- end
22
- def self.new(request_options: {})
23
- end
24
-
25
- sig { override.returns({ request_options: Sentdm::RequestOptions }) }
26
- def to_hash
27
- end
28
- end
29
- end
30
- end
@@ -1,47 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class OrganizationRetrieveProfilesResponse < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(
9
- Sentdm::Models::OrganizationRetrieveProfilesResponse,
10
- Sentdm::Internal::AnyHash
11
- )
12
- end
13
-
14
- sig { returns(T.nilable(String)) }
15
- attr_reader :organization_id
16
-
17
- sig { params(organization_id: String).void }
18
- attr_writer :organization_id
19
-
20
- sig { returns(T.nilable(T::Array[Sentdm::ProfileSummary])) }
21
- attr_reader :profiles
22
-
23
- sig { params(profiles: T::Array[Sentdm::ProfileSummary::OrHash]).void }
24
- attr_writer :profiles
25
-
26
- sig do
27
- params(
28
- organization_id: String,
29
- profiles: T::Array[Sentdm::ProfileSummary::OrHash]
30
- ).returns(T.attached_class)
31
- end
32
- def self.new(organization_id: nil, profiles: nil)
33
- end
34
-
35
- sig do
36
- override.returns(
37
- {
38
- organization_id: String,
39
- profiles: T::Array[Sentdm::ProfileSummary]
40
- }
41
- )
42
- end
43
- def to_hash
44
- end
45
- end
46
- end
47
- end
@@ -1,129 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- module Organizations
6
- class CustomerUser < Sentdm::Internal::Type::BaseModel
7
- OrHash =
8
- T.type_alias do
9
- T.any(
10
- Sentdm::Organizations::CustomerUser,
11
- Sentdm::Internal::AnyHash
12
- )
13
- end
14
-
15
- # Unique identifier
16
- sig { returns(T.nilable(String)) }
17
- attr_reader :id
18
-
19
- sig { params(id: String).void }
20
- attr_writer :id
21
-
22
- sig { returns(T.nilable(Time)) }
23
- attr_reader :created_at
24
-
25
- sig { params(created_at: Time).void }
26
- attr_writer :created_at
27
-
28
- sig { returns(T.nilable(String)) }
29
- attr_reader :customer_id
30
-
31
- sig { params(customer_id: String).void }
32
- attr_writer :customer_id
33
-
34
- sig { returns(T.nilable(String)) }
35
- attr_reader :email
36
-
37
- sig { params(email: String).void }
38
- attr_writer :email
39
-
40
- sig { returns(T.nilable(Time)) }
41
- attr_accessor :invitation_sent_at
42
-
43
- sig { returns(T.nilable(String)) }
44
- attr_accessor :invitation_token
45
-
46
- sig { returns(T.nilable(Time)) }
47
- attr_accessor :invitation_token_expires_at
48
-
49
- sig { returns(T.nilable(Time)) }
50
- attr_accessor :last_login_at
51
-
52
- sig { returns(T.nilable(String)) }
53
- attr_reader :name
54
-
55
- sig { params(name: String).void }
56
- attr_writer :name
57
-
58
- sig { returns(T.nilable(String)) }
59
- attr_reader :role
60
-
61
- sig { params(role: String).void }
62
- attr_writer :role
63
-
64
- sig { returns(T.nilable(String)) }
65
- attr_reader :status
66
-
67
- sig { params(status: String).void }
68
- attr_writer :status
69
-
70
- sig { returns(T.nilable(Time)) }
71
- attr_accessor :updated_at
72
-
73
- sig do
74
- params(
75
- id: String,
76
- created_at: Time,
77
- customer_id: String,
78
- email: String,
79
- invitation_sent_at: T.nilable(Time),
80
- invitation_token: T.nilable(String),
81
- invitation_token_expires_at: T.nilable(Time),
82
- last_login_at: T.nilable(Time),
83
- name: String,
84
- role: String,
85
- status: String,
86
- updated_at: T.nilable(Time)
87
- ).returns(T.attached_class)
88
- end
89
- def self.new(
90
- # Unique identifier
91
- id: nil,
92
- created_at: nil,
93
- customer_id: nil,
94
- email: nil,
95
- invitation_sent_at: nil,
96
- invitation_token: nil,
97
- invitation_token_expires_at: nil,
98
- last_login_at: nil,
99
- name: nil,
100
- role: nil,
101
- status: nil,
102
- updated_at: nil
103
- )
104
- end
105
-
106
- sig do
107
- override.returns(
108
- {
109
- id: String,
110
- created_at: Time,
111
- customer_id: String,
112
- email: String,
113
- invitation_sent_at: T.nilable(Time),
114
- invitation_token: T.nilable(String),
115
- invitation_token_expires_at: T.nilable(Time),
116
- last_login_at: T.nilable(Time),
117
- name: String,
118
- role: String,
119
- status: String,
120
- updated_at: T.nilable(Time)
121
- }
122
- )
123
- end
124
- def to_hash
125
- end
126
- end
127
- end
128
- end
129
- end
@@ -1,40 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- module Organizations
6
- class UserDeleteParams < Sentdm::Internal::Type::BaseModel
7
- extend Sentdm::Internal::Type::RequestParameters::Converter
8
- include Sentdm::Internal::Type::RequestParameters
9
-
10
- OrHash =
11
- T.type_alias do
12
- T.any(
13
- Sentdm::Organizations::UserDeleteParams,
14
- Sentdm::Internal::AnyHash
15
- )
16
- end
17
-
18
- sig { returns(String) }
19
- attr_accessor :customer_id
20
-
21
- sig do
22
- params(
23
- customer_id: String,
24
- request_options: Sentdm::RequestOptions::OrHash
25
- ).returns(T.attached_class)
26
- end
27
- def self.new(customer_id:, request_options: {})
28
- end
29
-
30
- sig do
31
- override.returns(
32
- { customer_id: String, request_options: Sentdm::RequestOptions }
33
- )
34
- end
35
- def to_hash
36
- end
37
- end
38
- end
39
- end
40
- end
@@ -1,73 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- module Organizations
6
- class UserInviteParams < Sentdm::Internal::Type::BaseModel
7
- extend Sentdm::Internal::Type::RequestParameters::Converter
8
- include Sentdm::Internal::Type::RequestParameters
9
-
10
- OrHash =
11
- T.type_alias do
12
- T.any(
13
- Sentdm::Organizations::UserInviteParams,
14
- Sentdm::Internal::AnyHash
15
- )
16
- end
17
-
18
- sig { returns(T.nilable(String)) }
19
- attr_reader :email
20
-
21
- sig { params(email: String).void }
22
- attr_writer :email
23
-
24
- sig { returns(T.nilable(String)) }
25
- attr_accessor :invited_by
26
-
27
- sig { returns(T.nilable(String)) }
28
- attr_reader :name
29
-
30
- sig { params(name: String).void }
31
- attr_writer :name
32
-
33
- sig { returns(T.nilable(String)) }
34
- attr_reader :role
35
-
36
- sig { params(role: String).void }
37
- attr_writer :role
38
-
39
- sig do
40
- params(
41
- email: String,
42
- invited_by: T.nilable(String),
43
- name: String,
44
- role: String,
45
- request_options: Sentdm::RequestOptions::OrHash
46
- ).returns(T.attached_class)
47
- end
48
- def self.new(
49
- email: nil,
50
- invited_by: nil,
51
- name: nil,
52
- role: nil,
53
- request_options: {}
54
- )
55
- end
56
-
57
- sig do
58
- override.returns(
59
- {
60
- email: String,
61
- invited_by: T.nilable(String),
62
- name: String,
63
- role: String,
64
- request_options: Sentdm::RequestOptions
65
- }
66
- )
67
- end
68
- def to_hash
69
- end
70
- end
71
- end
72
- end
73
- end