Skip to content

Commit 5e783ab

Browse files
authored
refactor(celest): Move connect method to CelestDatabase class (#394)
Adds a new class `CelestDatabase` for representing connected Celest databases and exposing methods for creating Drift database connections and DB studio routes.
1 parent c8b10c6 commit 5e783ab

File tree

70 files changed

+1009
-619
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+1009
-619
lines changed

.github/workflows/celest.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ jobs:
2929
with:
3030
channel: stable
3131
cache: true
32+
- name: Install Turso CLI
33+
run: |
34+
curl -sSfL https://get.tur.so/install.sh | bash
35+
echo "PATH=$PATH:/home/runner/.turso" >> $GITHUB_ENV
36+
env:
37+
TURSO_INSTALL_SKIP_SIGNUP: 1
3238
- name: Get Packages
3339
working-directory: packages/celest
3440
run: |
@@ -46,6 +52,8 @@ jobs:
4652
- name: Test
4753
working-directory: packages/celest
4854
run: dart test
55+
env:
56+
TURSO_API_TOKEN: ${{ secrets.TURSO_API_TOKEN }}
4957
- name: Test (dart2js)
5058
working-directory: packages/celest
5159
run: dart test -p chrome

apps/cli/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## NEXT
22

33
- fix: Don't throw if analysis_options.yaml is missing
4+
- refactor(celest): Move `connect` method to `CelestDatabase` class
45

56
## 1.0.12
67

apps/cli/fixtures/standalone/api/client/pubspec.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,6 @@ dependency_overrides:
2828
path: ../../../../../../services/celest_cloud_core
2929
celest_core:
3030
path: ../../../../../../packages/celest_core
31+
celest_db_studio:
32+
path: ../../../../../../packages/celest_db_studio
3133
dev_dependencies: {}

apps/cli/fixtures/standalone/api/pubspec.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ dependency_overrides:
2929
path: ../../../../../services/celest_cloud_core
3030
celest_core:
3131
path: ../../../../../packages/celest_core
32+
celest_db_studio:
33+
path: ../../../../../packages/celest_db_studio
3234

3335
dev_dependencies:
3436
lints: ^5.0.0

apps/cli/fixtures/standalone/auth/client/pubspec.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,6 @@ dependency_overrides:
2828
path: ../../../../../../services/celest_cloud_core
2929
celest_core:
3030
path: ../../../../../../packages/celest_core
31+
celest_db_studio:
32+
path: ../../../../../../packages/celest_db_studio
3133
dev_dependencies: {}

apps/cli/fixtures/standalone/auth/lib/src/generated/data.celest.dart

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ library; // ignore_for_file: no_leading_underscores_for_library_prefixes
66

77
import 'package:celest/celest.dart' as _$celest;
88
import 'package:celest/src/core/context.dart' as _$celest;
9-
import 'package:celest/src/runtime/data/connect.dart' as _$celest;
9+
import 'package:celest/src/runtime/data/celest_database.dart' as _$celest;
1010
import 'package:celest_cloud_auth/src/database/auth_database.dart' as _$celest;
1111

1212
/// The data services for the Celest backend.
@@ -18,15 +18,16 @@ class CelestData {
1818

1919
/// Initializes the databases attached to this project in the given [context].
2020
static Future<void> init(_$celest.Context context) async {
21+
final cloudAuth = await _$celest.CelestDatabase.create(
22+
context,
23+
name: 'CloudAuthDatabase',
24+
factory: _$celest.CloudAuthDatabase.new,
25+
hostnameVariable: const _$celest.env('CLOUD_AUTH_DATABASE_HOST'),
26+
tokenSecret: const _$celest.secret('CLOUD_AUTH_DATABASE_TOKEN'),
27+
);
2128
context.put(
2229
_cloudAuthKey,
23-
await _$celest.connect(
24-
context,
25-
name: 'CloudAuthDatabase',
26-
factory: _$celest.CloudAuthDatabase.new,
27-
hostnameVariable: const _$celest.env('CLOUD_AUTH_DATABASE_HOST'),
28-
tokenSecret: const _$celest.secret('CLOUD_AUTH_DATABASE_TOKEN'),
29-
),
30+
await cloudAuth.connect(),
3031
);
3132
}
3233

apps/cli/fixtures/standalone/auth/pubspec.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ dependency_overrides:
3030
path: ../../../../../services/celest_cloud_core
3131
celest_core:
3232
path: ../../../../../packages/celest_core
33+
celest_db_studio:
34+
path: ../../../../../packages/celest_db_studio
3335

3436
dev_dependencies:
3537
lints: ^5.0.0

apps/cli/fixtures/standalone/data/client/lib/src/functions.dart

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import 'package:hrana/src/exception.dart' as _$hrana_exception;
3232
import 'package:http/src/exception.dart' as _$http_exception;
3333
import 'package:mustache_template/src/template_exception.dart'
3434
as _$mustache_template_template_exception;
35-
import 'package:path/src/path_exception.dart' as _$path_path_exception;
3635
import 'package:petitparser/src/core/exception.dart' as _$petitparser_exception;
3736
import 'package:shelf/src/hijack_exception.dart' as _$shelf_hijack_exception;
3837
import 'package:source_span/src/span_exception.dart'
@@ -549,12 +548,6 @@ class CelestFunctionsTasks {
549548
errorValue),
550549
stackTrace,
551550
);
552-
case 'path.PathException':
553-
Error.throwWithStackTrace(
554-
_$celest.Serializers.instance
555-
.deserialize<_$path_path_exception.PathException>(errorValue),
556-
stackTrace,
557-
);
558551
case 'hrana.ConnectionClosed':
559552
Error.throwWithStackTrace(
560553
_$celest.Serializers.instance

apps/cli/fixtures/standalone/data/client/lib/src/serializers.dart

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import 'package:hrana/src/exception.dart' as _$hrana_exception;
2929
import 'package:http/src/exception.dart' as _$http_exception;
3030
import 'package:mustache_template/src/template_exception.dart'
3131
as _$mustache_template_template_exception;
32-
import 'package:path/src/path_exception.dart' as _$path_path_exception;
3332
import 'package:petitparser/src/core/exception.dart' as _$petitparser_exception;
3433
import 'package:petitparser/src/core/result.dart' as _$petitparser_result;
3534
import 'package:shelf/src/hijack_exception.dart' as _$shelf_hijack_exception;
@@ -1172,14 +1171,6 @@ void initSerializers({_$celest.Serializers? serializers}) {
11721171
);
11731172
},
11741173
));
1175-
_$celest.Serializers.instance.put(_$celest.Serializer.define<
1176-
_$path_path_exception.PathException, Map<String, Object?>>(
1177-
serialize: ($value) => <String, Object?>{r'message': $value.message},
1178-
deserialize: ($serialized) {
1179-
return _$path_path_exception.PathException(
1180-
($serialized[r'message'] as String));
1181-
},
1182-
));
11831174
_$celest.Serializers.instance.put(_$celest.Serializer.define<
11841175
_$petitparser_exception.ParserException, Map<String, Object?>>(
11851176
serialize: ($value) => <String, Object?>{

apps/cli/fixtures/standalone/data/client/pubspec.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,6 @@ dependency_overrides:
2828
path: ../../../../../../services/celest_cloud_core
2929
celest_core:
3030
path: ../../../../../../packages/celest_core
31+
celest_db_studio:
32+
path: ../../../../../../packages/celest_db_studio
3133
dev_dependencies: {}

0 commit comments

Comments
 (0)