appwrite 28.3.1 → 28.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/appwrite/client.rb +20 -4
- data/lib/appwrite/enums/billing_plan_group.rb +2 -0
- data/lib/appwrite/enums/build_runtime.rb +2 -0
- data/lib/appwrite/enums/databases_index_type.rb +1 -0
- data/lib/appwrite/enums/domain_registration_type.rb +10 -0
- data/lib/appwrite/enums/domain_transfer_status_enum.rb +14 -0
- data/lib/appwrite/enums/framework.rb +1 -0
- data/lib/appwrite/enums/id_token_provider.rb +8 -0
- data/lib/appwrite/enums/image_gravity.rb +1 -0
- data/lib/appwrite/enums/o_auth2_auth0_prompt.rb +9 -0
- data/lib/appwrite/enums/o_auth2_discord_prompt.rb +8 -0
- data/lib/appwrite/enums/o_auth2_github_prompt.rb +7 -0
- data/lib/appwrite/enums/o_auth2_kakao_prompt.rb +10 -0
- data/lib/appwrite/enums/o_auth2_microsoft_prompt.rb +10 -0
- data/lib/appwrite/enums/o_auth2_okta_prompt.rb +9 -0
- data/lib/appwrite/enums/o_auth2_salesforce_prompt.rb +8 -0
- data/lib/appwrite/enums/o_auth2_zoho_prompt.rb +7 -0
- data/lib/appwrite/enums/o_auth_provider.rb +3 -0
- data/lib/appwrite/enums/project_email_template_id.rb +2 -0
- data/lib/appwrite/enums/project_key_scopes.rb +4 -0
- data/lib/appwrite/enums/project_o_auth2_auth0_prompt.rb +9 -0
- data/lib/appwrite/enums/project_o_auth2_discord_prompt.rb +8 -0
- data/lib/appwrite/enums/project_o_auth2_git_hub_prompt.rb +7 -0
- data/lib/appwrite/enums/project_o_auth2_kakao_prompt.rb +10 -0
- data/lib/appwrite/enums/project_o_auth2_microsoft_prompt.rb +10 -0
- data/lib/appwrite/enums/project_o_auth2_okta_prompt.rb +9 -0
- data/lib/appwrite/enums/project_o_auth2_salesforce_prompt.rb +8 -0
- data/lib/appwrite/enums/project_o_auth2_zoho_prompt.rb +7 -0
- data/lib/appwrite/enums/project_o_auth_provider_id.rb +3 -0
- data/lib/appwrite/enums/project_policy_id.rb +2 -0
- data/lib/appwrite/enums/proxy_rule_deployment_resource_type.rb +1 -0
- data/lib/appwrite/enums/runtime.rb +2 -0
- data/lib/appwrite/enums/tables_db_index_type.rb +1 -0
- data/lib/appwrite/enums/waf_rule_action.rb +11 -0
- data/lib/appwrite/models/account.rb +143 -0
- data/lib/appwrite/models/billing_plan.rb +12 -0
- data/lib/appwrite/models/dedicated_database.rb +15 -0
- data/lib/appwrite/models/dedicated_database_specification.rb +20 -0
- data/lib/appwrite/models/dns_record.rb +83 -0
- data/lib/appwrite/models/dns_records_list.rb +33 -0
- data/lib/appwrite/models/domain.rb +109 -0
- data/lib/appwrite/models/domain_price.rb +63 -0
- data/lib/appwrite/models/domain_prices_list.rb +33 -0
- data/lib/appwrite/models/domain_transfer_status.rb +59 -0
- data/lib/appwrite/models/domains_list.rb +33 -0
- data/lib/appwrite/models/identity.rb +8 -3
- data/lib/appwrite/models/o_auth2_apple.rb +13 -3
- data/lib/appwrite/models/o_auth2_auth0.rb +23 -0
- data/lib/appwrite/models/o_auth2_discord.rb +25 -3
- data/lib/appwrite/models/o_auth2_github.rb +24 -3
- data/lib/appwrite/models/o_auth2_google.rb +17 -5
- data/lib/appwrite/models/o_auth2_kakao.rb +67 -0
- data/lib/appwrite/models/o_auth2_microsoft.rb +24 -0
- data/lib/appwrite/models/o_auth2_oidc.rb +4 -2
- data/lib/appwrite/models/o_auth2_okta.rb +23 -0
- data/lib/appwrite/models/o_auth2_salesforce.rb +25 -3
- data/lib/appwrite/models/o_auth2_tik_tok.rb +43 -0
- data/lib/appwrite/models/o_auth2_webflow.rb +43 -0
- data/lib/appwrite/models/o_auth2_zoho.rb +24 -3
- data/lib/appwrite/models/oauth2_introspection.rb +83 -0
- data/lib/appwrite/models/platform_android.rb +8 -3
- data/lib/appwrite/models/policy_password_pwned.rb +43 -0
- data/lib/appwrite/models/policy_password_rotation.rb +38 -0
- data/lib/appwrite/models/project.rb +15 -0
- data/lib/appwrite/models/project_service.rb +1 -0
- data/lib/appwrite/models/proxy_rule.rb +1 -0
- data/lib/appwrite/models/topic.rb +13 -3
- data/lib/appwrite/models/user.rb +5 -0
- data/lib/appwrite/models/waf_rule_bypass.rb +111 -0
- data/lib/appwrite/models/waf_rule_challenge.rb +126 -0
- data/lib/appwrite/models/waf_rule_deny.rb +111 -0
- data/lib/appwrite/models/waf_rule_list.rb +33 -0
- data/lib/appwrite/models/waf_rule_rate_limit.rb +136 -0
- data/lib/appwrite/models/waf_rule_redirect.rb +121 -0
- data/lib/appwrite/services/account.rb +301 -5
- data/lib/appwrite/services/avatars.rb +71 -0
- data/lib/appwrite/services/databases.rb +4 -1
- data/lib/appwrite/services/documents_db.rb +4 -1
- data/lib/appwrite/services/domains.rb +2318 -0
- data/lib/appwrite/services/functions.rb +11 -3
- data/lib/appwrite/services/locale.rb +49 -14
- data/lib/appwrite/services/messaging.rb +130 -6
- data/lib/appwrite/services/oauth2.rb +45 -0
- data/lib/appwrite/services/organization.rb +225 -0
- data/lib/appwrite/services/project.rb +439 -15
- data/lib/appwrite/services/sites.rb +11 -3
- data/lib/appwrite/services/tables_db.rb +4 -1
- data/lib/appwrite/services/teams.rb +4 -1
- data/lib/appwrite/services/vectors_db.rb +4 -1
- data/lib/appwrite/services/waf.rb +859 -0
- data/lib/appwrite.rb +42 -0
- metadata +44 -2
|
@@ -818,5 +818,230 @@ module Appwrite
|
|
|
818
818
|
params: api_params,
|
|
819
819
|
)
|
|
820
820
|
end
|
|
821
|
+
|
|
822
|
+
# Get a list of all API keys of a project in your organization.
|
|
823
|
+
#
|
|
824
|
+
# @param [String] project_id Project unique ID.
|
|
825
|
+
# @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: expire, accessedAt, name, scopes
|
|
826
|
+
# @param [] total When set to false, the total count returned will be 0 and will not be calculated.
|
|
827
|
+
#
|
|
828
|
+
# @return [KeyList]
|
|
829
|
+
def list_project_keys(
|
|
830
|
+
project_id:,
|
|
831
|
+
queries: nil,
|
|
832
|
+
total: nil
|
|
833
|
+
)
|
|
834
|
+
if project_id.nil?
|
|
835
|
+
raise Appwrite::Exception.new('Missing required parameter: "projectId"')
|
|
836
|
+
end
|
|
837
|
+
|
|
838
|
+
api_path = '/organization/projects/{projectId}/keys'
|
|
839
|
+
.gsub('{projectId}', project_id)
|
|
840
|
+
|
|
841
|
+
api_params = {
|
|
842
|
+
queries: queries,
|
|
843
|
+
total: total,
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
api_headers = {
|
|
847
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
848
|
+
"accept": 'application/json',
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
@client.call(
|
|
852
|
+
method: 'GET',
|
|
853
|
+
path: api_path,
|
|
854
|
+
headers: api_headers,
|
|
855
|
+
params: api_params,
|
|
856
|
+
response_type: Models::KeyList
|
|
857
|
+
)
|
|
858
|
+
end
|
|
859
|
+
|
|
860
|
+
# Create a new ephemeral API key for a project in your organization. It's
|
|
861
|
+
# recommended to have multiple API keys with strict scopes for separate
|
|
862
|
+
# functions within your project.
|
|
863
|
+
#
|
|
864
|
+
# You can also create a standard API key if you need a longer-lived key
|
|
865
|
+
# instead.
|
|
866
|
+
#
|
|
867
|
+
# @param [String] project_id Project unique ID.
|
|
868
|
+
# @param [Array] scopes Key scopes list. Maximum of 200 scopes are allowed.
|
|
869
|
+
# @param [Integer] duration Time in seconds before ephemeral key expires. Maximum duration is 3600 seconds.
|
|
870
|
+
#
|
|
871
|
+
# @return [EphemeralKey]
|
|
872
|
+
def create_ephemeral_project_key(
|
|
873
|
+
project_id:,
|
|
874
|
+
scopes:,
|
|
875
|
+
duration:
|
|
876
|
+
)
|
|
877
|
+
if project_id.nil?
|
|
878
|
+
raise Appwrite::Exception.new('Missing required parameter: "projectId"')
|
|
879
|
+
end
|
|
880
|
+
|
|
881
|
+
if scopes.nil?
|
|
882
|
+
raise Appwrite::Exception.new('Missing required parameter: "scopes"')
|
|
883
|
+
end
|
|
884
|
+
|
|
885
|
+
if duration.nil?
|
|
886
|
+
raise Appwrite::Exception.new('Missing required parameter: "duration"')
|
|
887
|
+
end
|
|
888
|
+
|
|
889
|
+
api_path = '/organization/projects/{projectId}/keys/ephemeral'
|
|
890
|
+
.gsub('{projectId}', project_id)
|
|
891
|
+
|
|
892
|
+
api_params = {
|
|
893
|
+
scopes: scopes,
|
|
894
|
+
duration: duration,
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
api_headers = {
|
|
898
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
899
|
+
"content-type": 'application/json',
|
|
900
|
+
"accept": 'application/json',
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
@client.call(
|
|
904
|
+
method: 'POST',
|
|
905
|
+
path: api_path,
|
|
906
|
+
headers: api_headers,
|
|
907
|
+
params: api_params,
|
|
908
|
+
response_type: Models::EphemeralKey
|
|
909
|
+
)
|
|
910
|
+
end
|
|
911
|
+
|
|
912
|
+
# Get a project key by its unique ID.
|
|
913
|
+
#
|
|
914
|
+
# @param [String] project_id Project unique ID.
|
|
915
|
+
# @param [String] key_id Key ID.
|
|
916
|
+
#
|
|
917
|
+
# @return [Key]
|
|
918
|
+
def get_project_key(
|
|
919
|
+
project_id:,
|
|
920
|
+
key_id:
|
|
921
|
+
)
|
|
922
|
+
if project_id.nil?
|
|
923
|
+
raise Appwrite::Exception.new('Missing required parameter: "projectId"')
|
|
924
|
+
end
|
|
925
|
+
|
|
926
|
+
if key_id.nil?
|
|
927
|
+
raise Appwrite::Exception.new('Missing required parameter: "keyId"')
|
|
928
|
+
end
|
|
929
|
+
|
|
930
|
+
api_path = '/organization/projects/{projectId}/keys/{keyId}'
|
|
931
|
+
.gsub('{projectId}', project_id)
|
|
932
|
+
.gsub('{keyId}', key_id)
|
|
933
|
+
|
|
934
|
+
api_params = {}
|
|
935
|
+
|
|
936
|
+
api_headers = {
|
|
937
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
938
|
+
"accept": 'application/json',
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
@client.call(
|
|
942
|
+
method: 'GET',
|
|
943
|
+
path: api_path,
|
|
944
|
+
headers: api_headers,
|
|
945
|
+
params: api_params,
|
|
946
|
+
response_type: Models::Key
|
|
947
|
+
)
|
|
948
|
+
end
|
|
949
|
+
|
|
950
|
+
# Update a project key by its unique ID. Use this endpoint to update the
|
|
951
|
+
# name, scopes, or expiration time of an API key.
|
|
952
|
+
#
|
|
953
|
+
# @param [String] project_id Project unique ID.
|
|
954
|
+
# @param [String] key_id Key ID.
|
|
955
|
+
# @param [String] name Key name. Max length: 128 chars.
|
|
956
|
+
# @param [Array] scopes Key scopes list. Maximum of 200 scopes are allowed.
|
|
957
|
+
# @param [String] expire Expiration time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.
|
|
958
|
+
#
|
|
959
|
+
# @return [Key]
|
|
960
|
+
def update_project_key(
|
|
961
|
+
project_id:,
|
|
962
|
+
key_id:,
|
|
963
|
+
name:,
|
|
964
|
+
scopes:,
|
|
965
|
+
expire: nil
|
|
966
|
+
)
|
|
967
|
+
if project_id.nil?
|
|
968
|
+
raise Appwrite::Exception.new('Missing required parameter: "projectId"')
|
|
969
|
+
end
|
|
970
|
+
|
|
971
|
+
if key_id.nil?
|
|
972
|
+
raise Appwrite::Exception.new('Missing required parameter: "keyId"')
|
|
973
|
+
end
|
|
974
|
+
|
|
975
|
+
if name.nil?
|
|
976
|
+
raise Appwrite::Exception.new('Missing required parameter: "name"')
|
|
977
|
+
end
|
|
978
|
+
|
|
979
|
+
if scopes.nil?
|
|
980
|
+
raise Appwrite::Exception.new('Missing required parameter: "scopes"')
|
|
981
|
+
end
|
|
982
|
+
|
|
983
|
+
api_path = '/organization/projects/{projectId}/keys/{keyId}'
|
|
984
|
+
.gsub('{projectId}', project_id)
|
|
985
|
+
.gsub('{keyId}', key_id)
|
|
986
|
+
|
|
987
|
+
api_params = {
|
|
988
|
+
name: name,
|
|
989
|
+
scopes: scopes,
|
|
990
|
+
expire: expire,
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
api_headers = {
|
|
994
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
995
|
+
"content-type": 'application/json',
|
|
996
|
+
"accept": 'application/json',
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
@client.call(
|
|
1000
|
+
method: 'PUT',
|
|
1001
|
+
path: api_path,
|
|
1002
|
+
headers: api_headers,
|
|
1003
|
+
params: api_params,
|
|
1004
|
+
response_type: Models::Key
|
|
1005
|
+
)
|
|
1006
|
+
end
|
|
1007
|
+
|
|
1008
|
+
# Delete a project key by its unique ID. Once deleted, the key can no longer
|
|
1009
|
+
# be used to authenticate API calls.
|
|
1010
|
+
#
|
|
1011
|
+
# @param [String] project_id Project unique ID.
|
|
1012
|
+
# @param [String] key_id Key ID.
|
|
1013
|
+
#
|
|
1014
|
+
# @return []
|
|
1015
|
+
def delete_project_key(
|
|
1016
|
+
project_id:,
|
|
1017
|
+
key_id:
|
|
1018
|
+
)
|
|
1019
|
+
if project_id.nil?
|
|
1020
|
+
raise Appwrite::Exception.new('Missing required parameter: "projectId"')
|
|
1021
|
+
end
|
|
1022
|
+
|
|
1023
|
+
if key_id.nil?
|
|
1024
|
+
raise Appwrite::Exception.new('Missing required parameter: "keyId"')
|
|
1025
|
+
end
|
|
1026
|
+
|
|
1027
|
+
api_path = '/organization/projects/{projectId}/keys/{keyId}'
|
|
1028
|
+
.gsub('{projectId}', project_id)
|
|
1029
|
+
.gsub('{keyId}', key_id)
|
|
1030
|
+
|
|
1031
|
+
api_params = {}
|
|
1032
|
+
|
|
1033
|
+
api_headers = {
|
|
1034
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
1035
|
+
"content-type": 'application/json',
|
|
1036
|
+
"accept": 'application/json',
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
@client.call(
|
|
1040
|
+
method: 'DELETE',
|
|
1041
|
+
path: api_path,
|
|
1042
|
+
headers: api_headers,
|
|
1043
|
+
params: api_params,
|
|
1044
|
+
)
|
|
1045
|
+
end
|
|
821
1046
|
end
|
|
822
1047
|
end
|