Skip to content

feat: refactor user and organization profile fields #177

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Feb 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions cmd/init/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,8 @@ func createDefaultUser(ctx context.Context, db *gorm.DB) error {
OwnerType: sql.NullString{String: service.PBUserType2DBUserType[mgmtPB.OwnerType_OWNER_TYPE_USER], Valid: true},
Email: constant.DefaultUserEmail,
CustomerID: constant.DefaultUserCustomerID,
FirstName: sql.NullString{String: constant.DefaultUserFirstName, Valid: true},
LastName: sql.NullString{String: constant.DefaultUserLastName, Valid: true},
OrgName: sql.NullString{String: constant.DefaultUserOrgName, Valid: true},
DisplayName: sql.NullString{String: constant.DefaultUserDisplayName, Valid: true},
CompanyName: sql.NullString{String: constant.DefaultUserCompanyName, Valid: true},
Role: sql.NullString{String: constant.DefaultUserRole, Valid: true},
NewsletterSubscription: constant.DefaultUserNewsletterSubscription,
CookieToken: sql.NullString{String: "", Valid: false},
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ require (
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0
github.com/iancoleman/strcase v0.2.0
github.com/influxdata/influxdb-client-go/v2 v2.12.3
github.com/instill-ai/protogen-go v0.3.3-alpha.0.20240205105202-98d899df9701
github.com/instill-ai/protogen-go v0.3.3-alpha.0.20240206143154-b35c1e6a1a01
github.com/instill-ai/usage-client v0.2.4-alpha.0.20240123081026-6c78d9a5197a
github.com/instill-ai/x v0.3.0-alpha
github.com/knadh/koanf v1.4.4
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1107,8 +1107,8 @@ github.com/influxdata/line-protocol/v2 v2.0.0-20210312151457-c52fdecb625a/go.mod
github.com/influxdata/line-protocol/v2 v2.1.0/go.mod h1:QKw43hdUBg3GTk2iC3iyCxksNj7PX9aUSeYOYE/ceHY=
github.com/influxdata/line-protocol/v2 v2.2.1 h1:EAPkqJ9Km4uAxtMRgUubJyqAr6zgWM0dznKMLRauQRE=
github.com/influxdata/line-protocol/v2 v2.2.1/go.mod h1:DmB3Cnh+3oxmG6LOBIxce4oaL4CPj3OmMPgvauXh+tM=
github.com/instill-ai/protogen-go v0.3.3-alpha.0.20240205105202-98d899df9701 h1:4Q2vAF+trXOe7VvFT7ssA/t+rGZW/UtciO3DDvcGtWY=
github.com/instill-ai/protogen-go v0.3.3-alpha.0.20240205105202-98d899df9701/go.mod h1:jhEL0SauySMoPLVvx105DWyThju9sYTbsXIySVCArmM=
github.com/instill-ai/protogen-go v0.3.3-alpha.0.20240206143154-b35c1e6a1a01 h1:rZI+jp0LmlWsBTMvbyJ4GHQKhHxz+sfMw/oxgO/QoBI=
github.com/instill-ai/protogen-go v0.3.3-alpha.0.20240206143154-b35c1e6a1a01/go.mod h1:jhEL0SauySMoPLVvx105DWyThju9sYTbsXIySVCArmM=
github.com/instill-ai/usage-client v0.2.4-alpha.0.20240123081026-6c78d9a5197a h1:gmy8BcCFDZQan40c/D3f62DwTYtlCwi0VrSax+pKffw=
github.com/instill-ai/usage-client v0.2.4-alpha.0.20240123081026-6c78d9a5197a/go.mod h1:EpX3Yr661uWULtZf5UnJHfr5rw2PDyX8ku4Kx0UtYFw=
github.com/instill-ai/x v0.3.0-alpha h1:z9fedROOG2dVHhswBfVwU/hzHuq8/JKSUON7inF+FH8=
Expand Down
7 changes: 4 additions & 3 deletions integration-test/const.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,10 @@ export const defaultUser = {
id: "admin",
email: "hello@instill.tech",
customer_id: "",
first_name: "Instill",
last_name: "AI",
company_name: "Instill AI",
profile: {
display_name: "Instill AI",
company_name: "Instill AI",
},
role: "hobbyist",
newsletter_subscription: true,
};
Expand Down
14 changes: 3 additions & 11 deletions integration-test/grpc-private-user.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,7 @@ export function CheckPrivateGetUserAdmin() {
'core.mgmt.v1beta.MgmtPrivateService/GetUserAdmin response uid is UUID': (r) => r && helper.isUUID(r.message.user.uid),
'core.mgmt.v1beta.MgmtPrivateService/GetUserAdmin response id': (r) => r && r.message.user.id !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/GetUserAdmin response id': (r) => r && r.message.user.id === constant.defaultUser.id,
'core.mgmt.v1beta.MgmtPrivateService/GetUserAdmin response email': (r) => r && r.message.user.email !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/GetUserAdmin response customerId': (r) => r && r.message.user.customerId !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/GetUserAdmin response firstName': (r) => r && r.message.user.firstName !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/GetUserAdmin response lastName': (r) => r && r.message.user.lastName !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/GetUserAdmin response display_name': (r) => r && r.message.user.profile.displayName !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/GetUserAdmin response createTime': (r) => r && r.message.user.createTime !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/GetUserAdmin response updateTime': (r) => r && r.message.user.updateTime !== undefined,
});
Expand Down Expand Up @@ -123,13 +120,8 @@ export function CheckPrivateLookUpUserAdmin() {
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response uid is UUID': (r) => r && helper.isUUID(r.message.user.uid),
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response id': (r) => r && r.message.user.id !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response id': (r) => r && r.message.user.id === constant.defaultUser.id,
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response email': (r) => r && r.message.user.email !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response customerId': (r) => r && r.message.user.customerId !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response firstName': (r) => r && r.message.user.firstName !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response lastName': (r) => r && r.message.user.lastName !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response companyName': (r) => r && r.message.user.companyName !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response role': (r) => r && r.message.user.role !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response newsletterSubscription': (r) => r && r.message.user.newsletterSubscription !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response display_name': (r) => r && r.message.user.profile.displayName !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response companyName': (r) => r && r.message.user.profile.companyName !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response createTime': (r) => r && r.message.user.createTime !== undefined,
'core.mgmt.v1beta.MgmtPrivateService/LookUpUserAdmin response updateTime': (r) => r && r.message.user.updateTime !== undefined,
});
Expand Down
9 changes: 5 additions & 4 deletions integration-test/grpc-public-user-with-jwt.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,17 @@ export function CheckPublicPatchAuthenticatedUser() {
name: `users/${constant.defaultUser.id}`,
email: "test@foo.bar",
customer_id: "new_customer_id",
first_name: "test",
last_name: "foo",
company_name: "company",
profile: {
display_name: "test",
company_name: "company",
},
role: "ai-engineer",
newsletter_subscription: true,
};

