(FREE) Supabase : With Authentication and Database

🧩 Supabase

An extension for appinventor.
Developed by ali using Fast.

:memo: Specifications


:package: Package: com.ali.supabase
:floppy_disk: Size: 88.36 KB
:gear: Version: 1.0
:iphone: Minimum API Level: 14
:date: Updated On: 2025-11-07T19:00:00Z
:computer: Built & documented using: FAST v5.2.0

Events:

Supabase has total 47 events.

1. ClientInitialized

Event triggered when the Supabase client is successfully initialized

2. TableSet

Event triggered when a table is set for database operations

Parameter Type
tableName text

3. ColumnsSet

Event triggered when columns are set for database operations

Parameter Type
columns text

4. BucketSet

Event triggered when a bucket is set for storage operations

Parameter Type
bucketName text

5. ChannelSet

Event triggered when a channel is set for realtime operations

Parameter Type
channelName text

6. FunctionSet

Event triggered when a function is set for RPC operations

Parameter Type
functionName text

7. SignUpSuccess

Event triggered when a user signs up successfully

Parameter Type
email text
userId text
token text

8. SignInSuccess

Event triggered when a user signs in successfully

Parameter Type
email text
userId text
token text

9. SignOutSuccess

Event triggered when a user signs out successfully

10. AuthError

Event triggered when there is an authentication error

Parameter Type
error text

11. OTPSent

Event triggered when OTP is sent successfully

Parameter Type
emailOrPhone text

12. GetUserSuccess

Event triggered when user profile is fetched successfully

Parameter Type
userProfile dictionary

13. UserUpdated

Event triggered when user profile is updated successfully

Parameter Type
email text
userId text

14. SessionRefreshed

Event triggered when user session is refreshed successfully

Parameter Type
newToken text

15. SelectSuccess

Event triggered when data is successfully fetched from a table

Parameter Type
data list
tableName text
columns text

16. InsertSuccess

Event triggered when data is successfully inserted into a table

Parameter Type
insertedId text
tableName text

17. BulkInsertSuccess

Event triggered when multiple records are successfully inserted into a table

Parameter Type
insertedIds text
tableName text
count number

18. UpsertSuccess

Event triggered when data is successfully upserted into a table

Parameter Type
upsertedId text
tableName text

19. UpdateSuccess

Event triggered when data is successfully updated in a table

Parameter Type
updatedCount number
tableName text

20. DeleteSuccess

Event triggered when data is successfully deleted from a table

Parameter Type
deletedCount number
tableName text

21. DatabaseError

Event triggered when there is a database operation error

Parameter Type
error text

22. UploadSuccess

Event triggered when a file is successfully uploaded

Parameter Type
publicUrl text
bucketName text
filePath text

23. DownloadSuccess

Event triggered when a file is successfully downloaded

Parameter Type
fileData text
bucketName text
filePath text

24. PublicUrlSuccess

Event triggered when a public URL is successfully generated

Parameter Type
publicUrl text
bucketName text
filePath text

25. FileDeleted

Event triggered when a file is successfully deleted

Parameter Type
bucketName text
filePath text

26. SignedUrlCreated

Event triggered when a signed URL is successfully created

Parameter Type
signedUrl text
bucketName text
filePath text

27. FileMoved

Event triggered when a file is successfully moved

Parameter Type
bucketName text
fromPath text
toPath text

28. FileCopied

Event triggered when a file is successfully copied

Parameter Type
bucketName text
fromPath text
toPath text

29. ListFilesSuccess

Event triggered when files are successfully listed

Parameter Type
fileList list
bucketName text

30. StorageError

Event triggered when there is a storage operation error

Parameter Type
error text

31. SubscriptionSuccess

Event triggered when a subscription is successfully created

Parameter Type
channelName text
subscriptionType text
tableName text
eventType text

32. DatabaseChange

Event triggered when a database change is received

Parameter Type
channelName text
tableName text
eventType text
payload dictionary

33. BroadcastReceived

Event triggered when a broadcast message is received

Parameter Type
channelName text
eventName text
payload dictionary

34. BroadcastSent

Event triggered when a broadcast message is sent

