Learn everything about Move on Sui
Functions 2
- In this lesson, you are going to create three more functions.
- With the update_card_description function, users will be able to update their card's description.
- With the deactivate_card function, users will be able to indicate that they are no longer to open to work.
- Finally you will create a public function which will return the card information based on the given id.
You can access the codes we wrote in this lesson below. 👇
 // With this function the user can change his/her card's description   public entry fun update_card_description(devhub: &mut DevHub, new_description: vector<u8>, id: u64, ctx: &mut TxContext) {     let user_card = object_table::borrow_mut(&mut devhub.cards, id);     assert!(tx_context::sender(ctx) == user_card.owner, NOT_THE_OWNER);     let old_value = option::swap_or_fill(&mut user_card.description, string::utf8(new_description));     event::emit(DescriptionUpdated {       name: user_card.name,       owner: user_card.owner,       new_description: string::utf8(new_description)     });     _ = old_value;   }   // With this function user can deactivate his/her account by setting open_to_work field of his/her card to false   public entry fun deactivate_card(devhub: &mut DevHub, id: u64, ctx: &mut TxContext) {     let card = object_table::borrow_mut(&mut devhub.cards, id);     assert!(card.owner == tx_context::sender(ctx), NOT_THE_OWNER);     card.open_to_work = false;   }   // This function returns the card based on the id provided   public fun get_card_info(devhub: &DevHub, id: u64): (     String,     address,     String,     Url,     Option<String>,     u8,     String,     String,     String,     bool,   ) {     let card = object_table::borrow(&devhub.cards, id);     (       card.name,       card.owner,       card.title,       card.img_url,       card.description,       card.years_of_exp,       card.technologies,       card.portfolio,       card.contact,       card.open_to_work     )   }
Comments
You need to enroll in the course to be able to comment!