souls 1.20.1 → 1.20.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7abfda2bb67e15978fb6af67078942a8bb2eb568dfed04fe36fd5f3d6d88933f
4
- data.tar.gz: 48e6d07e1a981f009e24b199a3ec03d512f8e94c620181cbf4c2791e8f8fe348
3
+ metadata.gz: cd866432ec0f265187450b3387881c23c5bdff953f5055b6b457cee651e70623
4
+ data.tar.gz: deb328b90a62d79d2bfacff948de0f010bb98801df986dc02f0a1997821a5024
5
5
  SHA512:
6
- metadata.gz: b4f961e6e69b3d6ac029f4c78e6bb4d85669770e330a82fd281df5f879fcdf968272ba5dbfe131249bd1a6300bfe44a7866b7156528efb36b0115095d72cde27
7
- data.tar.gz: 3e220bf805647ceed5e20cb7c80a979d0d8a76e82dd012fc3aca93ebf5602e46cb3ca20a868461b3192409e31a6037b17a37d5228eff31c5b0ab6bde69c98dbb
6
+ metadata.gz: 8e370826736549cda4f68b6cac11e253cdc7b10afb535c7e70e0084af29457b3e9519dfe68970e1e38a0f86dd734e24f3ce423475d15d5aa8536486d898eb625
7
+ data.tar.gz: 3aabbaa8a7873408bfb74c254a71b8ee3b7a4703ee87f4d349509d6ef276bb067a36b966dcd3f74cd618946a71dfe41597990caaf62f9c9b5252d49f413ab3ec
@@ -1,5 +1,10 @@
1
1
  module SOULs
2
2
  class SOULsMutation < GraphQL::Schema::RelayClassicMutation
3
+ def self.post(url:, payload: {}, content_type: "application/json")
4
+ response = Faraday.post(url, payload.to_json, "Content-Type": content_type)
5
+ response.body
6
+ end
7
+
3
8
  def self.souls_check_user_permissions(user, obj, method)
4
9
  raise(StandardError, "Invalid or Missing Token") unless user
5
10
 
@@ -5,6 +5,11 @@ module SOULs
5
5
  attr_accessor :schedule
6
6
  end
7
7
 
8
+ def self.post(url:, payload: {}, content_type: "application/json")
9
+ response = Faraday.post(url, payload.to_json, "Content-Type": content_type)
10
+ response.body
11
+ end
12
+
8
13
  def self.check_user_permissions(user, obj, method)
9
14
  raise(StandardError, "Invalid or Missing Token") unless user
10
15
 
@@ -47,6 +47,18 @@ module SOULs
47
47
  SOULs::Painter.create_file(file_path)
48
48
  end
49
49
  create_env_yaml(file_dir: file_dir)
50
+ endroll = <<~TEXT
51
+ ♤ Deploy Cloud Functions ♤
52
+
53
+ $ cd apps/cf-#{version_string}-#{function_name}
54
+ $ souls functions deploy
55
+
56
+ $ souls functions help
57
+
58
+
59
+ Doc: https://souls.elsoul.nl
60
+ TEXT
61
+ puts(Paint[endroll, :white])
50
62
  end
51
63
 
52
64
  private
@@ -11,7 +11,7 @@ module SOULs
11
11
  end
12
12
 
13
13
  runtime = current_dir.match(/cf-(\D+\d+)-/)[1]
14
- runtime_lang = current_dir.match(/^cf-(\D+)\d+-/)
14
+ runtime_lang = current_dir.match(/^cf-(\D+)\d+-/)[1]
15
15
  entry_point =
16
16
  case runtime_lang
17
17
  when "nodejs"
@@ -47,7 +47,7 @@ module SOULs
47
47
  Dir.chdir(SOULs.get_mother_path.to_s) do
48
48
  FileUtils.rm_rf("apps/#{name}")
49
49
  end
50
- SOULs::Painter.success("Deleted #{name} functions!")
50
+ SOULs::Painter.warning("Deleted #{name} functions!", "✨")
51
51
  end
52
52
 
53
53
  desc "url", "Get SOULs Functions URL"
@@ -1,12 +1,11 @@
1
1
  module SOULs
2
2
  class CloudScheduler < Thor
3
- desc "awake", "Set Ping Every 15min by Google Cloud Scheduler"
4
- method_option :url, default: "https://souls.souls.nl", aliases: "--url", desc: "Set URL"
5
- def awake
3
+ desc "awake [url]", "Set Ping Every 15min by Google Cloud Scheduler"
4
+ def awake(url)
6
5
  app_name = SOULs.configuration.app
7
6
  system(
8
7
  "gcloud scheduler jobs create http #{app_name}-awake
9
- --schedule '0,10,20,30,40,50 * * * *' --uri #{options[:url]} --http-method GET"
8
+ --schedule '0,10,20,30,40,50 * * * *' --uri #{url} --http-method GET"
10
9
  )
11
10
  end