Parameter Type
channelName text
eventName text

35. PresenceTracked

Event triggered when presence is tracked

Parameter Type
channelName text

36. PresenceChange

Event triggered when presence state changes

Parameter Type
channelName text
joins list
leaves list

37. Unsubscribed

Event triggered when unsubscribed from a channel

Parameter Type
channelName text

38. ChannelStatus

Event triggered with channel status information

Parameter Type
channelName text
status text

39. RealtimeError

Event triggered when there is a realtime operation error

Parameter Type
error text

40. RPCSuccess

Event triggered when an RPC function is called successfully

Parameter Type
result list
functionName text

41. RPCError

Event triggered when there is an RPC operation error

Parameter Type
error text

42. FunctionDefinitionsReceived

Event triggered when function definitions are received

Parameter Type
definitions list

43. UUIDGenerated

Event triggered when a UUID is generated

Parameter Type
uuid text

44. TimestampReceived

Event triggered when current timestamp is received

Parameter Type
timestamp text

45. TimestampConverted

Event triggered when timestamp is converted to milliseconds

Parameter Type
milliseconds number

46. ClientStatusReceived

Event triggered when client status is received

Parameter Type
status dictionary

47. ClientReset

Event triggered when client is reset

Methods:

Supabase has total 73 methods.

1. InitializeClient

Initialize the Supabase client with the provided URL and key

2. SetTable

Set the current table for database operations

Parameter Type
tableName text

3. SetColumns

Set the columns to select in database operations (default: *)

Parameter Type
columns text

4. SetBucket

Set the current bucket for storage operations

Parameter Type
bucketName text

5. SetChannel

Set the current channel for realtime operations

Parameter Type
channelName text

6. SetFunction

Set the current RPC function for remote procedure calls

Parameter Type
functionName text

7. SignUpWithOptions

Sign up a new user with email and password, with additional options

Parameter Type
email text
password text
options dictionary

8. SignInWithOAuth

Sign in with an OAuth provider (Google, GitHub, etc.)

Parameter Type
provider text

9. SignInWithOTP

Sign in with a One-Time Password sent to email or phone

Parameter Type
emailOrPhone text

10. VerifyOTP

Verify OTP and sign in the user

Parameter Type
emailOrPhone text
token text
type text

11. GetUser

Get the profile of the currently logged in user

12. UpdateUser

Update the profile of the currently logged in user

Parameter Type
userData dictionary

13. RefreshSession

Refresh the current user's session

14. SignIn

Sign in an existing user with email and password

Parameter Type
email text
password text

15. SignOut

Sign out the currently logged in user

16. SelectWithFilters

Fetch data from the current Supabase table with filters

Parameter Type
filters dictionary

17. SelectWithOrder

Fetch data from the current Supabase table with ordering

Parameter Type
orderByColumn text
ascending boolean

18. SelectWithLimit

Fetch data from the current Supabase table with limit

Parameter Type
limit number

19. SelectWithPagination

Fetch data from the current Supabase table with pagination

Parameter Type
page number
pageSize number

20. BulkInsert

Insert multiple records into the current Supabase table

Parameter Type
dataList list

21. Upsert

Upsert data into the current Supabase table (insert or update)

Parameter Type
data dictionary
conflictColumn text

22. BulkUpdate

Update multiple records in the current Supabase table with a filter

Parameter Type
data dictionary
filterColumn text
filterValue text

23. BulkDelete

Delete multiple records from the current Supabase table with a filter

Parameter Type
filterColumn text
filterValue text

24. Select

Fetch data from the current Supabase table

25. SelectFrom

Fetch data from a specific Supabase table with specific columns

Parameter Type
tableName text
columns text

26. Insert

Insert data into the current Supabase table

Parameter Type
data dictionary

27. InsertInto

Insert data into a specific Supabase table

Parameter Type
tableName text
data dictionary

28. Update

Update data in the current Supabase table with a filter

Parameter Type
data dictionary
filterColumn text
filterValue text

29. UpdateTable

Update data in a specific Supabase table with a filter

Parameter Type
tableName text
data dictionary
filterColumn text
filterValue text

30. Delete

