-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ability to create extension draft records WIP
- Loading branch information
Showing
58 changed files
with
824 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
{"php":"8.3.2","version":"3.49.0","indent":" ","lineEnding":"\n","rules":{"align_multiline_comment":true,"array_syntax":{"syntax":"short"},"backtick_to_shell_exec":true,"binary_operator_spaces":{"operators":{"=>":"align","=":"align"}},"blank_line_before_statement":{"statements":["return"]},"braces_position":{"allow_single_line_anonymous_functions":true,"allow_single_line_empty_anonymous_classes":true},"class_attributes_separation":{"elements":{"method":"one"}},"class_definition":{"single_line":true},"class_reference_name_casing":true,"clean_namespace":true,"concat_space":{"spacing":"one"},"declare_parentheses":true,"echo_tag_syntax":true,"empty_loop_body":{"style":"braces"},"empty_loop_condition":true,"fully_qualified_strict_types":true,"function_declaration":true,"general_phpdoc_tag_rename":{"replacements":{"inheritDocs":"inheritDoc"}},"global_namespace_import":{"import_classes":false,"import_constants":false,"import_functions":false},"include":true,"increment_style":{"style":"post"},"integer_literal_case":true,"lambda_not_used_import":true,"linebreak_after_opening_tag":true,"magic_constant_casing":true,"magic_method_casing":true,"method_argument_space":{"on_multiline":"ignore"},"native_function_casing":true,"native_type_declaration_casing":true,"no_alias_language_construct_call":true,"no_alternative_syntax":true,"no_binary_string":true,"no_blank_lines_after_phpdoc":true,"no_empty_comment":true,"no_empty_phpdoc":true,"no_empty_statement":true,"no_extra_blank_lines":{"tokens":["attribute","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","square_brace_block","switch","throw","use"]},"no_leading_namespace_whitespace":true,"no_mixed_echo_print":true,"no_multiline_whitespace_around_double_arrow":true,"no_null_property_initialization":true,"no_short_bool_cast":true,"no_singleline_whitespace_before_semicolons":true,"no_spaces_around_offset":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true},"no_trailing_comma_in_singleline":true,"no_unneeded_braces":{"namespaces":true},"no_unneeded_control_parentheses":{"statements":["break","clone","continue","echo_print","others","return","switch_case","yield","yield_from"]},"no_unneeded_import_alias":true,"no_unset_cast":true,"no_unused_imports":true,"no_useless_concat_operator":true,"no_useless_nullsafe_operator":true,"no_whitespace_before_comma_in_array":true,"normalize_index_brace":true,"nullable_type_declaration_for_default_null_value":true,"object_operator_without_whitespace":true,"operator_linebreak":{"only_booleans":true},"ordered_imports":{"imports_order":["class","function","const"],"sort_algorithm":"alpha"},"ordered_types":{"null_adjustment":"always_last","sort_algorithm":"none"},"php_unit_fqcn_annotation":true,"php_unit_method_casing":true,"phpdoc_align":true,"phpdoc_annotation_without_dot":true,"phpdoc_indent":true,"phpdoc_inline_tag_normalizer":true,"phpdoc_no_access":true,"phpdoc_no_alias_tag":true,"phpdoc_no_package":true,"phpdoc_no_useless_inheritdoc":true,"phpdoc_order":{"order":["param","return","throws"]},"phpdoc_return_self_reference":true,"phpdoc_scalar":true,"phpdoc_separation":{"groups":[["Annotation","NamedArgumentConstructor","Target"],["author","copyright","license"],["category","package","subpackage"],["property","property-read","property-write"],["deprecated","link","see","since"]]},"phpdoc_single_line_var_spacing":true,"phpdoc_summary":true,"phpdoc_tag_type":{"tags":{"inheritDoc":"inline"}},"phpdoc_to_comment":true,"phpdoc_trim":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_types":true,"phpdoc_types_order":{"null_adjustment":"always_last","sort_algorithm":"none"},"phpdoc_var_without_name":true,"semicolon_after_instruction":true,"simple_to_complex_string_variable":true,"single_class_element_per_statement":true,"single_import_per_statement":true,"single_line_comment_spacing":true,"single_line_comment_style":{"comment_types":["hash"]},"single_line_throw":true,"single_quote":true,"single_space_around_construct":true,"space_after_semicolon":{"remove_in_empty_for_expressions":true},"standardize_increment":true,"standardize_not_equals":true,"statement_indentation":{"stick_comment_to_next_continuous_control_statement":true},"switch_continue_to_break":true,"trailing_comma_in_multiline":true,"trim_array_spaces":true,"type_declaration_spaces":true,"types_spaces":true,"unary_operator_spaces":true,"whitespace_after_comma_in_array":true,"cast_spaces":true,"blank_line_after_opening_tag":true,"blank_line_between_import_groups":true,"blank_lines_before_namespace":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"lowercase_cast":true,"lowercase_static_reference":true,"new_with_parentheses":true,"no_blank_lines_after_class_opening":true,"no_leading_import_slash":true,"no_whitespace_in_blank_line":true,"ordered_class_elements":{"order":["use_trait"]},"return_type_declaration":true,"short_scalar_cast":true,"single_trait_insert_per_statement":true,"ternary_operator_spaces":true,"visibility_required":true,"blank_line_after_namespace":true,"constant_case":true,"control_structure_braces":true,"control_structure_continuation_position":true,"elseif":true,"indentation_type":true,"line_ending":true,"lowercase_keywords":true,"no_break_comment":true,"no_closing_tag":true,"no_multiple_statements_per_line":true,"no_space_around_double_colon":true,"no_spaces_after_function_name":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"single_blank_line_at_eof":true,"single_line_after_imports":true,"spaces_inside_parentheses":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"encoding":true,"full_opening_tag":true},"hashes":{"server\/tests\/Feature.php":"9c85d3fc3571920ba5e59e6d460c5220","server\/src\/Providers\/RegistryBridgeServiceProvider.php":"58096e732d9cbf3b78f9fad4e9d2ddc4","server\/src\/Models\/RegistryUser.php":"c210bf9221b71148b95b130a1acdd1c4","server\/src\/Http\/Controllers\/Internal\/v1\/RegistryAuthController.php":"ff7e415c21ea0e16300512b58044e077","server\/src\/Http\/Controllers\/Internal\/v1\/RegistryController.php":"3eb08bbe917a48fa3e44ad436cb7692e","server\/src\/routes.php":"42d0551e087f359e2e1a13fa18d80b64",".php-cs-fixer.php":"97d0e7d944ae71fb5a3344df8ae2cd44","server\/src\/Requests\/AddRegistryUserRequest.php":"4c6dabd5b92f00552a557bb98c2c4101","server\/src\/Http\/Requests\/AddRegistryUserRequest.php":"fcf4a10fffa42e90130939577b79b297","server\/src\/Http\/Resources\/RegistryUser.php":"e3b971606eac1c32327f8496f1fb7baa","server\/src\/Http\/Requests\/AuthenticateRegistryUserRequest.php":"a1aaefc85f959cad0873e866c526c94f"}} | ||
{"php":"8.3.2","version":"3.49.0","indent":" ","lineEnding":"\n","rules":{"align_multiline_comment":true,"array_syntax":{"syntax":"short"},"backtick_to_shell_exec":true,"binary_operator_spaces":{"operators":{"=>":"align","=":"align"}},"blank_line_before_statement":{"statements":["return"]},"braces_position":{"allow_single_line_anonymous_functions":true,"allow_single_line_empty_anonymous_classes":true},"class_attributes_separation":{"elements":{"method":"one"}},"class_definition":{"single_line":true},"class_reference_name_casing":true,"clean_namespace":true,"concat_space":{"spacing":"one"},"declare_parentheses":true,"echo_tag_syntax":true,"empty_loop_body":{"style":"braces"},"empty_loop_condition":true,"fully_qualified_strict_types":true,"function_declaration":true,"general_phpdoc_tag_rename":{"replacements":{"inheritDocs":"inheritDoc"}},"global_namespace_import":{"import_classes":false,"import_constants":false,"import_functions":false},"include":true,"increment_style":{"style":"post"},"integer_literal_case":true,"lambda_not_used_import":true,"linebreak_after_opening_tag":true,"magic_constant_casing":true,"magic_method_casing":true,"method_argument_space":{"on_multiline":"ignore"},"native_function_casing":true,"native_type_declaration_casing":true,"no_alias_language_construct_call":true,"no_alternative_syntax":true,"no_binary_string":true,"no_blank_lines_after_phpdoc":true,"no_empty_comment":true,"no_empty_phpdoc":true,"no_empty_statement":true,"no_extra_blank_lines":{"tokens":["attribute","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","square_brace_block","switch","throw","use"]},"no_leading_namespace_whitespace":true,"no_mixed_echo_print":true,"no_multiline_whitespace_around_double_arrow":true,"no_null_property_initialization":true,"no_short_bool_cast":true,"no_singleline_whitespace_before_semicolons":true,"no_spaces_around_offset":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true},"no_trailing_comma_in_singleline":true,"no_unneeded_braces":{"namespaces":true},"no_unneeded_control_parentheses":{"statements":["break","clone","continue","echo_print","others","return","switch_case","yield","yield_from"]},"no_unneeded_import_alias":true,"no_unset_cast":true,"no_unused_imports":true,"no_useless_concat_operator":true,"no_useless_nullsafe_operator":true,"no_whitespace_before_comma_in_array":true,"normalize_index_brace":true,"nullable_type_declaration_for_default_null_value":true,"object_operator_without_whitespace":true,"operator_linebreak":{"only_booleans":true},"ordered_imports":{"imports_order":["class","function","const"],"sort_algorithm":"alpha"},"ordered_types":{"null_adjustment":"always_last","sort_algorithm":"none"},"php_unit_fqcn_annotation":true,"php_unit_method_casing":true,"phpdoc_align":true,"phpdoc_annotation_without_dot":true,"phpdoc_indent":true,"phpdoc_inline_tag_normalizer":true,"phpdoc_no_access":true,"phpdoc_no_alias_tag":true,"phpdoc_no_package":true,"phpdoc_no_useless_inheritdoc":true,"phpdoc_order":{"order":["param","return","throws"]},"phpdoc_return_self_reference":true,"phpdoc_scalar":true,"phpdoc_separation":{"groups":[["Annotation","NamedArgumentConstructor","Target"],["author","copyright","license"],["category","package","subpackage"],["property","property-read","property-write"],["deprecated","link","see","since"]]},"phpdoc_single_line_var_spacing":true,"phpdoc_summary":true,"phpdoc_tag_type":{"tags":{"inheritDoc":"inline"}},"phpdoc_to_comment":true,"phpdoc_trim":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_types":true,"phpdoc_types_order":{"null_adjustment":"always_last","sort_algorithm":"none"},"phpdoc_var_without_name":true,"semicolon_after_instruction":true,"simple_to_complex_string_variable":true,"single_class_element_per_statement":true,"single_import_per_statement":true,"single_line_comment_spacing":true,"single_line_comment_style":{"comment_types":["hash"]},"single_line_throw":true,"single_quote":true,"single_space_around_construct":true,"space_after_semicolon":{"remove_in_empty_for_expressions":true},"standardize_increment":true,"standardize_not_equals":true,"statement_indentation":{"stick_comment_to_next_continuous_control_statement":true},"switch_continue_to_break":true,"trailing_comma_in_multiline":true,"trim_array_spaces":true,"type_declaration_spaces":true,"types_spaces":true,"unary_operator_spaces":true,"whitespace_after_comma_in_array":true,"cast_spaces":true,"blank_line_after_opening_tag":true,"blank_line_between_import_groups":true,"blank_lines_before_namespace":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"lowercase_cast":true,"lowercase_static_reference":true,"new_with_parentheses":true,"no_blank_lines_after_class_opening":true,"no_leading_import_slash":true,"no_whitespace_in_blank_line":true,"ordered_class_elements":{"order":["use_trait"]},"return_type_declaration":true,"short_scalar_cast":true,"single_trait_insert_per_statement":true,"ternary_operator_spaces":true,"visibility_required":true,"blank_line_after_namespace":true,"constant_case":true,"control_structure_braces":true,"control_structure_continuation_position":true,"elseif":true,"indentation_type":true,"line_ending":true,"lowercase_keywords":true,"no_break_comment":true,"no_closing_tag":true,"no_multiple_statements_per_line":true,"no_space_around_double_colon":true,"no_spaces_after_function_name":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"single_blank_line_at_eof":true,"single_line_after_imports":true,"spaces_inside_parentheses":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"encoding":true,"full_opening_tag":true},"hashes":{"server\/tests\/Feature.php":"9c85d3fc3571920ba5e59e6d460c5220","server\/src\/Providers\/RegistryBridgeServiceProvider.php":"58096e732d9cbf3b78f9fad4e9d2ddc4","server\/src\/Models\/RegistryUser.php":"c210bf9221b71148b95b130a1acdd1c4","server\/src\/Http\/Controllers\/Internal\/v1\/RegistryAuthController.php":"ff7e415c21ea0e16300512b58044e077","server\/src\/Http\/Controllers\/Internal\/v1\/RegistryController.php":"3eb08bbe917a48fa3e44ad436cb7692e","server\/src\/routes.php":"4d549319dc0031dbd27103b68f8a62c3",".php-cs-fixer.php":"97d0e7d944ae71fb5a3344df8ae2cd44","server\/src\/Requests\/AddRegistryUserRequest.php":"4c6dabd5b92f00552a557bb98c2c4101","server\/src\/Http\/Requests\/AddRegistryUserRequest.php":"fcf4a10fffa42e90130939577b79b297","server\/src\/Http\/Resources\/RegistryUser.php":"ed3f6b8f7fb792693d325b2b50fe81f9","server\/src\/Http\/Requests\/AuthenticateRegistryUserRequest.php":"a1aaefc85f959cad0873e866c526c94f","server\/src\/Models\/RegistryExtension.php":"93550d881c6a8e67817d1022ad1c1fab","server\/src\/Http\/Requests\/CreateRegistryExtensionRequest.php":"9f6b938816da7d089ec9b11a4056e545","server\/src\/Http\/Filter\/RegistryExtensionFilter.php":"62bc434d2449cb788ab77b2b8c692da0","server\/src\/Http\/Controllers\/Internal\/v1\/RegistryExtensionController.php":"06b34a93626e54a0a9aafa61484a79b4","server\/src\/Http\/Controllers\/RegistryBridgeController.php":"4239a6dd658e0b39532830de9ae66d32"}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
import ApplicationAdapter from '@fleetbase/ember-core/adapters/application'; | ||
|
||
export default class RegistryBridgeAdapter extends ApplicationAdapter { | ||
namespace = '~registry/v1'; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export { default } from './registry-bridge'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
import Controller from '@ember/controller'; | ||
import { tracked } from '@glimmer/tracking'; | ||
import { inject as service } from '@ember/service'; | ||
import { action } from '@ember/object'; | ||
import { task } from 'ember-concurrency'; | ||
|
||
export default class DevelopersExtensionsEditController extends Controller { | ||
@service store; | ||
@service fetch; | ||
@service currentUser; | ||
@tracked uploadedFile; | ||
|
||
@task *save() { | ||
yield this.model.save(); | ||
} | ||
|
||
@task *uploadIcon(file) { | ||
yield this.fetch.uploadFile.perform( | ||
file, | ||
{ | ||
path: `uploads/extensions/${this.model.id}/icons`, | ||
subject_uuid: this.model.id, | ||
subject_type: 'registry-bridge:registry-extension', | ||
type: 'extension_icon', | ||
}, | ||
(uploadedFile) => { | ||
this.model.setProperties({ | ||
icon_uuid: uploadedFile.id, | ||
icon_url: uploadedFile.url, | ||
}); | ||
|
||
return this.model.save(); | ||
} | ||
); | ||
} | ||
|
||
@action addTag(tag) { | ||
this.model.tags.pushObject(tag); | ||
} | ||
|
||
@action removeTag(index) { | ||
this.model.tags.removeAt(index); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
import Controller from '@ember/controller'; | ||
|
||
export default class DevelopersExtensionsIndexController extends Controller {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
import Controller from '@ember/controller'; | ||
import { tracked } from '@glimmer/tracking'; | ||
import { inject as service } from '@ember/service'; | ||
import { task } from 'ember-concurrency'; | ||
|
||
export default class DevelopersExtensionsNewController extends Controller { | ||
@service store; | ||
@service universe; | ||
@service hostRouter; | ||
@service notifications; | ||
@tracked extension = this.store.createRecord('registry-extension'); | ||
|
||
@task *save() { | ||
try { | ||
yield this.extension.save(); | ||
} catch (error) { | ||
return this.notifications.warning(error.message); | ||
} | ||
return this.hostRouter.transitionTo('console.registry-bridge.developers.extensions.edit', this.extension); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
import Model, { attr, belongsTo } from '@ember-data/model'; | ||
|
||
export default class RegistryExtensionModel extends Model { | ||
/** @ids */ | ||
@attr('string') uuid; | ||
@attr('string') company_uuid; | ||
@attr('string') created_by_uuid; | ||
@attr('string') registry_user_uuid; | ||
@attr('string') icon_uuid; | ||
@attr('string') public_id; | ||
|
||
/** @relationships */ | ||
@belongsTo('company') company; | ||
@belongsTo('user') user; | ||
@belongsTo('file') icon; | ||
|
||
/** @attributes */ | ||
@attr('string', { defaultValue: 'https://flb-assets.s3.ap-southeast-1.amazonaws.com/static/default-extension-icon.svg' }) icon_url; | ||
@attr('string') name; | ||
@attr('string') subtitle; | ||
@attr('boolean') payment_required; | ||
@attr('number') price; | ||
@attr('number') sale_price; | ||
@attr('boolean') on_sale; | ||
@attr('boolean') subscription_required; | ||
@attr('string') subscription_billing_period; | ||
@attr('string') subscription_model; | ||
@attr('number') subscription_amount; | ||
@attr('object') subscription_tiers; | ||
@attr('string') slug; | ||
@attr('string') version; | ||
@attr('string') fa_icon; | ||
@attr('string') description; | ||
@attr('string') promotional_text; | ||
@attr('string') website_url; | ||
@attr('string') repo_url; | ||
@attr('string') support_url; | ||
@attr('string') privacy_policy_url; | ||
@attr('string') tos_url; | ||
@attr('string') copyright; | ||
@attr('string') primary_language; | ||
@attr('array') tags; | ||
@attr('array') languages; | ||
@attr('object') meta; | ||
@attr('boolean') core_service; | ||
@attr('string', { defaultValue: 'pending' }) status; | ||
|
||
/** @dates */ | ||
@attr('date') created_at; | ||
@attr('date') updated_at; | ||
@attr('date') deleted_at; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
import Route from '@ember/routing/route'; | ||
|
||
export default class DevelopersAnalyticsRoute extends Route {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
import Route from '@ember/routing/route'; | ||
|
||
export default class DevelopersCredentialsRoute extends Route {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,10 @@ | ||
import Route from '@ember/routing/route'; | ||
import { inject as service } from '@ember/service'; | ||
|
||
export default class DevelopersExtensionsEditRoute extends Route {} | ||
export default class DevelopersExtensionsEditRoute extends Route { | ||
@service store; | ||
|
||
model(params) { | ||
return this.store.findRecord('registry-extension', params.public_id); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,10 @@ | ||
import Route from '@ember/routing/route'; | ||
import { inject as service } from '@ember/service'; | ||
|
||
export default class DevelopersExtensionsIndexRoute extends Route {} | ||
export default class DevelopersExtensionsIndexRoute extends Route { | ||
@service store; | ||
|
||
model() { | ||
return this.store.findAll('registry-extension'); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
import Route from '@ember/routing/route'; | ||
|
||
export default class DevelopersPaymentsRoute extends Route {} |
Oops, something went wrong.