12
11
 
@@ -18,11 +17,11 @@ module SOULs
18
17
  project_id = SOULs.configuration.project_id
19
18
 
20
19
  schedules_list = current_schedules
21
- worker_name = FileUtils.pwd.split("/").last
20
+ worker_name = FileUtils.pwd.split("/").last.underscore
22
21
  Queries::BaseQuery.all_schedules.each do |k, v|
23
22
  worker_name = FileUtils.pwd.split("/").last
24
- job_name = "souls_#{worker_name}_#{k.to_s.underscore}".to_sym
25
- topic = "souls_#{worker_name}_#{k.to_s.underscore}"
23
+ job_name = "souls-#{worker_name}-#{k.to_s.underscore}".to_sym
24
+ topic = "souls-#{worker_name}-#{k.to_s.underscore}"
26
25
  message_body = "query { #{k.to_s.camelize(:lower)} { response }}"
27
26
 
28
27
  if schedules_list.include?(job_name)
@@ -43,7 +42,7 @@ module SOULs
43
42
  end
44
43
 
45
44
  schedules_list.each do |k, _|
46
- next unless k.match?(/^souls_#{worker_name}/)
45
+ next unless k.match?(/^souls-#{worker_name}/)
47
46
 
48
47
  system("gcloud scheduler jobs delete #{k} -q >/dev/null 2>&1")
49
48
  end
@@ -13,19 +13,41 @@ module SOULs
13
13
 
14
14
  zone = "#{region}-b"
15
15
  system("gcloud config set project #{project_id} >/dev/null 2>&1")
16
- Whirly.start(spinner: "clock", interval: 420, stop: "🎉") do
17
- system(
18
- "gcloud sql instances create #{instance_name} \
16
+ system(
17
+ "gcloud sql instances create #{instance_name} \
19
18
  --database-version=#{db_type} --cpu=1 --memory=4096MB --zone=#{zone} \
20
19
  --root-password='#{password}' --database-flags cloudsql.iam_authentication=on"
21
- )
22
- SOULs::Sql.new.env(password: password)
23
- SOULs::Github.new.secret_set
24
- Whirly.status = Paint["Cloud SQL #{instance_name} is successfully created! You can push to deploy!", :green]
25
- end
20
+ )
21
+ SOULs::Sql.new.env(password: password)
22
+ SOULs::Github.new.secret_set
23
+ SOULs::Painter.success("Cloud SQL #{instance_name} is successfully created! You can push to deploy!")
26
24
  true
27
25
  end
28
26
 
27
+ desc "stop", "Stop Cloud SQL Instance"
28
+ def stop
29
+ project_id = SOULs.configuration.project_id
30
+ instance_name = SOULs.configuration.instance_name
31
+ system("gcloud sql instances patch #{instance_name} --project=#{project_id} --activation-policy=NEVER")
32
+ SOULs::Painter.warning("Cloud SQL #{instance_name} is stopped!")
33
+ end
34
+
35
+ desc "restart", "Restart Cloud SQL Instance"
36
+ def restart
37
+ project_id = SOULs.configuration.project_id
38
+ instance_name = SOULs.configuration.instance_name
39
+ system("gcloud sql instances restart #{instance_name} --project=#{project_id}")
40
+ SOULs::Painter.success("Cloud SQL #{instance_name} is restarted!")
41
+ end
42
+
43
+ desc "delete", "Delete Cloud SQL Instance"
44
+ def delete
45
+ project_id = SOULs.configuration.project_id
46
+ instance_name = SOULs.configuration.instance_name
47
+ system("gcloud sql instances delete #{instance_name} --project=#{project_id}")
48
+ SOULs::Painter.warning("Cloud SQL #{instance_name} is deleted!", "✨")
49
+ end
50
+
29
51
  desc "env", "Generate .env.production file to deploy"
30
52
  def env(password: "Password")
31
53
  require(SOULs.get_mother_path.to_s + "/config/souls")
@@ -5,6 +5,8 @@ module SOULs
5
5
  desc "release", "Release Gem"
6
6
  def release
7
7
  SOULs::Painter.error("hey! It's Broken!") unless system("rspec")
8
+ FileUtils.rm("apps/api/Gemfile.lock") if File.exist?("apps/api/Gemfile.lock")
9
+ FileUtils.rm("apps/worker/Gemfile.lock") if File.exist?("apps/worker/Gemfile.lock")
8
10
 
9
11
  system("gem install souls")
10
12
  sleep(3)
data/lib/souls/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module SOULs
2
- VERSION = "1.20.1".freeze
2
+ VERSION = "1.20.2".freeze
3
3
  public_constant :VERSION
4
4
  end
@@ -1 +1 @@
1
- 1.20.1
1
+ 1.20.2
@@ -1 +1 @@
1
- 1.20.1
1
+ 1.20.2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: souls
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.20.1
4
+ version: 1.20.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - POPPIN-FUMI