check(client.invoke('core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser', {
user: userUpdate,
update_mask: "email,firstName,lastName,companyName,role,newsletterSubscription"
update_mask: "email,profile,role,newsletterSubscription"
}, constant.grpcParamsWithInstillUserUid), {
'[with random "instill-user-uid" header] core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser status StatusUnauthenticated': (r) => r && r.status == grpc.StatusUnauthenticated,
});
Expand Down
22 changes: 10 additions & 12 deletions integration-test/grpc-public-user.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,8 @@ export function CheckPublicGetUser(header) {
'core.mgmt.v1beta.MgmtPublicService/GetAuthenticatedUser response id': (r) => r && r.message.user.id === constant.defaultUser.id,
'core.mgmt.v1beta.MgmtPublicService/GetAuthenticatedUser response email': (r) => r && r.message.user.email !== undefined,
'core.mgmt.v1beta.MgmtPublicService/GetAuthenticatedUser response customerId': (r) => r && r.message.user.customerId !== undefined,
'core.mgmt.v1beta.MgmtPublicService/GetAuthenticatedUser response firstName': (r) => r && r.message.user.firstName !== undefined,
'core.mgmt.v1beta.MgmtPublicService/GetAuthenticatedUser response lastName': (r) => r && r.message.user.lastName !== undefined,
'core.mgmt.v1beta.MgmtPublicService/GetAuthenticatedUser response companyName': (r) => r && r.message.user.companyName !== undefined,
'core.mgmt.v1beta.MgmtPublicService/GetAuthenticatedUser response displayName': (r) => r && r.message.user.profile.displayName !== undefined,
'core.mgmt.v1beta.MgmtPublicService/GetAuthenticatedUser response companyName': (r) => r && r.message.user.profile.companyName !== undefined,
'core.mgmt.v1beta.MgmtPublicService/GetAuthenticatedUser response role': (r) => r && r.message.user.role !== undefined,
'core.mgmt.v1beta.MgmtPublicService/GetAuthenticatedUser response newsletterSubscription': (r) => r && r.message.user.newsletterSubscription !== undefined,
'core.mgmt.v1beta.MgmtPublicService/GetAuthenticatedUser response createTime': (r) => r && r.message.user.createTime !== undefined,
Expand All @@ -73,9 +72,10 @@ export function CheckPublicPatchAuthenticatedUser(header) {
name: `users/${constant.defaultUser.id}`,
email: "test@foo.bar",
customer_id: "new_customer_id",
first_name: "test",
last_name: "foo",
company_name: "company",
profile: {
display_name: "test",
company_name: "company",
},
role: "ai-engineer",
newsletter_subscription: true,
};
Expand All @@ -84,17 +84,15 @@ export function CheckPublicPatchAuthenticatedUser(header) {

check(client.invoke('core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser', {
user: userUpdate,
update_mask: "email,firstName,lastName,companyName,role,newsletterSubscription"
update_mask: "email,profile,role,newsletterSubscription"
}, header), {
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser status': (r) => r && r.status == grpc.StatusOK,
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser response name unchanged': (r) => r && r.message.user.name === res.message.user.name,
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser response uid unchanged': (r) => r && r.message.user.uid === res.message.user.uid,
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser response id unchanged': (r) => r && r.message.user.id === res.message.user.id,
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser response email updated': (r) => r && r.message.user.email === userUpdate.email,
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser response customerId unchanged': (r) => r && r.message.user.customerId === res.message.user.customerId,
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser response firstName updated': (r) => r && r.message.user.firstName === userUpdate.first_name,
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser response lastName updated': (r) => r && r.message.user.lastName === userUpdate.last_name,
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser response companyName updated': (r) => r && r.message.user.companyName === userUpdate.company_name,
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser response displayName updated': (r) => r && r.message.user.profile.displayName === userUpdate.profile.display_name,
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser response companyName updated': (r) => r && r.message.user.profile.companyName === userUpdate.profile.company_name,
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser response role updated': (r) => r && r.message.user.role === userUpdate.role,
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser response newsletterSubscription updated': (r) => r && r.message.user.newsletterSubscription === userUpdate.newsletter_subscription,
'core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser response createTime unchanged': (r) => r && r.message.user.createTime === res.message.user.createTime,
Expand All @@ -104,7 +102,7 @@ export function CheckPublicPatchAuthenticatedUser(header) {
// Restore to default user
check(client.invoke('core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser', {
user: constant.defaultUser,
update_mask: "email,firstName,lastName,companyName,role,newsletterSubscription"
update_mask: "email,profile,role,newsletterSubscription"
}, header), {
[`[restore the default user] core.mgmt.v1beta.MgmtPublicService/PatchAuthenticatedUser status`]: (r) => r && r.status == grpc.StatusOK,
});
Expand Down
Loading