Class: Cadenya::Resources::WorkspaceAdmin
- Inherits:
-
Object
- Object
- Cadenya::Resources::WorkspaceAdmin
- Defined in:
- lib/cadenya/resources/workspace_admin.rb
Instance Method Summary collapse
-
#add_member(workspace_id: nil, profile_id: nil, email: nil, request_options: nil) ⇒ Object
Add a member to a workspace.
-
#archive(workspace_id: nil, request_options: nil) ⇒ Object
Archive a workspace.
-
#create(metadata:, spec:, request_options: nil) ⇒ Object
Create a workspace.
-
#initialize(core) ⇒ WorkspaceAdmin
constructor
A new instance of WorkspaceAdmin.
-
#list_account(limit: nil, cursor: nil, include_archived: nil, labels: nil, request_options: nil) ⇒ Object
List all workspaces in the account.
-
#list_members(workspace_id: nil, limit: nil, cursor: nil, request_options: nil) ⇒ Object
List workspace members.
-
#list_profiles(limit: nil, cursor: nil, query: nil, labels: nil, request_options: nil) ⇒ Object
Search account profiles.
-
#remove_member(profile_id, workspace_id: nil, request_options: nil) ⇒ Object
Remove a member from a workspace.
-
#retrieve(workspace_id: nil, request_options: nil) ⇒ Object
Get a workspace by ID.
-
#update(workspace_id: nil, metadata: nil, spec: nil, update_mask: nil, request_options: nil) ⇒ Object
Update a workspace.
Constructor Details
#initialize(core) ⇒ WorkspaceAdmin
Returns a new instance of WorkspaceAdmin.
8 9 10 |
# File 'lib/cadenya/resources/workspace_admin.rb', line 8 def initialize(core) @core = core end |
Instance Method Details
#add_member(workspace_id: nil, profile_id: nil, email: nil, request_options: nil) ⇒ Object
Add a member to a workspace
103 104 105 106 107 108 109 110 111 112 |
# File 'lib/cadenya/resources/workspace_admin.rb', line 103 def add_member(workspace_id: nil, profile_id: nil, email: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/account/workspaces/#{Util.path_param('workspaceId', workspace_id)}/members" _body = { "profileId" => profile_id, "email" => email, }.reject { |_k, v| v.nil? } _data = @core.request(:post, _path, body: _body, request_options: ) Types::WorkspaceMember.from_json(_data) end |
#archive(workspace_id: nil, request_options: nil) ⇒ Object
Archive a workspace
66 67 68 69 70 71 |
# File 'lib/cadenya/resources/workspace_admin.rb', line 66 def archive(workspace_id: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/account/workspaces/#{Util.path_param('workspaceId', workspace_id)}" @core.request(:delete, _path, expects_body: false, request_options: ) nil end |
#create(metadata:, spec:, request_options: nil) ⇒ Object
Create a workspace
47 48 49 50 51 52 53 54 55 |
# File 'lib/cadenya/resources/workspace_admin.rb', line 47 def create(metadata:, spec:, request_options: nil) _path = "/v1/account/workspaces" _body = { "metadata" => .nil? ? nil : (->(_v) { Types.encode_CreateAccountResourceMetadata(_v) }).call(), "spec" => spec.nil? ? nil : (->(_v) { Types.encode_WorkspaceSpec(_v) }).call(spec), }.reject { |_k, v| v.nil? } _data = @core.request(:post, _path, body: _body, request_options: ) Types::Workspace.from_json(_data) end |
#list_account(limit: nil, cursor: nil, include_archived: nil, labels: nil, request_options: nil) ⇒ Object
List all workspaces in the account
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/cadenya/resources/workspace_admin.rb', line 30 def list_account(limit: nil, cursor: nil, include_archived: nil, labels: nil, request_options: nil) _path = "/v1/account/workspaces" _query = { "limit" => limit, "cursor" => cursor, "includeArchived" => include_archived, "labels" => labels, } _data = @core.request(:get, _path, query: _query, request_options: ) || {} _items = (_data["items"] || []).map { |item| Types::Workspace.from_json(item) } _next_cursor = (((_data)["pagination"] || {}))["nextCursor"].to_s Page.new(_items, _next_cursor) do |_c| list_account(limit: limit, cursor: _c, include_archived: include_archived, labels: labels, request_options: ) end end |
#list_members(workspace_id: nil, limit: nil, cursor: nil, request_options: nil) ⇒ Object
List workspace members
87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/cadenya/resources/workspace_admin.rb', line 87 def list_members(workspace_id: nil, limit: nil, cursor: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/account/workspaces/#{Util.path_param('workspaceId', workspace_id)}/members" _query = { "limit" => limit, "cursor" => cursor, } _data = @core.request(:get, _path, query: _query, request_options: ) || {} _items = (_data["items"] || []).map { |item| Types::WorkspaceMember.from_json(item) } _next_cursor = (((_data)["pagination"] || {}))["nextCursor"].to_s Page.new(_items, _next_cursor) do |_c| list_members(workspace_id: workspace_id, limit: limit, cursor: _c, request_options: ) end end |
#list_profiles(limit: nil, cursor: nil, query: nil, labels: nil, request_options: nil) ⇒ Object
Search account profiles
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/cadenya/resources/workspace_admin.rb', line 13 def list_profiles(limit: nil, cursor: nil, query: nil, labels: nil, request_options: nil) _path = "/v1/account/profiles" _query = { "limit" => limit, "cursor" => cursor, "query" => query, "labels" => labels, } _data = @core.request(:get, _path, query: _query, request_options: ) || {} _items = (_data["items"] || []).map { |item| Types::Profile.from_json(item) } _next_cursor = (((_data)["pagination"] || {}))["nextCursor"].to_s Page.new(_items, _next_cursor) do |_c| list_profiles(limit: limit, cursor: _c, query: query, labels: labels, request_options: ) end end |
#remove_member(profile_id, workspace_id: nil, request_options: nil) ⇒ Object
Remove a member from a workspace
115 116 117 118 119 120 |
# File 'lib/cadenya/resources/workspace_admin.rb', line 115 def remove_member(profile_id, workspace_id: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/account/workspaces/#{Util.path_param('workspaceId', workspace_id)}/members/#{Util.path_param('profileId', profile_id)}" @core.request(:delete, _path, expects_body: false, request_options: ) nil end |
#retrieve(workspace_id: nil, request_options: nil) ⇒ Object
Get a workspace by ID
58 59 60 61 62 63 |
# File 'lib/cadenya/resources/workspace_admin.rb', line 58 def retrieve(workspace_id: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/account/workspaces/#{Util.path_param('workspaceId', workspace_id)}" _data = @core.request(:get, _path, request_options: ) Types::Workspace.from_json(_data) end |
#update(workspace_id: nil, metadata: nil, spec: nil, update_mask: nil, request_options: nil) ⇒ Object
Update a workspace
74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/cadenya/resources/workspace_admin.rb', line 74 def update(workspace_id: nil, metadata: nil, spec: nil, update_mask: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/account/workspaces/#{Util.path_param('workspaceId', workspace_id)}" _body = { "metadata" => .nil? ? nil : (->(_v) { Types.encode_UpdateAccountResourceMetadata(_v) }).call(), "spec" => spec.nil? ? nil : (->(_v) { Types.encode_WorkspaceSpec(_v) }).call(spec), "updateMask" => update_mask, }.reject { |_k, v| v.nil? } _data = @core.request(:patch, _path, body: _body, request_options: ) Types::Workspace.from_json(_data) end |