Skip to content

⚡ Write a generateInvoice() Function using Swift #4094

@PineappleIOnic

Description

@PineappleIOnic

💭 Introduction

Appwrite Functions allow you to extend and customize your Appwrite server functionality by executing your custom code 🤩 You can learn more in our official Appwrite Functions docs.

The backbone of Appwrite Functions is Open Runtimes, an environment for serverless cloud computing. Since all Open Runtime functions are valid Appwrite functions, we are looking for contributors to extend the Open Runtimes Examples repository.

Your task is to implement generateInvoice() function using Swift. Please make sure to look at existing function examples and use them as a template for your function. This will help you keep the proper structure as well as provide information on how to test the function.

⚡ Function Details

Generate a PDF invoice. Please avoid using 3rd party services, but feel free to use a library. The payload must provide all invoice details, and a PDF in base64 format should be returned. Regarding customer and issuer, please support as a symbol for breaking lines. Invoices usually have 4-5 lines of information for both which include for instance name, address, and phone number.

Example function payload:

{"currency":"EUR","items":[{"name":"Web development","price":15}],"issuer":"Some\nIssuer","customer":"Some\nCustomer","vat":21}

Successful function response:

{"success":true,"invoice":"iVBORw0KGgoAAAANSUhEUgAAAaQAAALiCAY...QoH9hbkTPQAAAABJRU5ErkJggg=="}

Error function response:

{"success":false,"message":"Please provide a currency."}

🎯 Requirements

  • Experience with Appwrite.
  • Experience with Swift.
  • Knowledge to implement generateInvoice function.
  • Experience with Docker.

✅ Task Summary

  • Ask to be assigned to the issue.
  • Implement function generateInvoice() in Swift/ folder.
  • Manually execute the newly implemented function to ensure it works.
  • Submit a pull request in open-runtimes/examples and include screenshots of successful execution.

If you have questions, need any help, or just want to hang out, make sure to join us on our Discord server.

Happy Appwriting!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions