Skip to content

Commit 2baafe7

Browse files
authored
Merge pull request #3066 from SeedCompany/edgedb/4.5
2 parents 3f30675 + ec7ad41 commit 2baafe7

File tree

7 files changed

+94
-25
lines changed

7 files changed

+94
-25
lines changed

dbschema/migrations/00046.edgeql

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
CREATE MIGRATION m1bh4xyugmqj3aeh2pujkbly6uq7lxdisxwdodawgw2flyvbxfnkkq
2+
ONTO m1vzgo7d3slqdwhpmcigvmaxnh3cz7nhympvu7mb5g3beipzfve5tq
3+
{
4+
ALTER TYPE default::Post {
5+
DROP PROPERTY sensitivity;
6+
};
7+
ALTER TYPE Project::ContextAware {
8+
DROP PROPERTY sensitivity;
9+
};
10+
ALTER TYPE default::InternshipEngagement {
11+
ALTER LINK project {
12+
SET REQUIRED;
13+
SET TYPE default::InternshipProject USING (.project[IS default::InternshipProject]);
14+
};
15+
};
16+
ALTER TYPE default::Project {
17+
ALTER PROPERTY ownSensitivity {
18+
SET REQUIRED USING (default::Sensitivity.High);
19+
SET TYPE default::Sensitivity;
20+
};
21+
};
22+
ALTER TYPE default::Language {
23+
ALTER PROPERTY ownSensitivity {
24+
SET REQUIRED USING (default::Sensitivity.High);
25+
SET TYPE default::Sensitivity;
26+
};
27+
};
28+
ALTER TYPE default::LanguageEngagement {
29+
ALTER LINK project {
30+
SET REQUIRED;
31+
SET TYPE default::TranslationProject USING (.project[IS default::TranslationProject]);
32+
};
33+
};
34+
};

dbschema/migrations/00047.edgeql

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CREATE MIGRATION m1ah6i4a5c6enkrmypo7k3y6f3flr26mqlqtkw2t6437evoxqqzpna
2+
ONTO m1bh4xyugmqj3aeh2pujkbly6uq7lxdisxwdodawgw2flyvbxfnkkq
3+
{
4+
ALTER TYPE Project::ContextAware {
5+
CREATE REQUIRED SINGLE PROPERTY sensitivity := ((std::max(.projectContext.projects.ownSensitivity) ?? (.ownSensitivity ?? default::Sensitivity.High)));
6+
};
7+
ALTER TYPE default::Post {
8+
CREATE SINGLE PROPERTY sensitivity := (.container[IS Project::ContextAware].sensitivity);
9+
};
10+
};

dbschema/migrations/00048.edgeql

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
CREATE MIGRATION m1tn7o5vizqaygjvghqysxzw6ruf4xohudb2usgfg4z622ens24mba
2+
ONTO m1ah6i4a5c6enkrmypo7k3y6f3flr26mqlqtkw2t6437evoxqqzpna
3+
{
4+
ALTER TYPE default::Project {
5+
ALTER PROPERTY departmentId {
6+
CREATE REWRITE
7+
UPDATE
8+
USING ((IF ((NOT (EXISTS (.departmentId)) AND (.status <= Project::Status.Active)) AND (.step >= Project::Step.PendingFinanceConfirmation)) THEN (WITH
9+
fa :=
10+
std::assert_exists(__subject__.primaryLocation.fundingAccount, message := 'Project must have a primary location')
11+
,
12+
existing :=
13+
(SELECT
14+
(DETACHED default::Project).departmentId
15+
FILTER
16+
(default::Project.primaryLocation.fundingAccount = fa)
17+
)
18+
,
19+
available :=
20+
(std::range_unpack(std::range(((fa.accountNumber * 10000) + 11), ((fa.accountNumber * 10000) + 9999))) EXCEPT existing)
21+
SELECT
22+
std::min(available)
23+
) ELSE .departmentId));
24+
};
25+
};
26+
};

dbschema/project.esdl

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,27 @@ module default {
1313
departmentId: int32 {
1414
constraint exclusive;
1515
constraint expression on (__subject__ >= 10000 and __subject__ <= 99999);
16-
# Temporarily disabled. Upstream fix in progress.
17-
# rewrite update using (
18-
# if (
19-
# not exists .departmentId and
20-
# .status <= Project::Status.Active and
21-
# .step >= Project::Step.PendingFinanceConfirmation
22-
# ) then ((
23-
# with
24-
# fa := assert_exists(
25-
# __subject__.primaryLocation.fundingAccount,
26-
# message := "Project must have a primary location"
27-
# ),
28-
# existing := (
29-
# select detached Project.departmentId filter Project.primaryLocation.fundingAccount = fa
30-
# ),
31-
# available := (
32-
# range_unpack(range(fa.accountNumber * 10000 + 11, fa.accountNumber * 10000 + 9999))
33-
# except existing
34-
# )
35-
# select min(available)
36-
# )) else .departmentId
37-
# );
16+
rewrite update using (
17+
if (
18+
not exists .departmentId and
19+
.status <= Project::Status.Active and
20+
.step >= Project::Step.PendingFinanceConfirmation
21+
) then ((
22+
with
23+
fa := assert_exists(
24+
__subject__.primaryLocation.fundingAccount,
25+
message := "Project must have a primary location"
26+
),
27+
existing := (
28+
select detached Project.departmentId filter Project.primaryLocation.fundingAccount = fa
29+
),
30+
available := (
31+
range_unpack(range(fa.accountNumber * 10000 + 11, fa.accountNumber * 10000 + 9999))
32+
except existing
33+
)
34+
select min(available)
35+
)) else .departmentId
36+
);
3837
};
3938

4039
required step: Project::Step {

dbschema/seeds/007.language-engagements.edgeql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ with
3636
union (
3737
with
3838
language := assert_single((select Language filter .name = <str>engagement['language'])),
39-
project := (select Project filter .name = <str>engagement['project']),
39+
project := (select TranslationProject filter .name = <str>engagement['project']),
4040
select (
4141
(select LanguageEngagement filter .language = language and .project = project) ??
4242
(insert LanguageEngagement {

edgedb.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
[edgedb]
2-
server-version = "4.0"
2+
server-version = "4.5"

src/components/engagement/dto/engagement.dto.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export const resolveEngagementType = (val: Pick<AnyEngagement, '__typename'>) =>
6565
* This should be used for GraphQL but never for TypeScript types.
6666
*/
6767
class Engagement extends ChangesetAwareResource {
68-
static readonly DB = abstractType(e.Engagement);
68+
static readonly DB: any = abstractType(e.Engagement);
6969
static readonly Props: string[] = keysOf<Engagement>();
7070
static readonly SecuredProps: string[] = keysOf<SecuredProps<Engagement>>();
7171
static readonly Parent = import('../../project/dto').then((m) => m.IProject);

0 commit comments

Comments
 (0)