Delete data from the current Supabase table with a filter

Parameter Type
filterColumn text
filterValue text

31. DeleteFrom

Delete data from a specific Supabase table with a filter

Parameter Type
tableName text
filterColumn text
filterValue text

32. UploadFileWithOptions

Upload a file to the current Supabase storage bucket with options

Parameter Type
filePath text
fileData text
options dictionary

33. UploadFile

Upload a file to the current Supabase storage bucket

Parameter Type
filePath text
fileData text

34. UploadToBucket

Upload a file to a specific Supabase storage bucket

Parameter Type
bucketName text
filePath text
fileData text

35. DownloadFile

Download a file from the current Supabase storage bucket

Parameter Type
filePath text

36. DownloadFromBucket

Download a file from a specific Supabase storage bucket

Parameter Type
bucketName text
filePath text

37. GetPublicUrl

Get the public URL for a file in the current Supabase storage bucket

Parameter Type
filePath text

38. GetPublicUrlFromBucket

Get the public URL for a file in a specific Supabase storage bucket

Parameter Type
bucketName text
filePath text

39. ListFiles

List all files in the current Supabase storage bucket

40. ListFilesInBucket

List all files in a specific Supabase storage bucket

Parameter Type
bucketName text

41. DeleteFile

Delete a file from the current Supabase storage bucket

Parameter Type
filePath text

42. DeleteFileFromBucket

Delete a file from a specific Supabase storage bucket

Parameter Type
bucketName text
filePath text

43. CreateSignedUrl

Create a signed URL for a file in the current Supabase storage bucket

Parameter Type
filePath text
expiresIn number

44. CreateSignedUrlForBucket

Create a signed URL for a file in a specific Supabase storage bucket

Parameter Type
bucketName text
filePath text
expiresIn number

45. MoveFile

Move a file within the current Supabase storage bucket

Parameter Type
fromPath text
toPath text

46. CopyFile

Copy a file within the current Supabase storage bucket

Parameter Type
fromPath text
toPath text

47. SubscribeToChangesWithFilters

Subscribe to changes in the current Supabase table with filters

Parameter Type
eventType text
filters dictionary

48. SubscribeToPresence

Subscribe to presence updates on the current channel

49. SubscribeToChannelPresence

Subscribe to presence updates on a specific channel

Parameter Type
channelName text

50. Unsubscribe

Unsubscribe from the current channel

51. UnsubscribeFromChannel

Unsubscribe from a specific channel

Parameter Type
channelName text

52. GetChannelStatus

Get the status of the current channel

53. SubscribeToChanges

Subscribe to changes in the current Supabase table

Parameter Type
eventType text

54. SubscribeToTableChanges

Subscribe to changes in a specific Supabase table

Parameter Type
channelName text
tableName text
eventType text

55. SubscribeToBroadcast

Subscribe to broadcast messages on the current channel

Parameter Type
eventName text

56. SubscribeToChannelBroadcast

Subscribe to broadcast messages on a specific channel

Parameter Type
channelName text
eventName text

57. SendBroadcast

Send a broadcast message on the current channel

Parameter Type
eventName text
payload dictionary

58. SendChannelBroadcast

Send a broadcast message on a specific channel

Parameter Type
channelName text
eventName text
payload dictionary

59. TrackPresence

Track user presence on the current channel

Parameter Type
state dictionary

60. TrackChannelPresence

Track user presence on a specific channel

Parameter Type
channelName text
state dictionary

61. CallRPCWithOptions

Call a PostgreSQL function through RPC with parameters and options

Parameter Type
parameters dictionary
options dictionary

62. CallFunctionWithOptions

Call a specific PostgreSQL function through RPC with parameters and options

Parameter Type
functionName text
parameters dictionary
options dictionary

63. GetFunctionDefinitions

Get the definitions of available PostgreSQL functions

64. CallRPC

Call a PostgreSQL function through RPC with parameters

Parameter Type
parameters dictionary

65. CallFunction

Call a specific PostgreSQL function through RPC with parameters

Parameter Type
functionName text
parameters dictionary

66. CallSecureRPC

Call an obfuscated RPC function for enhanced security

