Skip to content

Instantly share code, notes, and snippets.

View Luiyit's full-sized avatar
🏠
Working from home

Luiyit Hernandez Luiyit

🏠
Working from home
View GitHub Profile
@Luiyit
Luiyit / free_on_demand_access.rb
Last active March 3, 2021 16:57
Gives free access to the On Demand collection. Each customer must include the email and the end date.
def free_on_demand_access (on_demand_collection_id, customers)
collection = OnDemandCollection.find(on_demand_collection_id)
return "Invalid collection" if collection.nil?
ActiveRecord::Base.transaction do
customers.each do |customer|
user = User.find_by(email: customer[:email])
return "Invalid user email #{customer[:email]}" if user.nil?
return "Invalid finish date for #{customer[:email]}" if customer[:finish_date].nil?
@Luiyit
Luiyit / free_pack_access.rb
Created November 19, 2020 17:31
Create pack_customer, order and order_product for free
def free_pack_access(pack_id, users_emails, finish_date=nil)
pack = Pack.find(pack_id)
users_emails.each do |email|
current_user = User.find_by(email: email)
ActiveRecord::Base.transaction do
order = Order.create!(
user_id: current_user.id,
date: Time.now,
status: 'success',
@Luiyit
Luiyit / remove_talent_class_with_customer.rb
Last active November 20, 2020 19:33
Remove the class record and customer. Be carefull about the source of the class customer (pass, pack, paid)
def remove_class(class_id, remove)
klass = TalentClass.find(class_id)
amount_class_customers_removed = 0
if klass
zoon_meeting = ZoomMeeting.find_by(talent_class_id: class_id)
if remove
ActiveRecord::Base.transaction do
zoon_meeting.delete if zoon_meeting
@Luiyit
Luiyit / remove_pass_customer_products.rb
Last active April 2, 2021 21:12
Remove pass customer and products
# TODO: include sessions
def remove_customer_pass(client_user_id, pass_customer_id, delete_pass_customer = false, expire_pass_customer = false)
user_client = User.find(client_user_id)
if user_client
pass_customer_classes = []
customer_collection = nil
pass_customer = PassCustomer.find(pass_customer_id)
pass_applies_to = pass_customer.pass.pass_products.pluck(:applies_to)
talent = pass_customer.pass.user.talent
def create_backend_admin(admin_email, admin_pass)
admin_exist = Admin.find_by(email: admin_email)
if not admin_exist
admin = Admin.create({
email: admin_email,
password: admin_pass,
password_confirmation: admin_pass,
})
pp admin
# https://talent-hack.atlassian.net/browse/TAL-908
client_email = '[email protected]'
talent_email = '[email protected]'
pass_title = 'Monthly Unlimited Virtual Classes - Reoccurring'
# References involved
client_user = User.find_by(email: client_email)
talent_user = User.find_by(email: talent_email)
pass = Pass.find_by(user_id: talent_user.id, title: pass_title)