<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: timothy22000</title>
    <description>The latest articles on DEV Community by timothy22000 (@timothy22000).</description>
    <link>https://dev.to/timothy22000</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F739127%2Fe9929435-e118-40f8-b3d0-f5e7a44ad491.jpeg</url>
      <title>DEV Community: timothy22000</title>
      <link>https://dev.to/timothy22000</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/timothy22000"/>
    <language>en</language>
    <item>
      <title>Appwrite with Dart!</title>
      <dc:creator>timothy22000</dc:creator>
      <pubDate>Sun, 31 Oct 2021 17:08:01 +0000</pubDate>
      <link>https://dev.to/timothy22000/appwrite-with-dart-3knc</link>
      <guid>https://dev.to/timothy22000/appwrite-with-dart-3knc</guid>
      <description>&lt;p&gt;Welcome! This blogpost will be going through using the Appwrite Dart SDK to interact with Appwrite APIs (Users, Database, Storage, Functions, Accounts)&lt;/p&gt;

&lt;h1&gt;
  
  
  Setting up Appwrite and Dart SDK
&lt;/h1&gt;

&lt;p&gt;Firstly, you will need to install Appwrite and Dart before you can follow along with this tutorial. The main website for each of them have really good documentation on installing them.&lt;/p&gt;

&lt;p&gt;Appwrite Installation and running your local instance: &lt;br&gt;
&lt;a href="https://appwrite.io/docs/installation"&gt;https://appwrite.io/docs/installation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flutter (the Dart SDK will be installed as part of it starting with Flutter version 1.19.0):&lt;br&gt;
&lt;a href="https://flutter.dev/docs/get-started/install"&gt;https://flutter.dev/docs/get-started/install&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you have both of them set up, then start running your Appwrite Server and create your own Dart project.&lt;/p&gt;

&lt;p&gt;Within the pubspec.yaml file of your Dart project, you need to ensure that you have Appwrite Dart SDK as a dependency there.&lt;/p&gt;

&lt;p&gt;Run the command below if it is missing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dart pub add dart_appwrite 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pubspec.yaml example:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7ssGPjc5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/72wfn92umbgs51pxk10z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7ssGPjc5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/72wfn92umbgs51pxk10z.png" alt="Image description" width="880" height="206"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now that we have that out of the way, let's get the ball rolling!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MbCRub9E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f690x18rajhlv45kfrhf.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MbCRub9E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f690x18rajhlv45kfrhf.jpeg" alt="Image description" width="416" height="512"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Importing the Appwrite Dart SDK and creating the client
&lt;/h1&gt;

&lt;p&gt;1) If you have the Appwrite Dart SDK dependency in your pubspec.yaml, then you should be able to import the package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import 'package:dart_appwrite/dart_appwrite.dart';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2) Create the Appwrite client:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Client client = Client();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3) Then, we need to set the endpoint, project ID and secret key for the client.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  client
      .setEndpoint(endpoint) 
      .setProject(projectid) // Project ID
      .setKey(secret) // Your Appwrite secret key
      .setSelfSigned(status: true); //Don't use this in production
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;4) Those information can be found in the Appwrite Console. Examples of where you can find the information below.&lt;/p&gt;

&lt;p&gt;Project ID and Endpoint:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--a2l32aPA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/66sl4raghzzgrqz39lfg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--a2l32aPA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/66sl4raghzzgrqz39lfg.png" alt="Project ID and Endpoint" width="880" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;API Key:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cY__Re0S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5k1be5gxg9ikred2kmda.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cY__Re0S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5k1be5gxg9ikred2kmda.png" alt="Image description" width="880" height="614"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, we will move on to interacting with the different Appwrite APIs.&lt;/p&gt;
&lt;h1&gt;
  
  
  Users
&lt;/h1&gt;

&lt;p&gt;The Users service allows you to manage your project users. Use this service to search, block, and view your users' info, current sessions, and latest activity logs. You can also use the Users service to edit your users' preferences and personal info.&lt;/p&gt;

&lt;p&gt;We will be going through some of examples of interacting with the Users API with Appwrite Dart SDK.&lt;/p&gt;

&lt;p&gt;Firstly, we need to create a Users service by passing the client we defined earlier as an argument.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Users users = Users(client);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once we have the Users service then we can go on to interact with our Appwrite backend through the Users API.&lt;/p&gt;

&lt;h3&gt;
  
  
  Creating a new user
&lt;/h3&gt;

