frontends.environment_id is now nullable; support anonymous public frontends (#110, #129)

This commit is contained in:
Michael Quigley 2022-12-01 14:56:55 -05:00
parent 8610cf944a
commit 9db6aa1c07
No known key found for this signature in database
GPG Key ID: 9B60314A9DD20A62
5 changed files with 7 additions and 5 deletions

View File

@ -7,10 +7,11 @@ import (
type Frontend struct { type Frontend struct {
Model Model
EnvironmentId int EnvironmentId *int
Token string Token string
ZId string ZId string
PublicName *string PublicName *string
UrlTemplate *string
Reserved bool Reserved bool
} }

View File

@ -40,7 +40,7 @@ func TestPublicFrontend(t *testing.T) {
fe, err := str.GetFrontend(feId, tx) fe, err := str.GetFrontend(feId, tx)
assert.Nil(t, err) assert.Nil(t, err)
assert.NotNil(t, fe) assert.NotNil(t, fe)
assert.Equal(t, envId, fe.EnvironmentId) assert.Equal(t, envId, *fe.EnvironmentId)
assert.Equal(t, feName, *fe.PublicName) assert.Equal(t, feName, *fe.PublicName)
fe0, err := str.FindFrontendPubliclyNamed(feName, tx) fe0, err := str.FindFrontendPubliclyNamed(feName, tx)

View File

@ -2,9 +2,10 @@
create table frontends ( create table frontends (
id serial primary key, id serial primary key,
environment_id integer not null references environments(id), environment_id integer references environments(id),
token varchar(32) not null unique, token varchar(32) not null unique,
z_id varchar(32) not null, z_id varchar(32) not null,
url_template varchar(1024),
public_name varchar(64) unique, public_name varchar(64) unique,
reserved boolean not null default(false), reserved boolean not null default(false),
created_at timestamptz not null default(current_timestamp), created_at timestamptz not null default(current_timestamp),

View File

@ -19,7 +19,7 @@ drop table environments_old;
create table frontends ( create table frontends (
id integer primary key, id integer primary key,
environment_id integer not null references environments(id), environment_id integer references environments(id),
token varchar(32) not null unique, token varchar(32) not null unique,
z_id varchar(32) not null, z_id varchar(32) not null,
public_name varchar(64) unique, public_name varchar(64) unique,

View File

@ -59,7 +59,7 @@ func (h *unaccessHandler) Handle(params service.UnaccessParams, principal *rest_
return service.NewUnaccessInternalServerError() return service.NewUnaccessInternalServerError()
} }
if sfe == nil || sfe.EnvironmentId != senv.Id { if sfe == nil || (sfe.EnvironmentId != nil && *sfe.EnvironmentId != senv.Id) {
logrus.Errorf("frontend named '%v' not found", feToken) logrus.Errorf("frontend named '%v' not found", feToken)
return service.NewUnaccessInternalServerError() return service.NewUnaccessInternalServerError()
} }