summaryrefslogtreecommitdiff
path: root/qa/qa/resource/project_member.rb
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/resource/project_member.rb')
-rw-r--r--qa/qa/resource/project_member.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/qa/qa/resource/project_member.rb b/qa/qa/resource/project_member.rb
new file mode 100644
index 00000000000..dfaa157038c
--- /dev/null
+++ b/qa/qa/resource/project_member.rb
@@ -0,0 +1,35 @@
+# frozen_string_literal: true
+
+module QA
+ module Resource
+ class ProjectMember < Base
+ attr_accessor :user, :project, :access_level
+ attr_reader :level
+
+ def initialize
+ @level = {
+ guest: 10,
+ reporter: 20,
+ developer: 30,
+ maintainer: 40,
+ owner: 50
+ }
+ end
+
+ def api_get_path
+ "/projects/#{project.api_resource[:id]}/members/#{user.api_resource[:id]}"
+ end
+
+ def api_post_path
+ "/projects/#{project.api_resource[:id]}/members"
+ end
+
+ def api_post_body
+ {
+ user_id: user.api_resource[:id],
+ access_level: access_level
+ }
+ end
+ end
+ end
+end