&lt;p&gt;This is how you would create a new user using the Dart SDK.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Future response = users.create(
 email: "example@gmail.com",
 password: "example123",
 name: "example"
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The arguments that are accepted by the &lt;code&gt;users.create(...)&lt;/code&gt; function are:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;email&lt;/strong&gt; - The first argument is the email of the user and this is Required. The type provided should be string.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;password&lt;/strong&gt; - The second argument takes the password of the user and this is required. The type of the password should be string.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;name&lt;/strong&gt; - The third argument is the name of the user (max length is 128 characters) and this is Optional. The type provided should be string&lt;/p&gt;

&lt;p&gt;Now we can see our new user created in the Appwrite Console under "Develop &amp;gt; Users".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--70iwj9nk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8vvpi2jqwu9tsfau4ic0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--70iwj9nk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8vvpi2jqwu9tsfau4ic0.png" alt="Image description" width="880" height="619"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note that we will have the response from the Create User request and we will also always have response whenever we make a request to Appwrite. You can check what the response with the code below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;response
    .then((response) {
    print(response);
  }).catchError((error) {
    print(error.response);
  });
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The response will be in JSON format and here is how the response for the Create User Request looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "$id": "617eb25e03167",
    "name": "example",
    "registration": 1635693866,
    "status": 0,
    "passwordUpdate": 1635693866,
    "email": "example@gmail.com",
    "emailVerification": false,
    "prefs": {}
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Listing users
&lt;/h3&gt;

&lt;p&gt;We can also list all the users that are currently defined.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Future response = users.list();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example JSON Response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "sum": 1,
    "users": [
        {
            "$id": "617eb25e03167",
            "name": "example",
            "registration": 1635693866,
            "status": 0,
            "passwordUpdate": 1635693866,
            "email": "example@gmail.com",
            "emailVerification": false,
            "prefs": {}
        }
    ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Deleting a user
&lt;/h3&gt;

&lt;p&gt;To delete a user, you have to provide the user's user ID as an argument to the delete function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Future result = users.delete(userId:'617eb25e03167');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This response does not have a payload so you will have to list all the users again using the function mentioned in the earlier section to see your changes or view it in the Appwrite console. &lt;/p&gt;

&lt;h1&gt;
  
  
  Storage
&lt;/h1&gt;

&lt;p&gt;The Storage service allows you to manage your project files. Using the Storage service, you can upload, view, download, and query all your project files.&lt;/p&gt;

&lt;p&gt;Each file in the service is granted with read and write permissions to manage who has access to view or edit it.&lt;/p&gt;

&lt;p&gt;We first define the Storage service:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Storage storage = Storage(client);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Create file
&lt;/h2&gt;

&lt;p&gt;The example here assumes that you have a file called "test.jpg" in your project folder which will be uploaded to the Appwrite Storage service. We will be using the createFile function to upload our file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;final file = await MultipartFile.fromPath('file', './test.jpg', filename: 'test.jpg');

Future response = storage.createFile(
    file: file, //multipart file
    read: ['*'],
    write: ['*'],
  );
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here are the arguments that we can provide to the &lt;code&gt;storage.createFile(...)&lt;/code&gt; function.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;file&lt;/strong&gt; - The binary data of the file that you want to create to upload into Appwrite service and this is a Required argument. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;read&lt;/strong&gt; - An array of strings to containing a specific user, team or everyone (denoted by the wildcard permission '*') to bestow with write permissions and this is Optional. Only the current user is granted with read permissions as default. The type that should be provided is Array.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;write&lt;/strong&gt; - An array of strings to containing a specific user, team or everyone (denoted by the wildcard permission '*') to bestow with write permissions and this is Optional. Only the current user is granted with write permissions as default. The type that should be provided is Array.&lt;/p&gt;

&lt;p&gt;You can read more about permissions in Appwrite here:&lt;br&gt;
&lt;a href="https://appwrite.io/docs/permissions"&gt;https://appwrite.io/docs/permissions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, we can see the changes reflected under the "Develop &amp;gt; Storage" section of Appwrite.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--j5Vfcu31--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iqqi3hnzvg5gg5h0oijk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j5Vfcu31--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iqqi3hnzvg5gg5h0oijk.png" alt="Image description" width="880" height="697"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Example of JSON response for Create File request:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "$id": "617ec67928ccd",
    "$permissions": {
        "read": ["*"],
        "write": ["*"]
    },
    "name": "test.jpg",
    "dateCreated": 1635698297,
    "signature": "288da602ad6002d9720f52aa97b49d8c",
    "mimeType": "image/jpeg",
    "sizeOriginal": 84647
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  List files
&lt;/h3&gt;

&lt;p&gt;We can then list our files from the Storage service using listFiles function other than viewing it in the Appwrite Console.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Future response = storage.listFiles()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example of JSON Response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "sum": 1,
    "files": [{
        "$id": "617ec67928ccd",
        "$permissions": {
            "read": ["*"],
            "write": ["*"]
        },
        "name": "test.jpg",
        "dateCreated": 1635698297,
        "signature": "288da602ad6002d9720f52aa97b49d8c",
        "mimeType": "image/jpeg",
        "sizeOriginal": 84647
    }]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Delete file
&lt;/h3&gt;

&lt;p&gt;To delete the file from the Storage service, we will be using the deleteFile function by providing the file ID as an argument.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Future response = storage.deleteFile(fileId: '617ec67928ccd')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This response does not have a payload so you will have to list all the users again using the function mentioned in the earlier section to see your changes or view it in the Appwrite console. &lt;/p&gt;

&lt;h1&gt;
  
  
  Functions:
&lt;/h1&gt;

&lt;p&gt;Appwrite Functions allow you to extend and customize your Appwrite server functionality by executing your custom code. Appwrite can execute your custom code in response to any Appwrite system event like account creation, user login, or document update. You can also schedule your functions to run according to a CRON schedule or start them manually by triggering your function from an HTTP endpoint using the Appwrite client or server APIs.&lt;/p&gt;

&lt;p&gt;Appwrite Functions run in a secure, isolated Docker container. Appwrite supports multiple runtimes for different programming languages such as Kotlin, Python and others that you can use to run your code.&lt;/p&gt;

&lt;p&gt;Firstly, we will create our Functions service using our client defined earlier.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Functions functions = Functions(client);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Create Function
&lt;/h3&gt;

&lt;p&gt;Here, we will be creating a function called test_function that will be our custom written code that we want it to be executed with all read and write permissions. We also want this function to be execution in the Python 3.9 runtime.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Future response = functions.create(
  name: '[test_function]',
  execute: [*],
  runtime: 'python-3.9',
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The arguments that we are passing to the &lt;code&gt;functions.create(...)&lt;/code&gt; shown above:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;name&lt;/strong&gt; - The name of the function that that you want (maximum length is 128 characters) to upload into Appwrite service and this is a Required argument. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;execute&lt;/strong&gt; - An array of strings to containing a specific user, team or everyone (denoted by the wildcard permission '*') to bestow with execute permissions and this is Required. No user is granted with read permissions as default. The type that should be provided is Array.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;runtime&lt;/strong&gt; - This sets the execution runtime for the function. The list of supported runtimes are: &lt;a href="https://appwrite.io/docs/functions#supportedRuntimes"&gt;https://appwrite.io/docs/functions#supportedRuntimes&lt;/a&gt;. The type that should be provided is string.&lt;/p&gt;

&lt;p&gt;Additional arguments that can be provided: &lt;a href="https://appwrite.io/docs/server/functions?sdk=dart-default#functionsCreate"&gt;https://appwrite.io/docs/server/functions?sdk=dart-default#functionsCreate&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We should be able to see our new function at the "Develop &amp;gt; Functions" section of Appwrite now.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gHtoYgt5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fj074i74quidc4t0ickk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gHtoYgt5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fj074i74quidc4t0ickk.png" alt="Image description" width="880" height="579"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Example of JSON response for create function request:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "$id": "617ec96ceb93e",
    "$permissions": {
        "execute": ["*"]
    },
    "name": "[test_function]",
    "dateCreated": 1635699052,
    "dateUpdated": 1635699052,
    "status": "disabled",
    "runtime": "python-3.9",
    "tag": "",
    "vars": [],
    "events": [],
    "schedule": "",
    "scheduleNext": 0,
    "schedulePrevious": 0,
    "timeout": 15
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  List Functions
&lt;/h3&gt;

&lt;p&gt;List our functions from the Functions service using the list function other than viewing it in the Appwrite Console.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Future response = functions.list();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example of JSON response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "sum": 1,
    "functions": [{
        "$id": "617ec96ceb93e",
        "$permissions": {
            "execute": ["*"]
        },
        "name": "[test_function]",
        "dateCreated": 1635699052,
        "dateUpdated": 1635699052,
        "status": "disabled",
        "runtime": "python-3.9",
        "tag": "",
        "vars": [],
        "events": [],
        "schedule": "",
        "scheduleNext": 0,
        "schedulePrevious": 0,
        "timeout": 15
    }]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Delete Functions
&lt;/h3&gt;

&lt;p&gt;We can delete the function that we have created using the Appwrite Dart SDK by doing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Future result = functions.delete(functionId:'617ec96ceb93e');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Further Resources
&lt;/h1&gt;

&lt;p&gt;Some of the features that are present in Appwrite Dart SDK was discussed in this post. If you wish to learn more then, please do take a look at the Appwrite documentation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://appwrite.io/docs"&gt;https://appwrite.io/docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to help out with bugs and new features for Appwrite, then check out the Appwrite Github:&lt;br&gt;
&lt;a href="https://github.com/appwrite/appwrite"&gt;https://github.com/appwrite/appwrite&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My Github Profile: &lt;a href="https://github.com/timothy22000"&gt;https://github.com/timothy22000&lt;/a&gt;&lt;/p&gt;

</description>
      <category>appwrite</category>
      <category>dart</category>
      <category>opensource</category>
      <category>hacktoberfest</category>
    </item>
  </channel>
</rss>