Parameter Type
obfuscatedFunctionName text
obfuscatedParameters dictionary

67. MakeHttpRequest

Demonstrates how to use the OkHttp dependency to make HTTP requests

Parameter Type
url text

68. DecodeJwtToken

Demonstrates how to use the JWT dependency to decode tokens

Parameter Type
token text

69. GenerateUUID

Generate a UUID for use as a unique identifier

70. GetCurrentTimestamp

Get the current timestamp in ISO 8601 format

71. TimestampToMilliseconds

Convert an ISO 8601 timestamp to milliseconds since epoch

Parameter Type
timestamp text

72. GetClientStatus

Get the current status of the Supabase client

73. ResetClient

Reset the Supabase client to its initial state

Designer:

Supabase has total 2 designer properties.

1. SupabaseUrl

  • Input type: string

2. SupabaseKey

  • Input type: string

Setters:

Supabase has total 2 setter properties.

1. SupabaseUrl

The Supabase project URL (e.g., https://your-project.supabase.co)

  • Input type: text

2. SupabaseKey

The Supabase API key (anon or service key)

  • Input type: text

Getters:

Supabase has total 12 getter properties.

1. SupabaseUrl

The Supabase project URL (e.g., https://your-project.supabase.co)

  • Return type: text

2. SupabaseKey

The Supabase API key (anon or service key)

  • Return type: text

3. IsConnected

Returns whether the Supabase client is connected

  • Return type: boolean

4. UserEmail

Returns the email of the currently logged in user

  • Return type: text

5. UserId

Returns the ID of the currently logged in user

  • Return type: text

6. UserToken

Returns the JWT token of the currently logged in user

  • Return type: text

7. UserLoggedIn

Returns whether a user is currently logged in

  • Return type: boolean

8. CurrentTable

Returns the currently selected table for database operations

  • Return type: text

9. CurrentColumns

Returns the currently selected columns for database operations

  • Return type: text

10. CurrentBucket

Returns the currently selected storage bucket

  • Return type: text

11. CurrentChannel

Returns the currently selected realtime channel

  • Return type: text

12. CurrentFunction

Returns the currently selected RPC function

  • Return type: text

com.ali.supabase.aix (88.4 KB)

How to Use the Supabase Extension

Based on the enhanced Supabase extension with all the new features, here's how to use it:

1. Initial Setup

  1. Add the Supabase extension to your MIT App Inventor project
  2. Set your Supabase project URL and API key:
Supabase.SupabaseUrl("https://your-project.supabase.co")
Supabase.SupabaseKey("your-anon-or-service-key")
  1. Initialize the client:
Supabase.InitializeClient()

2. Authentication

Sign up a new user:

Supabase.SignUp("user@example.com", "password")

Sign in with email and password:

Supabase.SignIn("user@example.com", "password")

Sign in with OAuth:

Supabase.SignInWithOAuth("google")

Sign in with OTP:

Supabase.SignInWithOTP("user@example.com")

Sign out:

Supabase.SignOut()

3. Database Operations

Set table and perform CRUD operations:

Supabase.SetTable("users")
Supabase.Select()
Supabase.Insert(dataDictionary)
Supabase.Update(dataDictionary, "id", "123")
Supabase.Delete("id", "123")

Advanced database operations:

Supabase.SelectWithFilters(filtersDictionary)
Supabase.BulkInsert(dataList)
Supabase.Upsert(dataDictionary, "email")

4. Storage Operations

Upload and manage files:

Supabase.SetBucket("avatars")
Supabase.UploadFile("profile.jpg", fileData)
Supabase.DownloadFile("profile.jpg")
Supabase.DeleteFile("profile.jpg")

5. Realtime Operations

Subscribe to changes:

Supabase.SetChannel("public")
Supabase.SubscribeToChanges("INSERT")
Supabase.SendBroadcast("message", payloadDictionary)

6. RPC Operations

Call PostgreSQL functions:

Supabase.SetFunction("get_user_count")
Supabase.CallRPC(parametersDictionary)

7. Utility Functions

Generate UUIDs and timestamps:

Supabase.GenerateUUID()
Supabase.GetCurrentTimestamp()